:root{--vs-forest:#3F4F2A;--vs-forest-700:#2F3C1F;--vs-forest-300:#6B7D52;--vs-sage:#9CAB87;--vs-sage-soft:#C7D2B5;--vs-stone:#6E5A3E;--vs-stone-soft:#BFA987;--vs-ivory:#F6F2E8;--vs-cream:#FBF8EF;--vs-paper:#FFFFFF;--vs-line:#E5DFCE;--vs-line-soft:#EFEADC;--vs-ink:#1F2614;--vs-ink-2:#4A4F3F;--vs-ink-3:#7A7E6E;--vs-ink-4:#A8AB9B;--vs-flag:#B0322A;--vs-flag-soft:#F2D7D2;--vs-warn-y:#C99738;--vs-warn-o:#B86B2E;--vs-warn-r:#B0322A;--vs-ok:#5E7A4A;--vs-serif:"Fraunces","Cormorant Garamond",Georgia,serif;--vs-sans:"Inter","Helvetica Neue",system-ui,sans-serif;--vs-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--t-grid-tiny:9px;--t-compact:10px;--t-micro:11px;--t-eyebrow:12px;--t-label:13px;--t-body:14px;--t-badge:15px;--t-subtitle:22px;--t-kpi:23px;--t-card-title:24px;--t-section-title:26px;--t-form-title:30px;--t-page-title:32px;--t-metric:34px;--control-height:44px;--control-radius:6px}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--vs-ivory);color:var(--vs-ink);font-family:var(--vs-sans);overflow-x:hidden}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--vs-forest-300);outline-offset:2px}textarea:focus-visible{outline:2px solid var(--vs-forest-300);outline-offset:2px}.vs-mark{font-family:var(--vs-serif);font-weight:500;letter-spacing:.01em;font-feature-settings:"ss01" on}.app-shell{min-height:100vh}.app-shell__header{display:grid;grid-template-columns:minmax(190px,.9fr) auto minmax(180px,.9fr);align-items:center;grid-gap:18px;gap:18px;min-height:64px;padding:10px 24px;border-bottom:1px solid var(--vs-line);background:var(--vs-paper)}.app-shell__brand{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:44px;gap:10px;color:var(--vs-forest);text-decoration:none}.app-shell__brand-mark{flex:0 0 auto;width:44px;height:44px;object-fit:contain}.app-shell__brand-copy{display:inline-grid;align-content:center;gap:1px;min-width:0}.app-shell__brand .vs-mark{font-size:var(--t-card-title);line-height:1}.app-shell__brand-copy span:last-child{color:var(--vs-ink-2);font-size:var(--t-micro);font-weight:800;letter-spacing:0;text-transform:uppercase}.app-shell__account{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--vs-ink-2);font-size:var(--t-label)}.app-shell__role{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:var(--control-height);padding:0 2px;line-height:1;white-space:nowrap}.app-shell__role:before{display:block;width:8px;height:8px;border-radius:999px;background:var(--vs-sage);content:""}.app-shell__role-label{color:var(--vs-ink-3);font-size:var(--t-micro);font-weight:900;text-transform:uppercase}.app-shell__role-value{color:var(--vs-forest);font-size:var(--t-label);font-weight:900;text-transform:capitalize}.app-shell__nav{display:flex;gap:3px;min-width:0;padding:3px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-cream)}.app-shell__nav,.app-shell__nav-link{align-items:center;justify-content:center}.app-shell__nav-link{display:inline-flex;min-height:var(--control-height);padding:8px 14px;border:1px solid transparent;border-radius:var(--control-radius);color:var(--vs-ink-2);font-size:var(--t-label);font-weight:800;line-height:1;text-decoration:none;white-space:nowrap}.app-shell__nav-link.is-active{border-color:var(--vs-line);background:var(--vs-paper);color:var(--vs-forest)}.app-shell__signout{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:0 14px;border:1px solid var(--vs-line);border-radius:var(--control-radius);background:var(--vs-paper);color:var(--vs-forest);font-size:var(--t-label);font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}.staff-home{width:min(1120px,100%);margin:0 auto;padding:28px 24px}.staff-home__header{display:grid;grid-gap:4px;gap:4px;margin-bottom:18px}.staff-home__header p,.surface__eyebrow{margin:0;color:var(--vs-ink-2);font-size:var(--t-eyebrow);font-weight:800;text-transform:uppercase}.staff-home__header h1{margin:0;color:var(--vs-forest);font-family:var(--vs-serif);font-size:var(--t-page-title);line-height:1.05}.staff-home__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.surface{display:grid;min-height:148px;align-content:space-between;grid-gap:12px;gap:12px;padding:18px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.surface--primary{border-color:var(--vs-sage);background:color-mix(in srgb,var(--vs-sage-soft) 18%,var(--vs-paper))}.surface h1,.surface h2,.surface p{margin:0}.surface h1,.surface h2{color:var(--vs-forest);font-family:var(--vs-serif);font-size:var(--t-card-title);line-height:1.05}.surface p{color:var(--vs-ink-2);font-size:var(--t-body);line-height:1.35}.surface--link{color:inherit;text-decoration:none}.surface--link:hover{border-color:var(--vs-sage);background:var(--vs-cream)}.surface__action{display:inline-flex;width:-moz-fit-content;width:fit-content;min-height:32px;align-items:center;padding:0 10px;border:1px solid var(--vs-line);border-radius:6px;color:var(--vs-forest);font-size:var(--t-label);font-weight:800}.surface--disabled{cursor:not-allowed}.surface--disabled,.surface--disabled .surface__action{color:var(--vs-ink-3)}.surface--disabled h1,.surface--disabled h2{color:var(--vs-ink-2)}.login{display:grid;min-height:100vh;place-items:center;padding:24px}.login__form{display:grid;width:min(380px,100%);grid-gap:16px;gap:16px;padding:24px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.login__form label{display:grid;grid-gap:6px;gap:6px}.login__copy{margin:0;color:var(--vs-ink-2);font-size:var(--t-body);line-height:1.5}.login__form input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream)}.login__form button{min-height:42px;border:0;border-radius:6px;background:var(--vs-forest);color:var(--vs-paper);cursor:pointer}.login__form .login__secondary{border:1px solid var(--vs-line);background:var(--vs-paper);color:var(--vs-forest)}.login__form .login__text-button{border:1px solid transparent;background:transparent;color:var(--vs-forest);font-weight:800}.login__form button:disabled{background:var(--vs-ink-4);cursor:not-allowed}.login__form .login__secondary:disabled,.login__form .login__text-button:disabled{border-color:var(--vs-line);background:var(--vs-cream);color:var(--vs-ink-3)}.login__divider{display:flex;align-items:center;gap:10px;color:var(--vs-ink-3);font-size:var(--t-micro);text-transform:uppercase}.login__divider span{height:1px;flex:1 1;background:var(--vs-line)}.login__divider strong{font-weight:700}.login__alert{border:1px solid color-mix(in srgb,var(--vs-flag) 72%,var(--vs-paper));border-radius:6px;background:color-mix(in srgb,var(--vs-flag) 12%,var(--vs-paper));color:var(--vs-flag)}.login__alert,.login__success{margin:0;padding:10px 12px;font-size:var(--t-body);font-weight:800;line-height:1.45}.login__success{border:1px solid color-mix(in srgb,var(--vs-ok) 52%,var(--vs-paper));border-radius:6px;background:color-mix(in srgb,var(--vs-ok) 10%,var(--vs-paper));color:var(--vs-forest)}.setup-page{width:min(1180px,100%);margin:0 auto;padding:24px}.settings-readout,.setup-header,.setup-line,.setup-list-item,.setup-row,.setup-section-title,.shift-strip{display:flex;align-items:center;justify-content:space-between;gap:16px}.setup-header{margin-bottom:18px}.setup-header h1,.setup-panel h2,.setup-section h2{margin:0;font-family:var(--vs-serif);letter-spacing:0}.setup-header h1{font-size:var(--t-page-title)}.setup-eyebrow{margin:0 0 4px;color:var(--vs-ink-3);font-size:var(--t-eyebrow);font-weight:700;text-transform:uppercase}.setup-status,.status-pill{width:-moz-fit-content;width:fit-content;padding:5px 10px;border:1px solid var(--vs-line);border-radius:6px;font-size:var(--t-eyebrow)}.setup-alert,.setup-status,.status-pill{background:var(--vs-cream);color:var(--vs-ink-2);font-weight:700}.setup-alert{display:block;margin:0 0 12px;padding:10px 12px;border:1px solid var(--vs-line);border-radius:8px;font-size:var(--t-label)}.setup-alert--success{border-color:var(--vs-sage);background:var(--vs-sage-soft);color:var(--vs-forest-700)}.setup-alert--error{border-color:var(--vs-flag);color:var(--vs-flag)}.setup-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.setup-list-item,.setup-metric,.setup-panel,.setup-section{border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.setup-metric{min-height:86px;padding:14px}.setup-metric strong{display:block;color:var(--vs-forest);font-family:var(--vs-serif);font-size:var(--t-metric);line-height:1}.settings-readout,.setup-line,.setup-list-item,.setup-metric span,.setup-row{color:var(--vs-ink-2);font-size:var(--t-label)}.setup-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--vs-line)}.setup-form-actions button,.setup-section-title button,.setup-tab{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);border:1px solid var(--vs-line);border-radius:6px 6px 0 0;background:var(--vs-cream);color:var(--vs-ink-2);font-size:var(--t-label);font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}.setup-form-actions button:disabled,.setup-section-title button:disabled{opacity:.52;cursor:not-allowed}.setup-tab{padding:0 14px}.setup-tab--active{border-color:var(--vs-forest);background:var(--vs-forest);color:var(--vs-paper)}.setup-section{padding:16px}.setup-section-title{margin-bottom:12px}.setup-table+.setup-section-title{margin-top:24px}.setup-actions,.setup-form-actions{display:flex;flex-wrap:wrap;gap:8px}.setup-section-title button{border-radius:6px;padding:0 12px}.setup-table{overflow:hidden;border:1px solid var(--vs-line);border-radius:8px}.setup-row{min-height:48px;padding:0 14px;border-bottom:1px solid var(--vs-line-soft)}.setup-row:last-child{border-bottom:0}.setup-row>*{flex:1 1}.setup-row--head{min-height:38px;background:var(--vs-cream);color:var(--vs-ink-3);font-size:var(--t-micro);font-weight:700;text-transform:uppercase}.settings-form,.setup-columns,.setup-form,.setup-grid-list{display:grid;grid-gap:12px;gap:12px}.setup-grid-list{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.setup-list-item,.setup-panel{padding:14px}.setup-columns{grid-template-columns:.8fr 1.1fr 1.1fr}.setup-panel h2{margin-bottom:10px;font-size:var(--t-subtitle)}.setup-line{min-height:38px;border-bottom:1px solid var(--vs-line-soft)}.setup-line:last-child{border-bottom:0}.status-pill--active{border-color:var(--vs-sage);background:var(--vs-sage-soft);color:var(--vs-forest-700)}.shift-strip{min-height:44px;margin-bottom:12px;padding:0 14px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-cream)}.shift-strip strong{color:var(--vs-forest);font-family:var(--vs-mono);font-size:var(--t-label)}.therapist-name{display:inline-flex;align-items:center;gap:8px}.therapist-swatch{width:12px;height:12px;border:1px solid var(--vs-line);border-radius:999px}.settings-form{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-field{display:grid;grid-gap:6px;gap:6px;color:var(--vs-ink-3);font-size:var(--t-micro);font-weight:700;text-transform:uppercase}.settings-field input,.settings-field select{min-height:40px;width:100%;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink);padding:0 10px}.setup-form{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;padding:12px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.setup-form-actions{align-items:end}.setup-form-actions button{border-radius:6px;padding:0 12px}.settings-lock{display:flex;align-items:center;gap:8px;min-height:40px;color:var(--vs-ink-2);font-size:var(--t-label)}.settings-readout{justify-content:flex-start;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--vs-line)}.fixed-form-shell{min-height:100vh;padding:24px;background:var(--vs-ivory)}.fixed-form-shell--error{color:var(--vs-flag);font-weight:800}.fixed-form{display:grid;width:min(980px,100%);margin:0 auto;grid-gap:16px;gap:16px}.fixed-form__header,.fixed-form__section{border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.fixed-form__header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:96px;padding:18px}.fixed-form__header-actions{display:grid;justify-items:end;grid-gap:10px;gap:10px}.fixed-form__back{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:44px;margin-bottom:10px;padding:0 10px;color:var(--vs-forest);font-size:var(--t-label);font-weight:800;text-decoration:none}.fixed-form__header h1,.fixed-form__section h2{margin:0;font-family:var(--vs-serif);letter-spacing:0}.fixed-form__header h1{font-size:var(--t-form-title)}.fixed-form__eyebrow,.fixed-form__header span{color:var(--vs-ink-3);font-size:var(--t-eyebrow);font-weight:800}.fixed-form__eyebrow{margin:0 0 4px;text-transform:uppercase}.fixed-form__section{display:grid;grid-gap:12px;gap:12px;padding:16px}.fixed-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fixed-form__field{display:grid;grid-gap:6px;gap:6px;color:var(--vs-ink-3);font-size:var(--t-eyebrow);font-weight:800}.body-mark-builder select,.fixed-form__field input,.fixed-form__field select,.fixed-form__field textarea{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink)}.fixed-form__field input:disabled,.fixed-form__field select:disabled,.fixed-form__field textarea:disabled{color:var(--vs-ink-2);cursor:not-allowed;opacity:.82}.body-mark-list,.fixed-form__checks{display:flex;flex-wrap:wrap;gap:8px}.fixed-form__check{display:inline-flex;align-items:center;min-height:38px;gap:8px;padding:8px 10px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink-2);font-size:var(--t-label);font-weight:700}.fixed-form__consent{margin:0;color:var(--vs-ink-2);font-size:var(--t-body);line-height:1.6}.fixed-form__error,.fixed-form__saved{margin:0;padding:10px 12px;border-radius:6px;font-size:var(--t-body);font-weight:800}.fixed-form__error{border:1px solid color-mix(in srgb,var(--vs-flag) 70%,var(--vs-paper));background:color-mix(in srgb,var(--vs-flag) 10%,var(--vs-paper));color:var(--vs-flag)}.fixed-form__saved{border:1px solid var(--vs-sage);background:var(--vs-sage-soft);color:var(--vs-forest-700)}.fixed-form__notice{margin:0;padding:10px 12px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-cream);color:var(--vs-ink-2);font-size:var(--t-label);font-weight:700}.body-mark-builder button,.body-mark-list button,.fixed-form__submit,.signature-pad button{min-height:42px;border:1px solid var(--vs-forest);border-radius:6px;background:var(--vs-forest);color:var(--vs-paper);cursor:pointer}.fixed-form__submit{justify-self:end;min-width:180px;padding:0 18px}.fixed-form__submit:disabled{border-color:var(--vs-ink-4);background:var(--vs-ink-4);cursor:not-allowed}.booking-panel__forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.booking-panel__forms a,.booking-panel__forms button,.booking-panel__forms input,.booking-panel__forms span{min-height:44px;width:100%;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream);color:var(--vs-forest);font-size:var(--t-label);font-weight:800}.booking-panel__forms a,.booking-panel__forms span{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;text-align:center;text-decoration:none}.booking-panel__forms button{cursor:pointer}.booking-panel__forms span[aria-disabled=true]{background:var(--vs-line-soft);color:var(--vs-ink-2);cursor:not-allowed}.booking-panel__forms input{grid-column:1/-1;padding:0 10px;color:var(--vs-ink-2);font-weight:600}.form-language-toggle{display:inline-flex;overflow:hidden;min-width:0;margin:0;padding:3px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-cream)}.form-language-toggle legend{position:absolute;width:1px;height:1px;overflow:hidden;white-space:nowrap}.form-language-toggle button{min-height:34px;min-width:48px;border:0;background:transparent;color:var(--vs-ink-2);cursor:pointer;font-size:var(--t-eyebrow);font-weight:900}.form-language-toggle button[aria-pressed=true]{background:var(--vs-forest);color:var(--vs-paper)}.signature-pad{display:grid;grid-gap:8px;gap:8px}.signature-pad small,.signature-pad span{color:var(--vs-ink-3);font-size:var(--t-eyebrow);font-weight:800}.signature-pad canvas{width:100%;max-width:520px;height:120px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-cream);color:var(--vs-ink);touch-action:none}.body-mark-list button,.signature-pad button{width:-moz-fit-content;width:fit-content;padding:0 12px;border-color:var(--vs-line);background:var(--vs-paper);color:var(--vs-forest)}.body-mark-builder{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.45fr) auto;grid-gap:10px;gap:10px}.body-mark-builder button{padding:0 14px}.body-diagram{display:grid;grid-gap:14px;gap:14px}.body-diagram__legend{display:flex;flex-wrap:wrap;gap:8px}.body-diagram__legend span{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink-2);font-size:var(--t-eyebrow);font-weight:800}.body-diagram__legend b{color:var(--vs-forest);font-family:var(--vs-mono)}.body-diagram__views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.body-diagram__figure{display:grid;grid-gap:8px;gap:8px;min-width:0;margin:0}.body-diagram__figure figcaption{color:var(--vs-ink-3);font-size:var(--t-eyebrow);font-weight:900;text-transform:uppercase}.body-diagram__svg{width:100%;min-height:420px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-cream)}.body-diagram__region{stroke:var(--vs-line);stroke-width:2;cursor:pointer;transition:fill .12s ease,stroke .12s ease}.body-diagram__region:focus-visible{outline:none;stroke:var(--vs-forest);stroke-width:4}.body-diagram__region:focus{outline:none}.body-diagram__region--none{fill:var(--vs-paper)}.body-diagram__region--A{fill:var(--vs-sage-soft);stroke:var(--vs-sage)}.body-diagram__region--B{fill:var(--vs-stone-soft);stroke:var(--vs-stone)}.body-diagram__region--C{fill:var(--vs-forest-300);stroke:var(--vs-forest)}.body-diagram__badge{fill:var(--vs-ink);font-family:var(--vs-mono);font-size:var(--t-badge);font-weight:900;pointer-events:none;text-anchor:middle}.body-diagram__region--C+.body-diagram__badge{fill:var(--vs-paper)}@media (max-width:760px){.fixed-form-shell{padding:12px}.fixed-form__header,.fixed-form__header-actions{align-items:flex-start;flex-direction:column;justify-items:start}.body-diagram__views,.body-mark-builder,.fixed-form__grid{grid-template-columns:1fr}.fixed-form__submit{justify-self:stretch}}.admin-page{width:min(940px,100%);margin:0 auto;padding:24px}.admin-section{padding:16px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-section-title h2{margin:0;font-family:var(--vs-serif);font-size:var(--t-section-title);letter-spacing:0}.admin-invite-form{display:grid;grid-template-columns:1.15fr 1.15fr .8fr .8fr auto;grid-gap:12px;gap:12px;align-items:end}.admin-invite-form button,.admin-invite-result button{min-height:40px;padding:0 14px;border:1px solid var(--vs-forest);border-radius:6px;background:var(--vs-forest);color:var(--vs-paper);cursor:pointer}.admin-invite-form button:disabled{border-color:var(--vs-ink-4);background:var(--vs-ink-4);cursor:not-allowed}.admin-checkbox{align-self:center}.admin-invite-result,.admin-status{margin-top:14px}.admin-status{padding:10px 12px;border:1px solid color-mix(in srgb,var(--vs-flag) 72%,var(--vs-paper));border-radius:6px;background:color-mix(in srgb,var(--vs-flag) 12%,var(--vs-paper));color:var(--vs-flag);font-size:var(--t-body);font-weight:700;line-height:1.45}.admin-invite-result{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--vs-sage);border-radius:8px;background:var(--vs-cream)}.admin-invite-result div{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-invite-result strong{color:var(--vs-forest)}.admin-invite-result span{color:var(--vs-ink-2);font-size:var(--t-label)}.admin-invite-result textarea{min-height:76px;width:100%;resize:vertical;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-paper);color:var(--vs-ink);font:inherit;padding:10px}@media (max-width:760px){.admin-invite-form,.settings-form,.setup-columns,.setup-form,.setup-grid-list,.setup-summary{grid-template-columns:1fr}.admin-invite-result div,.admin-section-title,.setup-header,.setup-section-title{align-items:flex-start;flex-direction:column}.setup-tabs{overflow-x:auto}}.grid-page{width:min(1320px,100%);margin:0 auto;padding:18px}.grid-actions,.grid-date-navigator,.grid-detail-panel,.grid-metric,.grid-toolbar,.grid-toolbar__controls,.grid-top-strip,.shift-chips{display:flex;align-items:center}.grid-toolbar{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(330px,.95fr) minmax(300px,1fr);align-items:end;grid-gap:14px;gap:14px;margin-bottom:12px}.grid-toolbar__title{min-width:0}.grid-toolbar h1{margin:0;font-family:var(--vs-serif);font-size:var(--t-page-title);letter-spacing:0}.grid-eyebrow{margin:0 0 4px;color:var(--vs-ink-3);font-size:var(--t-eyebrow);font-weight:700;text-transform:uppercase}.grid-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.grid-toolbar__controls{justify-content:center;gap:8px;min-width:0}.grid-action-button,.grid-detail-panel button,.grid-empty-state button{min-height:var(--control-height);padding:7px 12px;border:1px solid var(--vs-line);border-radius:var(--control-radius);background:var(--vs-paper);color:var(--vs-ink);cursor:pointer}.grid-date-navigator{display:inline-grid;grid-template-columns:auto minmax(166px,auto) auto auto;align-items:stretch;min-width:0;overflow:hidden;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.grid-date-navigator>*+*{border-left:1px solid var(--vs-line-soft)}.grid-date-card,.grid-date-step,.grid-date-today{min-height:var(--control-height)}.grid-action-button,.grid-date-step,.grid-date-today{display:inline-flex;align-items:center;justify-content:center;color:var(--vs-forest);font-size:var(--t-label);font-weight:800;line-height:1;white-space:nowrap}.grid-date-step,.grid-date-today{border:0;background:transparent;cursor:pointer;padding:0 12px}.grid-date-step{min-width:58px}.grid-date-today{min-width:66px;background:var(--vs-cream)}.grid-action-button{background:var(--vs-paper);min-width:112px}.grid-action-button:hover,.grid-date-step:hover,.grid-date-today:hover{background:var(--vs-cream)}.grid-date-card{display:inline-flex;align-items:center;justify-content:center;min-width:0;gap:6px;padding:0 16px;background:var(--vs-paper);color:var(--vs-forest);line-height:1;cursor:default;white-space:nowrap}.grid-date-card__label,.grid-date-card__year{color:var(--vs-ink-2);font-size:var(--t-label);font-weight:900;text-transform:uppercase}.grid-date-card__day{font-size:var(--t-label);font-weight:900;line-height:1}.bed-grid-empty-slot:disabled,.grid-action-button:disabled,.grid-date-step:disabled,.grid-date-today:disabled,.grid-detail-panel button:disabled,.grid-empty-state button:disabled{opacity:.55;cursor:not-allowed}.grid-action-button:disabled,.grid-action-button:disabled:hover{border-color:var(--vs-line);background:var(--vs-line-soft);color:var(--vs-ink-3);opacity:1}.grid-action-button--primary{border-color:var(--vs-forest);background:var(--vs-forest);color:var(--vs-paper)}.grid-action-button--primary:hover{background:var(--vs-forest-700)}.grid-sync-banner{display:block;margin-bottom:10px;padding:10px 12px;border:1px solid var(--vs-warn-o);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink);font-weight:700;line-height:1.45}.grid-conflict-toast{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;font-weight:800}.grid-conflict-toast,.grid-conflict-toast button{border:1px solid var(--vs-flag);border-radius:6px;background:var(--vs-paper);color:var(--vs-flag)}.grid-conflict-toast button{min-height:32px;padding:6px 10px;cursor:pointer}.grid-reassignment-tray,.home-service-strip{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.grid-reassignment-tray strong,.home-service-strip strong{color:var(--vs-forest);font-size:var(--t-eyebrow);text-transform:uppercase}.grid-reassignment-tray button,.home-service-strip button{min-height:32px;padding:6px 9px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink-2);cursor:pointer}.grid-reassignment-tray{border-color:var(--vs-warn-o)}.grid-top-strip{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(170px,1.1fr) repeat(4,minmax(110px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.grid-metric,.shift-chips{min-height:58px;padding:9px 10px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.shift-chips{gap:6px;flex-wrap:wrap}.grid-metric span,.shift-chips span{color:var(--vs-ink-3);font-size:var(--t-micro);font-weight:700;text-transform:uppercase}.shift-chips strong{padding:3px 6px;border-radius:4px;background:var(--vs-line-soft);color:var(--vs-forest);font-size:var(--t-eyebrow)}.grid-metric{flex-direction:column;align-items:flex-start;justify-content:center}.grid-metric strong{color:var(--vs-forest);font-family:var(--vs-serif);font-size:var(--t-kpi);line-height:1;white-space:nowrap}.bed-grid-frame{--grid-slot-height:44px;position:relative;width:100%;max-height:650px;overflow:auto;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.bed-grid-columns,.bed-grid-floor-row{display:grid;grid-template-columns:72px repeat(8,minmax(88px,1fr));width:max-content;min-width:900px}.bed-grid-floor-row{position:-webkit-sticky;position:sticky;top:0;z-index:6;border-bottom:1px solid var(--vs-line);background:var(--vs-cream)}.bed-grid-bed-header,.bed-grid-corner,.bed-grid-floor,.bed-grid-time-header{min-height:32px;padding:8px;border-right:1px solid var(--vs-line);color:var(--vs-ink-2);font-size:var(--t-micro);font-weight:800;text-transform:uppercase}.bed-grid-floor{text-align:center}.bed-grid-bed-header,.bed-grid-time-header{position:-webkit-sticky;position:sticky;top:33px;z-index:5;background:var(--vs-paper)}.bed-grid-bed-column,.bed-grid-time-rail{position:relative;min-height:calc(var(--grid-slot-height) * 52);border-right:1px solid var(--vs-line)}.bed-grid-empty-slot,.bed-grid-time-slot{display:block;width:100%;height:var(--grid-slot-height);border:0;border-bottom:1px solid var(--vs-line-soft);background:transparent}.bed-grid-time-slot{padding:6px 8px;color:var(--vs-ink-3);font-size:var(--t-micro);text-align:right}.bed-grid-empty-slot{cursor:pointer}.bed-grid-empty-slot:hover{background:var(--vs-cream)}.bed-out-block,.grid-booking{position:absolute;left:4px;right:4px;z-index:3;display:flex;flex-direction:column;gap:2px;overflow:hidden;padding:6px 7px;border:1px solid var(--vs-line);border-radius:6px;color:var(--vs-ink);font-size:var(--t-compact);line-height:1.18;text-align:left;cursor:pointer}.grid-booking[draggable=true]{cursor:-webkit-grab;cursor:grab}.grid-booking__client{font-size:var(--t-micro);font-weight:800}.grid-booking__meta{color:var(--vs-ink-3)}.grid-booking--confirmed{border-color:var(--vs-forest);background:var(--vs-forest);color:var(--vs-paper)}.grid-booking--confirmed .grid-booking__meta{color:var(--vs-line-soft)}.grid-booking--group:before{position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--vs-stone-soft);content:""}.grid-booking--needs-reassignment{border-color:var(--vs-warn-o);box-shadow:0 0 0 2px var(--vs-warn-o)}.grid-booking--checked-in{border:2px solid var(--vs-forest);background:var(--vs-cream);color:var(--vs-forest)}.grid-booking--in-service{border-color:var(--vs-sage);background:linear-gradient(to bottom,var(--vs-sage-soft),var(--vs-sage-soft) 72%,var(--vs-forest) 72%,var(--vs-forest))}.grid-booking--completed{background:var(--vs-line-soft);color:var(--vs-ink-3)}.bed-out-block,.grid-booking--cancelled-free,.grid-booking--cancelled-late-fee,.grid-booking--no-show,.grid-booking--rescheduled{background:repeating-linear-gradient(135deg,var(--vs-cream),var(--vs-cream) 5px,var(--vs-line-soft) 5px,var(--vs-line-soft) 10px)}.bed-out-block,.grid-booking--cancelled-late-fee,.grid-booking--no-show{border-color:var(--vs-flag);color:var(--vs-flag)}.grid-booking--rescheduled{border-style:dashed}.grid-booking--late-yellow{box-shadow:0 0 0 2px var(--vs-warn-y)}.grid-booking--late-orange{box-shadow:0 0 0 2px var(--vs-warn-o)}.grid-booking--late-red{box-shadow:0 0 0 2px var(--vs-warn-r)}.bed-out-block{top:420px;min-height:84px;font-weight:800}.bed-out-block span{margin-top:4px;font-weight:500}.grid-detail-panel{position:fixed;z-index:20}.grid-detail-panel,.grid-empty-state{border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper);box-shadow:0 16px 36px var(--vs-line)}.grid-empty-state{position:absolute;z-index:10;top:86px;left:50%;display:grid;grid-gap:10px;gap:10px;width:min(320px,calc(100% - 32px));padding:18px;transform:translateX(-50%)}.grid-detail-panel{top:96px;right:24px;flex-direction:column;align-items:flex-start;width:min(320px,calc(100vw - 48px));padding:16px}.booking-panel{width:min(520px,calc(100vw - 48px));max-height:calc(100vh - 128px);overflow:auto;gap:12px}.booking-panel__actions,.booking-panel__addons,.booking-panel__header,.booking-panel__row{display:flex;gap:10px}.booking-panel__header{align-items:center;justify-content:space-between;width:100%}.booking-panel__header h2{margin:0}.booking-panel__form{display:grid;grid-gap:10px;gap:10px;width:100%}.booking-panel__row{align-items:flex-start}.booking-panel label,.booking-panel__addons{min-width:0;flex:1 1;color:var(--vs-ink-2);font-size:var(--t-eyebrow);font-weight:800}.booking-panel input,.booking-panel select,.booking-panel textarea{width:100%;margin-top:5px;padding:8px 9px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-paper);color:var(--vs-ink);font:inherit;font-weight:600}.booking-panel textarea{resize:vertical}.booking-panel__check{display:flex;align-items:center;gap:8px}.booking-panel__addons input,.booking-panel__check input{width:auto;margin:0}.booking-panel__addons{flex-wrap:wrap;padding:10px;border:1px solid var(--vs-line);border-radius:6px}.booking-panel__addons legend{padding:0 4px}.booking-panel__addons label{display:flex;flex:0 0 auto;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;background:var(--vs-line-soft)}.booking-panel__actions{flex-wrap:wrap}.booking-panel__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;width:100%;margin:0}.booking-panel__summary div{padding:9px;border:1px solid var(--vs-line);border-radius:6px}.booking-panel__summary dt{color:var(--vs-ink-3);font-size:var(--t-micro);font-weight:800;text-transform:uppercase}.booking-panel__summary dd{margin:3px 0 0;font-weight:700}.booking-panel__notice{width:100%;margin:0;padding:9px 10px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink);font-size:var(--t-label);font-weight:800}.booking-panel__error{margin:0;padding:9px 10px;border:1px solid var(--vs-flag);border-radius:6px;color:var(--vs-flag);font-weight:800}.booking-panel__cascade{display:grid;grid-gap:4px;gap:4px;width:100%;margin:0;padding:10px;border:1px solid var(--vs-warn-o);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink-2);font-size:var(--t-eyebrow)}.booking-panel__cascade strong{color:var(--vs-forest)}.booking-panel__cascade p,.booking-panel__cascade span{margin:0}.booking-panel__group-children{display:grid;grid-gap:8px;gap:8px}.booking-panel__group-child{display:grid;grid-template-columns:.7fr 1fr 1fr 1fr .9fr;grid-gap:6px;gap:6px;align-items:center;padding:8px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream)}.booking-panel__group-child strong{color:var(--vs-forest);font-size:var(--t-eyebrow)}.booking-panel__conflict{margin:0;padding:9px 10px;border:1px solid var(--vs-warn-o);border-radius:6px;background:var(--vs-cream);color:var(--vs-ink);font-weight:800}.booking-panel__client-lookup{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-paper);color:var(--vs-ink-2);font-size:var(--t-eyebrow)}.booking-panel__client-lookup-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.booking-panel__checkin-card strong,.booking-panel__client-lookup-head strong{color:var(--vs-forest)}.booking-panel__checkin-card,.booking-panel__client-results{display:grid;grid-gap:7px;gap:7px}.booking-panel__client-results button{display:grid;grid-gap:2px;gap:2px;width:100%;padding:8px;border:1px solid var(--vs-line);background:var(--vs-line-soft);text-align:left}.booking-panel__checkin-card{padding:9px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-cream)}.booking-panel__checkin-card div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.booking-panel__checkin-card ul{display:grid;grid-gap:3px;gap:3px;margin:0;padding-left:18px}.booking-panel__client-flags{justify-content:flex-start}.booking-panel__client-flags span{padding:3px 6px;border-radius:4px;background:color-mix(in srgb,var(--vs-warn-y) 26%,var(--vs-paper));color:var(--vs-ink);font-weight:800}.booking-panel__packages{display:grid;grid-gap:8px;gap:8px;padding:10px;border:2px solid var(--vs-forest);border-radius:6px;background:color-mix(in srgb,var(--vs-sage) 10%,var(--vs-paper));color:var(--vs-ink);font-size:var(--t-eyebrow)}.booking-panel__package-card dl,.booking-panel__package-card>div,.booking-panel__packages-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.booking-panel__package-card strong,.booking-panel__packages-head strong{color:var(--vs-forest)}.booking-panel__package-card{grid-gap:8px;gap:8px;padding:9px}.booking-panel__discounts,.booking-panel__package-card{display:grid;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-paper)}.booking-panel__discounts{grid-gap:10px;gap:10px;width:100%;padding:10px}.booking-panel__package-card dl{margin:0}.booking-panel__package-card dt{color:var(--vs-ink-2);font-size:var(--t-compact);font-weight:800;text-transform:uppercase}.booking-panel__discount-grid,.booking-panel__discount-inline,.booking-panel__discount-list li,.booking-panel__discount-totals,.booking-panel__discounts-head{display:flex;gap:8px}.booking-panel__discounts-head{align-items:flex-start;justify-content:space-between}.booking-panel__discounts-head div{display:grid;grid-gap:2px;gap:2px}.booking-panel__discount-list strong,.booking-panel__discount-totals dd,.booking-panel__discounts-head strong{color:var(--vs-forest)}.booking-panel__discount-list em,.booking-panel__discount-note,.booking-panel__discounts-head span{color:var(--vs-ink-3);font-size:var(--t-micro);font-style:normal;font-weight:700}.booking-panel__discount-grid{align-items:flex-start}.booking-panel__discount-grid label,.booking-panel__discount-override{display:grid;grid-gap:5px;gap:5px}.booking-panel__discount-grid button{width:100%}.booking-panel__discount-inline{align-items:center}.booking-panel__discount-list{display:grid;grid-gap:5px;gap:5px;margin:0;padding:0;list-style:none}.booking-panel__discount-list li{align-items:center;justify-content:space-between;padding:7px;border:1px solid var(--vs-line-soft);border-radius:6px;background:var(--vs-cream)}.booking-panel__discount-totals{flex-wrap:wrap;margin:0}.booking-panel__discount-totals div{flex:1 1 120px;padding:7px;border:1px solid var(--vs-line-soft);border-radius:6px;background:var(--vs-cream)}.booking-panel__discount-totals dt{color:var(--vs-ink-3);font-size:var(--t-micro);font-weight:800;text-transform:uppercase}.booking-panel__package-card dd{margin:0;font-weight:800}.booking-panel__package-card ul{display:grid;grid-gap:3px;gap:3px;margin:0;padding-left:18px}.booking-panel__package-auth{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr}.booking-panel__package-message{margin:0;color:var(--vs-forest);font-weight:800}.booking-panel__discount-totals dd{margin:2px 0 0;font-weight:800}.booking-panel__discount-message{margin:0;padding:8px;border:1px solid var(--vs-line);border-radius:6px;background:var(--vs-line-soft);color:var(--vs-ink);font-weight:800}.grid-detail-panel h2,.grid-detail-panel p{margin:8px 0 0}.grid-detail-panel h2{font-family:var(--vs-serif);font-size:var(--t-card-title)}@media (max-width:1080px){.grid-page{padding:12px}.grid-top-strip{grid-template-columns:minmax(220px,1.4fr) minmax(172px,1fr) repeat(4,minmax(82px,1fr))}.bed-grid-columns,.bed-grid-floor-row{grid-template-columns:58px repeat(8,minmax(82px,1fr));min-width:780px}.grid-booking{padding:5px;font-size:var(--t-grid-tiny)}.grid-booking__client{font-size:var(--t-compact)}}@media (max-width:900px){.app-shell__header{grid-template-columns:1fr;align-items:start;gap:10px;min-height:0;padding:12px}.app-shell__brand{width:100%}.app-shell__nav{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.app-shell__nav-link{flex:0 0 auto;min-height:44px}.app-shell__account{width:100%;justify-content:space-between}}@media (max-width:760px){.admin-page,.grid-page,.setup-page,.staff-home{padding:14px 12px}.grid-toolbar h1,.setup-header h1,.staff-home__header h1{font-size:var(--t-form-title)}.staff-home__grid{grid-template-columns:1fr}.surface{min-height:136px;padding:16px}.setup-section{padding:14px}.setup-tabs{width:100%;overflow-x:auto;padding-bottom:2px}.setup-tab{flex:0 0 auto}.setup-table{display:grid;grid-gap:10px;gap:10px;overflow:visible;border:0}.setup-row{display:grid;grid-template-columns:1fr;align-items:stretch;grid-gap:8px;gap:8px;min-height:0;padding:12px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-paper)}.setup-row--head{display:none}.setup-row>*{flex:none;min-width:0}.setup-row [data-label]{display:grid;grid-template-columns:minmax(92px,auto) 1fr;align-items:center;grid-gap:12px;gap:12px}.setup-row [data-label]:before{color:var(--vs-ink-2);content:attr(data-label);font-size:var(--t-micro);font-weight:900;text-transform:uppercase}.setup-row [data-label]>.status-pill{justify-self:start}.setup-list-item{display:grid;align-items:start;justify-content:stretch;grid-gap:8px;gap:8px}.shift-strip{align-items:flex-start;flex-direction:column;padding:10px 12px}.grid-toolbar{grid-template-columns:1fr;align-items:stretch}.grid-toolbar__controls{display:grid;grid-template-columns:1fr;justify-content:stretch}.grid-date-navigator{display:grid;grid-template-columns:minmax(0,.72fr) minmax(132px,1.35fr) minmax(0,.72fr);width:100%}.grid-date-step,.grid-date-today{min-width:0;padding:0 8px}.grid-date-card{width:100%;min-width:0}.grid-date-today{grid-column:1/-1;border-top:1px solid var(--vs-line-soft);border-left:0}.grid-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.grid-action-button{width:100%;min-height:44px}.grid-conflict-toast,.grid-sync-banner{font-size:var(--t-label)}.grid-conflict-toast{align-items:flex-start;flex-direction:column}.grid-top-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-chips{grid-column:1/-1}.grid-metric strong{white-space:normal}.grid-reassignment-tray,.home-service-strip{overflow-x:auto}.grid-reassignment-tray button,.home-service-strip button{flex:0 0 auto}.bed-grid-frame{min-height:380px;max-height:min(620px,calc(100vh - 320px))}.grid-empty-state{top:76px;width:min(300px,calc(100% - 24px));padding:16px}.grid-detail-panel{top:auto;right:12px;bottom:12px;left:12px;width:auto;max-height:calc(100vh - 80px);overflow:auto}.booking-panel{width:100%;max-height:calc(100vh - 96px)}.booking-panel__actions,.booking-panel__discount-grid,.booking-panel__discounts-head,.booking-panel__header,.booking-panel__row{flex-direction:column}.booking-panel__group-child,.booking-panel__summary{grid-template-columns:1fr}}