@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Roboto:wght@400;500;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{background:#00173d;box-shadow:0 4px 12px #00173d26;color:#fff;font-family:Poppins,sans-serif;padding:1.5rem 0}.header-content{gap:1.5rem;justify-content:flex-start;padding:0 clamp(1rem,2.5vw,2rem);width:100%}.header-content,.logo-section{align-items:center;display:flex}.logo-section{gap:1rem}.header-logo{height:40px;object-fit:contain;width:112px}.title{color:#fff;font-size:1.75rem;font-weight:600;margin:0}.user-section{align-items:center;display:flex;gap:1.5rem;margin-left:auto}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:.35rem}.user-name{font-size:.92rem;font-weight:600;white-space:nowrap}.client-name{color:#d6e1ff;font-size:.85rem;opacity:.8}.client-select{-webkit-appearance:none;appearance:none;background:#ffffff1a;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='m1 3 4 4 4-4' stroke='%23fff' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-position:calc(100% - 1rem);background-repeat:no-repeat;background-size:.65rem;border:1px solid #fff3;border-radius:999px;color:#fff;cursor:pointer;font-size:.92rem;min-width:240px;outline:none;padding:.55rem 1.8rem .55rem .9rem;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.client-select:active,.client-select:focus{background:#ffffff24;border-color:#ffffffe6;box-shadow:0 0 0 3px #ffffff26}.client-select option{background:#00173d;color:#fff}.btn-logout{align-items:center;background-color:#fff3;border:1.5px solid #fff;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600;gap:.45rem;padding:.5rem 1rem;transition:all .3s ease}.btn-logout:hover{background-color:#fff;box-shadow:0 4px 12px #ffffff4d;color:#796bff}.btn-logout-icon{font-size:1rem;line-height:1}.btn-logout:active{transform:scale(.98)}.table-container{margin:2rem 0;max-width:none;padding:0;width:100%}.table-controls{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.filter-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-family:Roboto,sans-serif;font-size:.95rem;padding:.75rem 1rem;transition:border-color .3s ease}.filter-input:focus{border-color:#796bff;box-shadow:0 0 0 3px #796bff1a;outline:none}.results-count{color:#666;font-family:Roboto,sans-serif;font-size:.9rem}.rapportini-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #00000014;font-family:Roboto,sans-serif;overflow:hidden;width:100%}.rapportini-table thead{background-color:#1e2a59;color:#fff}.rapportini-table th{border-bottom:2px solid #0f1a3b;font-weight:600;padding:1rem;text-align:left}.rapportini-table th.sortable{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.rapportini-table th.sortable:hover{background-color:#2b3a74}.rapportini-table td{border-bottom:1px solid #e0e0e0;padding:1rem}.rapportini-table tbody tr{transition:background-color .2s ease}.rapportini-table tbody tr:hover{background-color:#f8f9ff}.rapportini-table tbody tr.row-approvato td{border-left:4px solid #4caf50}.rapportini-table tbody tr.row-in-sospeso td{border-left:4px solid #ff9800}.rapportini-table tbody tr.row-in-revisione td{border-left:4px solid #2196f3}.ore{color:#796bff;font-weight:600;text-align:right}.status-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;padding:.4rem .8rem}.status-approvato{align-items:center;background-color:#eef1ff;border:1px solid #d9def3;border-radius:999px;color:#1e2a59;cursor:pointer;display:inline-flex;font-family:Roboto,sans-serif;font-size:1.35rem;font-weight:700;height:2.6rem;justify-content:center;padding:0;transition:all .25s ease;width:2.6rem}.month-nav-icon{line-height:1}.month-nav:hover{background-color:#dfe5ff;box-shadow:0 4px 12px #796bff2e;transform:translateY(-1px)}.rapportini-summary{grid-gap:1rem;background:#f8f9ff;border:1px solid #e8eaf6;border-radius:12px;color:#333;display:grid;font-family:Roboto,sans-serif;gap:1rem;grid-template-columns:repeat(2,minmax(140px,1fr));margin-bottom:1.5rem;padding:1rem 1.25rem}.rapportini-summary div{font-size:.95rem}.row-locked td{opacity:.95}.row-unlocked td{opacity:1}.month-filter{align-items:center;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border:1px solid #e8eaf6;border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;margin-bottom:2rem;padding:1.25rem 1.5rem}.month-controls,.right-controls{align-items:center;display:flex;gap:.9rem}.month-controls{flex-wrap:wrap;gap:.75rem}.month-nav{align-items:center;background-color:#796bff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Roboto,sans-serif;font-size:.92rem;font-weight:600;gap:.4rem;padding:.7rem 1rem;transition:all .3s ease}.month-nav:hover{background-color:#6556d6;box-shadow:0 4px 12px #796bff4d;transform:translateY(-2px)}.month-nav:active{transform:translateY(0)}.month-display{color:#1e2a59;font-family:Roboto,sans-serif;font-size:1.3rem;font-weight:600;margin:0;min-width:130px;text-align:left;text-transform:capitalize}.total-hours{align-self:center;color:#796bff;font-size:1rem;font-weight:600;white-space:nowrap}.filter-commessa{align-items:center;display:inline-flex;min-width:180px}.filter-commessa label{font-size:.9rem;font-weight:600}.filter-commessa select{background-color:#fff;border:1px solid #d7ddea;border-radius:10px;color:#1e2a59;font-size:.95rem;padding:.75rem .9rem;width:100%}.commesse-page{background:#0000;padding:0}.commesse-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.5rem}.commesse-summary div{background:#f8f9ff;border:1px solid #e8eaf6;border-radius:16px;display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.2rem}.commesse-summary span{color:#556090;font-size:.95rem}.commesse-summary strong{color:#1e2a59;font-size:1.4rem}.commesse-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #00000014;font-family:Roboto,sans-serif;min-width:820px;overflow:hidden;width:100%}.commesse-table td,.commesse-table th{border-bottom:1px solid #e0e0e0;padding:1rem;text-align:left}.commesse-table th{background:#1e2a59;border-bottom:2px solid #0f1a3b;color:#fff;font-weight:700}.commesse-table tbody tr{transition:background-color .2s ease}.commesse-table tbody tr:hover{background:#f8f9ff}.commesse-table td:last-child{white-space:nowrap}.btn-commessa-view{background-color:#4c5bd4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Roboto,sans-serif;font-weight:600;padding:.5rem .9rem;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.btn-commessa-view:hover{background-color:#3f4fc3;box-shadow:0 4px 12px #796bff4d;transform:translateY(-1px)}.commesse-empty,.commesse-error,.commesse-loading{background:#fff;border-radius:18px;box-shadow:0 16px 40px #0000000f;color:#1f2a55;padding:1.5rem}@media (max-width:900px){.commesse-summary{grid-template-columns:1fr}.commesse-table{min-width:0}}.dashboard{background-color:#f5f5f5;min-height:100vh}.dashboard-body{display:flex;min-height:calc(100vh - 80px)}.sidebar{background:linear-gradient(180deg,#00abef,#0096d1);color:#103a63;padding:2rem 1rem;width:240px}.sidebar-nav{display:flex;flex-direction:column;gap:.75rem}.sidebar-link{border-radius:12px;color:#fff;display:block;font-weight:600;padding:.9rem 1rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.sidebar-link.active,.sidebar-link:hover{background-color:#ffffffe6;color:#0089bf}.dashboard-main{flex:1 1;min-height:calc(100vh - 80px);padding:2rem 0}.dashboard-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 0 1.5rem;padding:0 2rem}.dashboard-header h2{color:#00173d;font-family:Poppins,sans-serif;font-size:1.9rem;font-weight:700;margin:0}.dashboard-content{margin:0;padding:0 2rem;width:100%}.btn-refresh{align-items:center;background-color:#fff;border:2px solid #4c5bd4;border-radius:8px;color:#4c5bd4;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}.btn-refresh:before{content:"↻";font-size:1rem}.btn-refresh:hover{background-color:#4c5bd4;box-shadow:0 4px 12px #4c5bd440;color:#fff}.btn-refresh:active{transform:scale(.98)}.login-container{align-items:center;background:#f3f6fb;display:flex;font-family:Poppins,sans-serif;justify-content:center;min-height:100vh;padding:1rem}.login-box{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00173d4d;max-width:450px;overflow:hidden;width:100%}.login-header{background:#00173d;color:#fff;padding:2rem 1.5rem;text-align:center}.login-logo-image{display:block;height:48px;margin:0 auto .5rem;object-fit:contain;width:136px}.login-header h1{color:#fff;font-size:1.75rem;font-weight:600;margin:0}.login-content{padding:2.5rem 2rem}.login-description{color:#666;font-family:Roboto,sans-serif;font-size:.95rem;line-height:1.5;margin:0 0 2rem;text-align:center}.btn-login{align-items:center;background:#796bff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:1rem;transition:transform .3s ease,box-shadow .3s ease;width:100%}.btn-login:hover{box-shadow:0 12px 30px #796bff66;transform:translateY(-2px)}.btn-login:active{transform:translateY(0)}.btn-icon{font-size:1.25rem}.login-info{background-color:#f5f5f5;border-left:4px solid #796bff;border-radius:4px;margin-top:1.5rem;padding:1rem}.login-info p{color:#555;font-family:Roboto,sans-serif;font-size:.85rem;line-height:1.5;margin:0}.login-footer{background-color:#f9f9f9;border-top:1px solid #e0e0e0;padding:1.5rem;text-align:center}.login-footer p{color:#999;font-family:Roboto,sans-serif;font-size:.8rem;margin:0}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#f5f5f5;color:#333;font-family:Roboto,sans-serif}.app{min-height:100vh}
/*# sourceMappingURL=main.4414f1b3.css.map*/