@font-face{font-family:"Inter";font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Ovo";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ovo-latin.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand:#eb4f34;--brand-hover:#d44329;--brand-gradient:linear-gradient(135deg, #eb4f34 0%, #c0392b 100%);--brand-shadow:rgba(235, 79, 52, 0.35);--brand-focus:rgba(235, 79, 52, 0.15);--brand-99x:#7b2cbf;--text:#1a1a1a;--text-secondary:#555;--text-muted:#888;--text-light:#aaa;--bg:#f5f5f5;--surface:#fff;--surface-alt:#f9f9f9;--bg-hover:#e5e7eb;--border:#ddd;--border-light:#eee;--border-mid:#ccc;--success-bg:#dcfce7;--success-border:#bbf7d0;--success-text:#166534;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#991b1b;--warning-bg:#fefce8;--warning-border:#fde68a;--warning-text:#713f12;--approved-bg:#e6f4ea;--completed-bg:#e0f0ff;--completed-text:#1e40af;--weekend-bg:#eceff3;--weekend-text:#475569;--activity-bg:#fef3c7;--activity-text:#92400e;--danger:#dc2626;--danger-hover:#b91c1c;--font-sans:'Inter', system-ui, -apple-system, sans-serif;--font-serif:'Ovo', Georgia, serif;--radius:6px;--radius-sm:4px;--radius-lg:8px}*,::after,::before{box-sizing:border-box;margin:0;padding:0}button{font-family:inherit}body,h2{font-weight:400}body{font-family:var(--font-sans);line-height:1.5;color:var(--text);background:var(--bg);padding:1rem}h2{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.25rem}.period,table{font-size:.9rem}.period{color:var(--text-secondary);margin-bottom:1rem}table{width:100%;border-collapse:collapse;white-space:nowrap}thead{border-bottom:2px solid var(--border)}tfoot td,th{font-weight:600}th{text-align:left;padding:.4rem .5rem}td{padding:.35rem .5rem;border-bottom:1px solid var(--border-light)}.num{text-align:right;font-variant-numeric:tabular-nums}tfoot td{border-top:2px solid var(--border);border-bottom:none;padding-top:.5rem}.info-icon{font-size:.75em;color:var(--text-light);cursor:help;margin-left:.2em}.revenue-total{font-size:.85em;color:var(--text-secondary)}.salary-summary .col-group-end{border-right:1px solid var(--border-mid)}.salary-summary .util-hours{margin-left:.4em;font-size:.85em;color:var(--text-secondary)}.summary-employee-row{cursor:pointer;transition:opacity .15s,background-color .15s}.summary-employee-row:hover{background:var(--surface-hover, rgba(0,0,0,0.03))}.salary-summary tbody.has-selection .summary-employee-row:not(.selected){opacity:.35}.salary-summary tbody.has-selection .summary-employee-row:not(.selected):hover{opacity:.6}.summary-employee-row.selected{background:rgba(20,110,180,.12);box-shadow:inset 3px 0 0 var(--brand, #1f6feb)}.summary-employee-row.selected td{font-weight:600}.asset-group-row th{padding-top:1rem;font-size:1rem;font-weight:600;border-bottom:1px solid var(--border)}.asset-group-row:first-child th{padding-top:.4rem}.asset-decommissioned td,.filter-form{color:var(--text-secondary)}.filter-form{margin-bottom:.75rem;font-size:.9rem}.checkbox-row,.filter-form label{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.checkbox-row{margin:.75rem 0;font-size:.9rem}.checkbox-row input[type=checkbox]{width:auto;margin:0}.header-brand,header{display:flex;align-items:center}header{justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--brand);position:sticky;top:0;background:var(--bg);z-index:100}.header-brand{gap:.6rem}.header-logo,.logo-svg{display:block}.logo-svg{height:32px;width:auto}.header-wordmark{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;line-height:1;color:var(--text);padding-left:.75rem;margin-left:.15rem;border-left:1px solid var(--border-mid);user-select:none}.beta-badge{font-family:var(--font-sans);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--brand-gradient);padding:.2rem .45rem;border-radius:var(--radius-sm);align-self:flex-start;margin-top:2px;box-shadow:0 1px 4px var(--brand-shadow);user-select:none}.beta-badge--major{font-size:.85rem;letter-spacing:.18em;padding:.35rem .7rem;vertical-align:middle;margin-left:.6rem;box-shadow:0 2px 8px var(--brand-shadow)}.user-info{font-size:.85rem;color:var(--text-secondary);display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.user-info a,.user-info button{color:var(--brand);text-decoration:none;background:0 0;border:0;font:inherit;cursor:pointer;padding:0}.nav-more-toggle:hover,.user-info a:hover,.user-info button:hover{text-decoration:underline}.nav-more-toggle.active,.user-info a.active{font-weight:600;text-decoration:underline}.hamburger{display:none;background:0 0;border:0;cursor:pointer;padding:.25rem}.hamburger span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0;transition:transform .2s,opacity .2s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-more{position:relative;display:inline-block}.nav-more-toggle{color:var(--brand);background:0 0;border:0;font:inherit;font-size:.85rem;cursor:pointer;padding:0}.nav-more-dropdown{display:none;position:absolute;top:calc(100% + .5rem);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.1);padding:.4rem 0;min-width:10rem;z-index:100}.nav-more.open .nav-more-dropdown{display:flex;flex-direction:column}.nav-more-dropdown a{padding:.4rem 1rem;white-space:nowrap}.nav-more-dropdown a:hover{background:var(--bg-alt, #f5f5f5)}.nav-more-divider{height:1px;margin:.35rem .75rem;background:var(--border)}.allocation-grid-wrapper,.calc-card,.calc-info,.chart-card,.chart-card-full,.employee,.import-form,.import-preview,.login-card,.no-timesheets,.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.summary-card{padding:1rem;margin-bottom:1.5rem;overflow-x:auto}.login-main{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:380px;padding:2rem 1.75rem;box-shadow:0 6px 24px rgba(0,0,0,.06)}.login-brand{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-bottom:.5rem}.login-logo{height:30px;width:auto;display:block}.login-wordmark{padding-left:.7rem;margin-left:0}.login-lead{text-align:center;color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9rem}.login-btn{width:100%;display:flex;align-items:center;gap:.65rem;padding:.7rem .9rem;margin-bottom:.6rem;border:1px solid var(--border-mid);border-radius:var(--radius-sm);background:var(--surface);font-size:.95rem;font-weight:600;font-family:inherit;color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s}.login-btn:hover{border-color:var(--brand);box-shadow:0 1px 6px var(--brand-shadow)}.login-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.login-ic{width:18px;height:18px;flex:0 0 18px}.login-tag{margin-left:auto;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-light, var(--text-secondary));background:var(--bg-alt, #f5f5f5);padding:.15rem .5rem;border-radius:999px}.login-foot{text-align:center;margin:1.25rem 0 0;font-size:.78rem;color:var(--text-secondary)}.settings-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.settings-tabs a{padding:.5rem 1rem;font-weight:600;color:var(--text-secondary);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.settings-tabs a:hover{color:var(--text)}.settings-tabs a.active{color:var(--brand);border-bottom-color:var(--brand)}.acc-kind{display:inline-block;font-size:.6rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700;padding:.1rem .4rem;border-radius:var(--radius-sm);margin-left:.4rem;vertical-align:middle;color:#fff}.acc-kind--fremra{background:var(--brand)}.acc-kind--99x{background:var(--brand-99x)}#access-table td.access-cell{white-space:nowrap}.acc-rw{display:inline-flex;align-items:center;gap:2px;font-size:.72rem;margin:0 2px}.acc-rw input{margin:0}.acc-delete-form{display:inline;margin-left:.4rem}.acc-delete{background:0 0;border:0;padding:0;font:inherit;font-size:.72rem;color:var(--danger, #c0392b);cursor:pointer;text-decoration:underline}.acc-delete:hover{opacity:.8}.form-inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.form-inline input[type=email],.form-inline input[type=text]{flex:1 1 140px;min-width:0}.btn-danger,.btn-primary,.btn-run-salary{padding:.6rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;border:0;border-radius:var(--radius);cursor:pointer}.btn-primary,.btn-run-salary{background:var(--brand)}.btn-danger{background:var(--danger)}.btn-primary:hover,.btn-run-salary:hover{background:var(--brand-hover)}.btn-danger:hover{background:var(--danger-hover)}.btn-secondary{padding:.6rem 1.2rem;font-size:1rem;background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--radius);cursor:pointer;color:var(--text)}.btn-secondary:hover{border-color:#999}.arrow-btn,.btn-add{display:flex;align-items:center;justify-content:center;cursor:pointer}.btn-add{width:40px;height:40px;border-radius:50%;border:0;background:var(--brand);color:#fff;font-size:1.5rem;line-height:0;padding:0 0 3px;flex-shrink:0;text-decoration:none}.btn-add:hover{background:var(--brand-hover);text-decoration:none}.arrow-btn{width:2rem;height:2rem;font-size:1rem;background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text);line-height:1}.arrow-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.arrow-btn:disabled{opacity:.35;cursor:default}.arrow-btn:focus-visible,.btn-add:focus-visible,.btn-danger:focus-visible,.btn-primary:focus-visible,.btn-run-salary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.hourly-cost-table input[type=number]:focus,.rate-input-group input:focus,.settings-activity-table input:focus,.settings-grid input:focus,.tax-input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-focus)}.controls{margin-bottom:1.5rem}.month-picker{display:flex;align-items:center;gap:.4rem}.month-picker select{padding:.4rem .5rem;border:1px solid var(--border-mid);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:var(--surface);cursor:pointer}