/* Miles Hamburg: website palette, locally hosted typography, application density. */
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--canvas:#f2f0e9;--surface:#fffdf6;--surface-soft:#f5f3ec;--text:#12211f;--text-secondary:#515b58;--line:#d8d8ce;--line-strong:#9baba5;--brand:#0e746d;--brand-dark:#09524d;--brand-soft:#e4eeea;--navy:#151116;--navy-soft:#281529;--signal:#d8ff48;--coral:#ff6554;--on-dark:#fffdf6;--muted-dark:#c6c5bd;--focus:#0e746d;--radius-sm:3px;--radius:5px;--radius-lg:7px;--shadow:none;--shadow-soft:none;font-family:Manrope,'Segoe UI',Arial,sans-serif}
body{font-size:14px}h1{font-weight:780;letter-spacing:-.045em;line-height:1.08}h2{font-weight:750;letter-spacing:-.025em}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.topbar :focus-visible,.sidebar :focus-visible,.login-story :focus-visible{outline-color:var(--signal)}
.brand-mark{width:auto;min-width:54px;height:auto;background:none;color:var(--signal);border-radius:0;box-shadow:none;font-size:25px;font-weight:800;letter-spacing:-2px}
.brand{color:var(--on-dark);gap:13px;text-decoration:none}.brand strong{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.02em}.brand small,.brand-on-dark small{font-size:9px;color:var(--muted-dark);letter-spacing:.09em}
.login-layout{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);background:var(--navy)}
.login-story{background:var(--navy);color:var(--on-dark);padding:clamp(28px,5vw,72px);gap:48px}.login-story::before{inset:0;width:auto;height:auto;border:0;border-radius:0;background-image:linear-gradient(#fffdf609 1px,transparent 1px),linear-gradient(90deg,#fffdf609 1px,transparent 1px);background-size:64px 64px}.login-story::after{display:none}
.login-story .brand,.trust-list{position:relative}.login-story-copy h1{font-size:clamp(46px,5.8vw,86px);line-height:.99;letter-spacing:-.065em;text-transform:uppercase;color:var(--on-dark);margin:18px 0 26px}.login-story-copy h1 em{font-style:normal;color:var(--signal)}.login-story-copy p{font-size:16px;line-height:1.7;color:var(--muted-dark);max-width:430px}.login-story .eyebrow{color:var(--coral);font-size:11px}.trust-list{border-top:1px solid #fffdf632;padding-top:23px;gap:16px 24px;color:var(--muted-dark);font-size:12px}.trust-list b{color:var(--signal);margin-right:4px}.login-panel{background:var(--surface);padding:clamp(26px,5vw,64px)}.login-card{max-width:410px}.login-card h2{font-size:36px}.login-card>.eyebrow{color:var(--brand)}.login-card .login-help{text-align:left;font-size:12px}.login-back{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px}.login-back a{color:var(--text-secondary)}
.app-shell{grid-template-columns:242px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr)}.topbar{height:72px;background:var(--navy);border-bottom:1px solid #fffdf626;backdrop-filter:none;grid-template-columns:242px 1fr auto;padding:0 24px;color:var(--on-dark)}.topbar-context{color:var(--muted-dark);font-size:11px}.topbar .link-button{color:var(--signal)}.account-button{color:var(--on-dark);border:1px solid #fffdf632;border-radius:3px;padding:7px 11px}.account-button:hover{background:var(--navy-soft)}.account-button>span:nth-child(2){min-width:0}.avatar{background:var(--signal);color:var(--navy);border-radius:3px;width:30px;height:30px;font-size:11px}
.sidebar{top:72px;height:calc(100vh - 72px);background:var(--surface);color:var(--text);padding:24px 16px;border-right:1px solid var(--line);gap:16px}.company-card{padding:0 0 20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;margin:0;gap:9px}.company-card label,.company-card small{color:var(--text-secondary);font-size:10px}.company-card label{letter-spacing:.12em;text-transform:uppercase;font-weight:800}.company-card select{background:var(--surface-soft);color:var(--text);border:1px solid var(--line-strong);font-size:12px;min-height:45px;border-radius:3px}.sidebar nav{gap:5px}.nav-item{color:var(--text-secondary);border:1px solid transparent;border-radius:3px;min-height:43px;padding:0 11px;font-size:12px;font-weight:650;gap:10px}.nav-item:hover{background:var(--surface-soft);color:var(--text);border-color:var(--line)}.nav-item.is-active{background:var(--navy);color:var(--on-dark);box-shadow:none}.nav-icon{font-size:13px;width:20px;color:var(--brand);font-variant-numeric:tabular-nums}.nav-item.is-active .nav-icon{color:var(--signal)}.nav-count{color:var(--navy);background:var(--signal);border-radius:2px}.sidebar-help{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:18px 8px 0;margin-top:auto}.sidebar-help strong{color:var(--text);font-size:12px}.sidebar-help p{color:var(--text-secondary);font-size:11px}.sidebar-help .link-button{color:var(--brand)}.logout-button{margin-top:0}
.main-content{padding:36px clamp(24px,3vw,48px);max-width:1540px;width:100%;justify-self:center}.page-heading{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:26px;align-items:end;gap:24px}.page-heading h1{font-size:clamp(29px,3vw,44px);max-width:850px}.page-heading p:last-child{font-size:13px;margin-bottom:0}.page-heading .eyebrow{font-size:10px;color:var(--brand);margin-bottom:12px;overflow-wrap:anywhere}.button,.primary,.secondary{border-radius:3px;min-height:44px;box-shadow:none;font-weight:750;font-size:12px}.button-primary,.primary{background:var(--navy);color:var(--signal);border:1px solid var(--navy)}.button-primary:hover,.primary:hover{background:var(--navy-soft);color:var(--on-dark)}.button-secondary,.secondary{background:transparent;border:1px solid var(--line-strong);color:var(--text)}.button-secondary:hover,.secondary:hover{background:var(--surface-soft);border-color:var(--text)}.button:disabled,.primary:disabled{opacity:.5;cursor:not-allowed}
.card{border-radius:var(--radius);padding:24px;box-shadow:none}.connected-grid{gap:20px}.connected-metrics{gap:0;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden;margin-bottom:26px}.connected-metrics .card{border:0;border-right:1px solid var(--line);background:transparent;border-radius:0;padding:24px}.connected-metrics .card:last-child{border-right:0}.connected-metrics .card:first-child{background:var(--signal)}.connected-metrics .card small{font-size:10px;color:var(--text);font-weight:800;letter-spacing:.07em;text-transform:uppercase}.metric-value{font-size:clamp(28px,3vw,40px);font-weight:780;line-height:1.1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:19px 0 8px}.connected-metrics .card p{font-size:12px;min-height:20px;color:var(--text-secondary)}.connected-metrics .button{margin-top:4px;min-height:36px;padding:0;border:0;border-bottom:1px solid var(--text);border-radius:0;font-size:11px}.connected-metrics .button::after{content:' ↗';margin-left:12px}.connected-metrics .button:hover{background:transparent;color:var(--brand)}
.portal-table th{font-size:10px;letter-spacing:.065em;text-transform:uppercase;font-weight:800;background:var(--surface-soft)}.portal-table td{font-size:12px;line-height:1.55}.portal-table td,.portal-table th{padding:13px 10px}.portal-table tbody tr:last-child td{border-bottom:0}.portal-table-wrap{border:1px solid var(--line);border-radius:3px}.portal-table details{max-width:360px}.portal-table summary{cursor:pointer;font-size:11px;color:var(--brand);padding-top:5px}.portal-table details p{margin-top:8px}.empty{font-size:13px;line-height:1.6;padding:18px 0}.status-badge,.badge{border-radius:3px;box-shadow:none;font-size:10px;font-weight:750}.status-overdue{border:1px solid var(--danger);color:var(--danger);background:var(--danger-soft)}.connected-list li{padding:18px 0}.connected-list p{font-size:12px}.connected-grid h2{margin-bottom:16px;font-size:18px}.report-card{padding:22px 0}.report-card:first-child{border-top:0}.connected-status{border-radius:3px;background:var(--navy);color:var(--on-dark);border-left:4px solid var(--signal)}.notice{border-radius:3px}.dialog-wide,.wide-dialog{border-radius:5px}.dialog-heading{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}.dialog-actions{padding-top:18px;border-top:1px solid var(--line)}dialog::backdrop{background:#15111699}.role-gate{padding:20px 0}.role-gate p{line-height:1.65}.role-gate .button{margin:8px 8px 0 0}input,select,textarea{border-radius:3px;background:var(--surface)}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:2px;box-shadow:none}.check-row input{min-height:20px;accent-color:var(--brand)}
@media(max-width:1050px){.topbar-context{display:none}.topbar{grid-template-columns:1fr auto}.main-content{padding:28px 22px}.connected-grid{grid-template-columns:1fr}.page-heading{align-items:start}.page-heading h1{font-size:32px}}
@media(max-width:850px){.login-layout{grid-template-columns:1fr}.login-story{min-height:0;padding:30px 26px;gap:28px}.login-story-copy{margin:0}.login-story-copy h1{font-size:46px;margin:12px 0 20px;max-width:600px}.login-story-copy p{font-size:14px}.trust-list{display:none}.login-panel{padding:34px 26px}.login-card{max-width:520px;width:100%}.login-card h2{font-size:30px}.app-shell{display:block;padding-top:72px}.topbar{display:flex;height:72px;padding:0 18px;gap:12px}.topbar .brand-mark{width:auto;min-width:46px;font-size:24px}.topbar .brand small{font-size:8px}.topbar .brand strong{font-size:10px}.topbar .account-button{font-size:11px;max-width:140px}.topbar .account-button span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar #mobile-menu{color:var(--on-dark);border-color:#fffdf655;margin-left:auto;margin-right:0;min-height:40px}.sidebar{height:auto;position:static;padding:16px 18px;border-bottom:1px solid var(--line);border-right:0;gap:0}.sidebar .company-card{padding:0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 12px}.company-card label{grid-column:1/-1}.company-card small{white-space:nowrap}.sidebar.is-open nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.sidebar.is-open .sidebar-help{margin-top:16px}.sidebar.is-open .logout-button{margin-top:12px}.main-content{padding:26px 20px}.connected-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.connected-metrics .card{padding:18px}.connected-metrics .metric-value{font-size:28px}.page-heading h1{font-size:32px}.page-heading{align-items:start;gap:18px}.sidebar :focus-visible{outline-color:var(--focus)}}
@media(max-width:540px){.topbar .account-button #user-name{display:none}.topbar .account-button{padding:4px;border:0}.topbar .brand{gap:8px}.topbar .brand small{display:block}.main-content{padding:24px 16px}.page-heading{flex-direction:column}.page-heading>.button-primary{width:100%}.page-heading h1{font-size:32px}.connected-metrics{grid-template-columns:1fr}.connected-metrics .card{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 12px}.connected-metrics .card:last-child{border-bottom:0}.connected-metrics .card small,.connected-metrics .card p{grid-column:1;min-height:0;margin:0}.connected-metrics .metric-value{grid-column:2;grid-row:1/3;margin:0;font-size:29px;text-align:right}.connected-metrics .button{grid-column:1/-1;justify-self:start}.card{padding:20px}.portal-table{min-width:460px}.connected-grid{gap:16px}.company-card small{font-size:9px}.dialog-wide,.wide-dialog{padding:20px}.connected-toolbar select{max-width:100%}.login-back{margin-top:28px}.login-story-copy h1{font-size:44px}}
.sidebar :focus-visible{outline-color:var(--focus)}
#portal-tax .button-row{margin-top:12px}#portal-tax [data-tax-create]{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}#portal-tax button:not(.primary):not(.secondary),dialog button:not(.primary):not(.secondary):not(.button):not(.icon-button){min-height:42px;padding:9px 14px;border:1px solid var(--line-strong);border-radius:3px;background:var(--surface);color:var(--text);font:600 12px Manrope,'Segoe UI',sans-serif;cursor:pointer}#portal-tax button:hover,dialog button:hover{border-color:var(--brand)}dialog{max-width:calc(100vw - 28px);border:1px solid var(--line);border-radius:5px;padding:24px}dialog .dialog-heading button{min-width:42px}#portal-tax .check-row{font-size:13px;line-height:1.6}#portal-tax [data-tax-status]{padding:12px 15px;background:var(--surface-soft);border-left:3px solid var(--brand);font-size:13px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.button,.nav-item,.card,.status-badge{border:1px solid CanvasText}.nav-item.is-active{outline:2px solid Highlight}.brand-mark{color:LinkText}}
