:root{--ink:#14141c;--ink-soft:#2a2a38;--sidebar-bg:#15151f;--sidebar-line:#26263a;--paper:#f7f6f2;--card:#fff;--border:#e7e4dc;--slate:#6b6b76;--slate-light:#9d9da8;--slate-dim:#cfcfd6;--amber:#f5a623;--coral:#ff5a5f;--magenta:#e0246b;--blue:#2e6ff2;--grad:linear-gradient(120deg, var(--amber) 0%, var(--coral) 38%, var(--magenta) 64%, var(--blue) 100%);--radius:10px;--radius-sm:6px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5}#root{min-height:100svh}h1,h2,h3,.word-mark{letter-spacing:-.01em;margin:0;font-family:Space Grotesk,sans-serif;font-weight:700}h1{margin-bottom:18px;font-size:22px}a{color:inherit}.tabular-nums{font-variant-numeric:tabular-nums}.page-placeholder{color:var(--slate);font-size:14px}.page-placeholder-list{color:var(--slate);flex-direction:column;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.admin-layout{align-items:flex-start;gap:32px;display:flex}.admin-side-nav{flex-direction:column;flex:0 0 190px;gap:2px;display:flex;position:sticky;top:88px}.admin-side-nav-link{border-radius:var(--radius-sm);color:var(--slate);align-items:center;gap:7px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.admin-side-nav-link:before{content:"";background:var(--grad);opacity:0;border-radius:50%;width:6px;height:6px}.admin-side-nav-link:hover{background:var(--card);color:var(--ink)}.admin-side-nav-link--active{color:var(--ink);background:var(--card);font-weight:600}.admin-side-nav-link--active:before{opacity:1}.admin-layout-content{flex:1;min-width:0}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-topbar{z-index:50;position:sticky;top:0}.app-header{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.lockup{color:inherit;cursor:pointer;align-items:center;gap:10px;text-decoration:none;transition:opacity .15s;display:flex}.lockup:hover{opacity:.85}.lockup-icon{width:28px;height:28px}.word-mark{font-size:18px}.user-chip-wrap{position:relative}.user-chip{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px;display:flex}.user-chip:hover{background:var(--paper)}.user-menu-backdrop{z-index:60;position:fixed;inset:0}.user-menu{z-index:61;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:140px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #14141c2e}.user-menu-item{text-align:left;width:100%;color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:block}.user-menu-item:hover{background:var(--paper)}.user-avatar{color:#fff;background:var(--grad);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:700;display:flex}.user-name{color:var(--slate);font-size:13.5px}.app-nav{border-bottom:1px solid var(--border);background:var(--card);gap:4px;padding:0 20px;display:flex}.nav-link{color:var(--slate);align-items:center;gap:7px;padding:12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link:before{content:"";background:var(--grad);opacity:0;border-radius:50%;width:6px;height:6px}.nav-link--active{color:var(--ink)}.nav-link--active:before{opacity:1}.app-main{flex:1;padding:24px}.app-shell-loading{min-height:100svh;color:var(--slate);justify-content:center;align-items:center;font-size:14px;display:flex}.client-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.client-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:380px;max-height:calc(100vh - 64px);padding:16px;overflow-y:auto;box-shadow:0 12px 32px #14141c2e}.client-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.client-edit-popup-row{gap:10px;display:flex}.client-edit-popup-row .client-edit-popup-field{flex:1;min-width:0}.client-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.client-edit-popup-code-preview{color:var(--slate);background:var(--paper);border-radius:var(--radius-sm);margin-bottom:14px;padding:7px 9px;font-size:12.5px}.client-edit-popup-code-preview strong{color:var(--ink);font-family:Space Grotesk,sans-serif}.client-edit-popup-code-note{color:var(--slate-light);font-size:11px}.client-edit-popup-field input{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.client-edit-popup-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.client-edit-popup-field input.client-edit-popup-input--error{border-color:#d63b40}.client-edit-popup-error{text-transform:none;letter-spacing:normal;color:#d63b40;margin-top:2px;font-size:11px;font-weight:400}.client-edit-popup-primary{color:var(--slate);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.client-edit-popup-contacts-label{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);margin-bottom:8px;font-size:11.5px;font-weight:600}.client-edit-popup-contact{background:var(--paper);border-radius:var(--radius-sm);margin-bottom:10px;padding:12px}.client-edit-popup-contact .client-edit-popup-field:last-of-type{margin-bottom:8px}.client-edit-popup-remove-contact{text-transform:none;letter-spacing:normal;color:#d63b40;cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.client-edit-popup-add-contact{color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:14px;padding:6px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.client-edit-popup-add-contact:hover{background:var(--paper)}.client-edit-popup-hint{color:var(--slate);margin:0;font-size:11.5px}.client-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.client-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.client-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.client-edit-popup-button--ghost:hover{background:var(--paper)}.client-edit-popup-button--primary{color:#fff;background:var(--ink)}.client-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.client-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.status-badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge--draft{color:var(--slate);background:#f0f0ee}.status-badge--submitted{color:var(--blue);background:#2e6ff21a}.status-badge--approved{color:#1c4fc4;background:#2e6ff21a}.status-badge--rejected{color:#d63b40;background:#ff5a5f1f}.status-badge--locked{color:#fff;background:var(--ink)}.status-badge--warning{color:#b57314;background:#f5a62324}.timesheet-grid-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow-x:auto}.timesheet-grid{table-layout:fixed;border-collapse:collapse;width:100%;font-size:13.5px}.timesheet-grid th,.timesheet-grid td{border-bottom:1px solid var(--border);text-align:center;padding:8px 10px}th.col-project,td.col-project{text-align:left;width:190px}th.col-task,td.col-task{text-align:left;width:160px}.col-status{width:90px}.col-day{width:96px}.col-total{width:56px;font-weight:600}.col-remove{width:32px}.row-rejected .col-project,.row-rejected .col-task,.row-rejected .col-status,.row-rejected .col-total{background:#ff5a5f0f}.row-rejected .col-project{box-shadow:inset 2px 0 #d63b40}.rejected-hint{color:#d63b40;margin-top:4px;font-size:10.5px;display:block}thead th{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);background:var(--paper);font-size:11px;font-weight:600}.day-name{display:block}.day-date{color:var(--ink);margin-top:2px;font-size:13px;display:block}.col-day--today{color:var(--ink)}.col-day--today .day-date{color:var(--blue)}.cell-select{width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-family:Inter,sans-serif;font-size:13px}.cell-select:disabled{color:var(--slate-light);background:var(--paper);border-color:#0000}.day-cell{justify-content:center;align-items:center;gap:5px;display:flex}.hour-input{text-align:center;width:52px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;font-family:Inter,sans-serif;font-size:13.5px}.hour-input:disabled{color:var(--slate-light);background:var(--paper);border-color:#0000}.hour-input:focus,.cell-select:focus{outline:2px solid var(--blue);outline-offset:1px}.note-icon-button{width:22px;height:22px;color:var(--slate);background:var(--paper);border:1px solid var(--border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.note-icon-button:hover:not(:disabled){color:var(--ink);border-color:var(--slate-dim)}.note-icon-button--filled{color:var(--blue);background:#2e6ff21a;border-color:#2e6ff259}.note-icon-button--filled:hover:not(:disabled){color:#1c4fc4;background:#2e6ff229}.note-icon-button:disabled{color:var(--slate-dim);opacity:.5;cursor:not-allowed}.remove-row-button{width:22px;height:22px;color:var(--slate);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.remove-row-button:hover:not(:disabled){color:#d63b40;background:#ff5a5f1f}.remove-row-button:disabled{color:var(--slate-dim);cursor:not-allowed}.cell-holiday{color:var(--slate);background:var(--paper);font-size:11px;font-style:italic}.cell-warning{color:#b57314;background:#f5a62324}tfoot td{border-bottom:none;border-top:1px solid var(--border);background:var(--paper);font-weight:600}.add-row-button{color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:6px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.add-row-button:hover:not(:disabled){background:var(--paper)}.add-row-button:disabled{opacity:.4;cursor:not-allowed}.approvals-tab .week-pager{margin-bottom:18px}.group-header-row td{background:var(--paper);border-top:1px solid var(--border)}.group-header-cell{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.group-name{font-family:Space Grotesk,sans-serif;font-weight:600}.group-total{color:var(--ink)}.expand-toggle{width:16px;height:16px;color:var(--slate);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;transition:transform .12s;display:flex;transform:rotate(0)}.expand-toggle--open{transform:rotate(90deg)}.expand-toggle-spacer{flex-shrink:0;width:16px;display:inline-block}.approval-task-label{color:var(--slate);padding-left:22px;font-size:13px}.approval-task-row td{background:var(--paper)}.approvals-grid th.col-project,.approvals-grid td.col-project{width:280px}.approvals-grid th.col-day,.approvals-grid td.col-day{width:64px}.approvals-grid .col-total{width:72px}.approval-day-cell{justify-content:center;align-items:center;min-height:22px;display:flex;position:relative}.approval-day-cell .readonly-hours{width:100%;display:block}.approval-day-cell .note-icon-button{position:absolute;top:50%;right:0;transform:translateY(-50%)}.readonly-hours{text-align:center;min-width:18px;color:var(--ink);font-size:13.5px}.warning-icon-button{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.self-approval-hint{color:#b57314;font-size:11px}.rejection-icon-button{color:#d63b40;cursor:pointer;background:#ff5a5f1f;border:1px solid #ff5a5f59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.rejection-icon-button:hover{background:#ff5a5f33}.approval-actions{justify-content:flex-end;gap:6px;display:flex}.approve-button,.reject-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.approve-button{color:#fff;background:var(--ink)}.approve-button:hover{background:var(--ink-soft)}.reject-button{color:#d63b40;background:var(--card);border-color:#ff5a5f66}.reject-button:hover{background:#ff5a5f14}.admin-clients-hint{margin-bottom:16px}th.col-contact,td.col-contact{text-align:left;width:260px}.col-client-status{width:100px}.client-name{font-family:Space Grotesk,sans-serif;font-weight:600}.client-contact-entry{padding:4px 0}.client-contact-entry+.client-contact-entry{border-top:1px solid var(--border)}.client-contact-detail{color:var(--slate);font-size:12px;display:block}.client-contact-primary{color:var(--slate);font-size:11px;font-weight:400}.client-contact-remove{color:#d63b40;cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.client-actions{justify-content:flex-end;gap:6px;display:flex}.client-action-button{text-align:center;min-width:84px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.client-action-button:hover{background:var(--paper)}.clients-add-button{margin-top:14px}.corrections-audit{border-top:1px solid var(--border);margin-top:32px;padding-top:20px}.corrections-audit-title{margin-bottom:12px;font-size:15px}.corrections-audit-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.corrections-audit-list li{color:var(--slate);background:var(--paper);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.corrections-audit-who{color:var(--ink);font-weight:600}.corrections-audit-when{color:var(--slate-light);font-size:12px}.employee-typeahead{position:relative}.employee-typeahead-input{width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.employee-typeahead-input:focus{outline:2px solid var(--blue);outline-offset:1px}.employee-typeahead-list{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:10;max-height:180px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #14141c24}.employee-typeahead-empty{color:var(--slate);padding:8px;font-size:12.5px}.employee-typeahead-option{text-align:left;width:100%;color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-family:Inter,sans-serif;font-size:13px;display:flex}.employee-typeahead-option--highlighted{background:var(--paper)}.employee-typeahead-option:disabled{color:var(--slate-dim);cursor:not-allowed}.employee-typeahead-flag{color:#d63b40;flex-shrink:0;font-size:10.5px}.note-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.note-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:280px;padding:16px;box-shadow:0 12px 32px #14141c2e}.note-popup-title{margin-bottom:10px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.note-popup-textarea{resize:vertical;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;font-family:Inter,sans-serif;font-size:13px}.note-popup-textarea:read-only{color:var(--slate);background:var(--paper)}.note-popup-textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.note-popup-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.note-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.note-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.note-popup-button--ghost:hover{background:var(--paper)}.note-popup-button--primary{color:#fff;background:var(--ink)}.note-popup-button--primary:hover{background:var(--ink-soft)}.warnings-panel{border-radius:var(--radius-sm);background:#f5a62314;border:1px solid #f5a6234d;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.warnings-list{color:#7a4a10;flex-direction:column;gap:3px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.week-pager{align-items:center;gap:12px;display:flex}.week-nav-arrow{width:28px;height:28px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;font-size:16px;display:flex}.week-nav-arrow:hover{background:var(--paper)}.week-range{text-align:center;min-width:200px;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600}.admin-corrections-hint{margin-bottom:16px}.admin-corrections-controls{align-items:center;gap:16px;margin-bottom:16px;display:flex}.admin-corrections-field{width:240px}.admin-corrections-save-row{align-items:center;gap:14px;margin-top:14px;display:flex}.admin-corrections-save-button{margin-top:0}.employee-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.employee-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:340px;padding:16px;box-shadow:0 12px 32px #14141c2e}.employee-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.employee-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.employee-edit-popup-field input{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.employee-edit-popup-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.employee-edit-popup-field input.employee-edit-popup-input--error{border-color:#d63b40}.employee-edit-popup-error{text-transform:none;letter-spacing:normal;color:#d63b40;margin-top:2px;font-size:11px;font-weight:400}.employee-edit-popup-code-preview{color:var(--slate);background:var(--paper);border-radius:var(--radius-sm);margin-bottom:14px;padding:7px 9px;font-size:12.5px}.employee-edit-popup-code-preview strong{color:var(--ink);font-family:Space Grotesk,sans-serif}.employee-edit-popup-code-note{color:var(--slate-light);font-size:11px}.employee-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.employee-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.employee-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.employee-edit-popup-button--ghost:hover{background:var(--paper)}.employee-edit-popup-button--primary{color:#fff;background:var(--ink)}.employee-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.employee-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.location-typeahead{position:relative}.location-typeahead-input{width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px}.location-typeahead-input:focus{outline:2px solid var(--blue);outline-offset:1px}.location-typeahead-list{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:10;max-height:180px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #14141c24}.location-typeahead-empty{color:var(--slate);padding:8px;font-size:12.5px}.location-typeahead-option{text-align:left;width:100%;color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:7px 8px;font-family:Inter,sans-serif;font-size:13px}.location-typeahead-option:hover{background:var(--paper)}.location-typeahead-option--create{color:var(--blue);font-weight:600}.employee-edit-popup-field select,.employee-edit-popup-field input[type=date]{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.employee-edit-popup-field select:focus,.employee-edit-popup-field input[type=date]:focus{outline:2px solid var(--blue);outline-offset:1px}.employee-profile-popup-hint{color:var(--slate);margin:0 0 14px;font-size:11.5px}.employee-profile-popup-error{color:#a02328;margin:0 0 14px;font-size:12px;font-weight:600}.admin-employees-hint{margin-bottom:16px}th.col-email,td.col-email{text-align:left;width:220px}.col-code{width:90px}.col-band{width:100px}.col-location{width:120px}.col-employee-status{width:130px}.employee-name{font-family:Space Grotesk,sans-serif;font-weight:600}.employee-actions{justify-content:flex-end;gap:6px;display:flex}.employee-action-button{text-align:center;min-width:84px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.employee-action-button:hover{background:var(--paper)}.employees-add-button{margin-top:14px}.employee-revised-meta,.employee-revised-by{color:var(--slate);font-size:12px}.confirm-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-popup-card{background:var(--card);border-radius:var(--radius);border:1px solid #f5a62366;width:340px;padding:16px;box-shadow:0 12px 32px #14141c2e}.confirm-popup-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.confirm-popup-title{font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.confirm-popup-message{color:var(--slate);margin:0;font-size:12.5px;line-height:1.5}.confirm-popup-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.confirm-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.confirm-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.confirm-popup-button--ghost:hover{background:var(--paper)}.confirm-popup-button--warning{color:#fff;background:#b57314}.confirm-popup-button--warning:hover{background:#9a6110}.holiday-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.holiday-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:320px;padding:16px;box-shadow:0 12px 32px #14141c2e}.holiday-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.holiday-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex;position:relative}.holiday-edit-popup-field input{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.holiday-edit-popup-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.holiday-edit-popup-field input.holiday-edit-popup-input--error{border-color:#d63b40}.holiday-edit-popup-error{text-transform:none;letter-spacing:normal;color:#d63b40;font-size:11px;font-weight:400}.holiday-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.holiday-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.holiday-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.holiday-edit-popup-button--ghost:hover{background:var(--paper)}.holiday-edit-popup-button--primary{color:#fff;background:var(--ink)}.holiday-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.holiday-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.admin-holidays-hint{margin-bottom:16px}th.col-location,td.col-location{text-align:left;width:160px}.col-holiday-date{width:120px}.col-holiday-status{width:100px}.holiday-name{font-family:Space Grotesk,sans-serif;font-weight:600}.holiday-action-button{text-align:center;min-width:84px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.holiday-action-button:hover{background:var(--paper)}.holidays-add-button{margin-top:14px}.job-title-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.job-title-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:320px;padding:16px;box-shadow:0 12px 32px #14141c2e}.job-title-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.job-title-edit-popup-static{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.job-title-edit-popup-static strong{text-transform:none;letter-spacing:normal;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:13.5px;font-weight:600}.job-title-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.job-title-edit-popup-field input,.job-title-edit-popup-field select,.job-title-edit-popup-field textarea{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.job-title-edit-popup-field input:focus,.job-title-edit-popup-field select:focus,.job-title-edit-popup-field textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.job-title-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.job-title-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.job-title-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.job-title-edit-popup-button--ghost:hover{background:var(--paper)}.job-title-edit-popup-button--primary{color:#fff;background:var(--ink)}.job-title-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.job-title-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.admin-job-titles-hint{margin-bottom:16px}td.col-band{color:var(--slate);font-size:13px}.job-title-name{font-family:Space Grotesk,sans-serif;font-weight:600}.job-title-actions{justify-content:flex-end;gap:6px;display:flex}.job-title-action-button{text-align:center;min-width:84px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.job-title-action-button:hover{background:var(--paper)}.job-titles-add-button{margin-top:14px}.project-category-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-category-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:320px;padding:16px;box-shadow:0 12px 32px #14141c2e}.project-category-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.project-category-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.project-category-edit-popup-field input,.project-category-edit-popup-field select,.project-category-edit-popup-field textarea{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.project-category-edit-popup-field input:focus,.project-category-edit-popup-field select:focus,.project-category-edit-popup-field textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.project-category-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.project-category-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.project-category-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.project-category-edit-popup-button--ghost:hover{background:var(--paper)}.project-category-edit-popup-button--primary{color:#fff;background:var(--ink)}.project-category-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.project-category-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.admin-project-categories-hint{margin-bottom:16px}.col-category-status{width:100px}.project-category-name{font-family:Space Grotesk,sans-serif;font-weight:600}.project-category-actions{justify-content:flex-end;gap:6px;display:flex}.project-category-action-button{text-align:center;min-width:84px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.project-category-action-button:hover{background:var(--paper)}.project-categories-add-button{margin-top:14px}.project-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-height:calc(100vh - 64px);padding:16px;overflow-y:auto;box-shadow:0 12px 32px #14141c2e}.project-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.project-edit-popup-row{gap:10px;display:flex}.project-edit-popup-row .project-edit-popup-field{flex:1;min-width:0}.project-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex;position:relative}.project-edit-popup-code-preview{color:var(--slate);background:var(--paper);border-radius:var(--radius-sm);margin-bottom:14px;padding:7px 9px;font-size:12.5px}.project-edit-popup-code-preview strong{color:var(--ink);font-family:Space Grotesk,sans-serif}.project-edit-popup-code-note{color:var(--slate-light);font-size:11px}.project-edit-popup-field input,.project-edit-popup-field select,.project-edit-popup-field textarea{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.project-edit-popup-field input:focus,.project-edit-popup-field select:focus,.project-edit-popup-field textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.project-edit-popup-warning{text-transform:none;letter-spacing:normal;color:#b57314;font-size:11px;font-weight:400}.project-edit-popup-hint{color:var(--slate);margin:0;font-size:11.5px}.project-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.project-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.project-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.project-edit-popup-button--ghost:hover{background:var(--paper)}.project-edit-popup-button--primary{color:#fff;background:var(--ink)}.project-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.project-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.admin-projects-hint{margin-bottom:16px}.col-code{width:90px;font-weight:600}th.col-client,td.col-client,th.col-dm,td.col-dm{text-align:left;width:150px}.col-category{width:120px}.col-visibility,.col-project-status{width:90px}.project-name{font-family:Space Grotesk,sans-serif;font-weight:600}.project-row--archived td{color:var(--slate-light)}.project-actions{justify-content:flex-end;gap:6px;display:flex}.project-action-button{text-align:center;min-width:84px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.project-action-button:hover{background:var(--paper)}.projects-add-button{margin-top:14px}.login-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100svh;display:flex}.login-icon{width:56px;height:56px;margin-bottom:4px}.login-button{color:#fff;background:var(--ink);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:12px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:background .15s}.login-button:hover{background:var(--ink-soft)}.login-dev-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;width:260px;margin-top:24px;padding:16px;display:flex}.login-dev-hint{color:var(--slate);margin:0 0 4px;font-size:11px}.login-dev-input{color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px}.login-dev-input:focus{outline:2px solid var(--blue);outline-offset:1px}.login-dev-checkbox{color:var(--slate);align-items:center;gap:6px;font-size:12.5px;display:flex}.login-dev-error{color:#d63b40;margin:0;font-size:12px}.login-dev-submit{color:#fff;background:var(--ink);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.login-dev-submit:hover:not(:disabled){background:var(--ink-soft)}.login-dev-submit:disabled{opacity:.4;cursor:not-allowed}.allocation-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.allocation-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:320px;padding:16px;box-shadow:0 12px 32px #14141c2e}.allocation-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.allocation-edit-popup-static{color:var(--ink);margin-bottom:12px;font-size:13.5px;font-weight:500}.allocation-edit-popup-row{gap:10px;display:flex}.allocation-edit-popup-row .allocation-edit-popup-field{flex:1;min-width:0}.allocation-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.allocation-edit-popup-field select,.allocation-edit-popup-field input{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.allocation-edit-popup-field select:focus,.allocation-edit-popup-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.allocation-edit-popup-hint{color:var(--slate);margin:0;font-size:11.5px}.allocation-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.allocation-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.allocation-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.allocation-edit-popup-button--ghost:hover{background:var(--paper)}.allocation-edit-popup-button--primary{color:#fff;background:var(--ink)}.allocation-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.allocation-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.history-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.history-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);padding:16px;display:flex;box-shadow:0 12px 32px #14141c2e}.history-popup-title{margin-bottom:10px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.history-popup-body{overflow-y:auto}.history-popup-body table{border-collapse:collapse;width:100%;font-size:12.5px}.history-popup-body th,.history-popup-body td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.history-popup-body th{color:var(--slate);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.history-popup-actions{justify-content:flex-end;margin-top:14px;display:flex}.history-popup-button{color:var(--slate);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.history-popup-button:hover{background:var(--paper)}.warnings-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.warnings-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-width:calc(100vw - 32px);padding:16px;box-shadow:0 12px 32px #14141c2e}.warnings-popup-card--error{border-color:#ff5a5f66}.warnings-popup-card--error .warnings-popup-list li{color:#a02328}.warnings-popup-title{margin-bottom:10px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.warnings-popup-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.warnings-popup-list li{color:#7a4a10;padding-left:20px;font-size:12.5px;line-height:1.4;position:relative}.warnings-popup-list li span{overflow-wrap:break-word}.warnings-popup-list svg{position:absolute;top:2px;left:0}.warnings-popup-actions{justify-content:flex-end;margin-top:14px;display:flex}.warnings-popup-button{color:var(--slate);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.warnings-popup-button:hover{background:var(--paper)}.allocation-hint{margin-bottom:14px}.col-percent{width:90px;font-weight:600}.col-dates{width:110px}td.col-dates{color:var(--slate);font-size:12.5px}td.allocation-revised-by{text-align:right;color:var(--slate);font-size:11.5px}.allocation-grid .col-actions{width:170px}.allocation-actions{justify-content:flex-end;gap:6px;display:flex}.allocation-add-button{margin-top:14px}.reject-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reject-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:320px;padding:16px;box-shadow:0 12px 32px #14141c2e}.reject-popup-title{margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.reject-popup-hint{color:var(--slate);margin:0 0 10px;font-size:12px}.reject-popup-textarea{resize:vertical;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;font-family:Inter,sans-serif;font-size:13px}.reject-popup-textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.reject-popup-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.reject-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.reject-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.reject-popup-button--ghost:hover{background:var(--paper)}.reject-popup-button--danger{color:#fff;background:#d63b40}.reject-popup-button--danger:hover:not(:disabled){background:#b82f34}.reject-popup-button--danger:disabled{opacity:.4;cursor:not-allowed}.budget-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.budget-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:300px;padding:16px;box-shadow:0 12px 32px #14141c2e}.budget-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.budget-edit-popup-static-title{color:var(--ink);margin-bottom:12px;font-size:13.5px;font-weight:500}.budget-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.budget-edit-popup-field select,.budget-edit-popup-field input{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.budget-edit-popup-field select:focus,.budget-edit-popup-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.budget-edit-popup-hint{color:var(--slate);margin:0;font-size:11.5px}.budget-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.budget-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.budget-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.budget-edit-popup-button--ghost:hover{background:var(--paper)}.budget-edit-popup-button--primary{color:#fff;background:var(--ink)}.budget-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.budget-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.budget-readonly-hint{margin-bottom:14px}.timesheet-grid th.col-revised,.timesheet-grid td.col-revised{text-align:left;width:180px}.timesheet-grid td.col-revised{color:var(--slate);font-size:12.5px}.budget-revise-button{color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.budget-revise-button:hover:not(:disabled){background:var(--paper)}.budget-revise-button:disabled{color:var(--slate-dim);opacity:.5;cursor:not-allowed}.budget-plan-tab-buttons{align-items:center;gap:10px;margin-top:14px;display:flex}.budget-add-button{margin-top:0}.task-edit-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.task-edit-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:320px;padding:16px;box-shadow:0 12px 32px #14141c2e}.task-edit-popup-title{margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.task-edit-popup-field{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);flex-direction:column;gap:4px;margin-bottom:12px;font-size:11.5px;font-weight:600;display:flex}.task-edit-popup-field input,.task-edit-popup-field textarea{text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;padding:7px 9px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:400}.task-edit-popup-field input:focus,.task-edit-popup-field textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.task-edit-popup-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.task-edit-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.task-edit-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.task-edit-popup-button--ghost:hover{background:var(--paper)}.task-edit-popup-button--primary{color:#fff;background:var(--ink)}.task-edit-popup-button--primary:hover:not(:disabled){background:var(--ink-soft)}.task-edit-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}th.col-description,td.col-description{text-align:left;width:320px}td.col-description{color:var(--slate);font-size:13px}.task-name{font-family:Space Grotesk,sans-serif;font-weight:600}.col-task-status{width:110px}.col-actions{width:190px}.task-row--archived td{color:var(--slate-light)}.task-row--archived .col-description{color:var(--slate-dim)}.task-actions{justify-content:flex-end;gap:6px;display:flex}.task-action-button{text-align:center;min-width:84px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.task-action-button:hover{background:var(--paper)}.tasks-add-button{margin-top:14px}.project-switcher{align-items:center;gap:12px;display:flex}.project-switcher-select{color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-family:Inter,sans-serif;font-size:14px;font-weight:500}.role-badges{gap:6px;display:flex}.role-badge{letter-spacing:.03em;text-transform:uppercase;color:#1c4fc4;background:#2e6ff21a;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.workspace-heading-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.workspace-tabs{border-bottom:1px solid var(--border);gap:6px;margin-bottom:20px;display:flex}.workspace-tab{color:var(--slate);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:16px;padding:10px 4px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:500}.workspace-tab--active{color:var(--ink);border-bottom-color:var(--ink)}.reports-header-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.reports-tab-pills{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:4px;padding:4px;display:flex}.reports-tab-pill{color:var(--slate);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-family:Space Grotesk,sans-serif;font-size:13.5px;font-weight:500;transition:all .15s ease-in-out}.reports-tab-pill:hover{color:var(--ink);background:var(--border-light,#0000000a)}.reports-tab-pill--active{color:var(--blue);background:var(--bg);font-weight:600;box-shadow:0 1px 3px #0000000d}.reports-header-actions{align-items:center;gap:12px;display:flex}.reports-date-picker-quick{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:flex}.calendar-icon{opacity:.7;font-size:14px}.reports-date-inline{color:var(--ink);background:0 0;border:none;width:112px;padding:2px 4px;font-family:Inter,sans-serif;font-size:12.5px}.reports-date-inline:focus{outline:none}.date-sep{color:var(--slate)}.date-step-buttons{border-left:1px solid var(--border);align-items:center;gap:2px;margin-left:4px;padding-left:6px;display:flex}.date-step-buttons button{color:var(--slate);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 4px;font-size:14px}.date-step-buttons button:hover{color:var(--ink);background:var(--border-light,#0000000f)}.reports-export-dropdown-button{letter-spacing:.04em;color:var(--blue);background:var(--card);border:1px solid var(--blue);border-radius:var(--radius-sm);cursor:pointer;padding:7px 14px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600;transition:all .15s ease-in-out}.reports-export-dropdown-button:hover{background:var(--blue);color:#fff}.reports-export-dropdown-button:disabled{opacity:.5;cursor:not-allowed}.reports-filter-toolbar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:10px 14px;display:flex}.reports-filter-toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reports-dropdown-wrap{position:relative}.reports-toolbar-button{color:var(--slate);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .15s ease-in-out;display:inline-flex}.reports-toolbar-button:hover,.reports-toolbar-button--active{color:var(--ink);border-color:var(--slate);background:var(--card)}.reports-toolbar-button--has-value{color:var(--blue);border-color:var(--blue);background:var(--blue-bg,#3b82f60f);font-weight:600}.filter-badge{background:var(--blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-left:2px;font-size:11px;font-weight:700;display:inline-flex}.reports-dropdown-menu{z-index:100;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;max-height:280px;padding:6px 0;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 10px 25px #0000001f}.reports-dropdown-menu-right{left:auto;right:0}.dropdown-menu-header{text-transform:uppercase;letter-spacing:.05em;color:var(--slate);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 12px;font-size:11px;font-weight:700}.dropdown-group-client-header{letter-spacing:.06em;color:var(--slate);text-transform:uppercase;padding:10px 14px 4px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:700}.dropdown-project-row{padding-left:24px}.dropdown-menu-divider{background:var(--border);height:1px;margin:4px 0}.reports-project-grouped-menu{min-width:260px}.dropdown-menu-item{color:var(--ink);cursor:pointer;padding:8px 14px;font-size:13px;transition:background .12s}.dropdown-menu-item:hover{background:var(--border-light,#0000000a)}.dropdown-menu-item--selected{color:var(--blue);background:var(--blue-bg,#3b82f614);font-weight:600}.dropdown-checkbox-row{color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:7px 14px;font-size:13px;transition:background .12s;display:flex}.dropdown-checkbox-row:hover{background:var(--border-light,#0000000a)}.dropdown-checkbox-row input{cursor:pointer}.reports-filter-toolbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.reports-clear-filters-link{color:var(--slate);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-family:Inter,sans-serif;font-size:12.5px;text-decoration:underline}.reports-clear-filters-link:hover{color:#ef4444}.reports-apply-filter-button{letter-spacing:.04em;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:var(--radius-sm);cursor:pointer;padding:7px 16px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600;transition:opacity .15s ease-in-out}.reports-apply-filter-button:hover{opacity:.9}.percent-bar-cell{align-items:center;gap:10px;display:flex}.percent-bar-wrap{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.percent-bar-fill{background:var(--blue);border-radius:4px;height:100%;transition:width .3s}.percent-bar-fill--warning{background:#f59e0b}.percent-bar-fill--danger{background:#ef4444}.percent-bar-text{text-align:right;width:48px;font-size:12.5px;font-weight:600}.reports-pagination{background:var(--card);border:1px solid var(--border);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);color:var(--slate);border-top:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.reports-pagination-controls{align-items:center;gap:12px;display:flex}.reports-pagination-button{border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);padding:5px 12px;font-size:12.5px}.reports-pagination-button:disabled{opacity:.4;cursor:not-allowed}th.col-job-title,td.col-job-title{text-align:left;width:140px}th.col-band,td.col-band{text-align:left;width:90px}th.col-dates,td.col-dates{text-align:left;width:110px}.col-hours{width:90px;font-weight:600}.col-job-title-status{width:100px}.unlock-popup-overlay{z-index:100;background:#14141c59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.unlock-popup-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:360px;padding:20px;box-shadow:0 12px 32px #14141c2e}.unlock-popup-title{margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.unlock-popup-hint{color:var(--slate);margin:0 0 14px;font-size:12px}.unlock-popup-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.unlock-popup-label{color:var(--ink);font-size:12px;font-weight:600}.unlock-popup-required{color:#d63b40}.unlock-popup-select{color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:7px 8px;font-family:Inter,sans-serif;font-size:13px}.unlock-popup-select:focus{outline:2px solid var(--blue);outline-offset:1px}.unlock-popup-textarea{resize:vertical;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;padding:8px;font-family:Inter,sans-serif;font-size:13px}.unlock-popup-textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.unlock-popup-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.unlock-popup-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600}.unlock-popup-button--ghost{color:var(--slate);background:var(--card);border-color:var(--border)}.unlock-popup-button--ghost:hover{background:var(--paper)}.unlock-popup-button--primary{color:#fff;background:var(--blue)}.unlock-popup-button--primary:hover:not(:disabled){opacity:.88}.unlock-popup-button--primary:disabled{opacity:.4;cursor:not-allowed}.week-navigator{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.week-editable-hint{letter-spacing:.03em;text-transform:uppercase;color:var(--slate);font-size:12px;font-weight:600}.week-unlock-button{color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:6px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.week-unlock-button:hover{background:var(--paper)}.timesheet-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.timesheet-footer .page-placeholder{max-width:480px}.timesheet-submit{flex-shrink:0;align-items:center;gap:14px;display:flex}.submit-notice{color:#1c4fc4;font-size:12.5px;font-weight:600}.week-total-label{color:var(--ink);font-size:14px;font-weight:600}.submit-button{color:#fff;background:var(--ink);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 18px;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.submit-button:hover:not(:disabled){background:var(--ink-soft)}.submit-button:disabled{opacity:.4;cursor:not-allowed}.submit-button--ghost{color:var(--ink);background:var(--card);border:1px solid var(--border)}.submit-button--ghost:hover:not(:disabled){background:var(--paper)}
