body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.time-calendar{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px}.calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.month-navigation{gap:20px}.nav-button{background:#008542;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.nav-button:hover:not(:disabled){background:#006935}.nav-button:disabled{background:#a19f9d;cursor:not-allowed}.month-title{color:#323130;font-size:24px;font-weight:300;margin:0;min-width:200px;text-align:center}.month-summary{align-items:center;display:flex;gap:15px}.total-hours{color:#323130;font-size:16px}.loading-indicator{color:#008542}.error-message{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.retry-button{background:#d13438;border-radius:4px;padding:6px 12px}.skeleton-calendar-grid{display:flex;flex-direction:column;gap:1px}.skeleton-title{height:28px;width:200px}.skeleton-text,.skeleton-title{background:#f0f0f0;border-radius:4px;display:inline-block}.skeleton-text{height:20px}.skeleton-day{border:1px solid #e1e5e9;border-radius:8px;min-height:100px;padding:12px}.skeleton-day,.skeleton-weekday{background:#f8f9fa}.skeleton-day-number{background:#f0f0f0;border-radius:4px;height:20px;margin-bottom:8px;width:30px}.skeleton-entry{background:#f0f0f0;border-radius:4px;height:16px;margin-bottom:6px;width:100%}.skeleton-entry:last-child{margin-bottom:0}.retry-button:hover{background:#a4262c}.calendar-grid{border:1px solid #e1e5e9;border-radius:8px;overflow:hidden}.weekdays{background:#f8f9fa;display:grid;grid-template-columns:40px repeat(7,1fr)}.week-number-header{background:#efefef;font-size:12px}.week-number-header,.weekday{border-right:1px solid #e1e5e9;color:#605e5c;font-weight:600;padding:12px 8px;text-align:center}.weekday{font-size:14px}.weekday:last-child{border-right:none}.calendar-days{display:grid;grid-template-columns:40px repeat(7,1fr)}.week-number{align-items:center;background:#efefef;border-bottom:1px solid #e1e5e9;border-right:1px solid #e1e5e9;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:6px 0}.week-num-label,.week-number{color:#605e5c;font-size:12px;font-weight:600}.week-total-hours{color:#008542;font-size:10px;font-weight:600;line-height:1.1}.calendar-day{border-bottom:1px solid #e1e5e9;border-right:1px solid #e1e5e9;cursor:pointer;display:flex;flex-direction:column;min-height:120px;overflow:hidden;padding:6px;position:relative;transition:background-color .2s}.calendar-day:nth-child(7n+1){border-left:1px solid #e1e5e9}.calendar-day:hover.current-month{background:#f3f2f1}.calendar-day.current-month{background:#fff;color:#323130}.calendar-day.other-month{background:#faf9f8;color:#a19f9d}.calendar-day.today{background:#e8f5f0;border:2px solid #008542}.calendar-day.holiday,.calendar-day.weekend{background:linear-gradient(135deg,#fde7e6,#f8f9fa)!important}.calendar-day.holiday.today,.calendar-day.weekend.today{background:linear-gradient(135deg,#fcc,#ffe0e0)!important}.calendar-day.has-hours{background:linear-gradient(135deg,#dff6dd,#f8f9fa)}.calendar-day.has-hours.today{background:linear-gradient(135deg,#c8e6c9,#e3f2fd)}.day-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:4px}.day-holiday-status{align-items:center;display:flex;gap:4px}.holiday-badge{align-items:center;display:flex;font-size:14px;justify-content:center}.day-number{font-size:14px;font-weight:600}.day-total{background:#0085421a;border-radius:3px;color:#008542;font-size:11px;font-weight:600;padding:2px 4px}.day-entries{display:flex;flex:1 1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto}.day-entries::-webkit-scrollbar{height:0;width:0}.day-entries{-ms-overflow-style:none;scrollbar-width:none}.entry-line{background:#fff;border:1px solid #e1e5e9;border-radius:3px;color:#323130;cursor:pointer;flex-shrink:0;font-size:11px;line-height:1.3;min-height:22px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.entry-line:hover{background:#e8f5f0;border-color:#008542;box-shadow:0 2px 4px #00854233;position:relative;transform:translateY(-1px);z-index:1}.calendar-day.other-month .entry-line{background:#f8f9fa;color:#a19f9d}.add-entry-btn{align-items:center;background:#008542;border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:20px;justify-content:center;margin-top:2px;opacity:0;transition:all .2s;width:100%}.calendar-day:hover .add-entry-btn{opacity:1}.add-entry-btn:hover{background:#006935;transform:scaleY(1.1)}@media (max-width:768px){.time-calendar{margin:10px 0;padding:15px}.calendar-header{align-items:stretch;flex-direction:column;text-align:center}.month-navigation{justify-content:space-between}.month-title{font-size:20px;min-width:auto}.nav-button{padding:10px 16px}.calendar-day{min-height:100px;padding:4px}.day-number{font-size:12px}.day-total{font-size:10px}.entry-line{font-size:9px;padding:1px 2px}.weekday{font-size:12px;padding:8px 4px}}@media (max-width:480px){.calendar-day{min-height:80px;padding:2px}.day-number{font-size:11px}.day-total{font-size:9px}.entry-line{font-size:8px;padding:1px}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}@media (min-width:768px){.modal-content{width:50%}}@media (min-width:1200px){.modal-content{width:40%}}@media (min-width:1920px){.modal-content{width:33%}}.modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#323130;font-size:20px;font-weight:600;margin:0}.close-button{background:none;border-radius:4px;color:#605e5c;font-size:24px;padding:4px 8px}.close-button:hover{background:#e1e5e9}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.error-message{background:#fed9cc;border:1px solid #d13438;border-radius:6px;color:#a4262c;margin-bottom:20px;padding:12px}.existing-entries{margin-bottom:30px}.existing-entries h3{color:#323130;font-size:16px;font-weight:600;margin:0 0 15px}.no-entries{background:#f8f9fa;border-radius:8px;color:#605e5c;font-style:italic;margin:0;padding:20px;text-align:center}.entries-list{display:flex;flex-direction:column;gap:12px}.entry-display,.entry-item{display:flex;gap:8px}.entry-display{align-items:center;flex:1 1}.entry-content{background:#fff;border:1px solid #e1e5e9;border-radius:6px;color:#323130;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 12px;text-align:left;transition:all .2s}.entry-content:hover:not(:disabled){background:#e8f5f0;border-color:#008542}.entry-content:disabled{cursor:not-allowed;opacity:.6}.entry-main{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.entry-activity{color:#323130;flex:1 1}.entry-activity strong{font-weight:600}.project{color:#605e5c;font-weight:400}.entry-hours{font-size:16px}.entry-description{color:#605e5c;font-size:14px;line-height:1.4;margin-bottom:10px}.entry-actions{display:flex;justify-content:flex-end}.entry-edit-mode{gap:16px;width:100%}.edit-field,.entry-edit-mode{display:flex;flex-direction:column}.edit-field-hours{max-width:200px}.hours-control{align-items:stretch;display:flex;gap:8px}.hours-btn{align-items:center;background:#fff;border:1px solid #d1d1d1;border-radius:8px;color:#323130;cursor:pointer;display:flex;flex-shrink:0;font-size:22px;font-weight:700;height:44px;justify-content:center;padding:0;transition:all .2s;width:55px}.hours-btn:hover:not(:disabled){background:#008542;border-color:#008542;color:#fff}.hours-btn:active:not(:disabled){transform:scale(.95)}.hours-btn:disabled{background:#f3f2f1;cursor:not-allowed;opacity:.5}.hours-input{flex:1 1;font-weight:600;max-width:48px;min-width:40px;text-align:center}.edit-field label{color:#323130;font-size:14px;font-weight:600;margin-bottom:6px}.edit-field input,.edit-field select,.edit-field textarea{background:#fff;border:1px solid #d1d1d1;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s}.edit-field textarea{min-height:80px;resize:vertical}.edit-field input:focus,.edit-field select:focus,.edit-field textarea:focus{border-color:#008542;box-shadow:0 0 0 1px #008542;outline:none}.edit-field input:disabled,.edit-field select:disabled,.edit-field textarea:disabled{background:#f3f2f1;cursor:not-allowed}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.save-button{background:#008542;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:background-color .2s}.save-button:hover:not(:disabled){background:#006935}.save-button:disabled{background:#a19f9d;cursor:not-allowed}.delete-button{background:#d13438;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-width:36px;padding:6px 12px;transition:background-color .2s}.delete-button:hover:not(:disabled){background:#a4262c}.delete-button:disabled{background:#a19f9d;cursor:not-allowed}.delete-button-edit{background:#d13438;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s}.delete-button-edit:hover:not(:disabled){background:#a4262c}.delete-button-edit:disabled{background:#a19f9d;cursor:not-allowed;opacity:.5}.add-entry-section{border-top:1px solid #e1e5e9;padding-top:30px}.add-entry-section h3{color:#323130;font-size:16px;font-weight:600;margin:0 0 20px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr;margin-bottom:16px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d1d1;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#008542;box-shadow:0 0 0 1px #008542;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:#f3f2f1;color:#a19f9d;cursor:not-allowed}.form-group textarea{font-family:inherit;line-height:1.4;resize:vertical}.modal-footer{background:#f8f9fa;border-top:1px solid #e1e5e9;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.close-button{background:#605e5c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.close-button:hover:not(:disabled){background:#484644}.close-button:disabled{background:#a19f9d;cursor:not-allowed}.add-button{background:#008542;border-radius:6px;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s}.add-button:hover:not(:disabled){background:#006935}.add-button:disabled{background:#a19f9d;cursor:not-allowed}.cancel-button{background:#605e5c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.cancel-button:hover:not(:disabled){background:#484644}.cancel-button:disabled{background:#a19f9d;cursor:not-allowed}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{margin:0;max-width:none}.modal-body,.modal-footer,.modal-header{padding:16px}.form-row{gap:12px;grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse}.add-button,.cancel-button{width:100%}}@media (max-width:480px){.modal-header h2{font-size:18px}.entry-main{align-items:flex-start;flex-direction:column;gap:8px}.entry-hours{align-self:flex-end}}.add-entry-modal{max-width:900px;width:90%}@media (min-width:768px){.add-entry-modal{width:50%}}@media (min-width:1200px){.add-entry-modal{width:40%}}@media (min-width:1920px){.add-entry-modal{width:33%}}.add-entry-modal .modal-body{padding:20px 24px}.add-entry-modal .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:16px}.add-entry-modal .form-row-main{gap:10px;grid-template-columns:140px 1fr 1fr}.add-entry-modal .form-row:has(#details),.add-entry-modal .form-row:has(#title){grid-template-columns:1fr}.add-entry-modal .form-group{display:flex;flex-direction:column}.add-entry-modal .form-group-hours{flex-shrink:0;max-width:140px;min-width:140px}.add-entry-modal .hours-control{align-items:stretch;display:flex;gap:8px}.add-entry-modal .hours-btn{align-items:center;background:#fff;border:1px solid #d1d1d1;border-radius:8px;color:#323130;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:48px;justify-content:center;padding:0;transition:all .2s;width:44px}.add-entry-modal .hours-btn:hover:not(:disabled){background:#008542;border-color:#008542;color:#fff}.add-entry-modal .hours-btn:active:not(:disabled){transform:scale(.95)}.add-entry-modal .hours-btn:disabled{background:#f3f2f1;cursor:not-allowed;opacity:.5}.add-entry-modal .hours-input{flex:1 1;font-size:16px;font-weight:600;max-width:48px;min-width:40px;text-align:center}.add-entry-modal .form-group label{color:#323130;font-size:14px;font-weight:600;margin-bottom:6px}.add-entry-modal .form-group input,.add-entry-modal .form-group select,.add-entry-modal .form-group textarea{border:1px solid #d1d1d1;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s}.add-entry-modal .form-group textarea{min-height:60px;resize:vertical}.add-entry-modal .form-group input:focus,.add-entry-modal .form-group select:focus,.add-entry-modal .form-group textarea:focus{border-color:#008542;box-shadow:0 0 0 1px #008542;outline:none}.add-entry-modal .form-group input:disabled,.add-entry-modal .form-group select:disabled,.add-entry-modal .form-group textarea:disabled{background:#f3f2f1;color:#a19f9d;cursor:not-allowed}.add-entry-modal .loading-message{color:#008542;font-size:14px;padding:20px;text-align:center}.add-entry-modal .error-message{background:#fed9cc;border:1px solid #d13438;border-radius:6px;color:#a4262c;font-size:14px;margin-bottom:20px;padding:12px}.add-entry-modal .modal-footer{background:#f8f9fa;border-top:1px solid #e1e5e9;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.add-entry-modal .add-button{background:#008542;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s}.add-entry-modal .add-button:hover:not(:disabled){background:#006935}.add-entry-modal .add-button:disabled{background:#a19f9d;cursor:not-allowed}.add-entry-modal .cancel-button{background:#605e5c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.add-entry-modal .cancel-button:hover:not(:disabled){background:#484644}.add-entry-modal .cancel-button:disabled{background:#a19f9d;cursor:not-allowed}.recent-entries-section{border-top:1px solid #e1e5e9;display:flex;flex-direction:column;margin-top:0;max-height:300px;min-height:60px;padding-top:20px}.recent-entries-section h3{color:#323130;flex-shrink:0;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding-left:12px;text-transform:uppercase}.recent-entries-hint{align-items:center;color:#a19f9d;display:inline-flex;font-size:11px;font-weight:400;gap:4px;letter-spacing:normal;margin-left:6px;text-transform:none}.recent-entries-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding-left:12px;padding-right:8px}.recent-entries-loading{align-items:center;color:#605e5c;display:flex;flex:1 1;font-size:13px;font-style:italic;justify-content:center}.recent-entry-item{align-items:center;background:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px;transition:all .2s}.recent-entry-item:hover{background:#f3f2f1;border-color:#008542}.recent-entry-info{flex:1 1;min-width:0}.recent-entry-date{color:#605e5c;font-size:11px;margin-bottom:4px}.recent-entry-details{color:#323130;font-size:12px;font-weight:500}.recent-entry-customer{color:#008542;font-weight:600}.recent-entry-activity{color:#605e5c}.recent-entry-hours{color:#008542;font-weight:600}.recent-entry-title{color:#666;font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-entry-btn{background:#008542;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.copy-entry-btn:hover:not(:disabled){background:#006935}.copy-entry-btn:disabled{background:#a19f9d;cursor:not-allowed;opacity:.5}@media (max-width:768px){.add-entry-modal .form-row{gap:12px;grid-template-columns:1fr}.add-entry-modal .modal-footer{flex-direction:column-reverse}.add-entry-modal .add-button,.add-entry-modal .cancel-button{width:100%}}.report-view{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px}.report-header{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.month-navigation{justify-content:center}.month-navigation,.report-filters{align-items:center;display:flex;gap:15px}.report-filters{background:#f5f5f5;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 2px 4px #0000000d;flex-wrap:wrap;padding:15px 20px}.view-toggle{align-items:center;background:#fff;border:1px solid #d0d7de;border-radius:8px;display:inline-flex;gap:6px;padding:4px}.view-toggle-button{background:#0000;border:none;border-radius:6px;color:#323130;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:background-color .2s,color .2s}.view-toggle-button:hover:not(:disabled){background:#eef6f0}.view-toggle-button.active{background:#008542;color:#fff}.view-toggle-button:disabled{cursor:not-allowed;opacity:.5}.filter-label{color:#323130;font-size:14px;font-weight:500}.checkbox-label{font-weight:500;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:#008542}.customer-filter{background:#fff;border:1px solid #e1e5e9;border-radius:6px;color:#323130;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.customer-filter:hover:not(:disabled){border-color:#008542}.customer-filter:focus{border-color:#008542;box-shadow:0 0 0 2px #0085421a;outline:none}.customer-filter:disabled{cursor:not-allowed;opacity:.5}.export-button{background-color:#008542;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s,box-shadow .2s;white-space:nowrap}.export-button:hover:not(:disabled){background-color:#006935;box-shadow:0 2px 4px #00854233}.export-button:active:not(:disabled){background-color:#005028}.export-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.5}.export-button.invoice-button{background-color:#008542}.export-button.invoice-button:hover:not(:disabled){background-color:#006935;box-shadow:0 2px 4px #00854233}.export-button.admin-button{background-color:#666}.export-button.admin-button:hover:not(:disabled){background-color:#444;box-shadow:0 2px 4px #0003}.export-button.invoice-button:active:not(:disabled){background-color:#005028}.report-summary{align-items:center;display:flex;gap:15px}.report-table-container{border:1px solid #e1e5e9;border-radius:8px;box-sizing:border-box;overflow-x:auto;width:100%}.report-weeks-container{display:flex;flex-direction:column;gap:20px}.report-week-section{display:flex;flex-direction:column;gap:10px}.report-week-header{align-items:center;display:flex;justify-content:space-between;padding:0 4px}.report-week-header h3{color:#323130;font-size:18px;margin:0}.report-week-header span{color:#605e5c;font-size:14px;font-weight:600}.report-table{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.report-table thead{background:#f8f9fa}.report-table th{border-bottom:2px solid #e1e5e9;color:#323130;font-weight:600;padding:12px 16px;text-align:left}.report-table th:first-child{width:5%}.report-table th:nth-child(2){width:75%}.report-table th:nth-child(3){width:15%}.report-table th:nth-child(4){text-align:left;width:10%}.report-table tbody tr{border-bottom:1px solid #f3f2f1;transition:background-color .2s}.report-table tbody tr:hover{background:#f8f9fa}.report-row.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.report-row.clickable:hover{background:#e8f5e9}.expand-cell{padding:12px 8px!important;text-align:center;width:30px}.expand-icon{color:#008542;display:inline-block;font-size:18px;font-weight:700;line-height:1;text-align:center;width:20px}.checkbox-cell{padding:12px 8px!important;text-align:center}.invoiced-checkbox{accent-color:#008542;border:2px solid #e1e5e9;border-radius:4px;cursor:pointer;height:20px;transition:all .2s;width:20px}.invoiced-checkbox:hover{border-color:#008542;box-shadow:0 0 4px #00854233}.invoiced-checkbox:checked{background-color:#008542;border-color:#008542}.details-row{background:#f8f9fa}.details-row td{padding:0;width:15%}.details-container{box-sizing:border-box;padding:12px;width:100%}.activity-section{margin-bottom:24px}.activity-section:last-child{margin-bottom:0}.activity-header{align-items:center;background:#f3f2f1;border-left:4px solid #008542;border-radius:2px;color:#323130;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin:0 0 12px;padding:8px 12px;vertical-align:middle}.activity-hours{color:#555;font-size:12px;font-weight:500}.details-table{background:#fff;border:1px solid #e1e5e9;border-collapse:collapse;border-radius:4px;font-size:13px;table-layout:fixed;width:100%}.details-table thead{background:#f3f2f1}.details-table th{border-bottom:1px solid #e1e5e9;color:#323130;font-weight:600;padding:8px 12px;text-align:left}.details-table th:first-child{width:15%}.details-table th:nth-child(2){width:10%}.details-table th:nth-child(4){width:25%}.details-table td{border-bottom:1px solid #f3f2f1;padding:8px 12px}.details-table tbody tr:hover{background:#f8f9fa}.description-cell{color:#555;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:50%}.details-table th:nth-child(3){width:50%}.person-cell{color:#666;font-size:12px}.report-table td{color:#323130;padding:12px 16px}.report-table td.center{text-align:center}.report-table td.right{text-align:right}.report-table td.no-data{color:#605e5c;font-style:italic;padding:40px;text-align:center}.report-table tfoot{background:#f8f9fa;border-top:2px solid #e1e5e9}.report-table tfoot td{font-weight:600;padding:12px 16px}.loading-indicator{color:#0078d4;font-size:14px;font-weight:500}.success-message{color:#008542;font-size:14px;font-weight:500}.error-bar{word-wrap:break-word;background-color:#ffebee;border:1px solid #ef5350;border-radius:8px;color:#c62828;font-size:14px;margin-bottom:15px;overflow:visible;overflow-wrap:break-word;padding:12px 16px;white-space:normal;word-break:break-word}@media (max-width:768px){.report-view{padding:15px}.report-header{align-items:stretch;flex-direction:column;text-align:center}.report-table{font-size:12px}.report-table td,.report-table th{padding:8px 10px}}.export-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.export-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:480px;min-width:360px;padding:28px 32px}.export-dialog h3{color:#323130;font-size:18px;margin:0 0 8px}.export-dialog p{color:#605e5c;font-size:14px;margin:0 0 20px}.export-dialog-buttons{display:flex;flex-direction:column;gap:10px}.export-dialog-btn{background:#f5f5f5;border:1px solid #e1e5e9;border-radius:8px;color:#323130;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;text-align:left;transition:background .15s,border-color .15s}.export-dialog-btn:hover{background:#e8e8e8;border-color:#0078d4}.export-dialog-btn.cancel{background:#0000;border-color:#0000;color:#605e5c;font-weight:400;text-align:center}.export-dialog-btn.cancel:hover{background:#f5f5f5;color:#323130}.planning-container{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014,0 1px 4px #0000000a;overflow:visible;padding:20px}.planning-header{align-items:center;background:none;border-bottom:1px solid #eef1f5;border-radius:0;display:flex;justify-content:space-between;margin-bottom:16px;padding:0 0 16px}.planning-header h2{color:#1a2e22;font-size:24px;margin:0}.header-controls{align-items:center;display:flex;gap:12px}.add-button{background:linear-gradient(135deg,#008542,#00a655);border:none;border-radius:8px;box-shadow:0 2px 8px #0085424d;color:#fff;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.2px;padding:8px 18px;transition:all .2s}.add-button:hover{background:linear-gradient(135deg,#006935,#008542);box-shadow:0 4px 14px #00854266;transform:translateY(-1px)}.loading{color:#8a9ba8;font-size:15px;padding:60px 40px;text-align:center}.error-message{background-color:#fff5f5;border-left:4px solid #c53030;border-radius:8px;color:#c53030;font-size:14px;margin:16px 24px 0;padding:14px 16px}.retry-button{background:linear-gradient(135deg,#0078d4,#106ebe);border:none;border-radius:8px;box-shadow:0 2px 6px #0078d44d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin:12px 24px 16px;padding:10px 20px;transition:all .2s}.retry-button:hover{box-shadow:0 4px 10px #0078d466;transform:translateY(-1px)}.no-data{background-color:#fff;border-radius:0 0 16px 16px;color:#8a9ba8;font-size:15px;padding:60px 40px;text-align:center}.view-toggle{background:#0000000f;border:none;border-radius:10px;display:flex;gap:3px;padding:3px}.view-toggle-btn{background:#0000;border:none;border-radius:7px;color:#666;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:all .2s;white-space:nowrap}.view-toggle-btn.active{background:#fff;box-shadow:0 1px 6px #0000001f;color:#008542}.view-toggle-btn:hover:not(.active){background:#ffffff80;color:#333}.planning-table-wrapper{background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:none;overflow-x:auto}.view-two-months .week-column{min-width:120px}.view-two-months .week-cell{height:90px;min-width:120px}.view-two-months .allocation{font-size:12px;max-height:none;min-height:36px;min-width:80px;padding:6px 8px}.view-two-months .allocation-text{font-size:12px}.view-two-months .week-total-percentage{font-size:13px}.view-full-year .week-column{min-width:50px}.view-full-year .week-cell{height:60px;min-width:50px}.section-title{color:#1a2e22;font-size:18px;font-weight:700;letter-spacing:-.2px;margin:0 0 12px}.week-header-container{align-items:center;background-color:#fff;border-bottom:2px solid #e1e5e9;display:flex;padding:12px 20px}.week-header-container label{color:#605e5c;font-size:12px;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.planning-table{background-color:#fff;border-collapse:collapse;width:100%}.planning-table thead{background:linear-gradient(180deg,#f5f7fa,#edf0f5);border-bottom:2px solid #dde3ea;position:-webkit-sticky;position:sticky;top:0;z-index:20}.planning-table th{border-right:1px solid #e2e8f0;color:#4a5568;font-size:12px;font-weight:700;letter-spacing:.2px;padding:11px 8px;text-align:center;white-space:nowrap}.person-column{background:linear-gradient(90deg,#f5f7fa,#edf0f4)!important;border-right:2px solid #dde3ea!important;color:#2d3748;font-weight:600;left:0;min-width:170px;padding:10px 12px!important;position:-webkit-sticky;position:sticky;text-align:left;z-index:10}.person-cell-content{align-items:center;display:flex;gap:9px}.person-avatar{align-items:center;background:linear-gradient(135deg,#008542,#00a655);border-radius:50%;box-shadow:0 2px 5px #00854240;color:#fff;display:flex;flex-shrink:0;font-size:10px;font-weight:800;height:30px;justify-content:center;letter-spacing:-.5px;text-transform:uppercase;width:30px}.person-name-text{color:#2d3748;font-size:13px;font-weight:600;max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-header-label{background-color:initial!important;border-right:none!important;color:#605e5c;display:none;font-size:10px;font-weight:600;min-width:20px;padding:8px 2px!important;width:20px}.week-header-spacer{background-color:#fff;border:none;min-width:20px;width:20px}.week-column{border-right:1px solid #e2e8f0;color:#2d3748;font-weight:700;min-width:50px;text-align:center}.week-label{color:#a0aec0;display:block;font-size:9px;font-weight:600;letter-spacing:.5px;margin-bottom:1px;text-transform:uppercase}.planning-table td{border-bottom:1px solid #edf0f5;border-right:1px solid #edf0f5;height:60px;padding:5px;text-align:center;vertical-align:center}.planning-table tbody tr:nth-child(odd){background-color:#fff}.planning-table tbody tr:nth-child(2n){background-color:#fafbfc}.planning-table tbody tr:hover{background-color:#f2f9f5!important}.planning-table tbody tr:hover .person-column{background:linear-gradient(90deg,#e8f5ee,#e4f0ea)!important}.week-cell{background-color:initial;height:60px;min-width:50px;overflow:visible;position:relative;text-align:center;transition:background-color .12s}.current-week-col th{background:linear-gradient(180deg,#e8f8f0,#dcf3e8)!important;border-right:1px solid #b8dfc9!important;color:#007a3c!important}.current-week-col td{background:#0085420a!important}.current-week-dot{background:#008542;border-radius:50%;box-shadow:0 0 4px #00854280;height:5px;margin:0 auto 3px;width:5px}.cell-content{align-items:center;display:flex;flex-direction:column;flex-wrap:wrap;gap:2px;height:100%;justify-content:center;overflow:visible;padding:3px}.week-total-percentage{background:#00854217;border:1px solid #0085422e;border-radius:10px;color:#008542;font-size:11px;font-weight:700;letter-spacing:.1px;margin-bottom:3px;padding:2px 7px}.week-total-percentage.over-allocated{background:#c5303017;border-color:#c5303033;color:#c53030}.allocation{align-items:center;border:none;border-radius:7px;box-shadow:0 1px 4px #0000002e,inset 0 1px 0 #ffffff40;color:#333;cursor:default;display:flex;flex-direction:column;font-size:11px;font-weight:600;justify-content:center;line-height:1.3;max-height:34px;min-height:34px;min-width:30px;padding:5px 6px;position:relative;text-align:center;transition:transform .15s,box-shadow .15s}.allocation:hover{box-shadow:0 4px 10px #00000038;transform:scale(1.06);z-index:5}.allocation-text{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0;overflow:hidden;text-overflow:ellipsis}.allocation-percentage{flex-shrink:0;font-size:11px;font-weight:700;opacity:1}.allocation-actions{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0a0f19e0;border-radius:5px;display:none;gap:2px;padding:2px 3px;position:absolute;right:-2px;top:-2px;z-index:10}.allocation:hover .allocation-actions{display:flex}.action-btn{background-color:initial;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:10px;padding:2px 4px;transition:background-color .1s}.action-btn:hover{background-color:#ffffff38}.edit-btn{color:#63d3ff}.delete-btn{color:#ff8080}.add-allocation-btn{background:linear-gradient(135deg,#008542,#00a655);border:none;border-radius:6px;box-shadow:0 2px 6px #0085424d;color:#fff;cursor:pointer;display:none;font-size:16px;font-weight:700;line-height:1;margin-top:3px;padding:4px 10px;transition:all .2s}.week-cell:hover .add-allocation-btn{display:block}.add-allocation-btn:hover{background:linear-gradient(135deg,#006935,#008542);box-shadow:0 3px 10px #00854266;transform:scale(1.08)}.planning-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#00000073;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.planning-modal{background-color:#fff;border-radius:14px;box-shadow:0 20px 60px #0003,0 4px 16px #0000001f;display:flex;flex-direction:column;max-width:600px;overflow:hidden;width:90%}.planning-modal h3{background:#f8f9fa;border-bottom:1px solid #edf0f5;color:#1a2e22;font-size:17px;font-weight:700;letter-spacing:-.2px;margin:0;padding:18px 24px 14px}.planning-modal form{gap:0;padding:20px 24px}.form-group,.planning-modal form{display:flex;flex-direction:column}.form-group{margin-bottom:16px}.checkbox-label{align-items:center;color:#323130;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:6px 0}.checkbox-label input[type=checkbox]{accent-color:#d32f2f;cursor:pointer;height:18px;width:18px}.form-group:last-of-type{margin-bottom:0}.form-group label{color:#323130;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input,.form-group select{border:1px solid #d1d1d1;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s}.person-input-container{position:relative;width:100%}.person-input-container input{border:1px solid #d1d1d1;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.person-suggestions{background:#fff;border:1px solid #d1d1d1;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 3.2px 7.2px #00000021,0 .6px 1.8px #0000001c;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.suggestion-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:10px 12px;transition:background-color .2s}.suggestion-item:hover{background-color:#f3f2f1}.suggestion-item:last-child{border-bottom:none}.form-group input:disabled{background-color:#f3f2f1;color:#a19f9d;cursor:not-allowed}.form-group input:focus,.form-group select:focus{border-color:#008542;box-shadow:0 0 0 1px #008542;outline:none}.week-multi-select{border:1px solid #d1d1d1;border-radius:6px;overflow:hidden}.week-multi-select-header{background:#f8f8f8;border-bottom:1px solid #e1e5e9;padding:8px 12px}.week-select-all-label{align-items:center;color:#323130;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px}.week-select-all-label input[type=checkbox]{accent-color:#d32f2f;cursor:pointer;height:16px;width:16px}.week-multi-select-list{display:flex;flex-wrap:wrap;gap:2px;max-height:160px;overflow-y:auto;padding:8px}.week-checkbox-label{align-items:center;border-radius:4px;color:#323130;cursor:pointer;display:flex;font-size:12px;gap:4px;min-width:58px;padding:3px 6px;transition:background-color .15s}.week-checkbox-label:hover{background-color:#f3f2f1}.week-checkbox-label input[type=checkbox]{accent-color:#d32f2f;cursor:pointer;height:14px;width:14px}.checkbox-group{align-items:center;display:flex;margin-bottom:16px}.checkbox-group label{align-items:center;color:#323130;cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:8px;margin:0}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.form-actions{border-top:1px solid #e1e5e9;display:flex;gap:12px;margin-top:24px;padding-top:16px}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s}.btn-save{background-color:#008542;color:#fff}.btn-save:hover{background-color:#006935}.btn-cancel{background-color:#605e5c;color:#fff}.btn-cancel:hover{background-color:#4f4d4a}.percentage-slider-container{align-items:center;display:flex;gap:12px}.percentage-slider{-webkit-appearance:none;appearance:none;background:#d1d1d1;border-radius:3px;flex:1 1;height:6px;outline:none}.percentage-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#008542;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:20px;-webkit-transition:background-color .2s;transition:background-color .2s;width:20px}.percentage-slider::-webkit-slider-thumb:hover{background:#006935}.percentage-slider::-moz-range-thumb{background:#008542;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:20px;-moz-transition:background-color .2s;transition:background-color .2s;width:20px}.percentage-slider::-moz-range-thumb:hover{background:#006935}.percentage-value{color:#008542;font-size:14px;font-weight:600;min-width:40px;text-align:right}.btn-cancel{background-color:#e5e5e5;color:#333}.btn-cancel:hover{background-color:#d5d5d5}.uncovered-projects-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:none;margin-top:24px;overflow:hidden;padding:0}.uncovered-section-header{background:none;border-bottom:1px solid #eef1f5;padding:14px 18px 10px}.uncovered-title{color:#1a2e22;font-size:17px;font-weight:700;letter-spacing:-.2px;margin:0 0 3px}.uncovered-subtitle{color:#8a9ba8;font-size:12px;margin:0}.uncovered-table-wrapper{overflow-x:auto;padding:0 0 8px}.uncovered-table{border-collapse:collapse;font-size:13px;width:100%}.uncovered-table thead th{background:linear-gradient(180deg,#f5f7fa,#edf0f5);border-bottom:2px solid #dde3ea;color:#4a5568;font-size:10px;font-weight:700;letter-spacing:.6px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.uncovered-table tbody td.num-col,.uncovered-table thead th.num-col{text-align:right}.uncovered-table tbody tr{border-bottom:1px solid #edf0f5;transition:background-color .12s}.uncovered-table tbody tr:hover{background-color:#f2f9f5}.uncovered-table tbody td{color:#2d3748;padding:10px 14px;white-space:nowrap}.deficit-cell{color:#c53030;font-weight:700}.surplus-cell{color:#008542;font-weight:700}.fully-covered-row td{opacity:.65}.deficit-row td{background-color:#fff5f5}.deficit-row:hover td{background-color:#fee8e8!important}.status-badge{background:#e0e0e0;border-radius:10px;color:#555;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.status-active,.status-aktiv,.status-pågående{background:#e8f5e9;color:#2e7d32}.status-avslutad,.status-completed,.status-done,.status-klar{background:#e3f2fd;color:#1565c0}.status-on-hold,.status-pausad,.status-paused{background:#fff3e0;color:#e65100}.status-ej-startad,.status-not-started{background:#f5f5f5;color:#888}.coverage-bar-full{background:linear-gradient(90deg,#008542,#00c664)!important}.coverage-bar-container{align-items:center;display:flex;gap:8px;justify-content:flex-end;min-width:110px}.coverage-bar-track{background:#e2e8f0;border-radius:3px;flex-shrink:0;height:6px;overflow:hidden;width:60px}.coverage-bar{background:linear-gradient(90deg,#e53e3e,#dd6b20,#d69e2e,#38a169);background-size:240px 100%;border-radius:3px;height:6px;min-width:2px;transition:width .3s ease}.coverage-text{color:#555;font-size:12px;font-weight:600;min-width:35px;text-align:right}.tid-kvar-suffix{color:#888;font-size:10px;font-weight:400}.tid-kvar-edit-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:14px;margin-left:6px;padding:2px 4px;transition:background .15s,color .15s;vertical-align:middle}.tid-kvar-edit-btn:hover{background:#e0e0e0;color:#333}.tid-kvar-modal{max-height:85vh;max-width:520px!important}.tid-kvar-content{max-height:calc(85vh - 130px);overflow-y:auto;padding:16px 24px 0}.tid-kvar-project-name{color:#323130;font-size:16px;font-weight:600;margin-bottom:16px}.tid-kvar-box{background:#f5f5f5;border-radius:10px;margin-bottom:16px;padding:14px 16px}.tid-kvar-values{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.tid-kvar-label{color:#888;font-size:12px;font-weight:600}.tid-kvar-input{background:#fff;border:2px solid #d1d1d1;border-radius:6px;box-sizing:border-box;color:#333;font-size:22px;font-weight:700;padding:10px 12px;transition:border-color .15s;width:100%}.tid-kvar-input:focus{border-color:#008542;outline:none}.tid-kvar-meta{border-top:1px solid #e0e0e0;padding-top:8px}.tid-kvar-meta-loading,.tid-kvar-meta-text{color:#888;font-size:12px}.tid-kvar-meta-loading{font-style:italic}.tid-kvar-modal form{padding:12px 24px 16px}.tid-kvar-modal .form-actions{padding-top:0}.tid-kvar-time-entries{margin-bottom:16px}.tid-kvar-time-entries h4{color:#323130;font-size:14px;font-weight:600;margin:0 0 10px}.tid-kvar-no-entries{color:#888;font-size:13px;font-style:italic}.tid-kvar-person-summary{background:#e8f5e9;border-radius:8px;margin-bottom:10px;padding:8px 12px}.person-summary-row{display:flex;font-size:13px;justify-content:space-between;padding:3px 0}.person-summary-name{color:#333}.person-summary-hours{color:#333;font-weight:600}.person-summary-total{border-top:1px solid #a5d6a7;font-weight:700;margin-top:4px;padding-top:6px}.tid-kvar-entries-list{border:1px solid #e0e0e0;border-radius:8px;max-height:200px;overflow-y:auto}.tid-kvar-entry-row{grid-gap:6px;align-items:center;border-bottom:1px solid #f0f0f0;display:grid;font-size:12px;gap:6px;grid-template-columns:60px 1fr 45px 2fr;padding:6px 10px}.tid-kvar-entry-row:last-child{border-bottom:none}.tid-kvar-entry-row:nth-child(2n){background:#fafafa}.entry-date{color:#888;font-size:11px}.entry-person{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-hours{color:#008542;font-weight:600;text-align:right}.entry-details{color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.show-more-entries-btn{background:none;border:1px solid #d1d1d1;border-radius:6px;color:#0078d4;cursor:pointer;display:block;font-size:12px;font-weight:600;margin-top:6px;padding:6px 0;transition:background .15s,color .15s;width:100%}.show-more-entries-btn:hover{background:#f0f6ff;color:#005a9e}.project-edit-sp-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:13px;padding:2px 4px;transition:background .15s,color .15s;vertical-align:middle}.project-edit-sp-btn:hover{background:#e0e0e0;color:#0078d4}.edit-col{padding:2px!important;text-align:center;width:28px}.delete-confirm-modal{max-width:420px!important}.delete-confirm-content{padding:16px 24px}.delete-confirm-content p{color:#323130;font-size:14px;margin:0 0 8px}.delete-confirm-question{font-weight:600;margin-top:12px!important}.delete-confirm-actions{border-top:1px solid #e1e5e9;display:flex;flex-direction:column;gap:8px;padding:16px 24px}.btn-delete-all,.btn-delete-single{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s}.btn-delete-single{background-color:#d32f2f;color:#fff}.btn-delete-single:hover{background-color:#b71c1c}.btn-delete-all{background-color:#ff5722;color:#fff}.btn-delete-all:hover{background-color:#e64a19}.delete-confirm-actions .btn-cancel{background-color:#f3f2f1;border:1px solid #d1d1d1;color:#323130}.delete-confirm-actions .btn-cancel:hover{background-color:#e1e5e9}.crew-tabs{background:#00000012;border:none;border-radius:10px;display:flex;gap:3px;padding:3px}.crew-tab-btn{background:#0000;border:none;border-radius:8px;color:#555;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.1px;padding:7px 22px;transition:all .2s}.crew-tab-btn.active{background:#fff;box-shadow:0 1px 6px #00000024;color:#008542}.crew-tab-btn:hover:not(.active){background:#ffffff80;color:#333}.unplanned-row{background-color:#f9fafb!important;border-top:3px solid #b0bec5}.unplanned-row:hover{background-color:#f0f2f4!important}.unplanned-label{background-color:#eceff1!important;color:#78909c;font-style:italic;font-weight:700}.unplanned-total{color:#78909c!important}.unplanned-allocation{border:1px dashed #0003}.capacity-summary-row{border-top:2px solid #dde3ea}.capacity-summary-row td{background:linear-gradient(180deg,#f0faf6,#e8f5ee)!important;height:52px!important}.capacity-summary-label{background:linear-gradient(90deg,#e8f5ee,#e0f0e8)!important}.capacity-summary-cell{text-align:center;vertical-align:middle}.capacity-summary-title{color:#008542;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.capacity-summary-value{font-size:15px;font-weight:800;letter-spacing:-.3px;line-height:1.1}.capacity-summary-sub{color:#8a9ba8;font-size:10px;font-weight:500;margin-top:1px}.customer-avatar{background:linear-gradient(135deg,#4a6fa5,#6589c0)!important;box-shadow:0 2px 5px #4a6fa54d!important}.gantt-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:none;margin-top:24px;overflow:hidden}.gantt-header-section{background:none;border-bottom:1px solid #eef1f5;padding:14px 18px 10px}.gantt-title{color:#1a2e22;font-size:17px;font-weight:700;letter-spacing:-.2px;margin:0 0 3px}.gantt-subtitle{color:#8a9ba8;font-size:12px;margin:0}.gantt-table-wrapper{overflow-x:auto}.gantt-table{border-collapse:collapse;font-size:13px;width:100%}.gantt-table thead tr{background:linear-gradient(180deg,#f5f7fa,#edf0f5);border-bottom:2px solid #dde3ea}.gantt-table thead th{border-right:1px solid #e2e8f0;color:#4a5568;font-size:11px;font-weight:700;padding:10px 6px;text-align:center;white-space:nowrap}.gantt-project-col{background:linear-gradient(90deg,#f5f7fa,#edf0f4)!important;border-right:2px solid #dde3ea!important;left:0;min-width:180px;padding:10px 16px!important;position:-webkit-sticky;position:sticky;text-align:left!important;z-index:5}.gantt-project-name{color:#2d3748;font-size:13px;font-weight:600}.gantt-customer-name,.gantt-project-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-customer-name{color:#8a9ba8;font-size:11px;margin-top:1px}.gantt-week-col{border-right:1px solid #e2e8f0;min-width:64px}.gantt-table tbody tr{border-bottom:1px solid #edf0f5;transition:background .12s}.gantt-table tbody tr:nth-child(2n){background:#fafbfc}.gantt-table tbody tr:hover{background:#f2f9f5!important}.gantt-table tbody tr:hover .gantt-project-col{background:linear-gradient(90deg,#e8f5ee,#e4f0ea)!important}.gantt-week-cell{border-right:1px solid #edf0f5;height:46px;min-width:64px;padding:5px 4px;text-align:center;vertical-align:middle}.gantt-bar{align-items:center;border-radius:6px;box-shadow:0 1px 4px #00000029,inset 0 1px 0 #fff3;cursor:default;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;letter-spacing:.1px;min-width:40px;padding:4px 8px;transition:transform .15s,box-shadow .15s}.gantt-bar:hover{box-shadow:0 3px 8px #00000038;transform:scale(1.06)}.time-registration-app{background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:80%;min-height:100vh;padding:20px}.app-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.header-content{align-items:center;display:flex;gap:20px;justify-content:space-between;padding:12px 20px}.tabs{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e1e5e9;display:flex}.tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#605e5c;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.tab:hover{background:#f3f2f1;color:#323130}.tab.active{background:#fff;border-bottom-color:#008542;color:#008542;font-weight:600}.app-title{color:#333;font-size:1.25rem;font-weight:500;margin:0}.user-section{align-items:center;display:flex;gap:12px}.user-name{color:#666}.auth-button,.user-name{font-size:.875rem;white-space:nowrap}.auth-button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:6px 16px;transition:all .2s ease}.auth-button.sign-in{background:#008542;color:#fff}.auth-button.sign-in:hover{background:#006935}.auth-button.sign-out{background:#0000;border:1px solid #008542;color:#008542}.auth-button.sign-out:hover{background:#e8f5f0}.auth-button.admin-button{background:#0000;border:1px solid #008542;color:#008542;margin-right:12px}.auth-button.admin-button:hover{background:#e8f5f0}.sign-in-message{color:#666;padding:40px 20px;text-align:center}.sign-in-message p{font-size:1.1rem;margin:0}.main-content{display:flex;flex:1 1;flex-direction:column;gap:30px}.powerbi-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;height:auto;min-height:600px;overflow:hidden;width:100%}.powerbi-section iframe{border:none;flex:1 1;height:100%;min-height:600px;transform:scale(1);width:100%}.section-header{background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e1e5e9;padding:24px}.section-header h2{color:#323130;font-size:1.5rem;font-weight:600;margin:0 0 8px}.section-header p{color:#605e5c;font-size:1rem;margin:0}.quick-stats{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:24px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e1e5e9;border-radius:12px;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.stat-card h3{color:#605e5c;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.stat-value{color:#008542;font-size:2rem;font-weight:700;margin-bottom:4px}.stat-label{color:#605e5c;font-size:.85rem}.instructions{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:24px}.instructions h3{color:#323130;font-size:1.25rem;font-weight:600;margin:0 0 16px}.instructions ul{line-height:1.6;margin:0;padding-left:20px}.instructions li{color:#605e5c;margin-bottom:8px}.instructions strong{color:#323130}@media (max-width:768px){.time-registration-app{padding:15px}.app-header{margin-bottom:20px;padding:20px 15px}.app-header h1{font-size:2rem}.app-header p{font-size:1rem}.main-content{gap:20px}.section-header{padding:20px}.section-header h2{font-size:1.25rem}.instructions,.quick-stats{padding:20px}.stats-grid{gap:15px;grid-template-columns:1fr}.stat-card{padding:15px}.stat-value{font-size:1.5rem}}@media (max-width:480px){.time-registration-app{padding:10px}.app-header h1{font-size:1.75rem}.instructions,.quick-stats,.section-header{padding:15px}}.App{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:100vh}
/*# sourceMappingURL=main.64af6ea2.css.map*/