:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9fc;--surface:#edf1f8;--sidebar:#fff;--border:#dfe4ed;--line:var(--border);--text-primary:#2c3542;--text-secondary:#4f5a6d;--ink:var(--text-primary);--muted:#92a1b7;--muted-strong:var(--text-secondary);--primary:#ff711f;--primary-hover:#e8550c;--primary-soft:#ffeedb;--accent:#ff711f;--accent-soft:#ffeedb;--positive:#28bd6b;--positive-soft:#dbfae8;--danger:#f24e3f;--danger-soft:#ffe8e4;--warn:#fdad15;--warn-soft:#fcf1ca;--info:#007aff;--info-soft:#e8f1fc;--radius:12px;--radius-sm:8px;--radius-pill:9999px;--shadow:0 1px 2px #10161f0a;--shadow-lg:0 4px 5px -2px #10161f0a, 0 8px 16px -2px #10161f14;--sidebar-w:240px;--control-h:32px;--control-pad-y:6px;--control-pad-x:12px;--panel-pad:24px;--font-ui:"Inter", "Segoe UI", system-ui, sans-serif;--font-display:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;font-family:var(--font-ui)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10161f;--surface:#1c2430;--sidebar:#161d27;--border:#2c3542;--text-primary:#f7f9fc;--text-secondary:#c5ced9;--muted:#92a1b7;--primary:#ff711f;--primary-hover:#ff8a4a;--primary-soft:#ff711f2e;--accent:#ff711f;--accent-soft:#ff711f2e;--positive:#2ac670;--positive-soft:#2ac67029;--danger:#f24e3f;--danger-soft:#f24e3f29;--warn:#fdad15;--warn-soft:#fdad1529;--info:#4da3ff;--info-soft:#007aff29;--shadow:0 1px 2px #00000059;--shadow-lg:0 8px 16px #0006}}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:var(--bg);margin:0;font-family:inherit}h1,h2,h3,.app-page-title,.brand,.timesheet-head h2{font-family:var(--font-display)}.duration,.time-cell-btn,.week-total,.timesheet-grid .summary-row td,.tabular-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}button,input,select,textarea{font-family:inherit}.auth-screen{background:radial-gradient(ellipse 80% 50% at 10% 0%, #ff711f1f, transparent), radial-gradient(ellipse 60% 40% at 90% 100%, #ff711f0f, transparent), var(--bg);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.auth-card{border-radius:var(--radius);width:min(440px,100%);box-shadow:var(--shadow-lg);border:1px solid var(--line);background:#fff;padding:32px 28px 28px}.auth-card .auth-brand{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;margin:0 0 28px;display:flex}.auth-card .auth-brand .brand-mark{border-radius:18px;display:block}.auth-card .auth-brand .brand{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--primary);margin:0;font-size:26px;font-weight:700}.auth-card .auth-lead{color:var(--muted-strong);text-align:center;margin:0 0 18px;font-size:14px;line-height:1.45}.auth-loading{background:radial-gradient(ellipse 80% 50% at 10% 0%, #ff711f1a, transparent), radial-gradient(ellipse 60% 40% at 90% 100%, #ff711f0d, transparent), var(--bg);min-height:100vh;color:var(--muted-strong);place-items:center;padding:32px 16px;display:grid;position:relative}.auth-loading-mark{filter:drop-shadow(0 8px 24px #ff711f29);border-radius:28px;display:block}.auth-loading-copy{letter-spacing:.01em;width:max-content;max-width:calc(100% - 32px);color:var(--muted-strong);text-align:center;margin:0;font-size:15px;font-weight:600;position:absolute;top:calc(50% + 72px);left:50%;transform:translate(-50%)}@keyframes brand-clock-spin{to{transform:rotate(360deg)}}@keyframes brand-dot-tick{0%,to{opacity:.28;transform:scale(.85)}40%{opacity:1;transform:scale(1.08)}}.brand-mark--loading .brand-mark-clock{transform-box:view-box;transform-origin:50%;animation:3.6s linear infinite brand-clock-spin}.brand-mark--loading .brand-mark-dot{transform-box:fill-box;transform-origin:50%;animation:.96s ease-in-out infinite brand-dot-tick}@media (prefers-reduced-motion:reduce){.brand-mark--loading .brand-mark-clock,.brand-mark--loading .brand-mark-dot{animation:none}.brand-mark--loading .brand-mark-dot{opacity:.85}}.auth-form{gap:16px;display:grid}.auth-form-head h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:700}.auth-form-head .muted{margin:0;line-height:1.45}.auth-fields{gap:12px;display:grid}.auth-fields label{color:var(--muted-strong);gap:6px;font-size:12px;font-weight:600;display:grid}.auth-fields .field-hint{color:var(--muted);margin:0;font-size:11px;font-weight:500}.auth-fields input{width:100%;min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--control-pad-y) 12px;font:inherit;color:var(--ink);box-sizing:border-box;background:#fff;font-size:14px;font-weight:500}.auth-fields input::placeholder{color:var(--muted);font-weight:400}.auth-fields input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.auth-form-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);border:1px solid #ffd3cd;margin:0;padding:10px 12px;font-size:13px}.auth-submit{width:100%;margin-top:4px}.totp-setup{justify-items:start;gap:12px;margin-top:12px;display:grid}.totp-qr{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;padding:8px}.backup-codes{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:12px}.backup-code-list{font-family:var(--font-mono);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:10px 0 12px;padding:0;font-size:13px;list-style:none;display:grid}.backup-code-list code{font:inherit}.text-btn{color:var(--primary);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline;display:inline}.text-btn:hover{color:var(--primary-hover)}.text-btn:disabled{opacity:.5;cursor:default}.auth-card .settings-card.pin-gate{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.auth-card .pin-gate>h3{font-family:var(--font-display);text-align:center;margin:0 0 6px;font-size:20px}.auth-card .auth-lead+.pin-gate>.muted.small{display:none}.auth-card .pin-gate-fields input,.auth-card .pin-gate-fields select{max-width:none}.auth-card .pin-gate .form-actions{justify-content:stretch}.auth-card .pin-gate .form-actions .primary{flex:1}.app-layout{grid-template-columns:var(--sidebar-w) 1fr;background:var(--bg);min-height:100vh;display:grid}.app-sidebar{background:var(--sidebar);border-right:1px solid var(--line);z-index:20;flex-direction:column;align-self:start;gap:8px;height:100vh;padding:20px 12px 16px;display:flex;position:sticky;top:0}.app-sidebar-brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin:0 2px 8px;padding:6px 10px 18px;display:flex}.sidebar-collapse{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sidebar);width:32px;height:32px;color:var(--muted-strong);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.sidebar-collapse:hover{border-color:var(--primary);color:var(--primary)}.brand-lockup{align-items:center;gap:10px;display:flex}.brand-lockup .brand-mark{border-radius:10px;flex-shrink:0;display:block}.app-sidebar-brand .brand{font-family:var(--font-display);letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:0;font-size:14px;font-weight:600}.app-nav{flex-direction:column;flex:1;gap:4px;padding:4px 0;display:flex;overflow-y:auto}.app-sidebar-footer{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding:12px 12px 0;font-size:10px;overflow:hidden}.app-nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 12px 6px;font-size:10px;font-weight:700}.app-nav a{border-radius:var(--radius-sm);width:100%;min-height:36px;font:inherit;color:var(--muted-strong);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:6px 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-nav a:hover{color:var(--ink);background:var(--surface)}.app-nav a.active{background:var(--surface);color:var(--ink);box-shadow:none;border:none}.app-nav-icon{width:20px;height:20px;color:var(--muted);background:0 0;border:none;border-radius:0;flex-shrink:0;place-items:center;font-size:14px;font-weight:600;display:grid}.app-nav a.active .app-nav-icon{color:var(--ink);box-shadow:none;background:0 0;border-color:#0000}.app-main{flex-direction:column;min-width:0;padding:16px 24px 48px;display:flex}.app-main-head{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px 16px;margin-bottom:22px;display:grid}.app-main-head:not(:has(.app-main-meta)){grid-template-columns:minmax(0,1fr) auto}.app-main-head-chrome-start{align-items:center;gap:10px;min-width:0;display:none}.app-main-brand{flex-shrink:0;align-items:center;gap:8px;display:none}.app-main-brand-name{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-size:13px;font-weight:700}.app-main-titles{flex:auto;min-width:0}.app-page-title{letter-spacing:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;font-weight:600;line-height:28px;overflow:hidden}.app-main-meta{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.app-main-head-actions{flex-shrink:0;align-items:center;display:flex}.app-user-chip{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow);border:1px solid #e2e8f0e6;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 12px;display:flex}.app-user-chip .logged-label{font-size:10px}.app-user-chip strong{color:var(--ink);font-size:13px}.account-menu{z-index:40;position:relative}.account-menu-trigger{height:var(--control-h);border-radius:var(--radius-sm);border:1px solid var(--line);box-shadow:none;cursor:pointer;text-align:left;font:inherit;color:inherit;box-sizing:border-box;background:#fff;align-items:center;gap:10px;padding:0 12px;display:flex}.app-main-head .period-inline select,.app-main-head .period-inline input,.app-main-head .time-project-filter select,.app-main-head .logged-inline{height:var(--control-h);min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none;box-sizing:border-box;background:#fff}.app-main-head .period-inline select,.app-main-head .period-inline input,.app-main-head .time-project-filter select{line-height:calc(var(--control-h) - 2px);padding:0 12px}.app-main-head .account-menu-text{flex-direction:row;align-items:center;gap:6px}.app-main-head .logged-inline{align-items:center;padding:0 12px}.account-menu-trigger:hover,.account-menu.open .account-menu-trigger{border-color:var(--primary)}.account-menu-text{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.account-menu-text strong{color:var(--ink);font-size:13px;line-height:1.2}.account-menu-text .logged-label{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:10px;overflow:hidden}.account-menu-caret{color:var(--muted);font-size:11px;line-height:1}.account-menu-dropdown{background:var(--sidebar);border:1px solid var(--line);border-radius:var(--radius);min-width:240px;max-width:min(320px,92vw);box-shadow:var(--shadow-lg);gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.account-menu-section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px;font-size:10px;font-weight:600}.account-menu-item{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.account-menu-item:hover{background:var(--primary-soft)}.account-menu-item.active{background:var(--primary-soft);font-weight:600}.account-menu-item.danger{color:#c53030}.account-menu-divider{background:#e2e8f0f2;height:1px;margin:6px 4px}.app-content{gap:18px;min-width:0;display:grid}.mobile-nav-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--ink);cursor:pointer;box-sizing:border-box;background:#fff;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.mobile-nav-toggle:hover{border-color:var(--primary);color:var(--primary)}.hamburger-icon{display:block}.shell{width:min(1120px,100% - 32px);margin:0 auto;padding:24px 0 64px}.topbar{gap:10px;margin-bottom:20px;display:grid}.brand{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.topbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{border-radius:var(--radius-sm);min-height:var(--control-h);padding:var(--control-pad-y) var(--control-pad-x);font:inherit;color:var(--muted-strong);cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;font-weight:600}.tabs button.active{border-color:var(--line);color:var(--primary);box-shadow:var(--shadow);background:#fff}.topbar-meta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.period-inline{color:var(--muted-strong);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.period-inline input,.period-inline select{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:var(--control-h);padding:var(--control-pad-y) 12px;font:inherit;color:var(--ink);box-sizing:border-box;background:#fff}.period-inline input[type=date],.period-inline input[type=month],.period-inline select{min-width:9.5rem}.period-sep{color:var(--muted);font-weight:500}.period-all-hint{font-size:12px;font-weight:500}.period-all-btn{min-height:var(--control-h);padding:4px 10px;font-size:12px}.time-project-filter select{max-width:200px}.logged-inline{white-space:nowrap;align-items:baseline;gap:6px;font-size:13px;display:inline-flex}.logged-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:600}.logged-inline strong{font-variant-numeric:tabular-nums;font-size:14px}.panel input,.panel select,.panel textarea,.data-table select,.cell-input,.settings-card input,.settings-card select,.settings-card textarea,.timesheet input,.timesheet select{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:var(--control-h);padding:var(--control-pad-y) 12px;font:inherit;color:var(--ink);box-sizing:border-box;background:#fff}.panel,.settings-card,.timesheet,.day-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}.panel{padding:var(--panel-pad)}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel-head h2,.day-card-header h2,.settings-card h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:16px;font-weight:700}.panel-subtitle,.panel-head .muted{color:var(--muted-strong);margin:4px 0 0;font-size:12px}.panel-head-actions,.form-actions,.import-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel>.settings-card,.panel .settings-card{background:var(--surface);box-shadow:none;border-color:var(--line)}.time-page{gap:14px;display:grid}.day-card{padding:16px 18px 10px}.day-card-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.day-total{font-variant-numeric:tabular-nums;font-weight:700;font-family:var(--font-mono)}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px 10px 0;font-size:10px;font-weight:700}.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 12px 14px 0}.data-table tr:last-child td{border-bottom:none}.invoice-builder .data-table tr.invoice-footer-start td{border-top:1px solid var(--line);padding-top:12px}.invoice-builder .data-table tr.invoice-summary-row td{border-bottom:none;padding-top:6px;padding-bottom:6px}.invoice-builder .data-table tr.invoice-total-row td{border-bottom:none;font-weight:700}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover{background:var(--surface)}.data-table .num{text-align:right;white-space:nowrap}.projects-table th:first-child,.projects-table td:first-child{padding-left:16px}.projects-table th:last-child,.projects-table td:last-child{padding-right:16px}.projects-table th.num,.projects-table td.num{min-width:5.5rem}.table-scroll{overflow-x:auto}.mono{font-variant-numeric:tabular-nums}.cell-input{background:0 0;border:1px solid #0000;width:100%;padding:4px 6px}.cell-input:hover,.cell-input:focus{border-color:var(--line);background:#fff}.task-link{color:var(--primary);margin-left:8px;font-size:11px;display:inline-block}.projects-table tr.clickable{cursor:pointer}.projects-table tr.clickable:hover{background:#f7fafc}.projects-table tr.archived-row{opacity:.72}.notice-banner{border-radius:var(--radius);background:var(--info-soft);border:1px solid #cde2f9;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 16px;display:flex}.notice-banner p{color:var(--text-secondary);margin:0;font-size:14px}.budget-cell{min-width:180px}.budget-meta{justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.progress{border-radius:var(--radius-pill);background:#edf2f7;height:6px;overflow:hidden}.progress-bar{background:var(--primary);border-radius:var(--radius-pill);height:100%}.progress-bar.hot{background:var(--warn)}.progress-bar.over{background:var(--danger)}.back-link,.linkish,.text-danger{cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.back-link,.linkish{color:var(--primary);font-weight:700}.text-danger{color:var(--danger);font-size:12px}.import-actions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.primary,.secondary-btn,.file-button{min-height:var(--control-h);border-radius:var(--radius-sm);padding:var(--control-pad-y) var(--control-pad-x);font:inherit;cursor:pointer;box-sizing:border-box;white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.primary{background:var(--primary);color:#fff;border-radius:var(--radius-pill);box-shadow:none;border:none}.primary:hover{background:var(--primary-hover)}.primary:disabled,.secondary-btn:disabled,.file-button:disabled{opacity:.45;cursor:default}.file-button{border:1px solid var(--line);color:var(--ink);background:#fff}.file-button:hover{border-color:var(--primary);color:var(--primary)}.secondary-btn{border:1px solid var(--line);color:var(--ink);background:#fff}.secondary-btn:hover{border-color:var(--primary);color:var(--primary)}.secondary-btn.text-danger,button.secondary-btn.text-danger{color:var(--danger);border-color:#fecaca}.secondary-btn.text-danger:hover{color:var(--danger);background:#fff5f5;border-color:#feb2b2}.status-line{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);margin-top:12px;padding:10px 12px;font-size:13px}.status-line.error-line{color:#9b2c2c;background:#fff5f5}.status-line.reminder-test-mode{color:#9a3412;background:#fff7ed}.muted{color:var(--muted-strong)}.small{font-size:12px}.error{color:var(--danger)}.panel-head-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.more-menu{position:relative}.more-menu-panel{z-index:30;border:1px solid var(--line);border-radius:var(--radius-sm);min-width:200px;box-shadow:var(--shadow);background:#fff;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.more-menu-panel .secondary-btn{justify-content:flex-start;width:100%;display:flex}.settings-profile-stack{gap:16px;display:grid}.settings-profile-stack .settings-card:last-child{margin-bottom:16px}.invoice-list-tabs{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.invoice-list-tab{border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.invoice-list-tab.active{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}.invoice-project-picker{gap:8px;margin:0;padding:0;list-style:none;display:grid}.invoice-project-picker-btn{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;gap:4px;width:100%;padding:12px 14px;display:grid}.invoice-project-picker-btn:hover{border-color:var(--accent)}.invoice-head-badge{vertical-align:middle;margin-left:10px}.invoice-manual-line{align-items:end;margin-top:8px}.invoice-manual-line-action{align-items:flex-end;padding-top:22px;display:flex}.invoice-line-description{width:100%;min-width:0;font:inherit;padding:5px 6px}.invoice-line-time{text-align:right;width:7.5rem;min-width:0;font:inherit;padding:5px 6px}.invoice-line-number{text-align:right;width:88px;min-width:0;font:inherit;padding:5px 6px}.invoice-line-logged,.invoice-line-estimate{white-space:nowrap;color:var(--ink-muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.estimate-threshold-badge{color:var(--primary-hover);background:var(--primary-soft);border-radius:var(--radius-pill);margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.estimate-threshold-badge.is-dismissed{color:var(--muted-strong);background:color-mix(in srgb, var(--line) 70%, #fff);font-weight:500}.threshold-dismissed-meta{flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;display:inline-flex}.threshold-dismissed-meta .muted{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.edit-popover.threshold-dismiss-modal{width:min(420px,100%)}.estimate-threshold-row.is-dismissed td{background:0 0}.project-estimate-summary{border:1px solid var(--line);background:color-mix(in srgb, var(--panel,#fff) 92%, var(--line));border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px 20px;margin:0 0 20px;padding:16px 18px;display:grid}.project-estimate-summary.is-flagged{background:#ffe8cc73;border-color:#e8a04a}.project-estimate-summary>div{flex-direction:column;gap:6px;min-width:0;display:flex}.project-estimate-summary strong{font-size:1.05rem}.data-table-totals td{border-top:1px solid var(--line);font-weight:600}.estimate-threshold-row td{background:#ffe8cc59}.invoice-builder td.estimate-used{white-space:normal}.estimate-pct.is-flagged{color:#7a3b00;font-weight:600}.estimate-pct.is-under-low{color:#0b5d32;font-weight:600}.estimate-edit-btn{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.task-list{flex-direction:column;gap:10px;display:flex}.task-list-split{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:14px 2px 0;font-size:12px;font-weight:700}.task-list-split:first-child{margin-top:0}.task-list-empty{margin:4px 0 0}.task-list-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,max-content);align-items:center;gap:12px 20px;padding:12px 16px;display:grid}.task-list-row.is-flagged{background:#fff7ed;border-color:#e8a04a}.task-list-row.is-dismissed{background:0 0}.task-list-totals{background:color-mix(in srgb, var(--surface,#f7f7f8) 80%, #fff)}.task-list-main{min-width:0}.task-list .task-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.task-list-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;display:flex}.task-list .task-project-btn{width:auto;margin:0;display:inline}.task-list .estimate-threshold-badge{margin-left:0}.task-list-stats{grid-template-columns:repeat(6,max-content);align-items:end;gap:4px 14px;display:grid}.task-stat{min-width:3.25rem;font:inherit;color:inherit;text-align:right;background:0 0;border:0;flex-direction:column;align-items:flex-end;gap:2px;padding:0;display:flex}button.task-stat{cursor:pointer}button.task-stat:hover .task-stat-value{color:var(--primary)}.task-stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.task-stat-value{white-space:nowrap;font-size:13px;font-weight:600}.task-cell-actions{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;display:flex}.task-logs-btn{padding:4px 10px;font-size:12px;line-height:1.3}@media (width<=860px){.task-list{gap:8px}.task-list-row{grid-template-columns:1fr;align-items:stretch;gap:8px;padding:10px 12px}.task-list-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;padding-top:8px}.task-stat{text-align:left;align-items:flex-start;min-width:0}}.edit-popover.task-logs-modal{flex-direction:column;gap:16px;width:min(960px,100vw - 32px);max-height:min(85vh,720px);padding:24px 28px;display:flex;overflow:hidden}.task-logs-modal-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.task-logs-period-toggle{margin-top:4px}.task-logs-table-wrap{flex:auto;min-height:0;overflow:auto}.task-logs-table th,.task-logs-table td{padding:16px 14px}.task-logs-table th:first-child,.task-logs-table td:first-child{padding-left:4px}.task-logs-table .task-log-duration{text-align:right;border:1px solid var(--line);border-radius:var(--radius-sm);width:5.5rem;font:inherit;padding:8px 10px}.task-log-actions{white-space:nowrap;justify-content:flex-end;gap:10px;display:flex}.task-logs-modal-foot{flex-direction:column;flex-shrink:0;gap:12px;padding-top:4px;display:flex}.task-logs-table tr.is-locked td{opacity:.72}.task-split-note{color:#7a3b00;background:#fff4e5;border-radius:4px;max-width:100%;margin-top:4px;padding:2px 6px;font-size:11px;line-height:1.4;display:inline-block}.task-log-project{white-space:nowrap;font-size:12px}.task-log-project.is-other{color:#7a3b00;font-weight:600}.task-logs-table tr.is-other-project td:first-child{box-shadow:inset 3px 0 #e8a04a}.threshold-summary{margin-bottom:16px}.threshold-summary-list{margin:4px 0 0;padding:0;list-style:none;display:grid}.threshold-summary-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0;display:grid}.threshold-summary-list li:last-child{border-bottom:none}.threshold-main{text-align:left;min-width:0;font:inherit;cursor:pointer;background:0 0;border:none;gap:2px;padding:0;display:grid}.threshold-summary-list .threshold-task{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:14px;font-weight:600;overflow:hidden}.threshold-main .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.threshold-figures{grid-template-columns:8.5rem 4.25rem;place-items:center end;gap:12px;display:grid}.threshold-summary-list .mono{white-space:nowrap;color:var(--text-secondary);font-size:13px}.threshold-percent{font-variant-numeric:tabular-nums;color:var(--primary-hover);font-size:13px;font-weight:600}.threshold-more{margin-top:8px}@media (width<=720px){.threshold-summary-list li{grid-template-columns:minmax(0,1fr);gap:6px}.threshold-figures{grid-template-columns:auto auto;justify-content:start}}.threshold-summary-panel{margin-bottom:16px}.client-view-page{max-width:880px;margin:0 auto;padding:24px 16px 48px}.client-view-gate{max-width:420px;margin-top:24px}.client-view-gate form{gap:12px;margin-top:16px;display:grid}.client-view-access-log{margin-top:12px}.client-view-access-log ul{margin:6px 0 0;padding:0;list-style:none}.settings-card{padding:var(--panel-pad);margin-bottom:16px}.settings-card:last-child{margin-bottom:0}.settings-card h3{margin:0 0 14px}.settings-section{border-top:1px solid var(--line);margin:0 0 18px;padding:14px 0 4px}.settings-section:first-of-type{border-top:none;padding-top:4px}.settings-section-title{color:var(--ink);margin:0 0 4px;font-size:13px;font-weight:600}.settings-section-hint{margin:0 0 12px;line-height:1.4}.reminder-merge-fields{border:1px solid var(--line);border-radius:8px;margin:0 0 16px;padding:12px 14px}.reminder-merge-fields ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.reminder-merge-fields li{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.reminder-merge-fields code{font-size:12px}.reminder-signature-editor{gap:16px;display:grid}.reminder-signature-pane{gap:6px;min-width:0;display:grid}.reminder-signature{width:100%;min-height:160px;font-family:var(--font-mono);font-size:12px;line-height:1.45}.reminder-signature-preview,.reminder-signature-empty{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:400px}.reminder-signature-preview{display:block}.reminder-signature-empty{color:var(--muted);text-align:center;place-items:center;margin:0;padding:16px;font-size:13px;display:grid}.reminder-template-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.reminder-template-head .settings-section-title{margin:0}.settings-section .form-grid{margin-bottom:0}.pin-gate-fields{gap:12px;margin:12px 0 4px;display:grid}.pin-gate-fields label{color:var(--muted-strong);gap:6px;font-size:12px;display:grid}.field-hint{color:var(--muted-strong);margin:4px 0 8px;font-size:12px;font-weight:400;line-height:1.4;display:block}.pin-gate-fields input,.pin-gate-fields select{width:100%;max-width:280px;min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--control-pad-y) 12px;font:inherit;color:var(--ink);box-sizing:border-box;background:#fff;font-size:14px;line-height:1.25}.pin-gate-fields input{letter-spacing:.12em}.pin-gate-fields select{letter-spacing:normal;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23677487' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:36px}.pin-gate-fields input:focus,.pin-gate-fields select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.pin-gate-fields select:disabled{opacity:.65;cursor:not-allowed}.edit-popover.pin-gate{width:min(400px,100%)}.edit-popover.pin-gate .pin-gate-fields input,.edit-popover.pin-gate .pin-gate-fields select{max-width:none}.shared-badge,.status-badge{border-radius:var(--radius-pill);letter-spacing:.02em;vertical-align:middle;background:var(--primary-soft);min-height:22px;color:var(--primary);justify-content:center;align-items:center;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-badge.online,.status-badge.success{background:var(--positive-soft);color:#229e4b}.status-badge.offline,.status-badge.muted{color:var(--text-secondary);background:#5b6b781f}.status-badge.live{background:var(--accent-soft);color:var(--accent);margin-left:0}.status-badge.over{background:var(--danger-soft);color:var(--danger);margin-left:0}.segmented{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);align-items:center;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:32px;font:inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-strong);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:6px 14px;font-size:12px;font-weight:700}.segmented button.active{background:var(--primary);color:#fff;box-shadow:var(--shadow)}.share-workspace-list{gap:8px;margin-top:10px;display:grid}.share-workspace-list .check{align-items:center;gap:8px;font-size:13px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px;margin-bottom:12px;display:grid}.form-grid>*{min-width:0}.form-grid .span-2{grid-column:1/-1}.invoice-reminder-setup{justify-items:start;gap:8px;padding:12px 0 4px;display:grid}.invoice-reminder-actions{gap:8px;width:100%;margin-top:4px;display:grid}.invoice-reminder-action-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;width:100%;padding:8px 0;display:flex}.invoice-reminder-setup .inline-check{width:auto;color:var(--ink);align-items:center;gap:8px;font-size:13px;display:inline-flex}.invoice-reminder-setup .inline-check input{width:auto;min-height:0;margin:0;padding:0}.invoice-reminder-setup>label:not(.inline-check){width:100%}.bank-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;max-width:720px}@media (width<=640px){.bank-details-grid{grid-template-columns:1fr}}.form-grid .check{align-items:center;gap:8px;padding-top:22px;display:flex}.form-grid label{color:var(--muted-strong);gap:6px;font-size:12px;display:grid}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.avatar{object-fit:cover;background:#edf2f7;border-radius:12px;width:48px;height:48px}.avatar.placeholder{display:inline-block}.profile-photo-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.member-list{margin:0 0 12px;padding:0;list-style:none}.member-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.invite-row{align-items:center;gap:10px;display:flex}.invite-row input{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:var(--control-h);padding:var(--control-pad-y) 12px;font:inherit;box-sizing:border-box;flex:1}.working-days{border:none;margin:0;padding:0}.working-days legend{color:var(--muted-strong);margin-bottom:8px;font-size:12px}.day-toggles{flex-wrap:wrap;gap:10px;display:flex}.day-toggles .check{padding-top:0}.danger-zone{background:#fff5f5;border-color:#feb2b2}.settings-profile-banner{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;display:flex}.settings-profile-banner-main{align-items:center;gap:14px;display:flex}.settings-profile-banner .avatar{background:var(--primary-soft);border:1px solid var(--line);border-radius:14px;width:52px;height:52px}.settings-profile-banner strong{font-family:var(--font-display);color:var(--primary);font-size:16px}.account-team-stack{gap:16px;display:grid}.auth-card .settings-card{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.form-grid textarea{border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;color:var(--ink);resize:vertical;background:#fff;padding:10px 12px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.business-use-cost-form{margin-bottom:28px}.business-use-cost-live{border:1px solid var(--line);border-radius:var(--radius,10px);background:var(--surface,#f8fafc);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin:14px 0 4px;padding:12px 14px;display:grid}.business-use-cost-live>div{flex-direction:column;gap:4px;display:flex}.business-use-cost-history{margin-top:28px}.business-use-cost-history .table-scroll{overflow-x:auto}.business-use-cost-history .data-table{min-width:920px}.business-use-cost-history td.mono{white-space:nowrap}.business-use-cost-history .status-badge{margin-left:0}.business-use-cost-history tr.row-editing td{background:#2563eb0f}.business-use-cost-pdf-summary{border:1px solid var(--line);border-radius:var(--radius,10px);background:var(--surface,#f8fafc);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;margin:4px 0 8px;padding:12px 14px;display:grid}.business-use-cost-pdf-summary>div{flex-direction:column;gap:4px;display:flex}@media (width<=720px){.business-use-cost-live{grid-template-columns:1fr}.business-use-cost-pdf-summary{grid-template-columns:1fr 1fr}}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.invoice-form{margin-top:8px}.invoice-lines-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 10px;display:flex}.invoice-lines-head h3{margin:0;font-size:14px}.invoice-line-options{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.invoice-mode-fieldset{border:none;gap:12px;margin:0;padding:0;display:flex}.inline-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.inline-check input:disabled{cursor:not-allowed}.invoice-number-field{border:1px solid var(--line);border-radius:var(--radius-sm,8px);background:#fff;align-items:stretch;gap:0;display:flex;overflow:hidden}.invoice-number-prefix{background:var(--surface,#f8fafc);border-right:1px solid var(--line);color:var(--muted-strong,#555);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;padding:0 10px;font-weight:600;display:flex}.invoice-number-field input{flex:1;min-width:0;border:none!important;border-radius:0!important}.starling-merge-panel{border:1px solid var(--line);border-radius:var(--radius,10px);background:var(--surface,#f8fafc);gap:8px;margin:16px 0 8px;padding:14px 16px;display:grid}.starling-merge-panel h3{margin:0;font-size:14px}.starling-merge-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.file-btn{cursor:pointer;align-items:center;display:inline-flex}.invoice-preview-backdrop{z-index:60;align-items:stretch;padding:24px}.invoice-preview-modal{border-radius:var(--radius);border:1px solid var(--line);width:min(840px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);background:#e8e8e8;flex-direction:column;margin:auto;display:flex;overflow:hidden}.invoice-preview-modal-setup{background:var(--surface);width:min(720px,100%)}.invoice-preview-setup{background:var(--surface);gap:14px;padding:16px 20px 20px;display:grid;overflow:auto}.invoice-preview-setup .starling-payment-grid{margin:0}.invoice-preview-status{margin:0;padding:8px 16px 12px}.invoice-preview-modal-head{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.invoice-preview-modal-title{flex-direction:column;gap:8px;min-width:0;display:flex}.invoice-preview-modal-head h3{margin:0;font-size:15px}.invoice-preview-tabs{gap:4px;display:flex}.invoice-preview-tab{border:1px solid var(--line);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px}.invoice-preview-tab.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:600}.invoice-preview-tab:disabled{opacity:.55;cursor:not-allowed}.invoice-preview-modal-actions{flex-wrap:wrap;gap:8px;display:flex}.invoice-preview-pdf-empty{text-align:center;margin:48px auto}.invoice-preview-wrap{background:#e8e8e8;border:none;border-radius:0;flex:1;min-height:0;margin:0;overflow:auto}.invoice-preview-frame{background:#e8e8e8;border:none;width:100%;height:min(85vh,1123px)}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.pagination-actions{align-items:center;gap:10px;display:flex}.pagination-actions .secondary-btn:disabled{opacity:.45;cursor:default}button.primary{border:none}.timesheet{background:#fff;overflow:hidden}.timesheet-head{padding:18px var(--panel-pad);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.timesheet-title{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.week-select{appearance:none;font:inherit;color:var(--ink);cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23718096' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right 2px center no-repeat;border:none;padding:4px 22px 4px 0;font-size:18px;font-weight:700}.week-total{color:var(--muted-strong);font-size:15px;font-weight:600}.timesheet-scroll{overflow-x:auto}.timesheet-grid{border-collapse:collapse;width:100%;min-width:860px;font-size:13px}.timesheet-grid th,.timesheet-grid td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 8px}.timesheet-grid thead th{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.timesheet-grid .col-task{text-align:left;z-index:3;background:#fff;width:280px;min-width:200px;position:sticky;left:0;box-shadow:4px 0 8px -4px #10161f14}.timesheet-grid thead .col-task{z-index:4;background:#fff}.timesheet-grid .summary-row .col-task,.timesheet-grid .summary-row td:first-child{background:#f7fafc}.timesheet-grid .col-day{text-align:center;width:72px}.timesheet-grid .col-total{text-align:right;border-left:1px solid var(--line);background:#fff;width:88px;min-width:72px;font-weight:600}.timesheet-grid .summary-row .col-total{background:#f7fafc}.timesheet-grid .day-name{color:var(--muted)}.timesheet-grid .day-date{text-transform:uppercase;margin-top:2px;font-size:11px;font-weight:500}.timesheet-grid .is-today,.timesheet-grid .is-today .day-name,.timesheet-grid .is-today .day-date{color:var(--accent)}.timesheet-grid .summary-row td{background:#f7fafc;font-weight:700}.timesheet-grid .task-cell{align-items:flex-start;gap:8px;display:flex}.timesheet-grid .task-cell-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-title{color:var(--ink);font-weight:700;text-decoration:none}a.task-title:hover{color:var(--primary)}.task-project{color:var(--muted-strong);margin-top:2px;font-size:12px}.task-parent-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;line-height:1.3;overflow:hidden}button.task-project-btn{width:100%;font:inherit;color:var(--muted-strong);cursor:pointer;text-align:left;background:0 0;border:0;margin:2px 0 0;padding:0;font-size:12px;line-height:1.3;display:block}button.task-project-btn:hover{color:var(--primary);text-decoration:underline}button.task-project-btn.is-unassigned{color:#b45309}.task-row-menu{flex-shrink:0;margin-top:0}.task-row-menu-trigger{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:16px;line-height:1;display:grid}.task-row-menu-trigger:hover,.task-row-menu.open .task-row-menu-trigger{background:var(--primary-soft);color:var(--primary)}.task-row-menu-dropdown{z-index:80;border:1px solid var(--line);border-radius:var(--radius-sm);min-width:200px;box-shadow:var(--shadow-lg);background:#fff;padding:6px;position:fixed}.task-row-menu-item{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:13px;display:block}.task-row-menu-item:hover{background:var(--primary-soft);color:var(--primary)}.edit-popover.associate-parent-popover{overflow:hidden}.edit-popover.associate-parent-popover label{min-width:0;max-width:100%}.edit-popover.associate-parent-popover select{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-width:0;max-width:100%;font:inherit;color:var(--ink);text-overflow:ellipsis;background:#fff;padding:10px 12px;display:block}.timesheet-grid .dash{color:#cbd5e0}.timesheet-grid .empty{text-align:center;padding:28px 8px}.time-cell-btn.empty-cell{color:#cbd5e0;font-weight:600}.time-cell-btn.empty-cell:hover{color:var(--primary);background:var(--primary-soft)}.add-time-popover{width:min(400px,100%)}.add-time-popover select{border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;color:var(--ink);background:#fff;padding:10px 12px}.time-cell-btn{font:inherit;font-variant-numeric:tabular-nums;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 6px}.time-cell-btn:hover{background:var(--primary-soft)}.time-cell-btn.active,.time-cell-btn.is-running{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.edit-backdrop{z-index:50;background:#2d374859;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.edit-popover{border-radius:var(--radius);border:1px solid var(--line);width:min(360px,100%);box-shadow:var(--shadow-lg);background:#fff;gap:10px;padding:18px;display:grid}.edit-popover h3{margin:0;font-size:16px}.edit-popover label{color:var(--muted-strong);gap:6px;font-size:12px;display:grid}.edit-popover input{border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;color:var(--ink);padding:10px 12px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-backdrop{z-index:15;cursor:pointer;background:#2d374859;border:none;padding:0;position:fixed;inset:0}@media (width>=961px){.app-layout.sidebar-collapsed{grid-template-columns:1fr}.app-layout.sidebar-collapsed .app-sidebar{display:none}.app-layout.sidebar-collapsed .app-main-head{grid-template-columns:auto minmax(8rem,1fr) auto auto}.app-layout.sidebar-collapsed .app-main-head-chrome-start,.app-layout.sidebar-collapsed .mobile-nav-toggle{display:flex}}@media (width<=960px){.app-layout{grid-template-columns:1fr}.sidebar-collapse{display:none}.app-sidebar{width:min(280px,86vw);height:100dvh;box-shadow:var(--shadow-lg);z-index:50;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-105%)}.app-layout.nav-open .app-sidebar{transform:translate(0)}.nav-backdrop{z-index:40}.mobile-nav-toggle{display:inline-flex}.app-main{padding:12px 14px 32px}.app-main-head{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fffffff0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"chrome actions""title meta";align-items:center;gap:10px 8px;margin:-12px -14px 16px;padding:10px 14px 12px;display:grid;position:sticky;top:0}.app-main-head-chrome-start{grid-area:chrome;display:flex}.app-main-brand{display:flex}.app-main-brand-name{display:none}@media (width>=420px){.app-main-brand-name{display:inline}}.app-main-titles{flex:none;grid-area:title;min-width:0}.app-page-title{white-space:nowrap;text-overflow:ellipsis;max-width:none;font-size:16px;font-weight:700;overflow:hidden}.app-main-meta{flex-wrap:nowrap;flex:none;grid-area:meta;justify-content:flex-end;gap:6px;min-width:0}.app-main-meta:empty{display:none}.app-main-head:not(:has(.app-main-meta)){grid-template-areas:"chrome actions""title title"}.app-main-head-actions{grid-area:actions;justify-self:end}.app-main-meta .period-inline{flex-wrap:wrap;gap:6px;font-size:12px}.app-main-meta .period-inline input,.app-main-meta .time-project-filter select{max-width:132px;height:var(--control-h);min-height:var(--control-h);padding:0 8px;font-size:12px}.app-main-meta .period-inline input[type=date],.app-main-meta .period-inline input[type=month],.app-main-meta .period-inline select{min-width:0;max-width:118px}.app-main-meta .logged-inline{display:none}.account-menu-text{align-items:flex-end}.account-menu-text .logged-label{display:none}.account-menu-trigger{height:var(--control-h);flex-shrink:0;max-width:160px;padding:0 10px}.account-menu-text strong{text-overflow:ellipsis;white-space:nowrap;max-width:88px;font-size:12px;overflow:hidden}.account-menu-dropdown{min-width:240px;left:auto;right:0}.timesheet-grid .col-task{width:148px;min-width:148px;max-width:42vw}}@media (width<=860px){.topbar-row,.panel-head{flex-direction:column;align-items:stretch}}@media print{body{background:#fff}.app-chrome,.app-sidebar,.app-main-head,.mobile-nav-toggle,.back-link,.panel-head-actions,.invoice-form,.status-line,.error{display:none!important}.app-layout{display:block}.shell,.app-main{width:100%;margin:0;padding:0}.panel{box-shadow:none;border:none;padding:0}.invoice-preview-wrap{border:none;margin:0}.invoice-preview-frame{height:100vh;min-height:0}}.running-timer-bar{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;padding:10px 14px;display:grid}.running-timer-bar-main{justify-content:space-between;align-items:center;gap:16px;min-height:36px;display:flex}.running-timer-bar-meta{min-width:0}.running-timer-bar-task{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none;display:block;overflow:hidden}a.running-timer-bar-task:hover{text-decoration:underline}.running-timer-bar-hint{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.running-timer-bar-live{color:#0f766e;align-items:center;gap:6px;font-weight:600;display:inline-flex}.running-timer-bar-stop{cursor:pointer;color:#fff;background:#d97706;border:none;border-radius:6px;flex-shrink:0;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.running-timer-bar-stop:hover:not(:disabled){background:#c26b05}.running-timer-bar-stop:disabled{opacity:.7;cursor:not-allowed}.running-timer-bar-error{color:var(--danger);margin:0;font-size:12px}.live-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 0 var(--accent-soft);border-radius:50%;animation:1.6s ease-out infinite live-pulse;display:inline-block}.live-badge{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}@keyframes live-pulse{0%{box-shadow:0 0 0 0 var(--accent-soft)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.dashboard{gap:18px;display:grid}.dash-welcome{color:var(--ink);border:1px solid var(--line);background:#fff}.dash-welcome h2{font-family:var(--font-display);color:var(--ink);margin:4px 0 8px;font-size:20px;font-weight:600}.dash-welcome .muted{color:var(--muted-strong);max-width:42ch}.dash-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:700}.dash-welcome-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.dash-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dash-stat-toolbar{justify-content:flex-end;margin:-4px 0 4px;display:flex}.dash-figures-toggle{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:var(--control-h);font:inherit;color:var(--muted-strong);cursor:pointer;background:#fff;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.dash-figures-toggle:hover,.dash-figures-toggle[aria-pressed=true]{color:var(--primary-hover);border-color:var(--primary);background:var(--primary-soft)}.dash-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:700}.dash-stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:.02em;margin:0;font-size:26px;font-weight:600}.capacity-page{gap:18px;display:grid}.capacity-stat-grid{margin-bottom:0}.capacity-percent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.capacity-percent-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:4px;padding:14px 16px;display:grid}.capacity-percent-card span,.capacity-percent-card small{color:var(--muted);font-size:11px}.capacity-percent-card strong{color:var(--primary);font-family:var(--font-mono);font-size:24px}.capacity-positive{color:#2f7252}.capacity-danger{color:#a94442}.capacity-week-list{display:grid}.capacity-week{border-bottom:1px solid var(--line);padding:16px 0}.capacity-week:first-of-type{padding-top:0}.capacity-week:last-child{border-bottom:none;padding-bottom:0}.capacity-week-head,.capacity-project-card-head,.capacity-unplanned-row,.capacity-week-project{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.capacity-current-label{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:#c97a3a24;border-radius:999px;margin-left:8px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-block}.capacity-progress{margin-top:10px}.capacity-week-projects{gap:8px;margin-top:12px;display:grid}.capacity-week-divider{background:var(--line);height:1px;margin:16px 0 14px}.capacity-week-oncall{border-radius:var(--radius-sm);background:#c97a3a0f;padding:12px}.capacity-week-oncall-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.capacity-week-project{align-items:center;font-size:13px}.capacity-week-project>span:first-child{align-items:center;gap:7px;display:inline-flex}.capacity-project-dot{border-radius:50%;width:8px;height:8px}.capacity-project-list,.capacity-unplanned-list{gap:12px;display:grid}.capacity-project-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px}.capacity-project-card-head{align-items:center}.capacity-project-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.capacity-project-metrics span{gap:3px;display:grid}.capacity-project-metrics b{color:var(--primary);font-family:var(--font-mono);font-size:15px}.capacity-project-metrics small{color:var(--muted);font-size:11px}.capacity-settings-form{margin-top:16px}.capacity-availability .capacity-settings-form{margin-top:0}.capacity-days{border:0;min-width:0;padding:0}.capacity-days legend{margin-bottom:8px;font-size:12px;font-weight:600}.capacity-day-list{flex-wrap:wrap;gap:8px 14px;display:flex}.capacity-unplanned-row{border-bottom:1px solid var(--line);align-items:center;padding:12px 0}.capacity-unplanned-row:last-child{border-bottom:none}.capacity-unplanned-row .capacity-settings-form{flex:100%;margin-top:0}.capacity-note{margin:-8px 0 0}.dash-split{grid-template-columns:1.1fr .9fr;gap:16px;display:grid}.dash-project-list,.dash-activity-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.dash-project-row,.dash-activity-list li{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}button.dash-project-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0;padding:0}button.dash-project-open:hover strong{color:var(--primary)}button.dash-project-open:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.dash-project-list .progress{margin-top:8px}.dash-activity-list li{border-bottom:1px solid var(--line);padding-bottom:12px}.dash-activity-list li:last-child{border-bottom:none;padding-bottom:0}.app-nav-group{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.feature-toggle-list{gap:0;margin:14px 0 0;padding:0;list-style:none;display:grid}.feature-toggle-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.feature-toggle-list li:last-child{border-bottom:none}.feature-toggle-list strong{font-size:13px}.feature-toggle-list .muted{margin:2px 0 0}.switch{cursor:pointer;flex-shrink:0;width:44px;height:24px;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{background:var(--border);border-radius:999px;width:100%;height:100%;transition:background .15s}.switch-track:after{content:"";width:18px;height:18px;box-shadow:var(--shadow);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on .switch-track,.switch input:checked+.switch-track{background:var(--primary)}.switch.on .switch-track:after,.switch input:checked+.switch-track:after{transform:translate(20px)}.admin-teams{gap:14px;display:grid}@media (width<=1100px){.dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-split{grid-template-columns:1fr}}@media (width<=640px){.dash-stat-grid{grid-template-columns:1fr}.capacity-project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.capacity-percent-grid{grid-template-columns:1fr}.capacity-week-project{flex-direction:column;align-items:flex-start;gap:3px}.capacity-unplanned-row{flex-wrap:wrap;align-items:flex-start}}.starling-payment-grid{margin:8px 0 4px}.estimate-review-card{margin-bottom:16px}.estimate-review-list{flex-direction:column;gap:4px;margin:8px 0 12px;display:flex}.estimate-review-row{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.estimate-review-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.estimate-import-clean{margin:8px 0 12px}.estimate-import-preview .primary{margin-top:4px}.client-updates{flex-direction:column;gap:16px;display:flex}.client-updates .cu-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:0;padding:10px 12px}.client-updates .cu-banner{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.client-updates .cu-banner-actions{flex-wrap:wrap;gap:8px;display:flex}.client-updates .cu-top-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.client-updates .cu-top-grid{grid-template-columns:minmax(0,1fr)}}.client-updates .cu-card{background:#fff;border:1px solid #e7e0d6;border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.client-updates .cu-card h3{margin:0;font-size:16px}.client-updates .cu-card h4{margin:0;font-size:14px}.client-updates .cu-divider{border-top:1px solid #eee7db}.client-updates .cu-field{flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.client-updates .cu-label{font-size:13px;font-weight:600}.client-updates input,.client-updates select,.client-updates textarea{box-sizing:border-box;width:100%;font:inherit;font-weight:400}.client-updates textarea{resize:vertical}.client-updates .cu-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (width<=700px){.client-updates .cu-two{grid-template-columns:minmax(0,1fr)}}.client-updates .cu-segments{flex-wrap:wrap;gap:6px;display:flex}.client-updates .cu-segments button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:999px;padding:7px 12px}.client-updates .cu-segments button.active{color:#fff;background:#1c1917;border-color:#1c1917}.client-updates .cu-period-label{color:#57534e;margin:0;font-size:13px}.client-updates .cu-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.client-updates .cu-spacer{flex:1}.client-updates .cu-due-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.client-updates .cu-due-list li{border:1px solid #eee7db;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.client-updates .cu-due-list li div{flex-direction:column;gap:2px;min-width:0;display:flex}.client-updates .cu-due-list span{color:#57534e;font-size:13px}.client-updates .cu-draft-chips{flex-wrap:wrap;gap:8px;display:flex}.client-updates .cu-chip{font:inherit;cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:999px;padding:7px 12px;font-size:13px}.client-updates .cu-chip.active{color:#fff;background:#1c1917;border-color:#1c1917}.client-updates .cu-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.client-updates .cu-status{color:#44403c;background:#f5f5f4;border:1px solid #d6d3d1;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.client-updates .cu-status-pending{color:#92400e;background:#fffbeb;border-color:#fde68a}.client-updates .cu-status-sent{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.client-updates .cu-status-skipped{color:#78716c;background:#fafafa}.client-updates .cu-table-wrap{border:1px solid #eee7db;border-radius:8px;overflow-x:auto}.client-updates .cu-table{border-collapse:collapse;width:100%;min-width:860px}.client-updates .cu-table th,.client-updates .cu-table td{text-align:left;vertical-align:top;border-bottom:1px solid #f0ebe2;padding:10px;font-size:13px}.client-updates .cu-table thead th{letter-spacing:.06em;text-transform:uppercase;color:#78716c;background:#faf7f2;font-size:11px}.client-updates .cu-table tfoot td{background:#faf7f2;border-bottom:0;font-weight:700}.client-updates .cu-col-task{width:24%}.client-updates .cu-col-num{width:10%}.client-updates .cu-col-est{width:12%}.client-updates .cu-col-used{width:14%}.client-updates .cu-col-note{width:30%}.client-updates .cu-col-action{width:10%}.client-updates .cu-num{white-space:nowrap}.client-updates .cu-flag{color:#9a3412;margin-top:4px;font-size:12px;font-weight:700}.client-updates .cu-hidden-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.client-updates .cu-body{min-height:260px}.client-updates .cu-editor-actions{margin-top:2px}.client-updates .cu-chip-wrap{align-items:stretch;gap:4px;display:inline-flex}.client-updates .cu-chip-delete{font:inherit;color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:0 8px;line-height:1}.client-updates .cu-chip-delete:disabled{opacity:.5;cursor:default}.client-updates .cu-dirty{color:#92400e;margin:0;font-size:12px;font-weight:600}
