:root{--line-sage:#5f8f5a;--line-sage-wash:#e6f1e3;--line-sage-ink:#3a6135;--line-sky:#2f7fc4;--line-sky-wash:#e0eefa;--line-sky-ink:#1b5a90;--line-teal:#1f8f82;--line-teal-wash:#dbf2ee;--line-teal-ink:#16665d;--line-amber:#b9820f;--line-amber-wash:#fbefd3;--line-amber-ink:#7a5400;--line-coral:#d0573f;--line-coral-wash:#fce5df;--line-coral-ink:#8f3421;--line-rose:#c24a78;--line-rose-wash:#fbe2eb;--line-rose-ink:#8a2c52;--line-slate:#5b6b80;--line-slate-wash:#e7ebf0;--line-slate-ink:#3b4656;--line-sand:#a2865a;--line-sand-wash:#f3ede1;--line-sand-ink:#654f2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-17:17px;--w-body:400;--w-head:600;--canvas:#fafaf8;--surface:#fff;--sunken:#f3f3f0;--hairline:#e9e8e4;--hairline-strong:#d9d8d3;--shadow:0 1px 2px #1616140a, 0 4px 12px #1616140d;--shadow-lift:0 2px 4px #1616140d, 0 12px 32px #1616141a;--r-s:8px;--r-m:12px;--r-pill:999px;--ink:#191918;--muted:#67665f;--faint:#98978e;--accent:#14342a;--accent-ink:#fff;--accent-green:#175540;--accent-tint:#edf1ee;--good:#1a7f4e;--good-bg:#e9f4ee;--good-tint:#e3f2ea;--warn:#9a5b00;--warn-bg:#faf1e0;--warn-tint:#fdf1de;--bad:#b3261e;--bad-bg:#fbecea;--bad-tint:#fbeae9;--info:#28618f;--info-bg:#e8f1f7;--info-tint:#e8f0f7;--day-bank:#3b82c4;--day-bank-wash:#eef8fc;--day-bank-edge:#b6dce8;--day-staff:#7c4fd0;--day-staff-wash:#f7f1ff;--day-staff-edge:#d8c4f4;--day-shut:#5b6470;--day-shut-wash:#f2f3f5;--day-shut-edge:#cfd4da;--job-cancelled:#b94a48;--job-cancelled-wash:#fff3f4;--job-attention:#b06f0c;--job-attention-wash:#fff7ea;--job-done:#3a8b5a;--job-done-wash:#f2fbf5;--job-cover:#0f766e;--job-cover-wash:#eefbf7;--job-moved:#6b6257;--job-moved-wash:#f6f4f0;--day-bank-ink:#3473ae;--day-staff-ink:#7c4fd0;--day-shut-ink:#5b6470;--job-cancelled-ink:#b94a48;--job-attention-ink:#9e640b;--job-done-ink:#357f53;--job-cover-ink:#0f766e;--label-card:#0a8fa8;--label-card-ink:#006477;--label-card-wash:#d5f5fe;--label-attn:#ab44ad;--label-attn-ink:#822c84;--label-attn-wash:#fde5f8;--label-attn-edge:#f0c2e8;--card-done-fill:#eceee8;--card-done-mark:#46534c;--r-card:10px;--r-ctl:7px;--t-fast:.12s;--t-screen:.18s}:root[data-theme=dark]{--line-sage:#8fbe89;--line-sage-wash:#22301f;--line-sage-ink:#c2e0bd;--line-sky:#6fb2ea;--line-sky-wash:#182a3b;--line-sky-ink:#bcdcf6;--line-teal:#5cc4b7;--line-teal-wash:#15302c;--line-teal-ink:#aee6de;--line-amber:#e8b84f;--line-amber-wash:#33290f;--line-amber-ink:#f3d99b;--line-coral:#f08c78;--line-coral-wash:#3a1f19;--line-coral-ink:#f7c3b8;--line-rose:#e889ad;--line-rose-wash:#3a1c28;--line-rose-ink:#f3c3d6;--line-slate:#9aa8bb;--line-slate-wash:#232a33;--line-slate-ink:#cfd7e2;--line-sand:#d2bb93;--line-sand-wash:#332b1f;--line-sand-ink:#e8dcc4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#17191a;--surface:#1f2224;--sunken:#121415;--hairline:#2d3134;--hairline-strong:#383e44;--shadow:0 1px 3px #00000073;--shadow-lift:0 6px 20px #00000073;--ink:#e8ebe9;--muted:#a2a9a5;--faint:#798079;--accent:#4fa583;--accent-ink:#0c1511;--accent-green:#72c2a0;--accent-tint:#20302a;--good:#85d5ab;--good-bg:#1a2d22;--good-tint:#1d2b23;--warn:#e2b473;--warn-bg:#2f281a;--warn-tint:#312a1c;--bad:#e39189;--bad-bg:#33201d;--bad-tint:#342122;--info:#8ebcda;--info-bg:#1c2a35;--info-tint:#1f2933;--day-bank:#7fb2dd;--day-bank-wash:#1d2328;--day-bank-edge:#2f4a5e;--day-staff:#b79df0;--day-staff-wash:#241d33;--day-staff-edge:#453361;--day-shut:#9aa3ae;--day-shut-wash:#2d3135;--day-shut-edge:#3a4048;--job-cancelled:#e08a88;--job-cancelled-wash:#3b1b21;--job-attention:#e0b070;--job-attention-wash:#33290e;--job-done:#7fc79a;--job-done-wash:#1a2a20;--job-cover:#5ec4b4;--job-cover-wash:#142a27;--job-moved:#a9a094;--job-moved-wash:#26241f;--day-bank-ink:#7fb2dd;--day-staff-ink:#b79df0;--day-shut-ink:#9aa3ae;--job-cancelled-ink:#e08a88;--job-attention-ink:#e0b070;--job-done-ink:#7fc79a;--job-cover-ink:#5ec4b4;--label-card:#4db7ca;--label-card-ink:#99dae7;--label-card-wash:#173439;--label-attn:#d37fd3;--label-attn-ink:#ecbdeb;--label-attn-wash:#402540;--label-attn-edge:#6c406c;--card-done-fill:#242926;--card-done-mark:#c9d3cd}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--line-sage:#8fbe89;--line-sage-wash:#22301f;--line-sage-ink:#c2e0bd;--line-sky:#6fb2ea;--line-sky-wash:#182a3b;--line-sky-ink:#bcdcf6;--line-teal:#5cc4b7;--line-teal-wash:#15302c;--line-teal-ink:#aee6de;--line-amber:#e8b84f;--line-amber-wash:#33290f;--line-amber-ink:#f3d99b;--line-coral:#f08c78;--line-coral-wash:#3a1f19;--line-coral-ink:#f7c3b8;--line-rose:#e889ad;--line-rose-wash:#3a1c28;--line-rose-ink:#f3c3d6;--line-slate:#9aa8bb;--line-slate-wash:#232a33;--line-slate-ink:#cfd7e2;--line-sand:#d2bb93;--line-sand-wash:#332b1f;--line-sand-ink:#e8dcc4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#17191a;--surface:#1f2224;--sunken:#121415;--hairline:#2d3134;--hairline-strong:#383e44;--shadow:0 1px 3px #00000073;--shadow-lift:0 6px 20px #00000073;--ink:#e8ebe9;--muted:#a2a9a5;--faint:#798079;--accent:#4fa583;--accent-ink:#0c1511;--accent-green:#72c2a0;--accent-tint:#20302a;--good:#85d5ab;--good-bg:#1a2d22;--good-tint:#1d2b23;--warn:#e2b473;--warn-bg:#2f281a;--warn-tint:#312a1c;--bad:#e39189;--bad-bg:#33201d;--bad-tint:#342122;--info:#8ebcda;--info-bg:#1c2a35;--info-tint:#1f2933;--day-bank:#7fb2dd;--day-bank-wash:#1d2328;--day-bank-edge:#2f4a5e;--day-staff:#b79df0;--day-staff-wash:#241d33;--day-staff-edge:#453361;--day-shut:#9aa3ae;--day-shut-wash:#2d3135;--day-shut-edge:#3a4048;--job-cancelled:#e08a88;--job-cancelled-wash:#3b1b21;--job-attention:#e0b070;--job-attention-wash:#33290e;--job-done:#7fc79a;--job-done-wash:#1a2a20;--job-cover:#5ec4b4;--job-cover-wash:#142a27;--job-moved:#a9a094;--job-moved-wash:#26241f;--day-bank-ink:#7fb2dd;--day-staff-ink:#b79df0;--day-shut-ink:#9aa3ae;--job-cancelled-ink:#e08a88;--job-attention-ink:#e0b070;--job-done-ink:#7fc79a;--job-cover-ink:#5ec4b4;--label-card:#4db7ca;--label-card-ink:#99dae7;--label-card-wash:#173439;--label-attn:#d37fd3;--label-attn-ink:#ecbdeb;--label-attn-wash:#402540;--label-attn-edge:#6c406c;--card-done-fill:#242926;--card-done-mark:#c9d3cd}}*{box-sizing:border-box}body{font:var(--w-body) var(--fs-14)/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color:var(--ink);background:var(--canvas);-webkit-text-size-adjust:100%;margin:0}h1,h2,h3,strong{font-weight:var(--w-head)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}a,button,input,select,textarea,summary,.card,.hub-card,.list-row,.job-link,.cal-day,.cal-nav,.seg,.type-option{transition:background-color var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t-fast) ease, opacity var(--t-fast) ease, transform var(--t-fast) ease, filter var(--t-fast) ease}button:not(:disabled):active,.btn:active{transform:translateY(1px)}.app-main{animation:screen-in var(--t-screen) ease-out backwards}@keyframes screen-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}input,select,textarea{font:inherit;border:1px solid var(--hairline);border-radius:var(--r-s);background:var(--surface);color:var(--ink);padding:9px 11px}input:hover,select:hover,textarea:hover{border-color:var(--faint)}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--accent);padding:0}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:progress}button[type=submit],.btn,.row-form button,.service-form button,.request-form button,.chat-composer button,.mark-done button,.request-actions button,.edit-form button,.staff-request-form button,.settings-save,.generate .btn,.auth-form button[type=submit]{font-weight:var(--w-head);border-radius:var(--r-s);background:var(--accent);color:var(--accent-ink);border:0;padding:9px 15px}button[type=submit]:not(:disabled):hover,.btn:hover{filter:brightness(1.07)}.btn-secondary,button.btn-secondary,.app-signout button,.signout button,.confirm-delete .btn-secondary{font:inherit;border:1px solid var(--hairline);border-radius:var(--r-s);background:var(--surface);color:var(--ink);padding:8px 13px}.btn-secondary:hover,.app-signout button:hover,.signout button:hover{background:var(--sunken)}.btn-danger,button.btn-danger{font:inherit;font-weight:var(--w-head);border-radius:var(--r-s);background:var(--bad);color:var(--surface);border:0;padding:8px 13px}.link-danger,button.link-danger{font:inherit;font-size:var(--fs-14);color:var(--bad);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.linklike,button.linklike{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (pointer:coarse){input,select,textarea{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{min-height:0}button,.btn,.act,.primary-btn,.btn-secondary{min-height:44px}.chip{min-height:38px}.week-nav{height:44px}.week-nav .stepper-btn{width:44px}.kit .link{margin:-12px -6px;padding:12px 6px}}.shell{max-width:640px;margin:0 auto;padding:64px 24px}h1{font-size:var(--fs-17);letter-spacing:-.01em;margin:0 0 8px}.tag{color:var(--muted);font-size:var(--fs-14);margin:0 0 32px}.status{gap:10px;margin:0;padding:0;list-style:none;display:grid}.status li{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);padding:12px 16px}.version-stamp{font-size:var(--fs-12);color:var(--faint);position:fixed;bottom:10px;right:14px}.auth{max-width:380px}.onboard{max-width:460px}.type-picker{border:0;gap:8px;margin:0;padding:0;display:grid}.type-picker legend{font-size:var(--fs-14);color:var(--muted);margin-bottom:2px;padding:0}.type-picker>p{margin:0 0 6px}.auth-form .type-option{border:1px solid var(--hairline);border-radius:var(--r-s);background:var(--surface);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.auth-form .type-option:hover{border-color:var(--faint)}.auth-form .type-option.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.auth-form .type-option input{background:0 0;border:0;border-radius:0;flex:none;width:auto;min-height:0;margin:3px 0 0;padding:0}.type-body{gap:2px;display:grid}.type-label{font-weight:var(--w-head);color:var(--ink)}.type-hint{display:block}.auth-form{gap:16px;margin:0 0 20px;display:grid}.auth-form label{font-size:var(--fs-14);color:var(--muted);gap:6px;display:grid}.auth-form button[type=submit]{padding:11px 16px}.auth-form button.linklike[type=submit]{color:var(--ink);font-weight:inherit;background:0 0;justify-self:start;padding:0}.auth-error{border-radius:var(--r-s);font-size:var(--fs-14);background:var(--bad-bg);border:1px solid var(--bad-bg);color:var(--bad);margin:0;padding:10px 12px}.auth-notice{border-radius:var(--r-s);font-size:var(--fs-14);background:var(--good-bg);border:1px solid var(--good-bg);color:var(--good);margin:0;padding:10px 12px}.auth-switch{font-size:var(--fs-14);color:var(--muted)}.signout{align-items:center;gap:14px;margin-top:28px;display:flex}.signout .who{font-size:var(--fs-14);color:var(--muted)}.app-bar{background:var(--surface);border-bottom:1px solid var(--hairline);z-index:20;position:sticky;top:0}.app-bar-inner{flex-wrap:wrap;align-items:center;gap:20px;max-width:820px;margin:0 auto;padding:12px 20px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand strong{font-size:var(--fs-17)}.brand .org{font-size:var(--fs-13);color:var(--muted)}.app-nav{gap:16px;display:flex}.app-nav a{color:var(--muted);font-size:var(--fs-14);border-bottom:2px solid #0000;padding:4px 0;text-decoration:none}.app-nav a:hover{color:var(--ink)}.app-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.app-signout{align-items:center;gap:8px;margin-left:auto;display:flex}.app-main{max-width:820px;margin:0 auto;padding:24px 20px 80px}.theme-toggle{font:inherit;font-size:var(--fs-12);color:var(--muted);border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--surface);cursor:pointer;white-space:nowrap;padding:5px 11px}.theme-toggle:hover{color:var(--ink);background:var(--sunken)}@media (max-width:640px){.app-bar{position:static}.app-nav{z-index:30;background:var(--surface);border-top:1px solid var(--hairline);padding:6px 8px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.app-nav a{font-size:var(--fs-12);border-radius:var(--r-s);text-align:center;border-bottom:0;padding:8px 10px}.app-nav a[aria-current=page]{color:var(--accent);background:var(--sunken)}.app-main{padding-bottom:110px}.version-stamp{bottom:calc(64px + env(safe-area-inset-bottom))}}.trial-banner{background:var(--good-bg);border-bottom:1px solid var(--hairline)}.trial-banner.urgent{background:var(--warn-bg)}.trial-banner-inner{font-size:var(--fs-14);justify-content:space-between;padding-top:10px;padding-bottom:10px}.trial-banner-inner span{color:var(--ink)}.trial-banner-inner a{color:var(--ink);font-weight:var(--w-head)}.billing-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);gap:8px;margin-top:8px;padding:18px 20px;display:grid}.billing-card.alert{border-color:var(--warn);background:var(--warn-bg)}.billing-status{font-size:var(--fs-17);font-weight:var(--w-head);margin:0}.billing-card p{margin:0}.bill-balance{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);gap:2px;padding:18px 20px;display:grid}.bill-balance-label{font-size:var(--fs-12);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.bill-balance-amt{font-size:var(--fs-17);font-weight:var(--w-head);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.bill-model-line{margin:10px 0 16px}.bills{flex-direction:column;gap:14px;display:flex}.bill-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);padding:16px}.bill-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.bill-status{font-size:var(--fs-11);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--r-pill);padding:2px 10px}.bill-status.s-draft{color:var(--muted);background:var(--sunken)}.bill-status.s-issued{color:var(--warn);background:var(--warn-bg)}.bill-status.s-paid{color:var(--good);background:var(--good-bg)}.bill-status.s-void{color:var(--muted);background:var(--sunken)}.bill-lines{border-collapse:collapse;width:100%;font-size:var(--fs-14)}.bill-lines td{border-bottom:1px solid var(--hairline);vertical-align:top;padding:6px 0}.bill-lines td.num{text-align:right;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.bill-lines td.num:last-child{color:var(--ink)}.bill-total{font-size:var(--fs-14);font-weight:var(--w-head);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:12px;display:flex}.bill-doc{font-size:var(--fs-13);margin:10px 0 0}.bill-help{margin-top:14px}.bill-help a{color:var(--ink)}.chat{flex-direction:column;gap:16px;display:flex}.chat-log{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chat-bubble{border-radius:var(--r-m);max-width:78%;padding:10px 13px}.chat-bubble p{white-space:pre-wrap;word-break:break-word;margin:0}.chat-bubble time{font-size:var(--fs-11);opacity:.7;margin-top:4px;display:block}.chat-bubble.mine{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.theirs{background:var(--surface);border:1px solid var(--hairline);color:var(--ink);border-bottom-left-radius:4px;align-self:flex-start}.chat-log-entry{text-align:center;max-width:90%;font-size:var(--fs-13);color:var(--muted);background:var(--sunken);border-radius:var(--r-pill);align-self:center;padding:6px 12px}.chat-log-entry time{opacity:.8;margin-left:6px}.chat-composer{background:var(--canvas);flex-wrap:wrap;align-items:flex-end;gap:8px;padding-top:6px;display:flex;position:sticky;bottom:0}.chat-composer textarea{border-radius:var(--r-s);flex:200px;min-height:44px}.chat-composer button{padding:10px 18px}.chat-composer .auth-error{flex-basis:100%;margin:0}@media (max-width:640px){.chat-composer{bottom:calc(58px + env(safe-area-inset-bottom))}}.portal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portal-visit{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);gap:10px;padding:14px;display:grid}.portal-visit .visit-info{flex-direction:column;gap:2px;display:flex}.visit-actions{flex-wrap:wrap;gap:8px 20px;display:flex}.visit-actions summary,.extra summary{cursor:pointer;font-size:var(--fs-14);color:var(--accent);font-weight:var(--w-head)}.request-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.request-form .field{font-size:var(--fs-13);color:var(--muted);gap:4px;display:grid}.request-form .field.wide{flex:100%}.request-form input{padding:8px 10px}.request-form input[type=text]{width:100%}.request-form button{padding:9px 14px}.request-form .auth-error{flex-basis:100%;margin:0}.extra-block{margin-bottom:10px}.request-ok{border-radius:var(--r-s);font-size:var(--fs-14);background:var(--good-bg);border:1px solid var(--good-bg);color:var(--good);margin:6px 0;padding:10px 12px}.req-status{font-size:var(--fs-13);font-weight:var(--w-head);margin-left:auto}.req-pending{color:var(--warn)}.req-approved{color:var(--good)}.req-declined{color:var(--bad)}.send-later-menu{z-index:20;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);min-width:260px;margin-top:4px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000024}.sl-row{border-radius:var(--r-s);width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 10px;display:flex}.sl-row:hover{background:var(--sunken)}@media (max-width:640px){.send-later-menu{width:100%;min-width:0;left:0;right:auto}}.sig-preview{background:var(--sunken);border-radius:var(--r-s);font:inherit;font-size:var(--fs-13);color:var(--muted);white-space:pre-wrap;margin:0;padding:10px 12px}.req-muted{color:var(--muted);font-weight:var(--w-body,400)}.nav-badge{min-width:17px;height:17px;font-size:10.5px;font-weight:var(--w-head);color:#fff;background:var(--bad);border-radius:var(--r-pill);place-items:center;margin-left:5px;padding:0 5px;line-height:1;display:grid}.nav-badge.q{background:var(--sunken);color:var(--muted)}.nav-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;margin-left:6px;display:block}.side-nav a[aria-current=page] .nav-badge.q{background:var(--surface);color:var(--accent-green)}.request-row{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px;display:flex}.request-info{flex-direction:column;flex:260px;gap:2px;min-width:0;display:flex}.req-type{font-size:var(--fs-11);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.request-actions{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.request-actions .inline-form{align-items:flex-end;gap:8px;display:flex}.request-actions .field{gap:3px;display:grid}.request-actions select{padding:8px 10px}.enquiry-note{white-space:pre-wrap}.enquiry-photos{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.enquiry-photo{object-fit:cover;border-radius:var(--r-s);border:1px solid var(--hairline);width:64px;height:64px;display:block}.enquiry-thread{margin-top:4px}.enquiry-reply{flex-basis:100%;gap:6px;display:grid}.enquiry-reply textarea{width:100%;min-height:110px;font:inherit;border:1px solid var(--hairline-strong);border-radius:var(--r-s);background:var(--surface);color:var(--ink);padding:8px 10px}.enquiry-reply-actions{gap:8px;display:flex}.request-actions button{padding:8px 14px}.request-actions .btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--hairline);font-weight:var(--w-body)}.request-actions .auth-error{flex-basis:100%;margin:4px 0 0}.page-head{align-items:center;gap:12px;margin:0 0 18px;display:flex}.page-head h1,.page-head .tag{margin:0}@media (max-width:880px){.page-head a[href=\/new]{display:none}}@media (max-width:640px){.page-head{flex-wrap:wrap;row-gap:10px}.segmented{width:100%;display:flex}.segmented .seg{text-align:center;flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:6px 4px;display:flex}}.count{font-size:var(--fs-13);color:var(--muted);background:var(--sunken);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;padding:3px 10px}.muted{color:var(--muted)}.small{font-size:var(--fs-13)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.back{color:var(--muted);font-size:var(--fs-14);margin-bottom:10px;text-decoration:none;display:inline-block}.back:hover{color:var(--ink)}.section-h{font-size:var(--fs-12);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:26px 0 10px}.table-wrap{overflow-x:auto}.data-table .stick{background:var(--surface);z-index:1;position:sticky}.data-table thead .stick{z-index:2}.data-table .stick-1{left:0}.data-table .stick-2{left:4.5rem}.data-table .stick-2:after,.data-table .stick-1:last-of-type:after{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;right:0}@media (max-width:720px){.cust-cards .data-table,.cust-cards .data-table tbody,.cust-cards .data-table tr,.cust-cards .data-table td{width:auto;display:block}.cust-cards .data-table thead{display:none}.cust-cards .data-table tr{border:1px solid var(--line);background:var(--surface);border-radius:4px;margin-bottom:8px;padding:10px 12px}.cust-cards .data-table td{border:0;padding:2px 0;text-align:left!important}.cust-cards .data-table .stick{position:static}.cust-cards .data-table td[data-label]:before{content:attr(data-label) " ";color:var(--faint);font-size:var(--fs-13);margin-right:6px}.cust-cards .data-table td[data-empty="1"]{display:none}.cust-cards .table-wrap{overflow-x:visible}}.stmt-deduction{color:var(--bad)}.stmt-working{color:var(--faint);font-size:var(--fs-12);margin-top:1px}.match-strength{font-size:var(--fs-12);letter-spacing:.02em;vertical-align:1px;border-radius:3px;margin-right:2px;padding:1px 6px;font-weight:600;display:inline-block}.match-strength.sure{background:var(--good-bg);color:var(--good)}.match-strength.likely{background:var(--info-bg);color:var(--info)}.match-strength.guess{background:var(--sunken);color:var(--muted);border:1px solid var(--hairline)}.req-waited{color:var(--faint)}.req-waited.late{color:var(--warn);font-weight:600}.cust-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.cust-toolbar input[type=search]{flex:240px;min-width:0}.cust-toolbar select{flex:none}.chips{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.chip{border:1px solid var(--hairline);background:var(--surface);min-height:27px;font-size:var(--fs-12);color:var(--muted);border-radius:14px;align-items:center;padding:0 11px;font-weight:500;text-decoration:none;transition:border-color .12s,background .12s;display:inline-flex}.chip:hover{border-color:var(--hairline-strong)}.chip.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-green);font-weight:var(--w-head)}.chip .n{color:var(--faint);margin-left:4px;font-weight:400}.chip.on .n{color:var(--accent-green)}.data-table .cell-link{color:var(--ink);font-weight:500;text-decoration:none}.data-table .cell-link:hover{color:var(--accent-ink);text-decoration:underline}.data-table .tag{font-size:var(--fs-11);font-weight:var(--w-head);color:var(--muted);background:var(--sunken);border-radius:var(--r-s);white-space:nowrap;padding:1px 7px;display:inline-block}.data-table .req-status{margin:0}.btn-secondary.sm{height:26px;font-size:var(--fs-12);padding:0 10px}.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-13);display:table}.data-table th{font-size:var(--fs-11);font-weight:var(--w-head);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap;padding:8px 14px}.data-table td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:9px 14px}.data-table tbody tr:last-child td{border-bottom:1px solid var(--hairline)}.card .data-table tbody tr:last-child td,.card .data-table tfoot tr:last-child td{border-bottom:0}.data-table th.r,.data-table td.r{text-align:right}.data-table .num{font-variant-numeric:tabular-nums}.data-table tbody tr{transition:background var(--t-fast) ease}.data-table tbody tr:hover{background:var(--sunken)}.data-table tbody tr.on{background:var(--accent-tint)}.data-table tbody tr:focus-within{background:var(--sunken)}.data-table .who{font-weight:500}.data-table .chk{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.data-table .more{width:26px;height:26px;color:var(--faint);transition:all var(--t-fast) ease;border-radius:6px;place-items:center;text-decoration:none;display:inline-grid}.data-table .more:hover{background:var(--sunken);color:var(--ink)}.table-wrap-tall{max-height:72vh;overflow-y:auto}.data-table-sticky thead th{z-index:3;background:var(--surface);position:sticky;top:0}.num.neg{color:var(--bad)}.data-table tfoot td{border-bottom:0;padding:10px 14px}.hosted-invoice{--paper:#fff;--doc-ink:#191918;--doc-muted:#5f6259;--doc-faint:#6b6f67;--doc-hair:#e3e5df;--doc-rule:#191918;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;max-width:640px;color:var(--doc-ink);background:var(--paper);font-variant-numeric:tabular-nums lining-nums;min-height:100vh;margin:0 auto;padding:40px 24px 64px}.hi-head{border-bottom:1px solid var(--doc-hair);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;padding-bottom:20px;display:flex}.hi-biz{font-size:21px;font-weight:var(--w-head);letter-spacing:-.005em;color:var(--doc-ink);line-height:1.15}.hi-logo{width:auto;max-width:210px;height:auto;max-height:46px;display:block}.hi-num{text-align:right}.hi-title{font-size:var(--fs-11);font-weight:var(--w-head);color:var(--doc-faint);text-transform:uppercase;letter-spacing:.11em}.hi-facts{gap:1px;margin-top:6px;display:grid}.hi-facts div{justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.hi-facts dt{color:var(--doc-faint);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.07em}.hi-facts dd{font-size:var(--fs-13);color:var(--doc-ink);margin:0}.hi-facts div:first-child dd{font-size:var(--fs-14);font-weight:var(--w-head);font-variant-numeric:tabular-nums}.hi-ask{text-align:right;margin:34px 0 10px}.hi-ask-cap{color:var(--doc-faint);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.07em}.hi-ask-fig{font-size:32px;font-weight:var(--w-head);letter-spacing:-.012em;font-variant-numeric:tabular-nums lining-nums;margin-top:6px;line-height:1.12}.hi-ask-sub{color:var(--doc-muted);font-size:var(--fs-13);margin-top:3px}.hi-label{color:var(--doc-faint);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.07em;display:block}.hi-sub{color:var(--doc-muted);font-size:var(--fs-12);margin-top:2px;line-height:1.5}.hi-billto{margin-top:12px}.hi-billname{font-weight:var(--w-head);margin-top:4px}.hi-table{margin-top:18px}.hosted-invoice .data-table{font-size:var(--fs-13)}.hosted-invoice .data-table th{color:var(--doc-faint);border-bottom:1px solid var(--doc-hair);padding:0 0 6px}.hosted-invoice .data-table th:not(:first-child),.hosted-invoice .data-table td:not(:first-child){padding-left:18px}.hosted-invoice .data-table td{color:var(--doc-ink);vertical-align:top;border-bottom:0;padding:7px 0}.hosted-invoice .data-table tbody tr:last-child td{border-bottom:0}.hosted-invoice .hi-quiet{color:var(--doc-muted);font-size:var(--fs-12)}.hosted-invoice .data-table .hi-group td{font-weight:var(--w-head);padding-top:20px;padding-bottom:4px}.hosted-invoice .hi-annex-cap{caption-side:top;text-align:left;color:var(--doc-faint);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.07em;font-weight:var(--w-head);margin-top:26px;padding-bottom:6px}.hosted-invoice .data-table tbody:first-of-type .hi-group td{padding-top:12px}.hosted-invoice .data-table tfoot td{color:var(--doc-ink);border-bottom:0;padding:4px 0}.hosted-invoice .data-table tfoot tr:first-child td{border-top:1px solid var(--doc-rule);padding-top:12px}.hosted-invoice .data-table tfoot tr:last-child td{border-bottom:1px solid var(--doc-rule);padding-bottom:10px}.hi-note{color:var(--doc-muted);max-width:46ch;margin-top:22px}.hi-note b.hi-label{margin-bottom:3px}.hi-foot{border-top:1px solid var(--doc-hair);color:var(--doc-faint);font-size:var(--fs-11);margin-top:30px;padding-top:12px;line-height:1.6}.hi-actions{text-align:center;margin-top:26px}@media print{.hosted-invoice{padding:0}.no-print{display:none!important}}.empty{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);text-align:center;padding:28px}.empty p{margin:0 0 6px}.btn{margin-top:12px;text-decoration:none;display:inline-block}.hub{gap:10px;max-width:560px;margin:0;padding:0;list-style:none;display:grid}.hub-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);color:var(--ink);flex-direction:column;gap:3px;padding:16px 18px;text-decoration:none;display:flex}.hub-card:hover{border-color:var(--faint)}.hub-title{font-weight:var(--w-head);font-size:var(--fs-14)}.cards{flex-wrap:wrap;gap:14px;display:flex}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);min-width:130px;box-shadow:var(--shadow);color:var(--ink);flex-direction:column;gap:2px;padding:18px 20px;text-decoration:none;display:flex}.card:hover{border-color:var(--faint)}.card-n{font-size:var(--fs-17);font-weight:var(--w-head);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.card-l{font-size:var(--fs-13);color:var(--muted)}.card-go{justify-content:center}.attn-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);margin:0 0 18px;padding:8px}.attn-head{justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px 6px;display:flex}.attn-head h2{font-size:var(--fs-14);font-weight:var(--w-head);margin:0}.attn-date{font-size:var(--fs-12);color:var(--muted)}.attn-row{border-radius:var(--r-s);width:100%;color:var(--ink);align-items:center;gap:12px;padding:11px 12px;text-decoration:none;transition:background .12s;display:flex}.attn-row:hover{background:var(--sunken)}.attn-row+.attn-row{border-top:1px solid var(--hairline)}.attn-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.attn-dot.bad{background:var(--bad)}.attn-dot.warn{background:var(--warn)}.attn-label{font-size:var(--fs-14);flex:auto;min-width:0}.attn-go{font-size:var(--fs-13);color:var(--accent);flex:none}.attn-clear{font-size:var(--fs-14);color:var(--muted);padding:12px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;display:grid}.kpi{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);flex-direction:column;gap:2px;min-width:0;padding:16px 18px;display:flex}.kpi span{font-size:var(--fs-12);color:var(--muted)}.kpi strong{font-size:22px;font-weight:var(--w-head);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi small{font-size:var(--fs-11);color:var(--faint)}@media (max-width:720px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);margin:0 0 18px;padding:16px 18px 18px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-head h2{font-size:var(--fs-14);font-weight:var(--w-head);margin:0}.panel-actions{flex-wrap:wrap;gap:6px;display:flex}.panel .table-wrap{margin:0 -18px -18px}.panel .data-table th:first-child,.panel .data-table td:first-child{padding-left:18px}.panel .data-table th:last-child,.panel .data-table td:last-child{padding-right:18px}.kit{max-width:1060px;margin:0 auto}.kit:has(.rota-scroll){max-width:none}.kit .page-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin:2px 0 16px;display:flex}.kit .page-head h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.kit .page-head .sub{color:var(--muted);font-size:13px}.kit .page-head .right{align-items:center;gap:8px;margin-left:auto;display:flex}@media (max-width:640px){.kit .page-head .right{flex-wrap:wrap;flex:100%;margin-left:0}}.primary-btn,button.primary-btn{border-radius:var(--r-ctl);background:var(--accent);color:#fff;cursor:pointer;border:0;align-items:center;height:30px;padding:0 13px;font-size:12.5px;font-weight:600;text-decoration:none;transition:filter .12s;display:inline-flex}.primary-btn:hover,button.primary-btn:hover{filter:brightness(1.08)}.kit .kpis{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);flex-wrap:wrap;margin-bottom:16px;display:flex;overflow:hidden}.kit .kpi{min-width:150px;color:inherit;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);flex:150px;margin-bottom:-1px;margin-right:-1px;padding:14px 16px;text-decoration:none;transition:background .12s;display:block}.kit a.kpi:hover{background:var(--sunken);box-shadow:var(--shadow-lift)}.kit .kpi .l{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;font-weight:500;display:flex}.kit .kpi .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:3px;font-size:19px;font-weight:600}.kit .kpi .d{color:var(--faint);margin-top:1px;font-size:11.5px}.kit .kpi .d b{font-weight:600}.kit .kpi .d .up{color:var(--good)}.kit .kpi .d .down{color:var(--bad)}.kit .card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.kit .card-h{border-bottom:1px solid var(--hairline);align-items:center;gap:8px;padding:11px 14px;display:flex}.kit .card-h h3{margin:0;font-size:12.5px;font-weight:600}.kit .card-h .count{color:var(--faint);font-size:11.5px}.kit .card-h .right{align-items:center;gap:6px;margin-left:auto;display:flex}@media (max-width:640px){.kit .card-h{flex-wrap:wrap;row-gap:6px}.kit .card-h .right{flex-wrap:wrap}}.kit .link{color:var(--accent-green);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:500;text-decoration:none}.kit .link:hover{text-decoration:underline}.kit .row{border-bottom:1px solid var(--hairline);align-items:center;gap:12px;padding:9px 14px;transition:background .12s;display:flex}.kit .row:last-child{border-bottom:0}.kit .row:hover{background:var(--sunken)}.kit .row .grow{flex:1;min-width:0}.kit .row .t{font-weight:500}.kit .row .s{color:var(--muted);margin-top:1px;font-size:12px}.kit .row .amt{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600}.kit .dot-ic{border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.kit .dot-ic svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.kit .dot-ic.warn{background:var(--warn-tint);color:var(--warn)}.kit .dot-ic.bad{background:var(--bad-tint);color:var(--bad)}.kit .dot-ic.info{background:var(--info-tint);color:var(--info)}.kit .dot-ic.good{background:var(--good-tint);color:var(--good)}.kit .dot-ic.q{background:var(--sunken);color:var(--muted)}.pill{white-space:nowrap;border-radius:10px;align-items:center;gap:4px;height:19px;padding:0 7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.pill.good{background:var(--good-tint);color:var(--good)}.pill.warn{background:var(--warn-tint);color:var(--warn)}.pill.bad{background:var(--bad-tint);color:var(--bad)}.pill.info{background:var(--info-tint);color:var(--info)}.pill.q{background:var(--sunken);color:var(--muted)}a.pill{text-decoration:none}@media (min-width:721px){.sign-in-emails td:first-child{white-space:nowrap;width:1%}.sign-in-emails td:nth-child(2){overflow-wrap:anywhere;width:36%}}.sign-in-to{font-weight:500}.sign-in-kind{margin-top:2px;display:block}.sign-in-why{max-width:62ch;margin:4px 0 0}#sign-in-emails,.sign-in-emails tr[id]{scroll-margin-top:calc(64px + env(safe-area-inset-top,0px))}.sign-in-emails tr:target{background:var(--accent-tint)}@media (pointer:coarse){a.pill{position:relative}a.pill:after{content:"";position:absolute;inset:-13px -4px}}@media (max-width:720px){.cust-cards .data-table tbody tr:last-child td{border-bottom:0}}.kit .pill.said,.pill.said{background:var(--sunken);color:var(--ink);border:1px solid var(--hairline);font-style:italic}.kit .pill.said:before,.pill.said:before{content:"“";opacity:.5;margin-right:1px}.kit .pill.said:after,.pill.said:after{content:"”";opacity:.5;margin-left:1px}.kit .pill.sys,.pill.sys{color:var(--muted);border:1px dashed var(--hairline-strong);background:0 0}.act,button.act{border:1px solid var(--hairline);background:var(--surface);height:26px;color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;padding:0 10px;font-size:12px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.act:hover,button.act:hover{border-color:var(--hairline-strong);color:var(--ink)}.act.go,button.act.go{border-color:var(--accent);color:var(--accent-green)}.act.go:hover,button.act.go:hover{background:var(--accent-tint)}.kit .empty{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow)}.kit .note-tick{cursor:pointer;border:1.5px solid var(--hairline-strong);background:var(--surface);color:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;font-size:11px;line-height:1;transition:all .12s;display:grid}.kit .note-tick:hover{border-color:var(--accent)}.kit .note-tick.on{background:var(--good);border-color:var(--good)}.kit .row.note-done .t{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.kit .inline-form{margin:0;display:inline-flex}.kit .scope-bar{border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.kit .scope-bar .chip{border:1px solid var(--hairline);background:var(--surface);height:26px;color:var(--muted);border-radius:13px;align-items:center;padding:0 11px;font-size:12px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.kit .scope-bar .chip:hover{border-color:var(--hairline-strong)}.kit .scope-bar .chip.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-green);font-weight:600}.kit .scope-bar .chip .n{color:var(--faint);margin-left:4px;font-weight:400}.kit .scope-bar .chip.on .n{color:var(--accent-green)}.kit .scope-bar .chip .line-swatch{width:9px;height:9px;box-shadow:0 0 0 2px var(--line-wash);margin-right:7px}.kit .fin-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}@media (max-width:900px){.kit .fin-grid{grid-template-columns:1fr}}.kit .oh-body{flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.kit .oh-row{flex-direction:column;gap:4px;display:flex}.kit .oh-line{justify-content:space-between;gap:10px;font-size:12.5px;display:flex}.kit .bar{background:var(--sunken);border-radius:3px;height:5px;overflow:hidden}.kit .bar i{background:var(--accent);border-radius:3px;height:100%;display:block}.kit .oh-note{color:var(--faint);border-top:1px solid var(--hairline);margin:2px 0 0;padding-top:8px;font-size:11.5px}.kit .set-row{color:inherit;text-decoration:none}.kit .set-go{color:var(--faint);flex:none;padding:0 2px;font-size:16px}.kit .set-row:hover .set-go{color:var(--ink)}.kit .clash-warn{color:var(--warn);margin-top:3px;font-size:11.5px;font-weight:500;display:block}.kit .request-actions{flex:none;align-items:center;gap:6px;margin:0;display:flex}.kit .request-actions .inline-form{margin:0}.kit .request-actions button{border:1px solid var(--accent);background:var(--surface);height:26px;color:var(--accent-green);cursor:pointer;border-radius:6px;padding:0 10px;font-size:12px;font-weight:500;transition:all .12s}.kit .request-actions button:hover{background:var(--accent-tint)}.kit .request-actions button.btn-secondary{border-color:var(--hairline);color:var(--muted);background:var(--surface)}.kit .request-actions button.btn-secondary:hover{border-color:var(--hairline-strong);color:var(--ink);background:var(--surface)}.kit .request-ok{color:var(--good);flex:none;margin:0;font-size:12px;font-weight:500}.kit .row.enquiry-row .grow .inline-form{max-width:100%}.kit .row.enquiry-row .grow .inline-form select{flex:auto;min-width:0}.kit .row.enquiry-row .grow .inline-form button{white-space:nowrap;flex:none}@media (max-width:880px){.kit .row.enquiry-row{flex-wrap:wrap}.kit .row.enquiry-row>.grow{flex:calc(100% - 40px)}.kit .row.enquiry-row>.request-actions{flex-wrap:wrap;flex:100%}}@media (max-width:640px){.kit .row.clean-row{flex-wrap:wrap;row-gap:6px}.kit .row.clean-row>.grow{flex:100%;order:-1}.kit .row.clean-row>.amt{margin-left:auto}.kit .row:has(>.grow~:is(.request-actions,.act,.request-ok,.pill)){flex-wrap:wrap;row-gap:8px}.kit .row:has(>.grow~:is(.request-actions,.act,.request-ok,.pill))>.grow{flex:calc(100% - 40px)}.kit .row:has(>.dot-ic:first-child):has(>.grow~:is(.request-actions,.act,.request-ok,.pill))>.grow+*{margin-left:40px}.kit .row>.request-actions{flex-wrap:wrap}}.row-form{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;display:flex}.row-form input{flex:180px}.row-form .auth-error,.service-form .auth-error{flex-basis:100%}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list.tight{gap:4px;margin:8px 0}.list-row{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);color:var(--ink);align-items:baseline;gap:12px;padding:12px 14px;text-decoration:none;display:flex}a.list-row:hover{border-color:var(--faint)}.list-row.static{cursor:default}.list-name{font-weight:var(--w-head)}.list-meta{font-size:var(--fs-13);color:var(--muted);text-align:right;margin-left:auto}.due-date{font-variant-numeric:tabular-nums;font-size:var(--fs-13);color:var(--ink);min-width:92px}.pager{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.pager-links{gap:16px;display:flex}.pager-links a{color:var(--ink)}.sites{gap:14px;display:grid}.site-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);padding:16px}.site-head{align-items:baseline;gap:10px;display:flex}.add-service{margin-top:10px}.add-service summary{cursor:pointer;font-size:var(--fs-14);color:var(--muted)}.service-form{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.service-form>input[name=description]{grid-column:1/-1}.service-form .field{font-size:var(--fs-13);color:var(--muted);gap:4px;display:grid}.service-form .field-row{grid-column:1/-1;gap:10px;display:flex}.service-form .field-row .field{flex:1 1 0;min-width:0}.service-form button{grid-column:1/-1}@media (max-width:560px){.service-form{grid-template-columns:1fr}}.entity-admin{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px;display:flex}.edit-details summary{cursor:pointer;font-size:var(--fs-14);color:var(--muted)}.edit-form{gap:12px;max-width:420px;margin-top:10px;display:grid}.edit-form .field{font-size:var(--fs-13);color:var(--muted);gap:4px;display:grid}.edit-form button{justify-self:start}.email-form .field{font-size:var(--fs-13);color:var(--muted);gap:4px;display:grid}.email-form input:not([type=checkbox]),.email-form textarea{width:100%}.cust-form{flex-direction:column;gap:18px;max-width:640px;margin-top:10px;display:flex}.cust-form .form-group{border:1px solid var(--hairline);border-radius:var(--r-m);min-width:0;margin:0;padding:14px 16px 16px}.cust-form legend{font-size:var(--fs-12);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 6px}.cust-form legend .muted{text-transform:none;letter-spacing:normal;margin-left:4px;font-weight:400}.cust-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cust-form .field{font-size:var(--fs-13);color:var(--muted);gap:4px;min-width:0;display:grid}.cust-form .field.full{grid-column:1/-1}.cust-form .form-advanced{margin-top:12px}.cust-form .form-advanced>summary{font-size:var(--fs-13);color:var(--accent);cursor:pointer;padding:4px 0}.cust-form .form-advanced[open]>summary{margin-bottom:10px}.cust-form button[type=submit]{justify-self:start}@media (max-width:560px){.cust-form .form-grid{grid-template-columns:1fr}}.cust-standing{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:12px;margin:14px 0 4px;padding:14px 16px;display:flex}.cust-standing-money{flex-direction:column;gap:1px;display:flex}.cust-standing-n{font-size:var(--fs-17);font-weight:var(--w-head);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.cust-detail .detail-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;margin-top:18px;display:grid}.detail-main{flex-direction:column;gap:22px;min-width:0;display:flex}.detail-block{min-width:0}.detail-block-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding-bottom:8px;display:flex}.detail-block-head h2{font-size:var(--fs-14);font-weight:var(--w-head);letter-spacing:-.01em;margin:0}.cust-detail .cust-form{max-width:none}.site-card{flex-direction:column;gap:10px;display:flex}.site-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.site-title{flex-direction:column;gap:1px;min-width:0;display:flex}.site-title strong{font-size:var(--fs-14)}.site-actions{flex-wrap:wrap;gap:6px;display:flex}.site-foot{margin-top:2px}.svc-row{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.svc-row:first-child{border-top:0}.svc-info{flex-direction:column;gap:1px;min-width:0;display:flex}.svc-actions{flex:none;align-items:center;gap:10px;display:flex}.detail-rail{flex-direction:column;gap:14px;display:flex;position:sticky;top:84px}.rail-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);padding:14px 16px}.rail-card .cust-standing-money{margin-bottom:10px}.rail-h{font-size:var(--fs-11);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}.rail-row{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.rail-row:first-child{border-top:0}.rail-row-link{min-width:0;color:inherit;align-items:baseline;gap:8px;text-decoration:none;display:flex}.rail-row-link:hover .num:first-child{color:var(--accent)}.rail-danger{padding-top:2px}@media (max-width:900px){.cust-detail .detail-grid{grid-template-columns:1fr}.detail-rail{position:static}}.dlg{border-radius:var(--r-l,16px);width:100%;max-width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--ink);background:0 0;border:0;padding:0}.dlg.wide{max-width:min(720px,100vw - 32px)}.dlg::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f171470}.dlg-inner{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-l,16px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lift);flex-direction:column;display:flex;overflow:hidden}.dlg-head{border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.dlg-head h2{font-size:var(--fs-14);font-weight:var(--w-head);margin:0}.dlg-x{border-radius:var(--r-s);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;font-size:15px;display:grid}.dlg-x:hover{background:var(--sunken);color:var(--ink)}.dlg-body{--dlg-pad:16px;padding:var(--dlg-pad);overflow-y:auto}.dlg-body .cust-form,.dlg-body form{max-width:none;margin-top:0}.builder-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.builder-row .grow{flex:2 140px;min-width:0}.builder-row .narrow{flex:none;width:72px}.builder-row select,.builder-row input{min-width:0}.builder-row .linklike{color:var(--muted);flex:none;padding:4px 6px}.builder-row .linklike:hover{color:var(--bad)}.visit-edit{position:relative}.visit-edit>summary{cursor:pointer;border-radius:var(--r-s);width:30px;height:30px;color:var(--muted);border:1px solid #0000;place-items:center;list-style:none;display:grid}.visit-edit>summary::-webkit-details-marker{display:none}.visit-edit>summary:hover{background:var(--sunken);color:var(--ink)}.visit-edit[open]>summary{border-color:var(--hairline)}.visit-edit-body{z-index:20;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);width:220px;box-shadow:var(--shadow-lift);flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:34px;right:0}.visit-edit-move{gap:6px;display:grid}.visit-edit-body .field{font-size:var(--fs-13);color:var(--muted);gap:3px;display:grid}.visit-edit-body .linklike.danger{color:var(--bad);text-align:left;padding:4px 0}.pay-total{font-size:var(--fs-13);font-variant-numeric:tabular-nums}.pay-total .down{color:var(--bad);font-weight:var(--w-head)}.pay-card{padding:0;overflow:hidden}.bulk{background:var(--ink);width:fit-content;max-width:100%;color:var(--canvas);box-shadow:var(--shadow-lift);z-index:20;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:14px auto 0;padding:8px 8px 8px 14px;font-size:12.5px;display:none;position:sticky;bottom:14px}.bulk.on{display:flex}.bulk b{font-weight:var(--w-head);font-variant-numeric:tabular-nums}.bulk button{height:26px;color:inherit;font:inherit;cursor:pointer;transition:background var(--t-fast) ease;background:#ffffff24;border:0;border-radius:6px;padding:0 11px;font-size:12px;font-weight:500}.bulk button:hover{background:#ffffff42}.bulk button:disabled{opacity:.6;cursor:default}.bulk-err{color:var(--bad);background:var(--surface);border-radius:6px;padding:2px 8px}.sched-week{margin-top:4px}.week-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;display:flex}.week-bar .chips{margin-bottom:0}.week-nav{border:1px solid var(--hairline);border-radius:var(--r-ctl);background:var(--surface);align-items:center;height:30px;margin-left:auto;display:inline-flex;overflow:hidden}.week-nav .stepper-btn{width:28px;height:100%;color:var(--muted);transition:background var(--t-fast) ease;place-items:center;text-decoration:none;display:grid}.week-nav .stepper-btn:hover{background:var(--sunken);color:var(--ink)}.week-nav .cur{font-weight:var(--w-head);white-space:nowrap;border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);text-align:center;min-width:104px;padding:0 10px;font-size:12.5px}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week .day{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);flex-direction:column;min-height:230px;display:flex;overflow:hidden}.week .day.today{box-shadow:0 0 0 1.5px var(--accent), var(--shadow)}.week .day-h{border-bottom:1px solid var(--hairline);align-items:baseline;gap:5px;padding:8px 10px 6px;display:flex}.week .day-h .wd{font-size:10.5px;font-weight:var(--w-head);letter-spacing:.06em;color:var(--faint)}.week .day.today .wd{color:var(--accent-green)}.week .day-h .dn{font-size:var(--fs-13);font-weight:var(--w-head);font-variant-numeric:tabular-nums;margin-left:auto}.week .day-b{flex-direction:column;gap:6px;padding:7px;display:flex}.week .day-empty{color:var(--faint);font-size:var(--fs-12);padding:2px}.week .job{background:var(--sunken);border-left:3px solid var(--hairline-strong);color:var(--ink);transition:transform var(--t-fast) ease, box-shadow var(--t-fast) ease;border-radius:7px;padding:6px 8px;text-decoration:none;display:block}.week .job:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.week .job .kind{vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.week .job .kind.dom{background:var(--info)}.week .job .kind.prop{background:var(--accent)}.week .job.done{border-left-color:var(--job-done);opacity:.72}.week .job.uncovered{border-left-color:var(--job-attention)}.week .job.done .jt{text-decoration:line-through;text-decoration-thickness:1px}.week .job .jt{font-weight:var(--w-head);font-size:11.5px;line-height:1.3}.week .job .js{color:var(--muted);align-items:center;gap:4px;margin-top:1px;font-size:11px;display:flex}.week .tick{background:var(--good);border-radius:50%;flex:none;place-items:center;width:12px;height:12px;display:inline-grid}.week .tick svg{stroke:#fff;stroke-width:2.5px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:8px;height:8px}@media (max-width:1000px){.week{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.week{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:repeat(7,calc(20vw - 4.8px));gap:4px;margin-inline:-16px;padding:2px 4px 6px;scroll-padding-inline:4px;overflow-x:auto}.week::-webkit-scrollbar{display:none}.week .day{scroll-snap-align:start;min-height:150px}.week .day-h{flex-wrap:wrap;padding:6px 6px 5px}.week .day-b{gap:4px;padding:4px}.week .job{padding:4px 5px}.week .job .jt{font-size:var(--fs-11);overflow-wrap:break-word}.week .job .js{flex-wrap:wrap;font-size:10px}}.sched-cal{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);margin:4px 0 18px;padding:14px 16px}.sched-cal .mcal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sched-cal .mcal-head b{font-size:var(--fs-14);font-weight:var(--w-head)}.sched-cal .cal-nav{border-radius:var(--r-s);width:30px;height:30px;color:var(--muted);place-items:center;text-decoration:none;display:grid}.sched-cal .cal-nav:hover{background:var(--sunken);color:var(--ink)}.sched-cal .mcal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.sched-cal .mcal-dow{font-size:var(--fs-11);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.05em;color:var(--faint);text-align:center;padding:4px 0}.sched-cal .mcal-day{border-radius:var(--r-s);min-height:46px;color:var(--ink);border:1px solid #0000;flex-direction:column;align-items:flex-start;padding:5px 7px;text-decoration:none;transition:background .12s;display:flex;position:relative}.sched-cal .mcal-day:hover{background:var(--sunken)}.sched-cal .mcal-day.dim{color:var(--faint)}.sched-cal .mcal-n{font-size:var(--fs-13);font-variant-numeric:tabular-nums}.sched-cal .mcal-count{background:var(--accent-tint);min-width:18px;height:18px;color:var(--accent-green);font-size:var(--fs-11);font-weight:var(--w-head);border-radius:9px;align-self:flex-end;place-items:center;margin-top:auto;padding:0 5px;display:grid}.sched-cal .mcal-day.sel{border-color:var(--accent)}.sched-cal .mcal-count.off{background:var(--day-shut-wash);color:var(--day-shut-ink)}.sched-cal .mcal-day.all-off{background:var(--day-shut-wash)}.sched-cal .mcal-day.bank-holiday{background:var(--day-bank-wash)}.sched-cal .mcal-day.staff-holiday{background:var(--day-staff-wash)}.sched-cal .mcal-flag{border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.sched-cal .mcal-day.bank-holiday .mcal-flag{background:var(--day-bank)}.sched-cal .mcal-day.staff-holiday .mcal-flag{background:var(--day-staff)}.sched-cal .mcal-day.is-shut{background-image:repeating-linear-gradient(135deg,#0000 0 4px,#5b64701a 4px 8px)}[data-theme=dark] .sched-cal .mcal-day.is-shut,:root[data-theme=dark] .sched-cal .mcal-day.is-shut{background-image:repeating-linear-gradient(135deg,#0000 0 4px,#ffffff12 4px 8px)}.sched-cal .mcal-day.today{background:var(--accent-tint)}.sched-cal .mcal-day.today .mcal-n{color:var(--accent-ink);font-weight:var(--w-head)}@media (max-width:560px){.sched-cal .mcal-day{min-height:38px}.sched-cal .mcal-dow{font-size:9px}}.confirm-delete{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.confirm-delete .auth-error{flex-basis:100%;margin:4px 0 0}.worker-row{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px;display:flex}.worker-info{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.worker-status{font-size:var(--fs-11);font-weight:var(--w-head);border-radius:var(--r-pill);padding:2px 9px}.ws-active{color:var(--good);background:var(--good-bg)}.ws-invited{color:var(--warn);background:var(--warn-bg)}.ws-no-login{color:var(--muted);background:var(--sunken)}.worker-row .entity-admin{flex-basis:100%;margin-top:0}.edit-form .toggle{font-size:var(--fs-14);color:var(--ink);align-items:center;gap:10px;display:flex}.service-item{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);padding:12px 14px;display:block}.service-line{align-items:baseline;gap:12px;display:flex}.service-line .list-meta{margin-left:auto}.manage>summary{cursor:pointer;font-size:var(--fs-14);font-weight:var(--w-head);color:var(--muted);margin-top:8px}.manage>summary:hover{color:var(--ink)}.manage[open]>summary{margin-bottom:4px}.manage-body{background:var(--sunken);border-radius:var(--r-m);gap:14px;margin-top:8px;padding:14px 16px;display:grid}.manage-row{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:10px;display:flex}.manage-row:first-child{border-top:0;padding-top:0}.schedule-actions{margin:0 0 14px}.generate{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.generate .btn{cursor:pointer;border:0;margin-top:0}.empty .generate{justify-content:center;margin-top:12px}.visit-row{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px;display:flex}.visit-info{flex-direction:column;flex:240px;gap:2px;min-width:0;display:flex}.visit-info .due-date{font-weight:var(--w-head);font-size:var(--fs-14)}.visit-info .list-name{font-weight:var(--w-head)}.visit-info .list-meta{font-size:var(--fs-13);color:var(--muted);text-align:left;margin:0}.due-date.overdue{color:var(--bad)}.overdue-tag{font-size:var(--fs-11);font-weight:var(--w-head);color:var(--bad);text-transform:uppercase;letter-spacing:.04em}.mark-done{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.field-inline{gap:3px;display:grid}.mark-done input{padding:7px 9px}.mark-done input[type=number]{width:76px}.mark-done button{padding:8px 14px}.mark-done .auth-error{flex-basis:100%;margin:4px 0 0}.job-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);border-left:4px solid var(--accent);box-shadow:var(--shadow);flex-wrap:wrap;align-items:stretch;gap:10px 16px;padding:0;display:flex;overflow:hidden}.job-card.overdue{border-left-color:var(--bad)}.job-card.cancelled{border-left-color:var(--bad);background:var(--bad-bg)}.job-link{min-width:0;color:inherit;flex:260px;justify-content:space-between;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.job-link:hover{background:var(--sunken)}.job-info{flex-direction:column;gap:3px;min-width:0;display:flex}.job-info .list-name{font-weight:var(--w-head);font-size:var(--fs-17)}.job-addr{font-weight:var(--w-head);color:var(--ink);font-size:var(--fs-14)}.job-when{color:var(--muted);font-size:var(--fs-14);align-items:center;gap:6px;display:inline-flex}.job-when .ico{color:var(--muted);flex:none}.job-link .chev{color:var(--faint);flex:none}.job-status{font-size:var(--fs-11);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}.job-status.done{color:var(--good)}.job-status.cancelled,.job-card.overdue .job-status,.job-status.overdue{color:var(--bad)}.job-card .mark-done{align-items:center;padding:14px}.job-card:has(.job-status.done){opacity:.65}.cancelled-tag{color:var(--bad);text-transform:uppercase;font-size:var(--fs-11);letter-spacing:.04em}.job-detail{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);gap:10px;margin-bottom:16px;padding:16px;display:grid}.detail-row{color:var(--ink);align-items:flex-start;gap:10px;margin:0;display:flex}.detail-row .ico{color:var(--muted);flex:none;margin-top:2px}.detail-note{border-top:1px solid var(--hairline);color:var(--muted);margin:4px 0 0;padding-top:10px}.banner-warn{border-radius:var(--r-s);background:var(--bad-bg);border:1px solid var(--bad-bg);color:var(--bad);font-size:var(--fs-14);margin-bottom:16px;padding:12px 14px}.detail-action{margin-top:8px}.cal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cal-title{font-size:var(--fs-17);margin:0}.cal-nav{color:var(--ink);font-size:var(--fs-17);border:1px solid var(--hairline);border-radius:var(--r-s);background:var(--surface);padding:4px 12px;line-height:1.4;text-decoration:none}.cal-nav:hover{background:var(--sunken)}.cal-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:20px;display:grid}.cal-day{color:var(--ink);border-radius:var(--r-s);border:1px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:8px 0;text-decoration:none;display:flex}.cal-day:hover{background:var(--sunken)}.cal-day.sel{border-color:var(--accent);background:var(--surface)}.cal-dow{font-size:var(--fs-12);color:var(--muted)}.cal-num{font-size:var(--fs-17);font-weight:var(--w-head);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;place-items:center;width:34px;height:34px;display:grid}.cal-day.today .cal-num{background:var(--accent);color:var(--accent-ink)}.cal-dot{border-radius:var(--r-pill);background:0 0;width:6px;height:6px}.cal-dot.on{background:var(--accent)}.cal-dot.off{box-shadow:inset 0 0 0 1.5px var(--day-shut);background:0 0}.cal-off-word{font-size:var(--fs-11);color:var(--day-shut-ink);line-height:1;font-weight:var(--w-head);letter-spacing:.02em}.cal-cta{text-align:center;margin-top:20px;display:block}.staff-request-form{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);max-width:460px;box-shadow:var(--shadow);flex-direction:column;gap:12px;margin-bottom:22px;padding:16px;display:flex}.staff-request-form .field{font-size:var(--fs-13);color:var(--muted);gap:4px;display:grid}.staff-request-form select,.staff-request-form input{padding:8px 10px}.staff-request-form .date-range{flex-wrap:wrap;gap:12px;display:flex}.staff-request-form .date-range .field{flex:160px}.staff-request-form button{align-self:flex-start;padding:9px 16px}.visit-controls{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;display:flex}.assign .field-inline{gap:3px;display:grid}.assign select{padding:7px 9px}.assign .auth-error{flex-basis:100%;margin:4px 0 0}.settings-form{gap:16px;max-width:460px;display:grid}.field,.settings-form .field{font-size:var(--fs-14);color:var(--muted);gap:6px;display:grid}.settings-form .modules{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);gap:10px;margin:0;padding:14px 16px;display:grid}.settings-form .modules legend{font-weight:var(--w-head);padding:0 6px}.settings-form .modules>p{margin:0 0 4px}.settings-form .toggle{font-size:var(--fs-14);color:var(--ink);cursor:pointer;align-items:center;gap:10px;display:flex}.settings-save{justify-self:start;padding:11px 16px}.handling-chip{font-size:var(--fs-11);font-weight:var(--w-head);text-transform:none;letter-spacing:0;border-radius:var(--r-pill);vertical-align:middle;margin-left:8px;padding:1px 8px}.handling-chip.h-approval{color:var(--warn);background:var(--warn-bg)}.handling-chip.h-acknowledge{color:var(--info);background:var(--info-bg)}.handling-chip.h-auto_apply{color:var(--good);background:var(--good-bg)}.clash-warn{color:var(--bad);font-size:var(--fs-13);font-weight:var(--w-head)}.group-doors{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.group-doors li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.group-doors .grow{flex-direction:column;flex:1;min-width:0;display:flex}.agenda-day-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 14px 2px;display:flex}.second-cleaner{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.second-cleaner .shared-list{font-size:var(--fs-13);color:var(--ink);flex-direction:column;gap:2px;margin:0;padding-left:16px;display:flex}.site-card.is-focused{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;scroll-margin-top:80px}.row-menu-toggle{font:inherit;cursor:pointer;color:var(--faint);background:0 0;border:0;padding:0 4px;line-height:1}.row-menu-toggle:hover{color:var(--ink)}.row-menu-open{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.cleaning-notes{flex-direction:column;gap:6px;padding:8px 0 4px;display:flex}.cleaning-notes textarea{resize:vertical}.site-care{flex-direction:column;gap:4px;display:flex}.care-note{font-size:var(--fs-13);color:var(--muted);background:var(--sunken);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:3px;margin:0;padding:6px 8px}.req-note{font-size:var(--fs-13);color:var(--ink);border-left:2px solid var(--line);overflow-wrap:anywhere;margin-top:3px;padding-left:8px;font-style:italic}.request-row.has-clash{border-color:var(--bad);background:var(--bad-bg)}.segmented{border-bottom:1px solid var(--hairline);gap:4px;margin:4px 0 16px;display:inline-flex}.seg{color:var(--muted);font-size:var(--fs-14);border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 10px;text-decoration:none}.seg:hover{color:var(--ink)}.seg.active{color:var(--ink);font-weight:var(--w-head);border-bottom-color:var(--accent)}.portal-request-form{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);max-width:440px;box-shadow:var(--shadow);flex-direction:column;gap:14px;margin-bottom:22px;padding:18px;display:flex}.portal-request-form .field{font-size:var(--fs-13);color:var(--muted);gap:5px;display:grid}.portal-request-form select,.portal-request-form input{width:100%}.portal-request-form .date-range{gap:12px;display:flex}.portal-request-form .date-range .field{flex:1 1 0;min-width:0}.portal-request-form button[type=submit]{align-self:flex-start;padding:10px 18px}.portal-request-form .auth-error,.portal-request-form .auth-notice{margin:0}.hero-visit{background:var(--surface);border:1px solid var(--hairline);border-left:4px solid var(--accent);border-radius:var(--r-m);box-shadow:var(--shadow);justify-items:start;gap:4px;margin:2px 0 6px;padding:20px;display:grid}.hero-kicker{font-size:var(--fs-11);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.hero-date{font-size:var(--fs-17);font-weight:var(--w-head)}.hero-hint{margin:8px 0 0}.hero-hint a{color:var(--accent)}.welcome-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);justify-items:start;gap:6px;padding:24px 20px;display:grid}.welcome-lede{font-size:var(--fs-17);font-weight:var(--w-head);margin:0}.welcome-card .btn{margin-top:8px}.skel{background:var(--sunken);border-radius:var(--r-s);animation:1.1s ease-in-out infinite skel-pulse}.skel-title{width:220px;height:22px;margin:6px 0 16px}.skel-card{border-radius:var(--r-m);height:108px;margin-bottom:14px}.skel-line{height:44px;margin-bottom:8px}.skel-line.short{width:60%}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.55}}.freshness{font-size:var(--fs-12);color:var(--faint);margin:0 0 10px}.freshness.stale{color:var(--warn)}:root{--hero-bg:linear-gradient(160deg, #0e6b4a 0%, #0a5238 100%);--hero-ink:#f2faf6;--hero-ink-dim:#f2faf6b8;--shadow-soft:0 1px 2px #1418160d, 0 4px 16px #1418160f;--shadow-hero:0 8px 28px #0a523847}:root[data-theme=dark]{--hero-bg:linear-gradient(160deg, #128a60 0%, #0c5c40 100%);--shadow-soft:0 1px 2px #0006, 0 4px 16px #00000059;--shadow-hero:0 8px 28px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--hero-bg:linear-gradient(160deg, #128a60 0%, #0c5c40 100%);--shadow-soft:0 1px 2px #0006, 0 4px 16px #00000059;--shadow-hero:0 8px 28px #00000080}}.portal .app-bar{background:0 0;border-bottom:0;position:static}.portal .app-bar-inner{flex-wrap:nowrap;gap:10px;max-width:560px;padding:18px 20px 0}.portal .app-main{max-width:560px;padding:6px 20px 118px}.portal .brandmark{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);font-weight:var(--w-head);font-size:var(--fs-14);border-radius:10px;flex:none;place-items:center;display:grid}.portal .who{min-width:0;line-height:1.25;display:grid}.portal .who b{font-size:var(--fs-13);font-weight:var(--w-head);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.portal .who span{font-size:var(--fs-11);color:var(--faint)}.portal .avatar-btn{border-radius:var(--r-pill);background:var(--sunken);width:34px;height:34px;color:var(--muted);font-size:var(--fs-12);font-weight:var(--w-head);border:1px solid var(--hairline);cursor:pointer;flex:none;place-items:center;margin-left:auto;display:grid}.portal .avatar-btn:hover{color:var(--ink)}.portal .page-head{margin:14px 0 4px}.portal .page-head h1{letter-spacing:-.022em;font-size:29px;font-weight:680;line-height:1.15}.portal .page>.muted:first-of-type{margin-bottom:6px}.portal .section-h{font-size:var(--fs-12);letter-spacing:.1em;color:var(--faint);justify-content:space-between;align-items:baseline;margin:26px 0 10px;display:flex}.portal .section-h a{font:600 var(--fs-12)/1 system-ui, sans-serif;letter-spacing:0;text-transform:none;color:var(--accent);text-decoration:none}.portal .hero-visit{background:var(--hero-bg);color:var(--hero-ink);box-shadow:var(--shadow-hero);border:0;border-radius:22px;margin:10px 0 6px;padding:20px}.portal .hero-visit .hero-kicker{color:var(--hero-ink-dim);letter-spacing:.12em}.portal .hero-visit .hero-date{letter-spacing:-.02em;font-size:26px;font-weight:680}.portal .hero-visit .muted,.portal .hero-visit .hero-hint{color:var(--hero-ink-dim)}.portal .hero-visit .hero-hint a{color:var(--hero-ink)}.portal :is(.list-row,.empty,.welcome-card,.bill-card,.bill-balance,.portal-request-form,.job-card,.request-row,.chat-bubble.theirs){box-shadow:var(--shadow-soft);border:0}.portal :is(.list-row,.empty,.welcome-card,.bill-card,.bill-balance,.portal-request-form,.request-row){border-radius:18px}.portal .job-card{border-left:4px solid var(--accent);border-radius:18px}.portal .list-row{align-items:center;padding:13px 16px}.portal .list-row .due-date{background:var(--sunken);text-align:center;width:44px;min-width:0;height:46px;line-height:1.15;font-size:var(--fs-11);font-weight:var(--w-head);color:var(--muted);border-radius:12px;flex:none;place-content:center;padding:2px;display:grid}.portal .bill-balance{padding:20px}.portal .bill-balance-amt{letter-spacing:-.025em;font-size:34px;font-weight:700}.portal .bill-total{font-size:var(--fs-14)}.portal :is(input,select,textarea){background:var(--canvas);border-radius:12px;padding:12px 14px}.portal button[type=submit],.portal .btn{border-radius:14px;padding:13px 16px;font-size:15px}.portal .chat-composer textarea{border-radius:var(--r-pill);background:var(--surface)}.portal .chat-composer button{border-radius:var(--r-pill)}.portal .chat-bubble{border-radius:18px}.portal .chat-bubble.mine{border-bottom-right-radius:6px}.portal .chat-bubble.theirs{border-bottom-left-radius:6px}.portal .seg-row{flex-wrap:wrap;gap:8px;margin:4px 0 16px;display:flex}.portal .seg-chip{font:600 var(--fs-13)/1 system-ui, sans-serif;border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--surface);color:var(--muted);cursor:pointer;padding:10px 14px}.portal .seg-chip.on{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.portal .tabbar{z-index:30;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hairline);width:100%;max-width:560px;padding:8px 6px calc(10px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.portal .tabbar a{color:var(--faint);flex:1;justify-items:center;gap:3px;padding:4px 0;font:600 10.5px/1 system-ui,sans-serif;text-decoration:none;display:grid}.portal .tabbar a svg{width:23px;height:23px}.portal .tabbar a[aria-current=page]{color:var(--accent)}.portal .scrim{z-index:40;cursor:default;background:#0a0c0b66;border:0;width:100%;padding:0;position:fixed;inset:0}.portal .sheet{z-index:41;background:var(--surface);width:100%;max-width:560px;padding:10px 20px calc(26px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.22s cubic-bezier(.32,.72,.22,1) sheet-up;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 40px #0000002e}@keyframes sheet-up{0%{opacity:.4;transform:translateY(32px)}to{opacity:1;transform:none}}.portal .sheet .grab{border-radius:var(--r-pill);background:var(--hairline);width:36px;height:4px;margin:4px auto 14px}.portal .sheet h3{font-size:var(--fs-14);font-weight:var(--w-head);margin:0 0 8px}.portal .sheet-row{border-top:1px solid var(--hairline);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:center;gap:12px;padding:14px 0;font:550 15px/1.3 system-ui,sans-serif;display:flex}.portal .sheet-row:first-of-type{border-top:0}.portal .sheet-row svg{color:var(--muted);flex:none}.portal .sheet-row .sub{font-size:var(--fs-12);color:var(--faint);margin-left:auto;font-weight:400}.portal .sheet .theme-toggle{margin-left:auto}.portal .freshness{text-align:center;margin:30px 0 0}.portal .bell-btn{border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--surface);width:34px;height:34px;color:var(--muted);flex:none;place-items:center;margin-left:auto;display:grid;position:relative}.portal .bell-btn:hover{color:var(--ink)}.portal .bell-dot{border-radius:var(--r-pill);background:var(--bad);border:2px solid var(--surface);width:8px;height:8px;position:absolute;top:5px;right:6px}.portal .avatar-btn{margin-left:0}.portal .notif-row{align-items:flex-start;gap:12px}.portal .notif-row .what{gap:2px;min-width:0;display:grid}.portal .notif-ico{border-radius:var(--r-pill);background:var(--sunken);width:34px;height:34px;color:var(--muted);font-size:var(--fs-13);font-weight:var(--w-head);flex:none;place-items:center;display:grid}.portal .notif-ico.k-request{background:var(--good-bg);color:var(--good)}.portal .notif-ico.k-bill{background:var(--warn-bg);color:var(--warn)}.portal .mcal{background:var(--surface);box-shadow:var(--shadow-soft);border-radius:18px;margin-top:10px;padding:16px}.portal .mcal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.portal .mcal-head b{font-size:var(--fs-14);font-weight:var(--w-head)}.portal .mcal-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.portal .mcal-dow{font-size:10px;font-weight:var(--w-head);text-transform:uppercase;color:var(--faint);padding:4px 0}.portal .mcal-day{aspect-ratio:1;font-size:var(--fs-13);font-variant-numeric:tabular-nums;color:var(--ink);border-radius:12px;place-items:center;text-decoration:none;display:grid;position:relative}.portal .mcal-day:hover{background:var(--sunken)}.portal .mcal-day.dim{color:var(--faint)}.portal .mcal-day.visit:after{content:"";border-radius:var(--r-pill);background:var(--accent);width:5px;height:5px;position:absolute;bottom:5px}.portal .mcal-day.sel{box-shadow:inset 0 0 0 1.5px var(--accent)}.portal .mcal-day.today{background:var(--accent);color:var(--accent-ink);font-weight:var(--w-head)}.portal .mcal-day.today.visit:after{background:var(--accent-ink)}.portal .mcal-day.was-cancelled:after{content:"";width:5px;height:5px;box-shadow:inset 0 0 0 1.5px var(--job-cancelled);background:0 0;border-radius:50%;position:absolute;bottom:5px}.portal .mcal-day.today.was-cancelled:after{box-shadow:inset 0 0 0 1.5px var(--accent-ink)}.portal .sheet-row{text-decoration:none}.portal .cta{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:14px;padding:13px 16px;font:650 15px/1.2 system-ui,sans-serif}.portal .cta.ghost{background:var(--surface);border:1px solid var(--hairline);color:var(--ink);font-weight:600}.portal .cta.ghost:hover{background:var(--sunken)}.portal .pay-cleaner{margin:0 0 18px;display:grid}.portal .pay-row{border-top:1px solid var(--hairline);align-items:center;gap:12px;padding:12px 0;display:flex}.portal .pay-row:first-of-type{border-top:0}.portal .pay-row-body{min-width:0;line-height:1.3;display:grid}.portal .pay-row-body span{font-size:var(--fs-12);color:var(--muted)}.portal .pay-row-body b{font-size:var(--fs-14);font-weight:var(--w-head)}.portal .pay-copy{font:650 var(--fs-12)/1 system-ui, sans-serif;color:var(--accent);background:var(--sunken);border-radius:var(--r-pill);cursor:pointer;border:0;margin-left:auto;padding:6px 12px}.portal .fineprint{font-size:var(--fs-12);color:var(--faint);text-align:center}.admin{grid-template-columns:224px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--hairline);flex-direction:column;align-self:start;gap:4px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:10px;padding:2px 8px 14px;display:flex}.side .brandmark{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);font-weight:var(--w-head);border-radius:9px;flex:none;place-items:center;display:grid}.side-brand-name{min-width:0;line-height:1.2;display:grid}.side-brand-name b{font-size:var(--fs-13);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.side-brand-name span{font-size:var(--fs-11);color:var(--faint)}.org-switch{padding:2px 8px 14px;position:relative}.org-switch-trigger{border-radius:var(--r-s);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;transition:background var(--t-fast) ease;background:0 0;border:0;align-items:center;gap:10px;padding:4px 6px;display:flex}.org-switch-trigger:hover{background:var(--sunken)}.org-switch-trigger:disabled{cursor:progress}.org-switch-caret{color:var(--faint);font-size:var(--fs-12);margin-left:auto;line-height:1}.org-switch-menu{z-index:40;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow-lift);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% - 8px);left:8px;right:8px}.org-switch-item{border-radius:var(--r-s);cursor:pointer;text-align:left;width:100%;font-size:var(--fs-13);color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:7px 8px;display:flex}.org-switch-item:hover:not(:disabled){background:var(--sunken)}.org-switch-item.is-current{cursor:default;color:var(--muted)}.org-switch-item .brandmark.sm{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);font-size:var(--fs-11);font-weight:var(--w-head);border-radius:6px;flex:none;place-items:center;display:grid}.org-switch-tick{color:var(--accent-green);margin-left:auto}.side-nav{gap:2px;display:grid}.side-label{font-size:10.5px;font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:14px 10px 4px}.side-nav a{border-radius:var(--r-ctl);height:32px;color:var(--muted);font-size:var(--fs-13);transition:background var(--t-fast) ease, color var(--t-fast) ease;align-items:center;gap:9px;padding:0 10px;font-weight:500;text-decoration:none;display:flex;position:relative}.side-nav a:hover{color:var(--ink);background:var(--sunken)}.side-nav a[aria-current=page]{color:var(--accent-green);background:var(--accent-tint);font-weight:var(--w-head)}.nav-ic{flex:none;display:flex}.nav-ic svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.side-nav .nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-nav .nav-badge{margin-left:auto}.side-foot{gap:8px;margin-top:auto;padding:8px;display:grid}.side-foot button.side-signout{font:inherit;font-size:var(--fs-13);border:1px solid var(--hairline);border-radius:var(--r-s);background:var(--surface);width:100%;color:var(--muted);cursor:pointer;padding:7px 12px}.side-foot button.side-signout:hover{color:var(--ink);background:var(--sunken)}.side-identity{gap:1px;min-width:0;padding:6px 12px 2px;display:grid}.side-identity-label{font-size:var(--fs-11);color:var(--faint);letter-spacing:.03em}.side-identity-email{font-size:var(--fs-12);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-identity-role{font-size:var(--fs-11);color:var(--muted)}.admin-body{min-width:0}.admin .app-main{max-width:1360px;margin:0 auto;padding:28px 32px 80px}.phone-bar,.phone-tabs,.menu-scrim{display:none}.side-group{display:contents}@media (max-width:880px){:root{--tabbar-h:calc(59px + env(safe-area-inset-bottom))}.admin{grid-template-columns:minmax(0,1fr)}.admin .app-main{max-width:none;padding:16px max(16px, env(safe-area-inset-right)) 28px max(16px, env(safe-area-inset-left));overflow-x:clip}.admin .app-main table:not(.table-wrap table){max-width:100%;display:block;overflow-x:auto}.admin .version-stamp{text-align:center;padding:0 0 calc(var(--tabbar-h) + 14px);display:block;position:static}.phone-bar{z-index:25;min-height:calc(54px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(6px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.5)blur(16px);border-bottom:1px solid var(--hairline);align-items:center;gap:2px;display:flex;position:sticky;top:0}.phone-brand{min-width:0;min-height:44px;color:var(--ink);flex:1;align-items:center;gap:10px;text-decoration:none;display:flex}.phone-brand .brandmark{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);font-size:var(--fs-14);font-weight:var(--w-head);border-radius:9px;flex:none;place-items:center;display:grid}.phone-brand b{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.phone-icon-btn,.phone-new{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;padding:0;display:grid}.phone-icon-btn:active{background:var(--sunken)}.phone-icon-btn svg,.phone-new svg{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}.phone-icon-btn svg{stroke-width:1.9px;width:22px;height:22px}.phone-new{color:var(--accent-ink)}.phone-new svg{background:var(--accent);stroke-width:2.2px;width:34px;height:34px;box-shadow:var(--shadow);border-radius:50%;padding:8px}.phone-tabs{z-index:45;padding:5px max(4px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:saturate(1.5)blur(18px);border-top:1px solid var(--hairline);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.phone-tabs a,.phone-tab{min-width:0;min-height:49px;color:var(--muted);font:inherit;letter-spacing:.01em;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:0;padding:2px 0;font-size:11px;font-weight:500;text-decoration:none;display:flex;position:relative}.phone-tabs .nav-ic{width:56px;height:30px;transition:background-color var(--t-fast) ease;border-radius:15px;place-items:center;display:grid}.phone-tabs .nav-ic svg{stroke-width:1.8px;width:22px;height:22px}.phone-tabs .nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.phone-tabs a[aria-current=page],.phone-tab[data-here],.phone-tab[aria-expanded=true]{color:var(--accent-green);font-weight:var(--w-head)}.phone-tabs a[aria-current=page] .nav-ic,.phone-tab[data-here] .nav-ic,.phone-tab[aria-expanded=true] .nav-ic{background:var(--accent-tint)}.phone-tabs .nav-badge{box-shadow:0 0 0 2px var(--surface);margin:0;position:absolute;top:1px;left:calc(50% + 6px)}.phone-tabs .nav-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);margin:0;position:absolute;top:4px;left:calc(50% + 11px)}.side{top:auto;left:0;right:0;bottom:var(--tabbar-h);z-index:44;height:auto;max-height:calc(100dvh - var(--tabbar-h) - 64px - env(safe-area-inset-top));overscroll-behavior:contain;padding:10px max(14px, env(safe-area-inset-right)) 16px max(14px, env(safe-area-inset-left));background:var(--surface);transform:translateY(calc(100% + var(--tabbar-h)));visibility:hidden;border:0;border-radius:20px 20px 0 0;flex-direction:column;gap:2px;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s;position:fixed;overflow-y:auto;box-shadow:0 -12px 40px #0000002e}html[data-sheet] .side{visibility:visible;transition:transform .26s cubic-bezier(.2,.8,.2,1);transform:none}.side:focus{outline:none}.side:before{content:"";background:var(--hairline-strong);border-radius:3px;flex:none;align-self:center;width:38px;height:5px;margin:0 0 8px}html[data-sheet]{overflow:hidden}.menu-scrim{z-index:43;background:#0a0c0b6b;border:0;border-radius:0;min-height:0;margin:0;padding:0;animation:.2s both scrim-in;display:block;position:fixed;inset:0}.menu-scrim[hidden],.side .side-new,.side .ck-trigger,.side-nav a[href=\/],.side-nav a[href^=\/schedule],.side-nav a[href=\/clients],.side-nav a[href^=\/airbnb],html[data-sheet=money] .side>:not(.side-nav),html[data-sheet=money] .side-group:not([data-group=money]),html[data-sheet=more] .side-group[data-group=money]{display:none}.side-brand,.org-switch{padding:2px 6px 6px}.side-label{font-size:var(--fs-11);padding:14px 12px 6px}.side-nav a{height:50px;color:var(--ink);border-radius:12px;gap:14px;padding:0 12px;font-size:15px}.side-nav .nav-ic{color:var(--muted)}.side-nav a[aria-current=page] .nav-ic{color:inherit}.side-nav .nav-ic svg{width:20px;height:20px}.side-nav .nav-badge{min-width:20px;height:20px;font-size:var(--fs-12)}.side-foot{border-top:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:14px 0 0;display:grid}.side-identity{grid-column:1/-1;padding:0 8px 4px}.side-foot form{display:contents}.side-foot .theme-toggle,.side-foot .side-signout,.side-foot button.side-signout{width:100%;min-height:44px;font-size:var(--fs-14);color:var(--ink);border:1px solid var(--hairline);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;padding:0 12px;text-decoration:none;display:flex}.admin .toast-stack{bottom:calc(var(--tabbar-h) + 12px)}.admin .bulk{bottom:calc(var(--tabbar-h) + 10px)}.desktop-only{display:none!important}.dlg,.dlg.wide{width:100%;max-width:100%;max-height:calc(100dvh - 20px - env(safe-area-inset-top));border-radius:18px 18px 0 0;margin:auto 0 0;animation:.24s cubic-bezier(.2,.8,.2,1) both sheet-up}.dlg-inner{max-height:calc(100dvh - 20px - env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:18px 18px 0 0}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.phone-more,.phone-more-sheet,.phone-primary{display:contents}.phone-more-btn{display:none}@media (max-width:880px){.phone-more{display:inline-flex}.phone-more>button.phone-more-btn{border:1px solid var(--hairline);background:var(--surface);width:44px;height:44px;color:var(--ink);font-size:20px;font-weight:var(--w-head);letter-spacing:.08em;border-radius:12px;flex:none;place-items:center;padding:0 0 4px;line-height:1;display:inline-grid}.phone-more>button.phone-more-btn.is-word{width:auto;font-size:var(--fs-13);letter-spacing:0;padding:0 14px}.phone-more-sheet{left:0;right:0;bottom:var(--tabbar-h);z-index:44;max-height:calc(100dvh - var(--tabbar-h) - 64px - env(safe-area-inset-top));overscroll-behavior:contain;padding:24px max(14px, env(safe-area-inset-right)) 16px max(14px, env(safe-area-inset-left));background:var(--surface);transform:translateY(calc(100% + var(--tabbar-h)));visibility:hidden;border-radius:20px 20px 0 0;flex-direction:column;align-items:stretch;gap:8px;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s;display:flex;position:fixed;overflow-y:auto;box-shadow:0 -12px 40px #0000002e}.phone-more[data-open] .phone-more-sheet{visibility:visible;transition:transform .26s cubic-bezier(.2,.8,.2,1);transform:none}.phone-more-sheet:before{content:"";background:var(--hairline-strong);border-radius:3px;width:38px;height:5px;margin-left:-19px;position:absolute;top:9px;left:50%}html:has(.phone-more[data-open]){overflow:hidden}.phone-more-sheet form:not(dialog *){width:100%;margin:0;display:block}.phone-more-sheet :is(a[href],button):not(dialog *){border:1px solid var(--hairline);background:var(--surface);width:100%;height:auto;min-height:48px;color:var(--ink);filter:none;border-radius:12px;justify-content:flex-start;align-items:center;margin:0;padding:0 16px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.phone-more .phone-more-sheet :is(.danger,.link-danger,.btn-danger):not(dialog *){color:var(--bad)}.phone-more-sheet dialog{visibility:visible}.phone-primary{z-index:40;right:max(16px, env(safe-area-inset-right));bottom:calc(var(--tabbar-h) + 14px);max-width:calc(100vw - 32px);display:flex;position:fixed}.phone-primary>:is(a,button),.phone-primary>form>button,.phone-primary>span>button{border-radius:var(--r-pill);background:var(--accent);height:auto;min-height:50px;color:var(--accent-ink);font-size:15px;font-weight:var(--w-head);white-space:nowrap;border:0;justify-content:center;align-items:center;padding:0 22px;text-decoration:none;display:inline-flex;box-shadow:0 6px 20px #00000038,0 2px 6px #0000001f}.phone-primary>form,.phone-primary>span{display:flex}.admin .app-main:has(.phone-primary){padding-bottom:88px}}.ck-trigger{width:100%;font:inherit;font-size:var(--fs-13);color:var(--faint);border:1px solid var(--hairline);border-radius:var(--r-s);background:var(--canvas);cursor:pointer;text-align:left;align-items:center;gap:8px;margin:0 0 6px;padding:8px 10px;display:flex}.ck-trigger:hover{color:var(--ink)}.ck-trigger kbd{font:600 var(--fs-11)/1 system-ui, sans-serif;color:var(--faint);background:var(--surface);border:1px solid var(--hairline);border-radius:5px;margin-left:auto;padding:2px 5px}.ck-overlay{z-index:50;background:#0a0c0b66;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.ck-panel{background:var(--surface);border-radius:var(--r-m);width:100%;max-width:480px;overflow:hidden;box-shadow:0 16px 60px #0000004d}.ck-input{width:100%;font:inherit;border:0;border-bottom:1px solid var(--hairline);background:var(--surface);color:var(--ink);border-radius:0;outline:none;padding:15px 18px;font-size:15px}.ck-list{max-height:320px;margin:0;padding:6px;list-style:none;overflow-y:auto}.ck-item{width:100%;font:inherit;font-size:var(--fs-14);border-radius:var(--r-s);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.ck-item.on{background:var(--sunken)}.ck-hint{font-size:var(--fs-12);color:var(--faint)}.ck-empty{font-size:var(--fs-13);color:var(--faint);padding:14px 12px}@media (max-width:880px){.ck-overlay{padding-top:calc(10px + env(safe-area-inset-top))}.ck-input{font-size:16px}}.portal button.mcal-day{font:inherit;font-size:var(--fs-13);cursor:pointer;background:0 0;border:0;padding:0}.portal .mcal-day.off{color:var(--faint);opacity:.45;cursor:default}.portal .mcal-day.in-range{background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:0}.portal .mcal-day.range-start,.portal .mcal-day.range-end{background:var(--accent);color:var(--accent-ink);font-weight:var(--w-head)}.portal .mcal-day.range-start{border-radius:12px 0 0 12px}.portal .mcal-day.range-end{border-radius:0 12px 12px 0}.portal .mcal-day.range-start.range-end{border-radius:12px}.portal .range-pills{gap:8px;display:flex}.portal .range-pills .ctl{font-size:var(--fs-13);border:1px solid var(--hairline);background:var(--canvas);color:var(--muted);border-radius:12px;flex:1;align-items:baseline;gap:6px;padding:10px 12px;display:flex}.portal .range-pills .ctl b{color:var(--ink);font-weight:var(--w-head)}.portal .affect{background:var(--warn-bg);font-size:var(--fs-13);color:var(--ink);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.5;display:flex}.portal .affect b{font-weight:var(--w-head)}.staffapp .mark-done{padding:12px 14px}.staffapp .mark-done input{width:auto}.staffapp .mark-done input[type=number]{width:84px}.staffapp .mark-done input[type=date]{width:150px}.staffapp .job-info .list-name{font-size:var(--fs-17)}.staffapp .cal-strip{margin-top:10px}.staffapp .cal-day.sel{border-color:var(--accent)}.staffapp .staff-request-form{box-shadow:var(--shadow-soft);border:0;border-radius:18px}.side-new{text-align:center;font-size:var(--fs-14);font-weight:var(--w-head);color:var(--accent-ink);background:var(--accent);border-radius:var(--r-s);margin:0 0 8px;padding:9px 12px;text-decoration:none;display:block}.side-new:hover{filter:brightness(1.07)}.wizard{gap:14px;max-width:560px;display:grid}.wiz-section{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);gap:12px;padding:18px;display:grid}.wiz-h{font-size:var(--fs-12);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.wizard .field{font-size:var(--fs-13);color:var(--muted);gap:6px;display:grid}.wizard .field-label{font-size:var(--fs-13);color:var(--muted);margin-top:2px}.wiz-cols{flex-wrap:wrap;gap:12px;display:flex}.wiz-cols .field{flex:160px;min-width:0}.wizard .seg-row{flex-wrap:wrap;gap:8px;display:flex}.wizard .seg-chip{font:600 var(--fs-13)/1 system-ui, sans-serif;border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--surface);color:var(--muted);cursor:pointer;padding:9px 13px}.wizard .seg-chip.on{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.wiz-more summary{cursor:pointer;font-size:var(--fs-13);color:var(--muted)}.wiz-more[open] summary{margin-bottom:10px}.wizard button[type=submit]{justify-self:start;padding:11px 18px}.signup-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:20px;margin-top:14px;padding:20px;display:flex}.signup-qr{border-radius:var(--r-s);background:#fff;max-width:240px;height:auto;padding:6px}.signup-meta{flex:1;gap:6px;min-width:220px;display:grid}.signup-url{font-size:var(--fs-13);background:var(--sunken);border-radius:var(--r-s);word-break:break-all;padding:8px 10px}.act-note.bad{background:var(--bad-tint,#c83c3c1a);color:var(--bad);border-color:var(--bad)}.act-note{width:fit-content;max-width:100%;font-size:var(--fs-13);color:var(--good);background:var(--good-tint);border-radius:var(--r-ctl);margin:10px auto 0;padding:6px 12px;font-weight:500}.cap-note{font-size:var(--fs-12);color:var(--warn);background:var(--warn-tint);border-radius:var(--r-ctl);width:fit-content;max-width:100%;margin:6px 0 0;padding:6px 10px;font-weight:500}.kit .amt-theirs{color:var(--muted);font-weight:400}.kit .payout-head{align-items:flex-start}.kit .payout-who{flex-direction:column;gap:1px;min-width:0;display:flex}.kit .payout-who .eyebrow{font-size:10.5px;font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.kit .payout-who h3{font-size:var(--fs-14);margin:0}.kit .payout-meta{text-align:right;grid-template-columns:auto auto;align-items:baseline;gap:0 14px;margin-left:auto;display:grid}.kit .payout-meta span,.kit .payout-meta strong{font-variant-numeric:tabular-nums}.kit .payout-meta strong{font-size:var(--fs-17);letter-spacing:-.01em}.kit .payout-meta small{font-size:var(--fs-11)}.kit .payout-close{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:12px;padding:11px 14px;display:flex}.kit .payout-close-date{font-size:var(--fs-12);color:var(--muted);align-items:center;gap:8px;display:flex}.kit .payout-close .primary-btn{margin-left:auto}.kit .payout-history{border-top:1px solid var(--hairline)}.stmt-doc{padding:0}.stmt-head{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:18px 20px 14px;display:flex}.stmt-head h2{font-size:var(--fs-17);margin:2px 0}.stmt-head .eyebrow{font-size:10.5px;font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.stmt-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.stmt-no{font-size:var(--fs-14);font-weight:var(--w-head)}.stmt-table tfoot td{border-top:2px solid var(--hairline-strong);padding:11px 14px}.stmt-total-l{color:var(--muted);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.05em}.stmt-total{font-size:var(--fs-17);font-weight:var(--w-head)}.stmt-foot{margin:0;padding:12px 20px 18px}.print-only{display:none}@media print{.no-print,.side,.side-nav,.ck-trigger{display:none!important}.print-only{display:block}.summary-report .card{box-shadow:none;break-inside:avoid;border:1px solid #ddd}.admin{display:block}.admin .app-main{max-width:none;padding:0}.stmt-doc{box-shadow:none;border:0}.doc-print .card{box-shadow:none;border:1px solid #ddd}.doc-print .page-head .right{display:none}body{background:#fff}.print-page{page-break-after:always}.hosted-invoice .hi-annex-cap{break-before:page;page-break-before:always}.hosted-invoice .data-table tbody{break-inside:avoid}}.print-page+.print-page{border-top:1px dashed var(--hairline);margin-top:24px}.attn-chip{font-size:var(--fs-11);font-weight:var(--w-head);vertical-align:1px;background:var(--job-attention-wash);color:var(--job-attention-ink);border:1px solid color-mix(in srgb, var(--job-attention) 35%, transparent);border-radius:6px;margin-left:6px;padding:1px 7px 2px;line-height:1.35;display:inline-block}.week .job .attn-chip{color:var(--label-attn-ink);background:var(--label-attn-wash);border-color:var(--label-attn-edge);margin-left:5px;padding-left:6px}.week .job .attn-chip:before{content:"";vertical-align:1px;background:var(--label-attn);border-radius:1px;width:5px;height:5px;margin-right:5px;display:inline-block;transform:rotate(45deg)}.line-switch{margin:0 0 14px}.line-switch .seg{align-items:center;gap:6px;display:inline-flex}.line-switch .line-swatch{width:8px;height:8px;box-shadow:none}.line-switch .line-swatch+.line-swatch{margin-left:-3px}@media (max-width:880px){.line-switch{width:auto;top:calc(54px + env(safe-area-inset-top));z-index:21;background:var(--canvas);margin:-16px -16px 12px;padding:4px 16px 0;display:flex;position:sticky}.page:has(.line-switch) :is(.rota-head,.week-bar){top:calc(103px + env(safe-area-inset-top))}}.rota-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;display:flex}@media (max-width:880px){.rota-head,.week-bar{top:calc(54px + env(safe-area-inset-top));z-index:20;background:var(--canvas);margin-inline:-16px;padding:6px 16px;position:sticky}}.rota-legend{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.ldot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.ldot.done{background:var(--job-done)}.ldot.cancelled{background:var(--job-cancelled)}.ldot.attention{background:var(--label-attn)}.ldot.uncovered{background:var(--job-attention)}.ldot.cover{background:var(--job-cover)}.ldot.bank-holiday{background:var(--day-bank)}.ldot.staff-holiday{background:var(--day-staff)}.rota-legend .lgroup{font-weight:var(--w-head);color:var(--faint)}.rota-legend .lgroup:not(:first-child){margin-left:6px}.rota-section{margin-bottom:28px}.rota-worker{font-size:var(--fs-15);margin:14px 0 6px}.rota-grid-head{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.rota-dow{font-size:var(--fs-11);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px}.rota-week{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:4px;margin-bottom:4px;display:grid}.rota-day{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);flex-direction:column;gap:4px;min-width:0;min-height:84px;padding:6px;display:flex}.rota-day.outside{opacity:.45}.rota-day.weekend{background:var(--sunken)}.rota-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rota-date-line strong{font-size:var(--fs-12);font-weight:var(--w-head);color:var(--ink)}.rota-day.today .rota-date-line strong{color:var(--accent-green)}.rota-scroll{overflow:visible}.rota-cards,.rvc,.rvc-main,.rvc-chips,.rvc-label-row{min-width:0}.rota-day.bank-holiday{background:var(--day-bank-wash);border-color:var(--day-bank-edge);box-shadow:inset 3px 0 0 var(--day-bank)}.rota-day.staff-holiday{background:var(--day-staff-wash);border-color:var(--day-staff-edge);box-shadow:inset 3px 0 0 var(--day-staff)}.rota-day.is-shut{background-image:repeating-linear-gradient(135deg,#0000 0 5px,#5b64701a 5px 10px)}[data-theme=dark] .rota-day.is-shut,:root[data-theme=dark] .rota-day.is-shut{background-image:repeating-linear-gradient(135deg,#0000 0 5px,#ffffff12 5px 10px)}.day-flag{font-size:var(--fs-11);background:var(--sunken);color:var(--muted);border:1px solid var(--hairline);white-space:normal;overflow-wrap:break-word;border-radius:6px;flex:100%;order:1;max-width:100%;margin-left:0;padding:1px 6px}.rota-day.bank-holiday .day-flag{background:var(--day-bank-wash);color:var(--day-bank-ink);border-color:var(--day-bank-edge);font-weight:var(--w-head)}.rota-day.staff-holiday .day-flag{background:var(--day-staff-wash);color:var(--day-staff-ink);border-color:var(--day-staff-edge);font-weight:var(--w-head)}.day-flag.shut{font-weight:var(--w-head)}.rota-date-line{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.day-actions-wrap{align-items:center;min-width:0;max-width:100%;display:inline-flex}.day-flag{min-width:0}.rota-dow-m{font-size:var(--fs-11);color:var(--muted);display:none}.rota-date-btn{cursor:pointer;color:var(--ink);border-radius:var(--r-s);background:0 0;border:0;padding:2px 4px}.rota-date-btn:hover,.rota-date-btn.active{background:var(--sunken)}.day-actions-wrap{position:relative}.day-action-box{z-index:40;flex-direction:column;gap:4px;min-width:200px;padding:8px;display:flex;position:absolute;top:110%;left:0}.day-action-box .act,.day-action-box form .act{text-align:left;border-radius:var(--r-s);width:100%;height:auto;font-size:var(--fs-13);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:7px 9px;text-decoration:none;display:block}.day-action-box .act:hover{background:var(--sunken)}.holiday-pop{z-index:30;min-width:280px;padding:12px;position:absolute;top:110%;right:0}@media (max-width:880px){.day-action-box,.holiday-pop{top:auto;left:0;right:0;bottom:var(--tabbar-h);z-index:46;min-width:0;max-height:calc(100dvh - var(--tabbar-h) - 64px - env(safe-area-inset-top));padding:18px max(14px, env(safe-area-inset-right)) 16px max(14px, env(safe-area-inset-left));border:0;border-radius:20px 20px 0 0;gap:8px;margin:0;position:fixed;overflow-y:auto;box-shadow:0 -12px 40px #00000038}.day-action-box .act,.day-action-box form .act{border:1px solid var(--hairline);border-radius:12px;align-items:center;min-height:48px;padding:0 16px;font-size:15px;display:flex}}.day-action-box form{display:contents}.rota-cards{flex-direction:column;gap:4px;display:flex}.rota-more{font:inherit;font-size:var(--fs-12);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;align-self:flex-start;padding:1px 2px}.rota-more:hover{color:var(--ink);text-decoration:underline}.rvc{--rail:var(--line,transparent);background:var(--surface);color:inherit;border:1px solid var(--hairline);border-radius:var(--r-s);box-shadow:inset 4px 0 0 var(--rail), 0 1px 2px #1616140a;transition:background-color .22s ease, border-color .22s ease, box-shadow var(--t-fast);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:4px 7px;padding:6px 7px 6px 8px;text-decoration:none;display:grid}.rvc:hover{border-color:var(--hairline-strong);box-shadow:inset 4px 0 0 var(--rail), 0 2px 8px #16161412}.rvc>:not(.rvc-tick):not(.rvc-row),.rvc .rvc-main{grid-column:2}.rvc.is-done{--rail:var(--line,var(--card-done-mark))}.rvc.is-cancelled{background:var(--job-cancelled-wash);--rail:var(--job-cancelled);border-color:color-mix(in srgb, var(--job-cancelled) 38%, transparent)}.rvc.is-off-day{background:var(--day-shut-wash);--rail:var(--day-shut);border-color:color-mix(in srgb, var(--day-shut) 38%, transparent)}.rvc.is-skipped{background:var(--sunken);--rail:var(--muted);border-color:color-mix(in srgb, var(--muted) 38%, transparent)}.rvc.is-uncovered{background:var(--job-attention-wash);--rail:var(--job-attention);border-color:color-mix(in srgb, var(--job-attention) 38%, transparent)}.rvc.is-cover{background:var(--job-cover-wash);--rail:var(--job-cover);border-color:color-mix(in srgb, var(--job-cover) 38%, transparent)}.rvc.is-covered-away{border-style:dotted}.rvc.is-done:not(:has(.rvc-tick .chk)){--rail:var(--line,var(--card-done-mark));background:var(--line-wash,var(--card-done-fill));border-color:color-mix(in srgb, var(--line,var(--card-done-mark)) 38%, transparent)}.rvc:has(.rvc-tick .chk:checked){--rail:var(--line,var(--card-done-mark));background:var(--line-wash,var(--card-done-fill));border-color:color-mix(in srgb, var(--line,var(--card-done-mark)) 38%, transparent)}.rvc.is-done:not(:has(.rvc-tick .chk)) .rvc-name{color:var(--line-ink,var(--ink))}.rvc:has(.rvc-tick .chk:checked) .rvc-name{color:var(--line-ink,var(--ink))}.rvc.is-done .rvc-chips,.rvc.is-done .rvc-label-row{opacity:1}.rvc .chk{appearance:none;border:1.5px solid var(--line,var(--muted));background:var(--surface);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin:0;transition:background-color .18s,border-color .18s;display:inline-grid;position:relative}.rvc .chk:hover:not(:disabled){border-color:var(--line-ink,var(--ink))}.rvc .chk:before{content:"";border-radius:50%;position:absolute;inset:-4px}.rvc .chk:checked{background:var(--line-ink,var(--card-done-mark));border-color:var(--line-ink,var(--card-done-mark));animation:.26s cubic-bezier(.2,.9,.3,1.3) tick-pop}.rvc .chk:checked:after{content:"";border:2px solid var(--surface);border-top:0;border-right:0;width:8px;height:4.5px;margin-top:-2px;transform:rotate(-45deg)}.rvc .chk:disabled{cursor:default}.rvc .chk:disabled:not(:checked){opacity:.45}.rvc.is-uncovered .chk:not(:checked),.rvc.is-cover .chk:not(:checked){border-color:var(--rail)}.rvc.is-uncovered .chk:not(:checked):hover:not(:disabled){border-color:var(--job-attention-ink)}.rvc.is-cover .chk:not(:checked):hover:not(:disabled){border-color:var(--job-cover-ink)}@keyframes tick-pop{0%{transform:scale(.6)}70%{transform:scale(1.12)}to{transform:scale(1)}}.rvc.is-cancelled .rvc-name{color:var(--job-cancelled-ink)}.rvc.is-off-day .rvc-name{color:var(--day-shut-ink)}.rvc.is-skipped .rvc-name{color:var(--muted)}.rvc.is-cancelled .rvc-name,.rvc.is-off-day .rvc-name{text-decoration:line-through;text-decoration-thickness:1px}.rvc-lbl,.rvc-note.said{max-width:100%;font-size:var(--fs-11);font-weight:var(--w-head);white-space:normal;overflow-wrap:break-word;color:var(--label-card-ink);background:var(--label-card-wash);border:1px solid #0000;border-radius:6px;align-items:baseline;gap:5px;padding:1px 7px 2px 6px;font-style:normal;line-height:1.35;display:inline-flex}.rvc-lbl:before,.rvc-note.said:before{content:"";background:var(--label-card);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-1px)}.rvc-lbl.is-default{color:var(--muted);font-weight:var(--w-body);background:0 0;border:0;padding:0}.rvc-lbl.is-default:before{content:none}.rvc-lbl.is-moved,.rvc-note.sys{color:var(--muted);font-weight:var(--w-head);background:0 0;border:0;padding:0}.rvc-lbl.is-moved:before,.rvc-note.sys:before{content:"↪";background:0 0;border-radius:0;width:auto;height:auto;transform:none}.rvc-note.tag{border:1px solid var(--hairline-strong);color:var(--muted);font-weight:var(--w-body);background:0 0;border-radius:6px;margin:0}.rvc-attn,.rvc-note.uncovered{max-width:100%;font-size:var(--fs-11);font-weight:var(--w-head);white-space:normal;overflow-wrap:break-word;border-radius:6px;align-items:baseline;gap:5px;padding:1px 7px 2px;line-height:1.35;display:inline-flex}.rvc-attn{color:var(--label-attn-ink);background:var(--label-attn-wash);border:1px solid var(--label-attn-edge);padding-left:6px}.rvc-attn:before{content:"";background:var(--label-attn);border-radius:1px;flex:none;width:5px;height:5px;transform:translateY(-1.5px)rotate(45deg)}.rvc-note.uncovered{color:var(--job-attention-ink);background:var(--job-attention-wash);border:1px solid color-mix(in srgb, var(--job-attention) 32%, transparent)}.rvc-note.cover{background:var(--job-cover-wash);color:var(--job-cover-ink);border-color:color-mix(in srgb, var(--job-cover) 30%, transparent);font-weight:var(--w-head)}:is(.rvc.is-uncovered:not(.is-done):not(:has(.rvc-tick .chk:checked)) .rvc-note.uncovered,.rvc.is-cover:not(.is-done):not(:has(.rvc-tick .chk:checked)) .rvc-note.cover){background:0 0;border:0;padding:0}.rvc-tick{align-items:center;padding-top:1px;display:flex}.rvc-main{text-align:left;min-width:0;font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;text-decoration:none;display:flex}.rvc a{text-decoration:none}.rvc-main strong,.rvc-name{font-size:12.5px;font-weight:var(--w-head);letter-spacing:-.005em;color:var(--ink);overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.rvc-meta{min-width:0;font-size:var(--fs-11);color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:break-word;flex-wrap:wrap;align-items:baseline;column-gap:6px;display:flex}.rvc-hours{min-width:0}.rvc-airbnb{background:var(--surface)}.rvc-other{box-shadow:none;background:0 0;border-style:dashed}.rvc.rvc-other>.rvc-main{grid-column:1/-1}.rvc-err{color:var(--bad,#c55);font-weight:700}.rvc-err-say{min-width:0;font-size:var(--fs-11);font-weight:var(--w-head);color:var(--bad);background:var(--bad-bg);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bad) 40%, transparent);border-radius:5px;margin:2px 0 0;padding:2px 6px 3px 5px;line-height:1.3;display:block}.rvc-err-mark{margin-right:2px;font-weight:700}.rvc-err-short{display:none}.rvc .rvc-err.rvc-err-say{order:99;grid-column:1/-1}.rvc-err-say:has(.rvc-err-desk) .rvc-err-long{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dlg{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);color:var(--ink);width:calc(100vw - 40px);max-width:440px;padding:0}.dlg::backdrop{background:#00000073}.dlg-body{flex-direction:column;gap:12px;display:flex}.dlg-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dlg-head h3{margin:0}.dlg-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.dlg-row .field{flex:1;min-width:160px}@media (max-width:880px){:is(.rota-section,.rota-scroll:has(>.rota-week)){overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-16px;padding-inline:4px;scroll-padding-inline:4px;overflow-x:auto}.rota-section::-webkit-scrollbar{display:none}.rota-scroll::-webkit-scrollbar{display:none}.rota-worker{width:max-content;margin-left:12px;position:sticky;left:16px}.rota-grid-head{display:none}.rota-week{grid-template-columns:repeat(7,calc(20vw - 4px));gap:3px;width:max-content;margin-bottom:3px}.rota-day{border-radius:var(--r-s);scroll-snap-align:start;gap:3px;min-height:92px;padding:4px}.rota-day.outside{display:flex}.rota-dow-m{text-transform:uppercase;letter-spacing:.03em;font-size:10px;display:inline}.rota-date-line{flex-wrap:wrap;gap:2px}.rota-date-btn{padding:0 2px}.rota-cards{gap:3px}.rvc{border-radius:6px;grid-template-columns:minmax(0,1fr);row-gap:2px;padding:4px 4px 4px 6px}.rvc>:not(.rvc-tick):not(.rvc-row),.rvc .rvc-main{grid-column:1}.rvc-tick{order:2;justify-self:end;padding:0}.rvc-main strong,.rvc-name{font-size:var(--fs-11);overflow-wrap:break-word;line-height:1.2}.rvc-meta{overflow-wrap:break-word;column-gap:3px;font-size:10px}.rvc-lbl,.rvc-note,.rvc-note.said,.rvc-attn{overflow-wrap:break-word;gap:3px;padding:0 3px 1px;font-size:10px}.rvc-note.uncovered,.rvc-note.cover{overflow-wrap:break-word;font-size:10px}.rvc-name,.rvc-meta,.rvc-lbl,.rvc-note,.rvc-attn{-webkit-hyphens:auto;hyphens:auto}.rota-day .rvc-main strong,.rota-day .rvc-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.rvc-label-row,.rvc-chips{gap:2px}.day-flag{margin-left:0;font-size:10px}.rota-more{font-size:var(--fs-11)}}.rota-add{opacity:0;padding:0 6px;transition:opacity .12s}.rota-day:hover .rota-add,.rota-add:focus-visible{opacity:1}.rota-date-line a.rota-date-btn{text-decoration:none}@media (hover:none),(max-width:880px){.rota-date-line .rota-add{display:none}.rota-date-line a.rota-date-btn{align-items:center;min-width:30px;min-height:30px;margin:-4px 0 -4px -2px;padding:0 6px;display:inline-flex}}.rvc-col>.rvc-row{display:contents}.rvc-row{align-items:flex-start;gap:6px;display:flex}.rvc-chips{flex-wrap:wrap;gap:4px;display:flex}.rvc-actions{align-items:center;gap:8px;display:flex}.rvc .rvc-actions{flex-wrap:wrap;justify-content:flex-start;gap:2px 10px;min-height:16px}.rvc .rvc-actions .act,.rvc .rvc-actions form .act{height:auto;font-size:var(--fs-11);color:var(--muted);background:0 0;border:0;border-radius:4px;padding:0}.rvc .rvc-actions>.act:first-child{padding-left:0}.rvc:hover .rvc-actions .act,.rvc:focus-within .rvc-actions .act{color:var(--muted)}.rvc .rvc-actions .act:hover{color:var(--ink);background:0 0}.rvc-actions .act.danger{color:var(--muted)}.rvc-actions .act.danger:hover{color:var(--bad);border-color:var(--bad)}.rvc:has(.rvc-tick .chk:checked) .rvc-actions .act:not(:hover){color:var(--muted)}.rvc.is-done:not(:has(.rvc-tick .chk)) .rvc-actions .act:not(:hover){color:var(--muted)}.rvc-verbs{display:contents}.rvc .rvc-verbs>.inline-form{display:flex}.rvc-done-mark{width:18px;height:18px;color:var(--line-ink,var(--card-done-mark));place-items:center;font-size:14px;font-weight:700;line-height:1;display:inline-grid}@media (min-width:881px){.rvc-verbs+.rvc-more{display:none}}@media (max-width:880px){.rvc-verbs{display:none}}.rvc-more{margin-left:auto;position:relative}.rvc .rvc-actions .rvc-more-btn{letter-spacing:.08em;font-weight:700}.rvc-menu{z-index:30;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);width:max-content;min-width:132px;max-width:240px;box-shadow:var(--shadow-lift);flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:-4px}.rvc .rvc-menu .act,.rvc .rvc-menu form .act{text-align:left;width:100%;font-size:var(--fs-13);color:var(--ink);border-radius:6px;padding:6px 8px;display:block}.rvc .rvc-menu .act:hover{background:var(--sunken);color:var(--ink)}.rvc .rvc-menu .act.danger{color:var(--bad)}.rvc-menu .inline-form{display:block}@media (max-width:880px){.rvc-menu{top:auto;left:0;right:0;bottom:var(--tabbar-h);z-index:46;width:auto;min-width:0;max-width:none;padding:16px max(14px, env(safe-area-inset-right)) 16px max(14px, env(safe-area-inset-left));border:0;border-radius:20px 20px 0 0;gap:8px;position:fixed;box-shadow:0 -12px 40px #00000038}.rvc .rvc-menu .act,.rvc .rvc-menu form .act,.rvc-menu .act{border:1px solid var(--hairline);border-radius:12px;min-height:48px;padding:0 16px;font-size:15px}}.rvc-menu .confirm-inline{padding:4px 6px}@media (max-width:880px){.rota-day .rvc{grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:dense;column-gap:3px}.rota-day .rvc .rvc-main,.rota-day .rvc .rvc-chips,.rota-day .rvc .rvc-label-row,.rota-day .rvc .rvc-err{grid-column:1/-1}.rota-day .rvc .rvc-err-say{padding:1px 4px 2px;font-size:10px}.rota-day .rvc .rvc-err-say:has(.rvc-err-short) .rvc-err-long{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rota-day .rvc .rvc-err-say .rvc-err-short{display:inline}.rota-day .rvc .rvc-err-say .rvc-err-desk{display:none}.rota-day .rvc .rvc-err-say:not(:has(.rvc-err-short)){-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rota-day .rvc .rvc-actions{flex-wrap:nowrap;order:2;grid-column:1;align-self:center;gap:0 2px;min-height:0}.rota-day .rvc .rvc-tick{order:2;grid-column:2}.rota-day .rvc .rvc-actions .act{padding:0 1px;font-size:10px}.rota-day .rvc-more{margin-left:0}}@media (pointer:coarse){.rvc .rvc-actions .act{min-height:0}}.rvc-amt{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.rota-day .rvc-amt{white-space:nowrap;flex-basis:100%;margin-left:0}.rvc-name,.rvc-meta,.rvc-lbl,.rvc-note,.rvc-attn{-webkit-hyphens:auto;hyphens:auto}@media (min-width:881px){.rvc-lbl,.rvc-note.said,.rvc-attn,.rvc-note.uncovered{grid-template-columns:minmax(0,1fr);display:inline-grid}.rvc-lbl:not(.is-default),.rvc-note.said,.rvc-attn{grid-template-columns:auto minmax(0,1fr)}}@media (min-width:881px) and (max-width:1180px){.rota-day .rvc{grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:dense;column-gap:3px}.rota-day .rvc>:not(.rvc-tick),.rota-day .rvc .rvc-main{grid-column:1}.rota-day .rvc .rvc-main,.rota-day .rvc .rvc-chips,.rota-day .rvc .rvc-label-row,.rota-day .rvc .rvc-err{grid-column:1/-1}.rota-day .rvc .rvc-tick{order:2;grid-column:2;justify-self:end;padding:0}.rvc-lbl,.rvc-note,.rvc-note.said,.rvc-attn{gap:3px;padding:0 3px 1px}}.rvc-label-row{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.rvc-note{font-size:var(--fs-11);background:var(--sunken);color:var(--muted);border:1px solid var(--hairline);white-space:normal;overflow-wrap:break-word;border-radius:6px;max-width:100%;padding:1px 7px 2px;line-height:1.35}.chips-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.chips-scroll::-webkit-scrollbar{display:none}.chips-scroll .chip{white-space:nowrap;flex:none}.chip-inline-sub{color:var(--accent-green);opacity:.8;font-weight:400}.nowrap{white-space:nowrap}.reorder-list{flex-direction:column;gap:6px;min-width:min(360px,80vw);display:flex}.reorder-item{border:1px solid var(--hairline);border-radius:var(--r-s);background:var(--surface);align-items:center;gap:8px;padding:7px 10px;display:flex}.reorder-item .grow{flex:1;min-width:0}.dlg-col{flex-direction:column;gap:10px;display:flex}.agenda-day>.agenda-head{cursor:pointer;list-style:none}.agenda-day>.agenda-head::-webkit-details-marker{display:none}.agenda-day>.agenda-head:before{content:"▸";color:var(--faint);font-size:var(--fs-11);margin-right:6px}.agenda-day[open]>.agenda-head:before{content:"▾"}.agenda-day.today{border-color:var(--accent)}.dimmed{opacity:.62}.disclosure{margin:0;padding:0 14px 12px}.disclosure>summary{cursor:pointer;font-size:var(--fs-13);color:var(--muted);padding:8px 0}.disclosure>summary:hover{color:var(--ink)}.rp-cell{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.row-menu{display:inline-flex;position:relative}.row-menu-list{z-index:30;text-align:left;white-space:nowrap;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;min-width:210px;margin-top:4px;padding:6px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000024}.row-menu-list>*{text-align:left;justify-content:flex-start}@media (max-width:880px){.row-menu-list{top:auto;left:0;right:0;bottom:var(--tabbar-h);z-index:46;padding:16px max(14px, env(safe-area-inset-right)) 16px max(14px, env(safe-area-inset-left));border:0;border-radius:20px 20px 0 0;gap:8px;margin:0;position:fixed;box-shadow:0 -12px 40px #00000038}.row-menu-list>*{min-height:48px;font-size:15px}}.paid-bar{background:var(--sunken);border-radius:2px;height:3px;margin-top:3px;display:block;overflow:hidden}.paid-bar>span{background:var(--accent);height:100%;display:block}.alloc-input{text-align:right;font-variant-numeric:tabular-nums;width:96px}.inline-mono{vertical-align:baseline;width:11ch;padding:1px 6px;display:inline-block}.old-numbers{margin-top:2px}.old-number{align-items:baseline;gap:4px;margin-right:10px;display:inline-flex}.redecide-bases{flex-direction:column;gap:2px;margin:8px 0;display:flex}.redecide-diff{margin-top:8px}.redecide-line{border-top:1px solid var(--hairline);padding:6px 0}.redecide-refused{border-top:1px solid var(--hairline);margin-top:8px;padding-top:6px}.credit-strip{border-color:color-mix(in srgb, #d8b544 45%, var(--hairline))}.key-list{font-size:var(--fs-13);grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.key-list dt{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.key-list dd{color:var(--muted);margin:0}.mail-search{align-items:center;gap:10px;margin:0 0 10px;display:flex}.mail-search input[type=search]{min-width:0;font:inherit;border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);color:inherit;flex:1;padding:6px 10px}.mailbox .mail-panes{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.mail-list{max-height:62vh;margin:0;padding:0;list-style:none;overflow-y:auto}.mail-row{border-top:1px solid var(--hairline)}.mail-row:first-child{border-top:0}.mail-row>a{color:inherit;border-radius:var(--r-s,6px);grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:9px 8px;text-decoration:none;display:grid}.mail-row>a:hover{background:var(--sunken)}.mail-row.is-open>a{background:var(--sunken);box-shadow:inset 2px 0 0 var(--accent)}.mail-who{align-items:center;gap:6px;min-width:0;display:flex}.mail-who b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mail-prev{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-13);grid-column:1;overflow:hidden}.mail-when{text-align:right;grid-area:1/2/span 2;align-self:center;align-items:center;gap:6px;display:flex}.mail-tag{font-size:var(--fs-11);border:1px solid var(--hairline);border-radius:999px;padding:0 6px}.mail-row.is-unread .mail-prev{color:var(--ink);font-weight:500}.mail-thread{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);flex-direction:column;min-height:240px;display:flex}.mail-empty{justify-content:center;align-items:center}.mail-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.mail-msgs{flex-direction:column-reverse;gap:10px;max-height:52vh;padding:12px;display:flex;overflow-y:auto}.mail-msg{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);padding:10px 12px}.mail-msg.inbound{background:var(--sunken);border-color:#0000}.mail-subj{font-weight:var(--w-head);margin-top:2px}.mail-body{white-space:pre-wrap;word-break:break-word;margin:6px 0 4px}.mail-msgs .chat-bubble{max-width:78%}.mail-note{text-align:center;margin:0}.mail-logged{border-radius:var(--r-s);background:var(--sunken);border-left:2px solid var(--hairline);color:var(--muted);overflow-wrap:anywhere;margin:0;padding:7px 12px}.mail-logged strong{color:var(--ink)}.mail-older{margin:0}.mail-composer{border-top:1px solid var(--hairline);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.mail-composer textarea{font:inherit;border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);color:inherit;resize:vertical;padding:8px 10px}.mail-composer-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.mail-composer-none{border-top:1px solid var(--hairline);margin:0;padding:10px 12px}.mailbox .mail-back{display:none}@media (max-width:900px){.key-list{font-size:var(--fs-13);grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.key-list dt{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.key-list dd{color:var(--muted);margin:0}.mail-search{align-items:center;gap:10px;margin:0 0 10px;display:flex}.mail-search input[type=search]{min-width:0;font:inherit;border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);color:inherit;flex:1;padding:6px 10px}.mailbox .mail-panes{grid-template-columns:minmax(0,1fr)}.mail-list{max-height:none}.mail-empty,.mailbox.has-open .mail-list{display:none}.mailbox.has-open .mail-back{margin:10px 12px 0;display:inline-flex}.mailbox.has-open .mail-msgs{max-height:none}}.msg-compose{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:14px;margin-top:12px;display:grid}.msg-who{min-width:0}.snippet-pick{align-items:center;gap:6px;display:inline-flex}.snippet-pick select{font:inherit;font-size:var(--fs-13);border:1px solid var(--hairline);border-radius:var(--r-s,6px);background:var(--surface);color:inherit;padding:3px 6px}.msg-who-tools{align-items:center;gap:10px;margin-bottom:6px;display:flex}.msg-who-tools input[type=search]{min-width:0;font:inherit;border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);color:inherit;flex:1;padding:6px 10px}.msg-list{max-height:52vh;margin:0;padding:0;list-style:none;overflow-y:auto}.msg-list li{border-top:1px solid var(--hairline)}.msg-list li:first-child{border-top:0}.msg-list label{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:2px 10px;padding:7px 4px;display:grid}.msg-list input[type=checkbox]{grid-row:1/span 2;align-self:center}.msg-name{font-weight:500}.msg-list li.is-blocked{opacity:.55}.msg-list li.is-blocked label{cursor:not-allowed}.msg-list .small{overflow-wrap:anywhere;grid-column:2}.msg-what .field{margin-bottom:12px}.msg-what textarea{width:100%;font:inherit;border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);color:inherit;resize:vertical;padding:8px 10px}.msg-purpose{border:1px solid var(--hairline);border-radius:var(--r-m);margin:0 0 12px;padding:10px 12px}.msg-purpose legend{font-size:var(--fs-13);color:var(--muted);padding:0 6px}.msg-purpose label{font-size:var(--fs-13);align-items:baseline;gap:8px;padding:3px 0;display:flex}.msg-send{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:900px){.msg-compose{grid-template-columns:minmax(0,1fr)}.msg-list{max-height:40vh}}.inv-ws{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;margin-top:12px;display:grid}.inv-side{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);overflow:hidden}.inv-side-head{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-top:1px solid var(--hairline);background:var(--surface-2,transparent);justify-content:space-between;align-items:baseline;gap:8px;padding:9px 12px;display:flex}.inv-side-head:first-child{border-top:0}.inv-side-head.warn strong{color:#a15c07}.inv-side-head.ok strong{color:var(--good,#1a7f4b)}.inv-side-item{border-top:1px solid var(--hairline);width:100%;color:inherit;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:flex}.inv-side-item small{color:var(--muted);font-size:var(--fs-12);display:block}.inv-side-item:hover{background:var(--hover,#00000008)}.inv-side-item.on{background:var(--hover,#0000000d);box-shadow:inset 3px 0 0 var(--accent)}.inv-main{flex-direction:column;gap:12px;min-width:0;display:flex}@media (max-width:900px){.inv-ws{grid-template-columns:1fr}}.dlg-form{flex-direction:column;display:flex}.dlg-section{border-top:1px solid var(--line);padding:12px 16px}.dlg-section:first-child{border-top:0}.dlg-section-title{font-size:var(--fs-12);font-weight:var(--w-head);color:var(--muted);text-transform:none;margin:0 0 8px}.dlg-section-body{gap:10px;display:grid}@media (min-width:520px){.dlg-section-body{grid-template-columns:1fr 1fr}.dlg-section-body>.field:has(textarea){grid-column:1/-1}}.dlg-section-body .field{gap:4px;min-width:0;display:grid}.field-label{font-size:var(--fs-12);color:var(--ink)}.field-hint{font-size:var(--fs-11);color:var(--faint);line-height:1.35}.field-note{font-size:var(--fs-11);color:var(--muted);display:block}.dlg-section-note{font-size:var(--fs-12);color:var(--faint);margin:-4px 0 8px}.field.is-locked input,.field.is-locked select{opacity:.6}.is-locked-note{font-size:var(--fs-12);color:var(--warn,#a15c00)}.dlg-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.dlg-remove{border-top:1px solid var(--line);padding:10px 16px}.act.is-armed{background:var(--danger,#7a241f);color:#fff;border-color:var(--danger,#7a241f)}.dlg-readonly-note{margin:12px 16px 0}:is(.dlg-form:has(.dlg-readonly-note) .field input:disabled,.dlg-form:has(.dlg-readonly-note) .field select:disabled,.dlg-form:has(.dlg-readonly-note) .field textarea:disabled){opacity:1;color:var(--ink);background:var(--sunken);cursor:default}.basis-choices{grid-column:1/-1;gap:6px;display:grid}.basis-choice{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.basis-choice.is-on{border-color:var(--accent);background:var(--sunken)}.basis-choice input{width:auto;margin:0}.job-total{grid-column:1/-1;padding-top:2px}.route-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-top:14px;display:grid}.kit .route-card{gap:0;padding:0;overflow:hidden}.kit .route-card .card-h h3{font-size:var(--fs-14)}.kit .route-card .card-h .worker-status{margin-left:auto}.route-actions{border-bottom:1px solid var(--hairline);align-items:center;gap:8px;padding:8px 14px;display:flex}.route-actions .act{margin-left:auto}.route-order{border:1px solid var(--hairline);border-radius:6px;gap:0;display:inline-flex;overflow:hidden}.route-order .stepper-btn{background:var(--surface);width:26px;height:24px;color:var(--muted);cursor:pointer;font-size:var(--fs-13);border:0;place-items:center;display:grid}.route-order .stepper-btn+.stepper-btn{border-left:1px solid var(--hairline)}.route-order .stepper-btn:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.route-order .stepper-btn:disabled{opacity:.35;cursor:default}.route-figures{font-size:var(--fs-13);color:var(--muted);flex-wrap:wrap;gap:4px 14px;padding:10px 14px;display:flex}.route-figures b{color:var(--ink);font-variant-numeric:tabular-nums}.route-figures .route-total{margin-left:auto}.route-note{margin:0;padding:0 14px 8px}.route-empty{margin:0;padding:0 14px 12px}.route-contact{font-variant-numeric:tabular-nums;margin:0;padding:8px 14px 0}.route-contact a{color:inherit;text-decoration:none}.route-contact a:hover{color:var(--ink);text-decoration:underline}.route-breakdown{margin:0;padding:0;list-style:none}.route-breakdown li{font-size:var(--fs-13);border-top:1px solid var(--hairline);align-items:center;gap:8px;padding:6px 14px;display:flex}.route-breakdown li span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.route-breakdown li strong{font-weight:var(--w-head);font-variant-numeric:tabular-nums;margin-left:auto}.cover-chip{font-size:var(--fs-11);color:var(--muted);background:var(--sunken);border-radius:var(--r-pill);flex:none;padding:1px 7px}.route-more summary{border-top:1px solid var(--hairline);font-size:var(--fs-12);color:var(--muted);cursor:pointer;padding:6px 14px}.route-more summary:hover{color:var(--ink)}.route-admin{border-top:1px solid var(--hairline);background:var(--sunken);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;display:flex}.retired{margin-top:20px}.retired>summary{cursor:pointer;font-size:var(--fs-13);color:var(--muted)}.retired>summary:hover{color:var(--ink)}.team-rows{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.team-rows-legend{font-size:var(--fs-12);color:var(--muted);text-align:right;margin:14px 0 0}.team-row{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:6px 14px;padding:9px 10px 9px 12px;display:grid}.team-row:hover{border-color:var(--faint)}.team-row-who{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.team-row-name{font-weight:var(--w-head);color:var(--ink);overflow-wrap:anywhere;text-decoration:none}.team-row-name:hover{text-decoration:underline}.team-row-figs{font-size:var(--fs-13);color:var(--muted);flex-wrap:wrap;gap:2px 12px;display:flex}.team-row-figs b,.team-row-total b{color:var(--ink);font-weight:var(--w-head);font-variant-numeric:tabular-nums}.team-row-total{text-align:right;min-width:88px;font-size:var(--fs-14)}.team-row-go{width:32px;height:32px;color:var(--muted);border-radius:6px;place-items:center;font-size:18px;text-decoration:none;display:grid}.team-row-go:hover{background:var(--sunken);color:var(--ink)}.team-row-gap{width:54px}.team-row .route-order .stepper-btn{padding:0;line-height:1}@media (max-width:880px){.team-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"order who go""order figs total";gap:4px 10px;padding:8px 6px 8px 8px}.team-row>.route-order,.team-row>.team-row-gap{grid-area:order;align-self:center}.team-row-who{grid-area:who}.team-row-figs{grid-area:figs}.team-row-total{grid-area:total;min-width:0}.team-row-go{grid-area:go;width:44px;height:44px}.team-row .route-order{flex-direction:column}.team-row .route-order .stepper-btn{width:44px;height:44px}.team-row .route-order .stepper-btn+.stepper-btn{border-left:0;border-top:1px solid var(--hairline)}.team-row-gap{width:44px}}.cleaner-detail .detail-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;margin-top:14px;display:grid}@media (max-width:900px){.cleaner-detail .detail-grid{grid-template-columns:1fr}}.cleaner-reach{font-variant-numeric:tabular-nums;margin:-8px 0 0}.cleaner-reach a{color:inherit}.cleaner-facts{font-size:var(--fs-13);grid-template-columns:max-content minmax(0,1fr);gap:7px 18px;margin:6px 0 0;display:grid}.cleaner-facts dt{color:var(--muted)}.cleaner-facts dd{color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}@media (max-width:520px){.cleaner-facts{grid-template-columns:1fr;gap:0}.cleaner-facts dd{margin-bottom:9px}}.cleaner-notes{font-size:var(--fs-13);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.timeoff-list{margin:4px 0 0;padding:0;list-style:none}.timeoff-list li{border-top:1px solid var(--hairline);font-size:var(--fs-13);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 0;display:flex}.timeoff-list li:first-child{border-top:0}.timeoff-list li>:nth-child(3){margin-left:auto}.timeoff-when{font-weight:var(--w-head);color:var(--ink);font-variant-numeric:tabular-nums;text-decoration:none}.cleaner-month{justify-content:center;margin:-2px 0 12px;display:flex}.cleaner-facts a,.rail-card a,.cleaner-detail .timeoff-list a:not(.timeoff-when){color:var(--accent-green)}.cleaner-detail a.btn-secondary{text-decoration:none}.rail-total{font-weight:var(--w-head)}.rail-note{margin:8px 0 0}.rail-h-gap{margin-top:18px}.rail-card .route-breakdown li{padding:6px 0}.rail-card .route-breakdown li:first-child{border-top:0}.rail-card .route-more summary{padding:6px 0}.all-clear{font-size:var(--fs-13);color:var(--muted);margin:4px 0 2px}.all-clear:before{content:"✓";color:var(--accent-green);margin-right:7px}.plain-link{color:inherit;text-decoration:none}.plain-link:hover,.plain-link:focus-visible{text-underline-offset:3px;text-decoration:underline}.cleaner-tag{font-size:var(--fs-11);color:var(--muted);background:var(--sunken);border-radius:var(--r-pill);white-space:nowrap;flex:none;padding:1px 7px}.info-dot{vertical-align:.06em;width:15px;height:15px;color:var(--faint);cursor:help;place-items:center;margin-left:6px;display:inline-grid}.info-dot:hover,.info-dot:focus-visible{color:var(--muted)}.info-dot svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;width:15px;height:15px}.route-notes{white-space:pre-line}.out-of-area{color:var(--warn);font-weight:500}.template-source{font-style:italic}.laundry-month{border-top:1px solid var(--hairline)}.laundry-month>summary{font-size:var(--fs-12);color:var(--muted);cursor:pointer;padding:8px 14px}.laundry-month>summary:hover{color:var(--ink)}.laundry-month>p{margin:0;padding:0 14px 10px}.encloses{font-size:var(--fs-12);color:var(--muted);margin:0 0 10px;padding-left:18px}.encloses a{color:inherit}.encloses a:hover{color:var(--ink)}.bulk-when{font-size:var(--fs-12);color:inherit;align-items:center;gap:6px;display:inline-flex}.bulk-when input{font:inherit;font-size:var(--fs-12);padding:2px 6px}.log-exchange-form{flex-direction:column;gap:10px;display:flex}.log-exchange-form .field{flex-direction:column;gap:3px;display:flex}.log-exchange-form .field>span{color:var(--muted)}.log-exchange-form .check{color:var(--muted);align-items:center;gap:7px;display:flex}.log-exchange-form .check input{width:auto;margin:0}.log-exchange-foot{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.pile-tabs{gap:4px;display:inline-flex}.pile-tab{border-radius:var(--r-pill);font:var(--w-head) var(--fs-13)/1.6 inherit;color:var(--muted);border:1px solid #0000;align-items:center;gap:6px;padding:4px 11px;text-decoration:none;display:inline-flex}.pile-tab:hover{background:var(--sunken);color:var(--ink)}.pile-tab.on{background:var(--sunken);color:var(--ink);border-color:var(--hairline)}.pile-n{font-variant-numeric:tabular-nums;font-size:var(--fs-11);background:var(--ink);color:var(--canvas);border-radius:var(--r-pill);padding:0 6px}.pile-tab.on .pile-n{background:var(--ink);color:var(--canvas)}@media (max-width:640px){.mailbox>.card-h{flex-wrap:wrap;row-gap:8px}.pile-tab{white-space:nowrap}}.mail-when b{font-variant-numeric:tabular-nums}.mail-when b.wait-late,.mail-undelivered{color:var(--bad)}.messages-page .mailbox{background:0 0;border:0;padding:0}.messages-page .mail-list{max-height:calc(100vh - 232px)}.messages-page .mail-msgs{max-height:calc(100vh - 330px)}@media (max-width:900px){.messages-page .mail-list{max-height:none}}.mail-context{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);flex-direction:column;gap:12px;padding:12px;display:flex}.ctx-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ctx-head b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ctx-item{font-size:var(--fs-13);flex-direction:column;gap:2px;display:flex}.ctx-l{font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ctx-item a{color:inherit}.ctx-owed{font-variant-numeric:tabular-nums;font-weight:var(--w-head);color:var(--bad)}.ctx-notes .cleaning-notes{margin:0}.ctx-notes label{font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:3px;display:flex}@media (min-width:1200px){.mailbox .mail-panes.has-context{grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(250px,310px)}}@media (min-width:901px) and (max-width:1199px){.mail-context{grid-column:2}}@media (max-width:900px){.mailbox.has-open .mail-context{order:-1}}.occasion-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;max-width:720px;margin:18px 0 0;padding:0;list-style:none;display:grid}.occasion-card{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);height:100%;color:inherit;flex-direction:column;gap:5px;padding:15px 16px;text-decoration:none;display:flex}.occasion-card:hover{border-color:var(--accent);background:var(--sunken)}.occasion-card b{font-size:var(--fs-15,1rem)}.offer-caught{border:1px solid var(--warn,var(--hairline));border-radius:var(--r-m);background:var(--sunken);flex-direction:column;gap:6px;margin:10px 0 0;padding:11px 13px;display:flex}.offer-ways{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.coverage-strip{font-size:var(--fs-13);flex-direction:column;gap:4px;margin:0 0 12px;padding:11px 14px;display:flex}.coverage-strip-attention{border-left:3px solid var(--warn)}.coverage-headline{color:var(--ink);margin:0}.coverage-difference{color:var(--warn);margin:0;font-weight:600}.coverage-gap{flex-wrap:wrap;align-items:baseline;gap:8px;margin:2px 0 0;display:flex}.coverage-foot{font-size:var(--fs-12);color:var(--faint);margin:2px 0 0}.gap-refusal{flex-wrap:wrap;align-items:baseline;gap:8px;display:inline-flex}.gap-refusal-why{font-size:var(--fs-12);color:var(--warn)}.owed-floor{font-variant-numeric:tabular-nums}.owed-unknown{text-align:right;max-width:22ch;display:block}.acct-row{align-items:flex-start;gap:12px}.acct-form,.byhand-form{flex-direction:column;gap:8px;margin:8px 0;display:flex}.acct-form .field,.byhand-form .field{margin:0}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.import-line{font-variant-numeric:tabular-nums}.import-confirm{flex-direction:column;display:flex}.gap-answer,.open-row-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.open-row-form input{min-width:7rem}.money-in-doors{flex-wrap:wrap;align-items:flex-start;gap:12px;margin:12px 0;display:flex}.money-in-doors .import-card{flex:420px;margin:0}.record-money-in{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.record-money-in .field{margin:0}.xsmall{font-size:var(--fs-11)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.row-note{font-size:var(--fs-12);color:var(--warn);max-width:46ch;margin-top:3px}.data-table tbody tr.row-early td:first-child,.data-table tbody tr.row-before-us td:first-child,.data-table tbody tr.row-blocked td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.data-table tbody tr.row-left td,.data-table tbody tr.row-aside td{color:var(--muted)}.data-table tbody tr.row-focus td{box-shadow:inset 0 0 0 1px var(--accent)}.data-table tbody tr.row-working td{background:var(--sunken)}.working{font-size:var(--fs-12);color:var(--muted);margin:4px 0;padding-left:18px;list-style:none}.working li.no{color:var(--ink)}.queue-actions{white-space:nowrap}.queue-actions>*{min-height:24px;margin-left:6px}.queue-keys{margin-top:10px}.queue-keys kbd{font:inherit;border:1px solid var(--hairline);background:var(--sunken);border-radius:3px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bulk-preview{align-items:flex-start}.bulk-preview-list ul{max-height:30vh;margin:4px 0 0;padding-left:16px;overflow-y:auto}.bulk-preview-list li{font-size:var(--fs-12)}.side-panel{background:var(--surface);border-left:1px solid var(--hairline);width:min(460px,100vw);box-shadow:var(--shadow-lift);z-index:40;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.side-panel-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px;display:flex}.side-panel-body{flex:1;padding:14px;overflow-y:auto}.side-panel-body h4{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 6px}.side-panel-foot{border-top:1px solid var(--hairline);justify-content:flex-end;gap:8px;padding:12px 14px;display:flex}.alloc-input{text-align:right;width:100px}.we-did-this{margin-top:16px}.credit-strip-note{margin:0 0 6px}.credit-row{align-items:flex-start}.credit-preview{margin:6px 0}.toast-stack{z-index:60;flex-direction:column-reverse;gap:8px;width:max-content;max-width:min(560px,94vw);display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--canvas);box-shadow:var(--shadow-lift);font-size:var(--fs-13);border-radius:10px;align-items:center;gap:10px;padding:9px 8px 9px 14px;display:flex}.toast-bad{background:var(--bad)}.toast-msg{flex:1}.toast-undo{height:26px;color:inherit;font:inherit;font-size:var(--fs-12);font-weight:var(--w-head);cursor:pointer;background:#ffffff2e;border:0;border-radius:6px;padding:0 11px}.toast-undo:hover{background:#ffffff4d}.toast-undo:disabled{opacity:.6;cursor:default}.toast-x{width:24px;height:24px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:6px;font-size:15px;line-height:1}.toast-x:hover{opacity:1}.login-link{flex-direction:column;gap:6px;margin:4px 0 8px;display:flex}.login-link-row{gap:6px;display:flex}.login-link-row input{min-width:0;font-size:var(--fs-12);font-family:var(--mono,ui-monospace, monospace);border:1px solid var(--hairline-strong);border-radius:var(--r-s);background:var(--sunken);color:var(--ink);flex:1;padding:5px 8px}.login-link-hint{margin:4px 0 8px}.line-sage{--line:var(--line-sage);--line-wash:var(--line-sage-wash);--line-ink:var(--line-sage-ink)}.rvc.line-edge-sage{--rail:var(--line-sage)}.line-sky{--line:var(--line-sky);--line-wash:var(--line-sky-wash);--line-ink:var(--line-sky-ink)}.rvc.line-edge-sky{--rail:var(--line-sky)}.line-teal{--line:var(--line-teal);--line-wash:var(--line-teal-wash);--line-ink:var(--line-teal-ink)}.rvc.line-edge-teal{--rail:var(--line-teal)}.line-amber{--line:var(--line-amber);--line-wash:var(--line-amber-wash);--line-ink:var(--line-amber-ink)}.rvc.line-edge-amber{--rail:var(--line-amber)}.line-coral{--line:var(--line-coral);--line-wash:var(--line-coral-wash);--line-ink:var(--line-coral-ink)}.rvc.line-edge-coral{--rail:var(--line-coral)}.line-rose{--line:var(--line-rose);--line-wash:var(--line-rose-wash);--line-ink:var(--line-rose-ink)}.rvc.line-edge-rose{--rail:var(--line-rose)}.line-slate{--line:var(--line-slate);--line-wash:var(--line-slate-wash);--line-ink:var(--line-slate-ink)}.rvc.line-edge-slate{--rail:var(--line-slate)}.line-sand{--line:var(--line-sand);--line-wash:var(--line-sand-wash);--line-ink:var(--line-sand-ink)}.rvc.line-edge-sand{--rail:var(--line-sand)}.line-list{border:1px solid var(--hairline);border-radius:var(--r-m);margin:12px 0;padding:0;list-style:none}.line-row{align-items:center;gap:12px;padding:12px 14px;display:flex}.line-row+.line-row{border-top:1px solid var(--hairline)}.line-row .grow{flex-wrap:wrap;flex:1;align-items:baseline;gap:4px 6px;min-width:0;display:flex}.line-usage{flex-basis:100%}.line-swatch{background:var(--line);width:14px;height:14px;box-shadow:0 0 0 3px var(--line-wash);border-radius:50%;flex:none}.line-chip{font-size:var(--fs-12);background:var(--line-wash);color:var(--line-ink);font-weight:var(--w-head);border-radius:999px;padding:1px 8px;display:inline-block}.line-move{gap:4px;display:flex}.line-add{align-items:center;gap:12px;margin-top:12px;display:flex}.line-intake .line-row{flex-wrap:wrap}.line-intake .line-row .grow{flex:240px}.line-template-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px;display:grid}.line-template{text-align:left;border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--surface);color:inherit;cursor:pointer;font:inherit;gap:4px;padding:12px 14px;display:grid}.line-template:hover:not(:disabled){border-color:var(--muted)}.line-template:disabled{opacity:.55;cursor:not-allowed}.line-form-grid{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start;gap:20px;display:grid}@media (max-width:720px){.line-form-grid{grid-template-columns:minmax(0,1fr)}}.line-colours,.line-fields{border:0;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;display:flex}.line-colours legend,.line-fields legend{width:100%;font-size:var(--fs-13);color:var(--muted);margin-bottom:4px}.line-hint{flex-basis:100%;margin:0}.line-view-pick{flex:150px;min-width:0}.line-swatch-pick{background:var(--line);width:30px;height:30px;box-shadow:0 0 0 3px var(--line-wash);cursor:pointer;border-radius:50%;position:relative}.line-swatch-pick input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.line-swatch-pick.is-on{outline:2px solid var(--line-ink);outline-offset:3px}.line-swatch-pick:has(input:disabled){opacity:.3;cursor:not-allowed}.line-swatch-pick:has(input:focus-visible){outline:2px solid var(--line-ink);outline-offset:3px}.line-preview{gap:6px;display:grid;position:sticky;top:0}.line-card{pointer-events:none}.move-form{grid-template-columns:minmax(0,1fr);gap:14px}.move-form>*,.move-form .field{min-width:0}.move-form select:not(.move-into){width:100%;min-width:0;max-width:100%}.move-preview{background:var(--sunken);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-m);font-size:var(--fs-13);overflow-wrap:anywhere;padding:10px 14px;line-height:1.5}.move-preview>p{margin:0}.move-preview .act-note{width:auto;margin:0}.move-lines{gap:4px;margin:0;padding-left:18px;display:grid}.move-lines .pill{vertical-align:1px}.move-step{border:0;gap:4px;min-width:0;margin:0;padding:0;display:grid}.move-step>legend{font-size:var(--fs-13);font-weight:var(--w-head);color:var(--ink);margin-bottom:4px;padding:0}.move-check{min-height:44px;font-size:var(--fs-14);color:var(--ink);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.move-check input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:1px 0 0}.move-check input:disabled+span{color:var(--muted)}.move-opt{border:1px solid var(--hairline);border-radius:var(--r-m);gap:4px;padding:6px 12px 12px;display:grid}.move-opt input[type=date],.move-into{width:100%;max-width:240px;min-height:44px}.move-new{border:1px solid var(--hairline);border-radius:var(--r-m);gap:14px;padding:12px;display:grid}.pick-list{border:1px solid var(--hairline);border-radius:var(--r-m);max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.pick-list li+li{border-top:1px solid var(--hairline)}.pick-list label{cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:6px 12px;display:flex}.pick-list input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0}.pick-text{flex-direction:column;min-width:0;display:flex}.pick-name{color:var(--ink);overflow-wrap:anywhere;font-weight:500}.dlg-foot{--pad:var(--dlg-pad,16px);bottom:calc(-1 * var(--pad));z-index:1;margin:4px calc(-1 * var(--pad)) calc(-1 * var(--pad));padding:12px var(--pad) 14px;background:var(--surface);border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 12px;display:flex;position:sticky}.dlg-foot .muted{margin-right:auto}.dlg-foot .btn{white-space:normal;text-align:center;overflow-wrap:anywhere;max-width:100%;margin-top:0}.move-done{width:auto;margin:2px 0 12px}.restore-form{align-items:center;margin:0;display:inline-flex}.line-row>.restore-form{flex:none}.line-row:has(>.restore-refusal){flex-wrap:wrap}.line-row>.restore-refusal{flex:1 0 calc(100% - 26px);margin:0 0 0 26px}@media (max-width:880px){.dlg,.dlg.wide{background:var(--surface);border:0;border-radius:18px 18px 0 0;width:100%;max-width:100%;box-shadow:0 -12px 40px #0000002e}.dlg>.dlg-inner{box-shadow:none;border:0}.dlg-row .field>:is(input,select,textarea){width:100%;min-width:0}.pick-list{max-height:none}.dlg-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.dlg-foot .btn{flex:auto;min-height:48px}.line-row .restore-form button{min-height:44px}}.team-access .page-head .head-act{align-items:center;margin-left:auto;text-decoration:none;display:inline-flex}.access-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);margin:0 0 28px;padding:18px 20px 12px}.access-card .section-h{margin-top:0}.access-card .row-form{margin-bottom:14px}.role-key{border-top:1px solid var(--hairline);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 20px;margin:0 0 12px;padding:14px 0 0;display:grid}.role-key>div{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.role-key dt,.role-key dd{margin:0}.role-key dd{font-size:var(--fs-13);color:var(--muted);line-height:1.45}.role-chip{border-radius:var(--r-pill);height:20px;font-size:var(--fs-11);font-weight:var(--w-head);letter-spacing:.02em;white-space:nowrap;background:var(--sunken);color:var(--muted);box-shadow:inset 0 0 0 1px var(--hairline);align-items:center;padding:0 8px;display:inline-flex}.role-chip.owner{background:var(--accent-tint);color:var(--accent-green);box-shadow:none}.role-chip.manager{background:var(--info-tint);color:var(--info);box-shadow:none}.role-chip.supervisor{background:var(--warn-tint);color:var(--warn);box-shadow:none}.section-n{color:var(--faint);letter-spacing:0;margin-left:6px;font-weight:400}.people{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);margin:0 0 28px;padding:0;list-style:none}.person{align-items:center;gap:14px;min-height:68px;padding:14px 18px;display:flex}.person+.person{border-top:1px solid var(--hairline)}.person:target{box-shadow:inset 3px 0 0 var(--accent)}.person-av{width:38px;height:38px;font-size:var(--fs-14);font-weight:var(--w-head);background:var(--sunken);color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.person-av.owner{background:var(--accent-tint);color:var(--accent-green)}.person-av.manager{background:var(--info-tint);color:var(--info)}.person-av.supervisor{background:var(--warn-tint);color:var(--warn)}.person-av.waiting{color:var(--faint);border:1.5px dashed var(--hairline-strong);background:0 0}.person-main{flex-direction:column;flex:200px;gap:5px;min-width:0;display:flex}.person-who{overflow-wrap:anywhere;font-weight:500}.person-meta{font-size:var(--fs-13);flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.person-meta a{color:var(--ink)}.invite-acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.invite-acts .login-link{max-width:380px;margin:0}.acts{flex:none;align-items:center;display:flex}.acts-more,.acts-scrim,.acts-title,.acts-close{display:none}.acts-list{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;max-width:600px;display:flex}.acts-list .login-link{max-width:380px;margin:0}.acts-form{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.acts-link{align-items:center;text-decoration:none;display:inline-flex}.role-switch{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.seg-role{border-radius:var(--r-s);background:var(--sunken);border:1px solid var(--hairline);gap:2px;padding:2px;display:inline-flex}.seg-role button{height:26px;color:var(--muted);font:inherit;font-size:var(--fs-12);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 11px;font-weight:500}.seg-role button:hover:not(:disabled){color:var(--ink)}.seg-role button.on{background:var(--surface);color:var(--ink);font-weight:var(--w-head);box-shadow:var(--shadow);cursor:default}.seg-role button:disabled:not(.on){opacity:.6;cursor:progress}.seg-role button.on:disabled{opacity:1}.access-card .row-form select{flex:200px;min-width:0;max-width:100%}.role-undo{align-items:center;gap:8px;display:flex}.role-ask{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;max-width:340px;display:flex}.role-ask p{margin:0}.role-ask-acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (min-width:881px){.role-switch{display:contents}.role-ask,.role-undo,.role-switch>.act-note{flex-basis:100%;order:10}.role-ask{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;max-width:none}.role-ask-acts button{height:30px;font-size:var(--fs-13);padding:0 12px}.role-undo{justify-content:flex-end}.role-switch>.act-note{text-align:right}}.person{flex-wrap:wrap}.person-note{max-width:760px;font-size:var(--fs-13);color:var(--muted);flex-basis:100%;margin:-6px 0 0;padding-left:52px;line-height:1.45}.person-link{flex-basis:100%;padding-left:52px}.person-link p{margin:0}.person-link .login-link{max-width:620px;margin:0}@media (min-width:881px){.person.can-change .person-meta .role-chip{display:none}}@media (max-width:880px){.team-access .page-head{flex-wrap:wrap}.team-access .page-head .head-act{margin-left:0}.person{align-items:flex-start;padding:14px 14px 14px 16px}.person.invite{flex-wrap:wrap}.invite-acts{flex-basis:100%;justify-content:flex-start;padding-left:52px}.acts-more{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:-6px -8px -6px 0;font-size:22px;line-height:1;display:inline-grid}.acts-more:hover,.acts-more:focus-visible{background:var(--sunken);color:var(--ink)}.acts-list{display:none}.acts.open .acts-scrim{z-index:45;background:#0a0c0b66;border:0;padding:0;display:block;position:fixed;inset:0}.acts.open .acts-list{max-width:none;left:0;right:0;bottom:var(--tabbar-h,0px);z-index:46;padding:18px max(16px, env(safe-area-inset-right)) 18px max(16px, env(safe-area-inset-left));background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;align-items:stretch;gap:10px;display:flex;position:fixed;box-shadow:0 -12px 40px #00000038}.acts.open .acts-title{font-weight:var(--w-head);overflow-wrap:anywhere;margin:0 0 2px;display:block}.acts.open .acts-close{height:44px;margin-top:2px;display:block}.acts.open .acts-form,.acts.open .role-switch{align-items:stretch}.acts.open .acts-list .btn-secondary.sm{height:44px;font-size:var(--fs-14);justify-content:center}.acts.open .acts-list .link-danger{height:44px;font-size:var(--fs-14)}.acts.open .seg-role{display:flex}.acts.open .seg-role button{height:38px;font-size:var(--fs-14);flex:1}.acts.open .acts-list .login-link{max-width:none}.acts.open .role-ask{text-align:left;align-items:stretch;max-width:none}.acts.open .role-ask-acts{flex-direction:column;align-items:stretch}.acts.open .role-ask-acts button{width:100%;height:44px;font-size:var(--fs-14)}}.crumb{font-size:var(--fs-13);margin:0 0 8px}.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--ink)}.hist-since{margin:-6px 0 16px}.two-step{flex-direction:column;gap:12px;display:flex}.two-step-state{font-size:var(--fs-14);flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.two-step-acts{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.two-step-steps{font-size:var(--fs-14);gap:4px;margin:0;padding-left:20px;display:grid}.two-step-scan{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.two-step-scan img{border-radius:var(--r-s);border:1px solid var(--hairline);background:#fff;width:176px;height:176px;padding:8px}.two-step-key{font-family:var(--mono,ui-monospace, monospace);font-size:var(--fs-14);letter-spacing:.04em;background:var(--sunken);overflow-wrap:anywhere;border-radius:6px;padding:2px 6px}.two-step-off{max-width:420px}.pill.two-step-badge{font-size:var(--fs-11)}.codes-shown{flex-direction:column;gap:12px;display:flex}.codes-grid{background:var(--sunken);border:1px solid var(--hairline);border-radius:var(--r-m);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0;padding:14px 16px;list-style:none;display:grid}.codes-grid code{font-family:var(--mono,ui-monospace, monospace);font-size:var(--fs-14);letter-spacing:.06em;color:var(--ink)}.codes-acts{flex-wrap:wrap;gap:10px;display:flex}.warn-text{color:var(--warn)}@media (max-width:720px){.codes-grid{grid-template-columns:minmax(0,1fr)}.two-step-scan{flex-direction:column;align-items:flex-start}}.access-history .page-head .sub{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.hist{margin:0 0 18px;padding:0;list-style:none}.hist-day{margin:0 0 20px}.hist-day h4{font-size:var(--fs-12);font-weight:var(--w-head);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 8px}.hist-day>ol{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);margin:0;padding:2px 0;list-style:none}.hist-line{grid-template-columns:14px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:11px 18px;display:grid}.hist-line+.hist-line{border-top:1px solid var(--hairline)}.hist-dot{background:var(--faint);border-radius:50%;place-self:center;width:8px;height:8px}.hist-dot.in{background:var(--info);box-shadow:0 0 0 3px var(--info-tint)}.hist-dot.grant{background:var(--good);box-shadow:0 0 0 3px var(--good-tint)}.hist-dot.take{background:var(--bad);box-shadow:0 0 0 3px var(--bad-tint)}.hist-dot.key{background:var(--warn);box-shadow:0 0 0 3px var(--warn-tint)}.hist-what{font-size:var(--fs-14);overflow-wrap:anywhere}.hist-who{font-weight:var(--w-head);color:var(--ink);text-decoration:none}.hist-who:hover{text-decoration:underline}.hist-by{color:var(--muted)}.hist-at{font-size:var(--fs-12);color:var(--muted);font-variant-numeric:tabular-nums}.hist-empty{border:1px dashed var(--hairline-strong);border-radius:var(--r-m);background:var(--surface);padding:22px 20px}.hist-empty p{margin:0 0 6px}.hist-foot{margin-top:18px}.security .sec-who{margin:-8px 0 18px}.security .sec-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);box-shadow:var(--shadow);grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:16px 36px;margin:0 0 18px;padding:22px 24px;display:grid}.security .sec-head h3{font-size:var(--fs-17);font-weight:var(--w-head);margin:0 0 6px}.security .sec-head p{margin:0;line-height:1.5}.security .sec-form{width:100%;max-width:420px;margin:0}.security .sec-form .btn-secondary{justify-self:start}.security .sec-foot{max-width:64ch;margin-top:6px}.security .sec-notice{border-left:3px solid var(--warn)}.security .sec-notice .auth-switch{margin:14px 0 0}@media (max-width:720px){.security .sec-card{grid-template-columns:minmax(0,1fr);padding:18px 16px}.security .sec-form{max-width:none}}
