:root{--teal:#5eead4;--radius:6px;--text-display:44px;--text-heading-xl:34px;--text-subheading:15px;--text-body-lg:17px;--text-body:15px;--track-display:-.028em;--track-heading:-.018em;--track-body:0em;--track-eyebrow:.08em;--rule-height:38px;--rule-baseline:20px;--rule-tick-minor:4px;--rule-mark-width:2px;--rule-mark-wide:6px;--rule-mark-height:14px;--rule-tick:var(--control-line)}:root[data-theme]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f5f5f7;--raised:#fff;--tile-top:#fff;--tile-bottom:#fbfbfd;--line:#00000014;--control-line:#86868b;--well:#00000009;--frost:#ffffffb8;--field:#fff;--text:#1d1d1f;--muted:#6e6e73;--faint:#6e6e73;--accent:#0f7a55;--on-accent:#fff;--accent-soft:#0f7a551a;--glow:#0f7a5514;--critical:#d03b3b;--on-critical:#fff;--warning:#fab219;--warning-stroke:#b7791f;--on-warning:#1d1d1f;--series:#0f7a55;--series-2:#2a78d6;--shadow-tile:0 1px 2px #0000000a, 0 10px 28px #00000012;--shadow-segment:0 1px 3px #0000001f;--shadow-dialog:0 30px 80px #00000026;--backdrop:#1d1d1f52}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0a0a0c;--raised:#121215;--tile-top:#17171b;--tile-bottom:#121215;--line:#ffffff14;--control-line:#707076;--well:#ffffff0d;--frost:#121215b8;--field:#ffffff0f;--text:#f5f5f7;--muted:#a1a1a6;--faint:#8e8e93;--accent:#4fd1a5;--on-accent:#05140e;--accent-soft:#4fd1a521;--glow:#4fd1a52e;--critical:#ff6b6b;--on-critical:#0a0a0c;--warning:#f5c451;--warning-stroke:#f5c451;--on-warning:#0a0a0c;--series:#29ad80;--series-2:#3987e5;--shadow-tile:inset 0 1px 0 #ffffff0a, 0 12px 32px #00000073;--shadow-segment:0 1px 3px #0006;--shadow-dialog:0 30px 80px #00000080;--backdrop:#0009}}*{box-sizing:border-box}html{overscroll-behavior-y:none;background:var(--canvas);scroll-padding-top:84px}html:has([data-surface=site]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}html[data-theme]:has([data-surface=site]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}body{color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.5}.shell a,.login-page a,.loading a{color:var(--accent);text-decoration:none}.shell a:hover,.login-page a:hover,.loading a:hover{text-decoration:underline}.login-page p a{text-underline-offset:2px;text-decoration:underline}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:var(--radius)}.shell :focus-visible,.login-page :focus-visible{outline-color:var(--accent)}.shell{isolation:isolate;grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid;position:relative}:root[data-theme=dark] .shell:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 70% at 72% 0%, var(--glow), transparent 70%);opacity:.45;height:60vh;position:fixed;inset:0 0 auto}.sidebar{border-right:1px solid var(--line);background:var(--frost);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);flex-direction:column;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar nav{flex-direction:column;gap:2px;margin-top:22px;display:flex}.sidebar nav a{min-height:36px;color:var(--muted);transition:background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:400;display:flex}.sidebar nav a:hover{background:var(--well);color:var(--text);text-decoration:none}.sidebar nav a[aria-current=page]{background:var(--line);color:var(--text);font-weight:600}.sidebar nav svg{stroke-width:1.6px;flex:none;width:16px;height:16px}.sidebar .nav-group{font-family:var(--font);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--faint);margin:16px 10px 4px;font-size:10px;font-weight:500;line-height:1.2}.sidebar nav form{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.sidebar nav button.secondary{width:100%;min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:400;display:flex}.sidebar nav button.secondary:hover:not(:disabled){background:var(--well);color:var(--text)}.themed-brand{display:inline-flex}@media screen{:root[data-theme=dark] .brand-for-light,:root[data-theme=light] .brand-for-dark{display:none}}@media print{.brand-for-dark{display:none}}.sidebar-foot{margin-top:auto;padding-top:16px}.sidebar .theme-toggle{width:100%;min-height:36px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:10px;align-items:center;padding:7px 10px;font-size:14px;font-weight:400;display:flex}.sidebar .theme-toggle:hover{background:var(--well);color:var(--text);box-shadow:none}.theme-to-light,.theme-to-dark{align-items:center;gap:10px;display:inline-flex}:root[data-theme=dark] .theme-to-dark,:root[data-theme=light] .theme-to-light{display:none}.main{min-width:0;max-width:1180px;padding:28px 26px 48px}.shell h1,.login-page h1,.loading h1{font-family:var(--font-display);font-size:var(--text-heading-lg);letter-spacing:var(--track-title);margin:0 0 4px;font-weight:600}.shell h2{font-family:var(--font-display);font-size:var(--text-heading-sm);letter-spacing:var(--track-heading);margin:0 0 14px;font-weight:600}.subtitle{color:var(--muted);max-width:62ch;margin:0 0 28px}.shell .empty{color:var(--muted);max-width:62ch;margin:0}.shell .cell-note{color:var(--muted);font-size:var(--text-body-sm);margin-top:4px}.shell .points{max-width:78ch;margin:16px 0 0;padding-left:20px}.shell .points li{margin-bottom:6px}.shell .points li:last-child{margin-bottom:0}.shell .page-head{margin-bottom:28px}.shell .page-head .subtitle{margin-bottom:0}.card{background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-tile);padding:20px}.shell table,.login-page table{border-collapse:collapse;width:100%}.shell th,.login-page th{text-align:left;font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);padding:0 12px 10px;font-size:11px;font-weight:500}.shell td,.login-page td{border-top:1px solid var(--line);padding:12px}.tabular{font-family:var(--font);font-variant-numeric:tabular-nums}.shell :is(code,kbd,samp),.login-page :is(code,kbd,samp){font-family:var(--font-mono);font-size:.92em}.badge{border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.badge-overdue:before,.badge-soon:before{content:"";flex:none;width:10px;height:10px}.badge-overdue:before{background:var(--critical);clip-path:polygon(50% 0,100% 100%,0 100%)}.badge-soon:before{background:var(--warning);box-shadow:inset 0 0 0 1.5px var(--warning-stroke);border-radius:50%}.shell a.badge{border-color:var(--control-line);min-height:24px;color:var(--text);align-items:center;display:inline-flex}.shell a.badge:hover{background:var(--well);text-decoration:none}.shell :is(input,select,textarea),.login-page :is(input,select,textarea){background:var(--field);border:1px solid var(--control-line);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font);transition:border-color var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out);padding:10px 12px;font-size:15px}.shell :is(input:not([type=checkbox],[type=radio],[type=file]),select,textarea):focus-visible,.login-page :is(input:not([type=checkbox],[type=radio],[type=file]),select,textarea):focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 0 5px var(--accent-soft);outline:none}.shell :is(input,textarea)::placeholder,.login-page :is(input,textarea)::placeholder{color:var(--faint)}.shell :is(input[type=checkbox],input[type=radio]),.login-page :is(input[type=checkbox],input[type=radio]){accent-color:var(--accent)}.shell label,.login-page label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.field{margin-bottom:14px}.disclosure{margin-top:16px}.disclosure>summary{cursor:pointer;border-radius:var(--radius);border:1px solid var(--control-line);background:var(--field);width:fit-content;color:var(--text);-webkit-user-select:none;user-select:none;transition:border-color var(--dur-hover) var(--ease-out);align-items:center;gap:8px;padding:9px 16px;font-size:15px;font-weight:600;list-style:none;display:inline-flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:hover{border-color:var(--muted)}@media (prefers-reduced-motion:no-preference){.disclosure[open]>:not(summary){animation:panel-in var(--dur-lift) var(--ease-out)}}@keyframes panel-in{0%{opacity:0;transform:translateY(-4px)}}.disclosure>summary .chevron{transition:transform var(--dur-hover) var(--ease-out)}.disclosure[open]>summary .chevron{transform:rotate(90deg)}.disclosure>form{margin-top:16px}.shell button,.login-page button{border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out);border:1px solid #0000;padding:9px 16px}.shell button:hover,.login-page button:hover{box-shadow:0 0 0 6px var(--glow)}@media (prefers-reduced-motion:no-preference){.shell button:active:not(:disabled),.login-page button:active:not(:disabled){transform:scale(.97)}}.shell button:disabled,.login-page button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.shell button.secondary,.login-page button.secondary{background:var(--field);border-color:var(--control-line);color:var(--text)}.shell button.secondary:hover:not(:disabled),.login-page button.secondary:hover:not(:disabled){border-color:var(--muted);box-shadow:none}.login-page button.secondary{background:0 0}[data-surface=app]{--font:var(--font-inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font);--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, monospace;--text-heading-lg:28px;--text-heading:20px;--text-heading-sm:17px;--text-body-sm:13px;--text-caption:11px;--text-figure:28px;--track-title:-.03em;--track-heading:-.015em;--track-figure:-.035em;--track-eyebrow:.05em;--radius:12px;--radius-lg:20px;--radius-dialog:22px;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-press:.12s;--dur-hover:.2s;--dur-lift:.3s;--dur-reveal:.8s;color:var(--text);font-family:var(--font)}[data-surface=app] .login-page :is(input,select,textarea){padding:11px 12px}[data-surface=app] .login-org{letter-spacing:var(--track-title)}.shell.staff .sidebar nav a[href=\/security]{margin-top:14px}@media (max-width:800px){.shell.staff .sidebar nav:after{content:"";flex-basis:100%;order:1}.shell.staff .sidebar nav a[href=\/security],.shell.staff .sidebar nav form{order:2}.shell.staff .sidebar nav a[href=\/security]{margin-top:4px}}.shell.staff .sparkline{width:100%;height:34px;margin-top:8px;display:block}.shell.staff .chart-frame{outline-offset:3px;overflow-x:auto}.shell.staff .chart-frame:focus-visible{outline:2px solid var(--accent)}.shell.staff .chart{width:100%;min-width:640px;max-width:720px;height:auto;display:block}.shell.staff .chart .grid{stroke:var(--line);stroke-width:1px}.shell.staff .chart .axis{font:11px var(--font);font-variant-numeric:tabular-nums;fill:var(--faint)}.shell.staff .hit{cursor:default}.shell.staff .chart .dot{transition:r var(--dur-press) var(--ease-out)}.shell.staff .chart .pt:hover .dot{r:6px}.shell.staff .chart .col:hover .bar{filter:brightness(1.15)}.shell.staff .ranked{gap:8px;margin:0;padding:0;list-style:none;display:grid}.shell.staff .ranked li{grid-template-columns:minmax(96px,9rem) 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.shell.staff .ranked-label a{color:inherit;text-underline-offset:3px;text-decoration:underline}.shell.staff .ranked-track{height:10px}.shell.staff .ranked-bar{background:var(--series);border-radius:0 4px 4px 0;height:10px;display:block}.shell.staff .ranked li:hover .ranked-bar{filter:brightness(1.15)}.shell.staff .ranked-value{font-variant-numeric:tabular-nums}.shell.staff .ranked-note{color:var(--muted);grid-column:1/-1;font-size:12px}.shell.staff .table-view{margin-top:10px;font-size:13px}.shell.staff .table-view summary{cursor:pointer;color:var(--text);text-underline-offset:3px;text-decoration:underline}.shell.staff .table-view td{text-align:right;font-variant-numeric:tabular-nums}.shell.staff .table-view th[scope=row]{text-transform:none;letter-spacing:0;font-family:var(--font);color:var(--text);border-top:1px solid var(--line);padding:12px;font-size:13px}@media (max-width:800px){.shell.staff .table-view th[scope=row]{border-top:0;padding:0 0 4px}}.shell.staff .ov-top{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.shell.staff .ov-top h1{margin:0}.shell.staff .ov-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.shell.staff .ov-tile,.shell.staff .ov-card{background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-tile);padding:18px 20px}.shell.staff .ov-tile{color:var(--text);flex-direction:column;text-decoration:none;display:flex}.shell.staff a.ov-tile{transition:transform var(--dur-lift) var(--ease-out), border-color var(--dur-hover) var(--ease-out)}.shell.staff a.ov-tile:hover{border-color:var(--control-line);text-decoration:none}@media (prefers-reduced-motion:no-preference){.shell.staff a.ov-tile:hover{transform:translateY(-2px)}}.shell.staff .ov-k{min-height:22px;font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.shell.staff .ov-k .chip{text-transform:none;letter-spacing:0}.shell.staff .ov-v{font-family:var(--font-display);font-size:var(--text-figure);letter-spacing:var(--track-figure);font-variant-numeric:tabular-nums;margin:6px 0 2px;font-weight:600;line-height:1.15}.shell.staff .ov-v small{font-family:var(--font);letter-spacing:0;color:var(--muted);font-size:15px;font-weight:400}.shell.staff .ov-note{color:var(--muted);font-size:12px}.shell.staff .ov-note b{color:var(--text);font-weight:600}.shell.staff .ov-trend{vertical-align:-2px;color:var(--accent);margin-right:3px;display:inline-flex}.shell.staff .ov-tile .sparkline{overflow:visible}.shell.staff .ov-progress{background:var(--well);border-radius:4px;height:6px;margin-top:12px;display:block;overflow:hidden}.shell.staff .ov-progress i{background:var(--series);border-radius:4px;height:100%;display:block}.shell.staff .ov-grid{grid-template-columns:1.45fr 1fr;align-items:start;gap:14px;margin-bottom:14px;display:grid}.shell.staff .ov-stack{gap:14px;margin-bottom:14px;display:grid}.shell.staff .ov-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:10px;display:flex}.shell.staff .ov-head h2{margin:0}.shell.staff .ov-link{font-size:12px;font-weight:500}.shell.staff .ov-empty{color:var(--muted);margin:8px 0}.shell.staff .attention{margin:0;padding:0;list-style:none}.shell.staff .attention li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;display:grid}.shell.staff .attention li:first-child{border-top:0}.shell.staff .attention .t{font-size:13px;font-weight:500;display:block}.shell.staff .attention .s{color:var(--muted);font-size:12px;display:block}.shell.staff .attention .ov-end{align-items:center;gap:12px;display:flex}.shell.staff a.ov-action{border:1px solid var(--control-line);background:var(--field);color:var(--text);white-space:nowrap;transition:border-color var(--dur-hover) var(--ease-out);border-radius:10px;align-items:center;padding:6px 11px;font-size:12.5px;font-weight:500;display:inline-flex}.shell.staff a.ov-action:hover{border-color:var(--muted);text-decoration:none}.shell.staff .chip{border:1px solid var(--line);background:var(--field);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-size:11.5px;display:inline-flex}.shell.staff .attention .chip{padding-left:8px}.shell.staff .status-icon{color:var(--muted);flex:none}.shell.staff .chip .status-icon{width:12px;height:12px}.shell.staff .ov-facts{border-top:1px solid var(--line);gap:7px;margin:12px 0 0;padding-top:10px;display:grid}.shell.staff .ov-facts div{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.shell.staff .ov-facts dt{color:var(--muted);flex:none;font-size:12px}.shell.staff .ov-facts dd{text-align:right;min-width:0;margin:0;font-size:12px}.shell.staff .ov-facts .chip{text-overflow:ellipsis;max-width:100%;overflow:hidden}.shell.staff .legend{color:var(--muted);align-items:center;gap:14px;font-size:11.5px;display:flex}.shell.staff .report-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,680px),1fr));gap:14px;display:grid}.shell.staff .report-grid .ov-card>.ov-v{margin:0 0 4px}.shell.staff .report-figures{flex-wrap:wrap;gap:8px 40px;margin:0 0 8px;display:flex}.shell.staff .report-figures dd{margin:2px 0 0}.shell.staff .filter-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.shell.staff .chip-link{border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:999px;align-items:center;padding:5px 12px;font-size:12.5px;text-decoration:none;display:inline-flex}.shell.staff .chip-link:hover{border-color:var(--control-line);text-decoration:none}.shell.staff .chip-link.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.shell.staff .client-band{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start;gap:14px;margin:0 0 20px;display:grid}.shell.staff .band-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));min-width:0;box-shadow:var(--shadow-tile);padding:16px 18px}.shell.staff .band-group h3{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin:0 0 10px;font-size:11px;font-weight:500}.shell.staff .band-facts{gap:10px;margin:0;display:grid}.shell.staff .band-facts dt{color:var(--muted);font-size:12px}.shell.staff .band-facts dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:13.5px}.shell.staff .band-facts a{text-underline-offset:2px;text-decoration:underline}.shell.staff .band-line{display:block}.shell.staff .band-mark{align-items:center;gap:6px;display:inline-flex}.shell.staff .band-mark.band-line{display:flex}.shell.staff .band-figures{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.shell.staff a.band-figure{color:var(--text);transition:background-color var(--dur-hover) var(--ease-out);border-radius:10px;gap:1px;margin:0 -8px;padding:5px 8px;text-decoration:none;display:grid}.shell.staff a.band-figure:hover{background:var(--well);text-decoration:none}.shell.staff .band-k,.shell.staff .band-note{color:var(--muted);font-size:12px}.shell.staff .band-v{font-family:var(--font-display);letter-spacing:var(--track-figure);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:1.2}.shell.staff .band-actions{flex-wrap:wrap;gap:8px;display:flex}.shell.staff .band-actions form{margin:0}.shell.staff .band-actions>form>button.secondary,.shell.staff .band-actions>button.secondary{border-radius:10px;padding:6px 11px;font-size:12.5px;font-weight:500}.shell.staff .client-tabs{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin:0 0 20px;padding:4px;display:flex}.shell.staff .client-tabs a{min-height:34px;color:var(--muted);transition:background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out);border-radius:9px;align-items:center;padding:6px 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.shell.staff .client-tabs a:hover{background:var(--well);color:var(--text);text-decoration:none}.shell.staff .client-tabs a[aria-current=page]{background:linear-gradient(var(--field), var(--field)), var(--raised);box-shadow:var(--shadow-segment);color:var(--text);font-weight:650}:root[data-theme=light] .shell.staff .client-tabs{background:var(--canvas)}.shell .field-hint{color:var(--muted);margin:4px 0 0;font-size:12.5px;line-height:1.45}.shell .status-mark{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.shell .status-mark svg{flex:none}.shell .pre-line{white-space:pre-line}.shell .invoice-head{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.shell .invoice-total{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;margin:12px 0 0;padding-top:12px;display:flex}.shell .invoice-total strong{letter-spacing:var(--track-figure);font-size:24px;font-weight:600}.shell.staff .invoice-page{gap:20px;display:grid}.shell.staff .invoice-page .subtitle a{text-underline-offset:2px;text-decoration:underline}.shell.staff .invoice-list-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.shell.staff .new-invoice{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.shell.staff .new-invoice .field{min-width:min(100%,240px);margin:0}.shell.staff .section-action{margin-left:auto}.shell.staff .section-head:has(>.section-action){flex-wrap:wrap}.shell.staff .section-action button{white-space:nowrap}.shell.staff .invoice-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;margin:0;display:grid}.shell.staff .invoice-facts dt{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);font-size:11px;font-weight:500}.shell.staff .invoice-facts dd{overflow-wrap:anywhere;margin:2px 0 0}.shell.staff .line-editor{margin:0 0 12px;padding:0;list-style:none}.shell.staff .line-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 96px 120px 110px auto;align-items:end;gap:8px 10px;padding:12px 0;display:grid}.shell.staff .line-row .field{min-width:0;margin:0}.shell.staff .line-row input{width:100%}.shell.staff .line-total{text-align:right;font-variant-numeric:tabular-nums;margin:0;padding-bottom:9px}.shell.staff .line-total-caption{display:none}.shell.staff .line-actions{gap:4px;display:flex}.shell.staff .line-actions button{border-radius:10px;min-height:32px;padding:4px 10px}.shell.staff .running-total{border-top:1px solid var(--line);font-size:var(--text-heading-sm);letter-spacing:var(--track-heading);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;margin:14px 0 4px;padding-top:12px;font-weight:600;display:flex}.shell.staff .running-total+.field-hint{margin-bottom:16px}.shell.staff .invoice-actions-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}@media (max-width:700px){.shell.staff .line-row{grid-template-columns:repeat(3,minmax(0,1fr))}.shell.staff .line-row .line-description,.shell.staff .line-row .line-actions{grid-column:1/-1}.shell.staff .line-total{text-align:left;padding-bottom:0}.shell.staff .line-total-caption{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}}.shell.staff .invoice-actions-row>.send-blocked{flex-basis:100%;order:1;margin:0}.shell.staff dialog.send-confirm{border:1px solid var(--line);border-radius:var(--radius-dialog);background:var(--raised);width:min(520px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);box-shadow:var(--shadow-dialog);padding:22px;overflow:auto}.shell.staff dialog.send-confirm::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shell.staff dialog.send-confirm h2{margin:0 0 10px}.shell.staff .recipients{border:0;margin:14px 0;padding:0}.shell.staff .recipients legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:13px}.shell.staff .recipient{overflow-wrap:anywhere;align-items:flex-start;gap:8px;padding:6px 0;display:flex}.shell.staff .recipient input{flex:none;width:auto;margin:3px 0 0}.shell.staff .recipient label{color:var(--text);margin:0;font-size:14px}.shell.staff .delivery-address{overflow-wrap:anywhere}.shell.staff .record-actions{gap:18px;display:grid}.shell.staff .record-actions h2{margin:0}.shell.staff .mark-paid,.shell.staff .email-another{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.shell.staff .email-another{margin-top:18px}.shell.staff .mark-paid .field,.shell.staff .email-another .field{min-width:min(100%,200px);margin:0}.shell.staff .email-another select{max-width:100%}.shell.staff .mark-paid>p{flex-basis:100%;margin:0}.shell.staff .legend .sw{vertical-align:middle;border-radius:2px;width:12px;height:8px;margin-right:5px;display:inline-block}.shell.staff .products{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 18px;margin:0;padding:0;list-style:none;display:grid}.shell.staff .products .t{font-size:13px;font-weight:500;display:block}.shell.staff .products .s{color:var(--muted);font-size:12px;display:block}.shell.staff .pbar{gap:2px;height:10px;margin:8px 0 6px;display:flex}.shell.staff .pbar>span:first-child{border-radius:4px 0 0 4px}.shell.staff .pbar>span:last-child{border-radius:0 4px 4px 0}.shell.staff .pbar>span:only-child{border-radius:4px}.shell.staff .pbar>.rest:only-child{background:var(--well)}.shell.staff .pbar .paid,.shell.staff .legend .sw.paid{background:var(--series)}.shell.staff .pbar .trial,.shell.staff .legend .sw.trial{background:repeating-linear-gradient(45deg, var(--series) 0 1.5px, var(--tile-bottom) 1.5px 4px);border:1px solid var(--series)}@media (max-width:1200px){.shell.staff .ov-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.shell.staff .ov-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.shell.staff .ov-top h1{font-size:26px}.shell.staff .ov-tiles{gap:10px}.shell.staff .ov-tile{padding:14px}.shell.staff .ov-k{flex-wrap:wrap}.shell.staff .ov-v{font-size:24px}.shell.staff .ov-v small{font-size:13px}.shell.staff .ov-card{padding:16px 14px}.shell.staff .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.shell.staff .attention li{grid-template-columns:auto minmax(0,1fr);row-gap:8px}.shell.staff .attention .ov-end{grid-column:2;justify-content:space-between}}.login-page{place-items:center;min-height:100vh;padding:48px 24px;display:grid;position:relative;overflow:hidden}:root[data-theme=dark] .login-page:before{content:"";pointer-events:none;background:radial-gradient(60% 60% at 50% 0%, var(--glow), transparent 70%);opacity:.6;height:70vh;position:absolute;inset:0 0 auto}.login-card{width:100%;max-width:400px;position:relative}.login-card .card{margin-top:24px}.login-head{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:20px}.login-page .login-form button{width:100%;min-height:46px;margin-top:4px;display:block}.login-eyebrow{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin:0 0 6px;font-size:11px;font-weight:500}.login-org{font-size:var(--text-heading-lg);letter-spacing:-.018em;text-wrap:balance;overflow-wrap:anywhere;line-height:1.15}.login-forget{text-align:left;margin-top:20px}.login-page .login-forget button,.login-page .login-forget button:hover{width:auto;min-height:32px;box-shadow:none;font-family:var(--font);color:var(--muted);text-underline-offset:3px;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0 4px;font-size:13px;font-weight:400;text-decoration:underline;display:inline-flex}.login-page .login-forget button:hover,.login-page .login-forget button:focus-visible{color:var(--accent)}.error{color:var(--text);margin-bottom:12px;padding-left:22px;font-size:14px;position:relative}.error:before{content:"";background:var(--critical);clip-path:polygon(50% 0,100% 100%,0 100%);width:14px;height:13px;position:absolute;top:.2em;left:0}.loading{opacity:.6;place-items:center;padding:64px;display:grid}@keyframes aperture-open{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.aperture-mark{transform-origin:50%;animation:aperture-open var(--dur-reveal) var(--ease-out) both}}@media (prefers-reduced-motion:reduce){.aperture-mark{animation:none}.disclosure>summary .chevron,.portal .frame{transition:none}.portal .frame:hover{transform:none}.portal .frame:has(.frame-open:focus-visible){transform:none}}@media (max-width:800px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:14px 16px;position:static;overflow:visible}.sidebar nav{flex-flow:wrap;margin-top:14px}.sidebar .nav-group{flex-basis:100%;margin:8px 10px 0}.sidebar-foot{padding-top:6px}.main{padding:20px 16px 40px}.shell table,.shell tbody,.shell th,.shell tr{display:block}.shell thead{display:none}.shell td{text-align:right;border-top:0;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;display:flex}.shell td[data-label]:before{content:attr(data-label);font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);text-align:left;flex:none;font-size:11px;font-weight:500}.shell tr{border-top:1px solid var(--line);padding:12px 0;display:block}.shell:not(.portal) td.tabular,.shell:not(.portal) .notice code{overflow-wrap:anywhere}.portal .invoice-actions{margin-left:auto}}.index-rule{height:var(--rule-height);margin:16px 0 18px;position:relative}.index-rule-track{left:0;right:0;bottom:var(--rule-baseline);background:var(--rule-tick);height:1px;position:absolute}.index-rule-track:after{content:"";height:var(--rule-tick-minor);background-image:repeating-linear-gradient(to right, var(--rule-tick) 0 1px, transparent 1px calc(100% / 12));position:absolute;top:0;left:0;right:0}.index-rule-mark{bottom:var(--rule-baseline);width:var(--rule-mark-width);height:var(--rule-mark-height);margin-left:calc(var(--rule-mark-width) / -2);background:var(--series);animation:rule-settle var(--dur-lift) var(--ease-out) both;border-radius:1px;position:absolute}.index-rule-mark.is-soon{width:var(--rule-mark-wide);margin-left:calc(var(--rule-mark-wide) / -2);background:var(--warning);box-shadow:inset 0 0 0 1.5px var(--warning-stroke)}.index-rule-mark.is-overdue{background:var(--critical);height:calc(var(--rule-mark-height) + 4px)}.index-rule-ends{font-family:var(--font);font-size:var(--text-caption);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--faint);justify-content:space-between;display:flex;position:absolute;bottom:0;left:0;right:0}@keyframes rule-settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.index-rule-mark{animation:none}}.shell .console{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.shell .stat{background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-tile);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.shell .stat-label{font-family:var(--font);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);font-weight:500}.shell .stat-value{font-family:var(--font);font-size:var(--text-figure);letter-spacing:var(--track-figure);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.shell .stat-note{font-size:var(--text-body-sm);color:var(--muted)}.shell .stat-lines{flex-direction:column;gap:4px;display:flex}.shell .stat-line{align-items:baseline;gap:8px;display:flex}.shell .stat-line-value{font-family:var(--font);font-size:var(--text-heading);letter-spacing:var(--track-heading);font-weight:600}.shell .section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.shell .section-head h2{font-family:var(--font-display);font-size:var(--text-heading-sm);letter-spacing:var(--track-heading);margin:0;font-weight:600}.shell .section-count{font-family:var(--font);font-size:var(--text-body-sm);color:var(--muted);flex-shrink:0}.shell .filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.shell .filter-bar-label{font-family:var(--font);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin-right:2px;font-weight:500}.shell .filter{border:1px solid var(--control-line);min-height:32px;color:var(--text);font-size:var(--text-body-sm);transition:border-color var(--dur-hover) var(--ease-out), background-color var(--dur-hover) var(--ease-out);border-radius:999px;align-items:center;padding:4px 14px;font-weight:500;display:inline-flex}.shell .filter:hover{border-color:var(--muted);text-decoration:none}.shell .filter[aria-current=page]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.shell .crumb{margin:0 0 10px}.shell .crumb a{min-height:32px;font-size:var(--text-body-sm);align-items:center;display:inline-flex}.shell .timeline{margin:0;padding:0;list-style:none}.shell .timeline li{border-top:1px solid var(--line);padding:12px 0}.shell .timeline li:first-child{border-top:0;padding-top:0}.shell .timeline-when{font-family:var(--font);font-size:var(--text-caption);font-variant-numeric:tabular-nums;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--faint);margin-top:4px;display:block}@media (max-width:800px){.shell .console{grid-template-columns:1fr}}.portal .main{max-width:none;min-height:100vh}.portal .main>*{max-width:980px}.portal .main button.secondary{color:var(--text)}.portal .main button.secondary:hover:not(:disabled){background:var(--well)}.portal .main .card{border-color:var(--line)}.shell input[type=file]{padding:7px 9px}.shell input[type=file]::file-selector-button{border:1px solid var(--control-line);border-radius:var(--radius);background:var(--field);color:var(--text);font-family:var(--font);cursor:pointer;margin-right:10px;padding:6px 12px;font-size:14px;font-weight:600}.shell input[type=file]::file-selector-button:hover{background:var(--well)}.portal p a,.portal .record-note a{text-underline-offset:2px;text-decoration:underline}.portal-org{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin:14px 0 0;font-size:11px}.overdue-flag{background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:inset 3px 0 0 var(--critical), var(--shadow-tile);flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:28px;padding:14px 20px;display:flex}.overdue-flag-body{flex:260px;margin:0}.record-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:28px;display:grid}.record-strip>div{border-left:1px solid var(--line);padding:18px 20px 18px 0}.record-strip>div:not(:first-child){padding-left:20px}.record-strip>div:first-child{border-left:0}.record-label{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin-bottom:8px;font-size:11px;display:block}.record-value{font-size:16px;font-weight:550;line-height:1.35}.record-note{color:var(--muted);margin-top:4px;font-size:13px;display:block}.portal h2{font-family:var(--font-display);font-size:var(--text-heading-sm);letter-spacing:var(--track-heading);margin:0 0 14px;font-weight:600}.panel-eyebrow{font-family:var(--font);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin:0 0 6px;font-weight:500}.portal .panel{margin-bottom:28px;padding:22px 24px}.portal .split{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px;display:grid}.portal .split>.card{margin-bottom:0}.portal .masthead{background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));border:1px solid var(--line);border-radius:var(--radius-dialog);box-shadow:var(--shadow-tile);color:var(--text);margin-bottom:28px;padding:30px 30px 26px;position:relative;overflow:hidden}:root[data-theme=dark] .portal .masthead{background:radial-gradient(60% 90% at 92% 0%, color-mix(in srgb, var(--glow) 50%, transparent), transparent 70%), linear-gradient(180deg, var(--tile-top), var(--tile-bottom))}.portal .masthead>*{position:relative}.portal .masthead-eyebrow{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin:0 0 10px;font-size:11px;font-weight:500}.portal .masthead h1{letter-spacing:var(--track-title);color:var(--text);margin:0;font-size:34px;line-height:1.1}.portal .masthead-since{color:var(--muted);margin:6px 0 0;font-size:15px}.portal .masthead a{color:var(--accent)}.portal .masthead a:hover{color:var(--accent);text-decoration:underline}.portal .masthead :focus-visible{outline-color:var(--accent)}.portal .sheet{margin-top:26px}.portal .sheet-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:14px;padding-bottom:12px;display:flex}.portal .sheet-heading{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin:0;font-size:11px;font-weight:500}.portal .sheet-caption{color:var(--muted);margin:0;font-size:13px}.portal .sheet-grid{grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:14px;display:grid}.portal .sheet-empty{color:var(--muted);max-width:52ch;margin:0}.portal .sheet-ended{color:var(--muted);margin:14px 0 0;font-size:14px}.portal .frame{background:var(--raised);border:1px solid var(--line);transition:border-color var(--dur-hover) var(--ease-out), transform var(--dur-lift) var(--ease-out);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.portal .frame:hover{border-color:var(--accent);transform:translateY(-2px)}.portal .frame:has(.frame-open:focus-visible){border-color:var(--accent);transform:translateY(-2px)}.portal .frame-media{aspect-ratio:16/10;background:var(--canvas);display:block;position:relative;overflow:hidden}.portal .frame-video{object-fit:cover;width:100%;height:100%;display:block}.portal .frame-blank{background:radial-gradient(circle at 50% 40%, var(--well) 0%, transparent 70%), var(--raised);place-items:center;width:100%;height:100%;display:grid}.portal .frame-monogram{font-family:var(--font-display);color:var(--faint);font-size:44px;font-weight:600}.portal .frame-caption{padding:12px 14px 14px}.portal .frame-caption h3{color:var(--text);margin:0;font-size:15px;font-weight:600}.portal .frame-tagline{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.35}.portal .frame-note{font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--muted);margin:8px 0 0;font-size:11px}.portal .frame-aside{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.35}.portal .frame-open{color:var(--text);text-decoration:none}.portal .frame-open:after{content:"";position:absolute;inset:0}.portal .frame:hover .frame-open,.portal .frame-open:focus-visible{color:var(--accent);text-decoration:none}.portal .frame-open:focus-visible{outline:none}.portal .frame:has(.frame-open:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.portal .frame-visit{margin:8px 0 0;font-size:13px}.portal .frame .frame-visit-link{z-index:1;min-height:24px;color:var(--muted);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex;position:relative}.portal .frame .frame-visit-link:hover,.portal .frame .frame-visit-link:focus-visible{color:var(--accent)}.portal .stands{background:var(--line);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.portal .stands>div{background:var(--raised);padding:12px 14px 13px}.portal .stands dt{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);font-size:11px;font-weight:500}.portal .stands dd{margin:5px 0 0;font-size:15px;line-height:1.4}.portal .stands .stands-note{font-family:var(--font);color:var(--muted);margin-top:2px;font-size:13px;display:block}.portal .app-lead{grid-template-columns:4fr 5fr;gap:18px;margin-top:26px;display:grid}.portal .app-facts{background:var(--line);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:1px;margin:0;display:grid;overflow:hidden}.portal .app-facts>div{background:var(--raised);padding:14px 16px 15px}.portal .app-facts dt{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);font-size:11px;font-weight:500}.portal .app-facts dd{color:var(--text);margin:6px 0 0;font-size:15px;line-height:1.45}.portal .app-status{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.portal .app-status-live{color:var(--text);background:var(--accent-soft);border-color:var(--accent)}.portal .frame-open-line{margin:0;font-size:15px;font-weight:600}.portal .named-people{flex-wrap:wrap;gap:8px 10px;margin:0 0 4px;padding:0;list-style:none;display:flex}.portal .named-people li{background:var(--well);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.portal .named-person{font-size:14px;font-weight:500}.portal .does-list{gap:7px;margin:0;padding-left:20px;display:grid}.portal .does-list li{font-size:15px;line-height:1.5}@media (max-width:720px){.portal .app-lead,.portal .app-facts{grid-template-columns:minmax(0,1fr)}}.portal .ahead{margin:0;padding:0;list-style:none}.portal .ahead-row{border-top:1px solid var(--line);grid-template-columns:20px 104px minmax(150px,1.1fr) minmax(90px,1fr) 72px;align-items:center;gap:14px;padding:11px 0;display:grid}.portal .ahead-row:first-child{border-top:0;padding-top:2px}.portal .ahead-mark{color:var(--accent);display:flex}.portal .ahead-date{color:var(--text);font-size:13px}.portal .ahead-what{color:var(--muted);font-size:14px}.portal .ahead-what strong{color:var(--text);font-weight:550}.portal .ahead-track{background:var(--line);border-radius:2px;height:3px;position:relative}.portal .ahead-dot{background:var(--series);width:9px;height:9px;box-shadow:0 0 0 2px var(--tile-bottom);border-radius:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.portal .ahead-when{font-family:var(--font);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap;font-size:11px}.portal .chart-pair{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;display:grid}.portal .chart-cell h3{font-family:var(--font-display);margin:0 0 3px;font-size:14px;font-weight:600}.portal .chart-note{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.4}.portal .chart{margin:0}.portal .chart-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin:0 0 12px;font-size:12px;display:flex}.portal .chart-key{align-items:center;gap:6px;display:inline-flex}.portal .chart-swatch{border-radius:2px;width:10px;height:10px}.portal .chart-swatch-done{background:var(--series)}.portal .chart-swatch-open{background:var(--series-2)}.portal .chart-plot{border-bottom:1px solid var(--line);align-items:flex-end;gap:10px;height:128px;display:flex}.portal .chart-stack{flex-direction:column;flex:1;justify-content:flex-end;gap:2px;max-width:26px;height:100%;margin:0 auto;display:flex}.portal .chart-fill{min-height:3px;display:block}.portal .chart-fill:first-child{border-radius:4px 4px 0 0}.portal .chart-fill-done{background:var(--series)}.portal .chart-fill-open{background:var(--series-2)}.portal .chart-ticks{gap:10px;margin-top:8px;display:flex}.portal .chart-tick{text-align:center;font-family:var(--font);font-variant-numeric:tabular-nums;color:var(--muted);flex:1;font-size:11px}.portal .chart-latest{color:var(--muted);margin:12px 0 0;font-size:13px}.portal .chart-single{color:var(--muted);max-width:46ch;margin:0;font-size:14px;line-height:1.5}.portal .chart-latest-value{font-family:var(--font);font-variant-numeric:tabular-nums;color:var(--text);font-size:15px;font-weight:500}.portal .chart-table{margin-top:14px}.portal .chart-table>summary{border-color:var(--control-line);padding:6px 12px;font-size:13px;font-weight:500}.portal .chart-table table{margin-top:12px}.portal .chart-table-month{font-family:var(--font);text-transform:none;letter-spacing:0;color:var(--text);border-top:1px solid var(--line);padding:12px;font-size:14px;font-weight:500}.portal .contact-list{margin:0;padding:0;list-style:none}.portal .contact-list li{border-top:1px solid var(--line);gap:12px;padding:14px 0;display:flex}.portal .contact-list li:first-child{border-top:0;padding-top:0}.portal .contact-mark{color:var(--accent);flex:none;margin-top:2px;display:flex}.portal .contact-body{flex-direction:column;gap:2px;min-width:0;display:flex}.portal .contact-name{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.portal .contact-role{color:var(--muted);font-size:13px}.portal .contact-link{word-break:break-word;min-height:24px;font-size:13px;line-height:24px}.portal .invoice-headline{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 6px;display:flex}.portal .invoice-amount{letter-spacing:var(--track-figure);color:var(--text);font-size:24px;font-weight:600}.portal .ask-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0;list-style:none;display:grid}.portal .ask-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));height:100%;box-shadow:var(--shadow-tile);color:var(--text);transition:transform var(--dur-lift) var(--ease-out), border-color var(--dur-hover) var(--ease-out);flex-direction:column;gap:6px;padding:16px;text-decoration:none;display:flex}.portal .ask-card:hover,.portal .ask-card:focus-visible{border-color:var(--accent);text-decoration:none}@media (prefers-reduced-motion:no-preference){.portal .ask-card:hover,.portal .ask-card:focus-visible{transform:translateY(-2px)}}.portal .ask-mark{color:var(--accent);display:flex}.portal .ask-name{font-size:15px;font-weight:600}.portal .ask-blurb{color:var(--muted);font-size:13px;line-height:1.4}.portal #raise form{max-width:58ch}.portal .kind-notes{border-left:2px solid var(--line);max-width:62ch;color:var(--muted);gap:6px;margin:0 0 20px;padding:2px 0 2px 14px;font-size:14px;list-style:none;display:grid}.portal .kind-notes strong{color:var(--text);font-weight:550}.portal tr.is-overdue td:first-child{box-shadow:inset 3px 0 0 var(--critical)}.shell .notice{border-left:2px solid var(--line);color:var(--muted);max-width:62ch;margin:0 0 20px;padding:2px 0 2px 14px}.shell .notice strong{color:var(--text);font-weight:550}.shell .sandbox-products{gap:6px;margin:0;padding:0;list-style:none;display:grid}.shell .sandbox-products li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shell .sandbox-products .cell-note{flex-basis:100%;margin-top:0}.shell .sandbox-products .badge,.shell .sandbox-ends .tabular{white-space:nowrap}.shell .sandbox-prospect .cell-note{overflow-wrap:anywhere}.shell .sandbox-prospect{min-width:170px}.shell .sandbox-controls{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;display:flex}.shell .sandbox-controls form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shell .sandbox-controls .cell-note{flex-basis:100%;margin-top:0}.shell .sandbox-controls button{white-space:nowrap}.shell .sandbox-products-field{border:0;min-width:0;margin:0 0 14px;padding:0}.shell .sandbox-products-field legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:13px;display:block}.shell .sandbox-record th{border-top:1px solid var(--line);vertical-align:top;width:160px;padding:12px}.shell .sandbox-record td{vertical-align:top}.shell .card-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding-top:20px;display:flex}.shell .card-actions button{align-items:center;gap:8px;display:inline-flex}.shell .card-actions+.notice{margin-top:18px;margin-bottom:0}.portal .panel>:not(.notice)+.notice{margin:18px 0 0}.shell .inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shell .inline-form input{flex:12ch;min-width:0}.shell button.secondary.danger:hover:not(:disabled),.shell button.secondary.danger:focus-visible{border-color:var(--critical);box-shadow:0 0 0 4px color-mix(in srgb, var(--critical) 18%, transparent)}.thread{margin:0 0 20px;padding:0;list-style:none}.thread li{border:1px solid var(--line);border-radius:var(--radius);background:var(--well);margin-bottom:10px;padding:12px 14px}.thread li.from-us{border-left:2px solid var(--accent);background:0 0}.thread .who{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);margin-bottom:6px;font-size:11px;display:block}.thread .said{white-space:pre-wrap;margin:0}.portal .invoice-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.portal .receipt-link{align-items:center;min-height:24px;font-size:14px;display:inline-flex}.portal .pay-error{text-align:left;max-width:34ch;margin:0 0 8px;line-height:1.45}.portal .main .card.settling{background:var(--accent-soft);border-color:var(--accent)}.portal .settling .panel-eyebrow{color:var(--text)}.portal .settling h2{margin-bottom:8px}.portal .settling-body{max-width:62ch;margin:0}.portal .receipt-copy{text-underline-offset:2px;align-items:center;min-height:24px;margin-left:10px;font-size:13px;text-decoration:underline;display:inline-flex}.shell .receipt{max-width:620px;padding:32px 34px}.shell .receipt-head{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:20px}.shell .receipt-reference{color:var(--muted);margin:6px 0 0;font-size:13px}.shell .receipt-detail{grid-template-columns:max-content 1fr;align-items:baseline;gap:14px 28px;margin:0;display:grid}.shell .receipt-detail dt{font-family:var(--font);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--faint);font-size:11px;font-weight:500}.shell .receipt-detail dd{margin:0;font-size:16px}.shell .receipt-detail .receipt-amount{letter-spacing:var(--track-figure);font-size:24px;font-weight:600;line-height:1.15}.shell .receipt-address{white-space:pre-line}.shell .receipt-processor{border-top:1px solid var(--line);color:var(--muted);margin:22px 0 0;padding-top:18px;font-size:13px}@media print{.shell{display:block}.shell:before,.shell .sidebar,.shell .no-print{display:none}.shell .main{padding:0}.shell[data-surface=app] .main :is(.card,.stat,.ov-tile,.ov-card){box-shadow:none}.shell .main .receipt{border:0;padding:0}.shell .receipt-processor,.shell .receipt-reference,.shell .receipt-detail dt{color:var(--text)}}.portal a.download{border:1px solid var(--control-line);background:var(--field);min-height:32px;color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:4px 10px;display:inline-flex}.portal a.download:hover{background:var(--well);text-decoration:none}@media (max-width:800px){.record-strip{grid-template-columns:1fr}.record-strip>div,.record-strip>div:not(:first-child){border-left:0;border-top:1px solid var(--line);padding:14px 0}.record-strip>div:first-child{border-top:0}.portal tr.is-overdue td:first-child{box-shadow:none}.portal tr.is-overdue{box-shadow:inset 3px 0 0 var(--critical);padding-left:12px}.sidebar nav form{flex-basis:100%}.portal .split,.portal .chart-pair,.portal .ask-grid{grid-template-columns:1fr}.portal .masthead{padding:22px 18px 20px}.portal .masthead h1{font-size:27px}.portal .panel{padding:18px 16px}.shell .receipt{padding:22px 18px}.shell .receipt-detail{grid-template-columns:1fr;gap:2px}.shell .receipt-detail dd{margin-bottom:14px}.shell .receipt-detail dd:last-child{margin-bottom:0}.portal .sheet-grid{grid-template-columns:repeat(2,1fr);gap:10px}.portal .frame-caption{padding:10px 11px 12px}.portal .frame-tagline{display:none}.portal .ahead-row{grid-template-columns:20px 1fr auto;row-gap:2px;padding:12px 0}.portal .ahead-mark{grid-area:1/1}.portal .ahead-date{grid-area:1/2}.portal .ahead-when{grid-area:1/3}.portal .ahead-what{grid-area:2/2/auto/-1}.portal .ahead-track{display:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.alt-signin{margin-top:26px}.alt-signin-divider{color:var(--muted);margin-bottom:12px;font-size:13px;display:block}.login-page .alt-signin button{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.login-notice{border-left:2px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--well);color:var(--text);margin:0 0 12px;padding:10px 12px;font-size:14px}.login-page .login-disclosure{border-top:1px solid var(--line);margin-top:0}.login-page .login-disclosure:first-of-type{margin-top:26px}.login-page .login-disclosure:last-of-type{border-bottom:1px solid var(--line)}.login-page .login-disclosure>summary{width:100%;min-height:48px;color:var(--text);background:0 0;border:0;border-radius:0;justify-content:flex-start;padding:12px 2px;font-size:14px;font-weight:500}.login-page .login-disclosure>summary:hover{color:var(--accent);background:0 0}.login-page .login-disclosure>form{padding:0 2px 22px}.login-page .login-disclosure>form button{width:100%;min-height:44px;display:block}.shell .archive-banner{border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--tile-top), var(--tile-bottom));box-shadow:var(--shadow-tile);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin:0 0 24px;padding:16px 20px;display:flex}.shell .archive-banner-title{font-family:var(--font-display);font-size:var(--text-heading-sm);letter-spacing:var(--track-heading);color:var(--text);margin:0 0 4px}.shell .archive-banner-note{max-width:62ch;font-size:var(--text-body-sm);color:var(--muted);margin:0}.shell .archive-banner-actions,.shell .row-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:800px){.shell td .row-actions{justify-content:flex-end}}.shell .filter-archived{margin-left:10px}.shell .confirm-dialog{border:1px solid var(--line);border-radius:var(--radius-dialog);background:var(--raised);width:min(520px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);box-shadow:var(--shadow-dialog);padding:24px}.shell .confirm-dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (prefers-reduced-motion:no-preference){.shell dialog[open]{animation:dialog-in var(--dur-lift) var(--ease-out)}.shell dialog[open]::backdrop{animation:backdrop-in var(--dur-lift) var(--ease-out)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes backdrop-in{0%{opacity:0}}.shell .confirm-dialog h2{font-family:var(--font-display);font-size:var(--text-heading);letter-spacing:var(--track-heading);overflow-wrap:anywhere;margin:0 0 10px}.shell .confirm-dialog p{color:var(--muted);margin:0 0 16px}.shell .confirm-dialog label strong{overflow-wrap:anywhere;font-weight:600}.shell .confirm-dialog-running{border-radius:var(--radius);background:var(--well);font-size:var(--text-body-sm);margin:0 0 16px;padding:12px 14px}.shell .confirm-dialog-running p{color:var(--text);margin:0 0 6px}.shell .confirm-dialog-running p:last-child{color:var(--muted);margin:8px 0 0}.shell .confirm-dialog-running ul{margin:0;padding-left:18px}.shell .confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;display:flex}@media (max-width:480px){.shell .confirm-dialog-actions{flex-direction:column-reverse}.shell .confirm-dialog-actions button{width:100%}}.shell.staff button.danger-fill:not(.secondary){background:var(--critical);border-color:var(--critical);color:var(--on-critical)}.shell.staff button.danger-fill:not(.secondary):hover{box-shadow:0 0 0 6px color-mix(in srgb, var(--critical) 22%, transparent)}.shell.staff button.danger-fill:not(.secondary):disabled{background:var(--well);border-color:var(--line);color:var(--muted)}@media (prefers-reduced-motion:reduce){[data-surface=app] *,[data-surface=app] :before,[data-surface=app] :after,[data-surface=app] ::backdrop{transition:none!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}::view-transition{pointer-events:none}@media (prefers-reduced-motion:no-preference){::view-transition-group(*){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}}[data-surface=app] .count{font-variant-numeric:tabular-nums;position:relative}[data-surface=app] .count.is-rolling{-webkit-text-fill-color:transparent}[data-surface=app] .count-roll{white-space:pre;-webkit-text-fill-color:currentColor;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}[data-surface=app] .count-roll>span{height:1lh;position:relative}[data-surface=app] .count-roll>span:before{content:attr(data-c)}[data-surface=app] .count-digit{overflow:hidden}[data-surface=app] .count-digit:before{visibility:hidden}[data-surface=app] .count-digit:after{content:"0\a 1\a 2\a 3\a 4\a 5\a 6\a 7\a 8\a 9";transform:translateY(calc(var(--d) * -1lh));position:absolute;top:0;left:0}@media (prefers-reduced-motion:no-preference){[data-surface=app] .count-digit:after{animation:count-roll var(--dur-reveal) var(--ease-out) both}}@keyframes count-roll{0%{transform:translateY(0)}}
