@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page:#f5f6ff;--bg:#fff;--surface:#eef0fb;--text:#1e1b3a;--muted:#3f3c5a;--border:#6e6c9e;--line:#d9dbf5;--brand:#3730a3;--brand-text:#fff;--focus:#3730a3;--good:#0f5a2a;--good-bg:#dcfce7;--warn:#5c4300;--warn-bg:#fef3c7;--bad:#8b0000;--bad-bg:#fee2e2;--info:#3730a3;--info-bg:#e7ebff;--nav-bg:#1e1b3a;--nav-text:#f1f0ff;--nav-active:#b9bcff;--radius-card:20px;--font-body:"Figtree Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Bricolage Grotesque Variable", var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--page:#12112a;--bg:#1c1b3a;--surface:#262546;--text:#f1f0ff;--muted:#cbc9ea;--border:#8f8cc0;--line:#3a3866;--brand:#b9bcff;--brand-text:#12112a;--focus:#b9bcff;--good:#9be3b4;--good-bg:#12372a;--warn:#f2dd85;--warn-bg:#3b3011;--bad:#ffb3b3;--bad-bg:#3a1515;--info:#b9bcff;--info-bg:#2a2858;--nav-bg:#0b0a1f}}*,:before,:after{box-sizing:border-box}body{background:var(--page);color:var(--text);font-family:var(--font-body);margin:0;font-size:1rem;line-height:1.55}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}main:focus,h1:focus{outline:none}a{color:var(--brand);text-underline-offset:2px}code{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em}h1,h2,h3,.brand,.stat-value{font-family:var(--font-display);letter-spacing:-.01em}h1{margin:0;font-size:1.75rem;line-height:1.25}h2{margin:0;font-size:1.25rem;line-height:1.3}h3{margin:1.25rem 0 .5rem;font-size:1.0625rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:10;background:var(--bg);color:var(--brand);border:2px solid var(--brand);padding:.75rem 1rem;position:absolute;top:-4rem;left:.5rem}.skip-link:focus{top:.5rem}.shell{grid-template-rows:auto 1fr;grid-template-columns:14rem minmax(0,1fr);min-height:100vh;display:grid}.topbar{background:var(--nav-bg);color:var(--nav-text);grid-column:1/-1;align-items:center;gap:1rem;padding:.5rem 1.25rem;display:flex}.topbar .link-button{color:var(--nav-text)}.brand{align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:800;display:flex}.brand span{opacity:.85;font-weight:400}.who{overflow-wrap:anywhere;margin:0 0 0 auto;font-size:.9375rem}.sidenav{background:var(--bg);border-right:1px solid var(--line);padding:1rem .75rem}.sidenav ul{margin:0;padding:0;list-style:none;position:sticky;top:1rem}.sidenav a{min-height:44px;color:var(--text);border-radius:999px;align-items:center;padding:0 1rem;font-weight:600;text-decoration:none;display:flex}.sidenav a:hover{text-decoration:underline}.sidenav a[aria-current=page]{background:var(--info-bg);color:var(--text);font-weight:800}main{min-width:0;max-width:82rem;padding:1.5rem 2rem 4rem}@media (width<=52rem){.shell{grid-template-columns:minmax(0,1fr)}.sidenav{border-right:0;border-bottom:1px solid var(--line);padding:.5rem 1rem}.sidenav ul{flex-wrap:wrap;gap:.25rem;display:flex;position:static}main{padding:1rem 1rem 3rem}.who{display:none}.topbar .link-button{margin-left:auto}}.center-note{text-align:center;margin-top:30vh}.signin{place-items:center;max-width:none;min-height:100vh;padding:1rem;display:grid}.signin .card{width:min(28rem,100%)}.signin h1,h2,h3,.brand,.stat-value{font-family:var(--font-display);letter-spacing:-.01em}h1{margin:.5rem 0 1rem}.page-header{margin-bottom:1.25rem}.page-header-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.page-header h1,h2,h3,.brand,.stat-value{font-family:var(--font-display);letter-spacing:-.01em}h1{overflow-wrap:anywhere}.page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto;display:flex}.back-link{margin:0 0 .25rem}.lead{color:var(--muted);max-width:70ch;margin-top:0}.section{margin:2rem 0 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.group-title{color:var(--muted);margin:1.75rem 0 .75rem;font-size:1.0625rem}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.5rem}.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}.danger-zone{border-color:var(--bad);border-width:2px}.notice{border-left:4px solid var(--warn);background:var(--warn-bg);border-radius:0 999px 999px 0;margin:0 0 1rem;padding:.75rem 1rem}.notice p{margin:0}.hint,.sub,.sub-inline{color:var(--muted);font-size:.9375rem}.sub{display:block}.empty{color:var(--muted);font-style:italic}.error-text{color:var(--bad)}.error-text:empty,.hint:empty{display:none}.break{overflow-wrap:anywhere}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{border-bottom:1px solid var(--line);padding:.5rem 0}.stats{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.stat>a,.stat{flex-direction:column;gap:.25rem;display:flex}.stat{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--bg)}.stat>a{color:var(--text);border-radius:var(--radius-card);padding:1rem;text-decoration:none}.stat:not(:has(a)){color:var(--text);border-radius:var(--radius-card);padding:1rem;text-decoration:none}.stat>a:hover .stat-label{text-decoration:underline}.stat-value{font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:800;line-height:1.1}.stat-label{color:var(--muted)}.stat-alert{border-color:var(--bad);background:var(--bad-bg);border-width:2px}.stat-alert .stat-value{color:var(--bad)}.facts{grid-template-columns:max-content minmax(0,1fr);gap:.5rem 1.5rem;margin:0 0 1rem;display:grid}.facts>div{display:contents}.facts dt{color:var(--muted);font-weight:600}.facts dd{overflow-wrap:anywhere;margin:0}@media (width<=36rem){.facts{grid-template-columns:minmax(0,1fr);gap:.125rem}.facts dd{margin-bottom:.5rem}}.table-wrap{border:1px solid var(--line);background:var(--bg);border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9375rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.625rem .75rem}thead th{background:var(--surface);white-space:nowrap;font-weight:600}tbody tr:last-child td{border-bottom:0}.badge-list{flex-wrap:wrap;gap:.25rem;display:flex}.badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:.0625rem .5rem;font-size:.8125rem;font-weight:600;line-height:1.5;display:inline-block}.badge-neutral{color:var(--muted);background:var(--surface)}.badge-good{color:var(--good);background:var(--good-bg)}.badge-warn{color:var(--warn);background:var(--warn-bg)}.badge-bad{color:var(--bad);background:var(--bad-bg)}.badge-info{color:var(--info);background:var(--info-bg)}.button,.link-button{font:inherit;cursor:pointer}.button{border:2px solid var(--brand);background:var(--brand);min-height:44px;color:var(--brand-text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.5rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.button.secondary{background:var(--bg);color:var(--brand)}.button.danger{background:var(--bg);color:var(--bad);border-color:var(--bad)}.button.danger-solid{background:var(--bad);border-color:var(--bad);color:var(--bg)}.button:hover{text-decoration:underline}.button[aria-disabled=true],.link-button[aria-disabled=true]{opacity:.6;cursor:not-allowed}.link-button{min-height:44px;color:var(--brand);text-underline-offset:2px;background:0 0;border:0;padding:.25rem 0;text-decoration:underline}.button-row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:1rem;display:flex}.button-row.tight{flex-wrap:nowrap;margin-top:0}.confirm-remove{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}label,legend{margin:.75rem 0 .25rem;font-weight:600;display:block}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--border);border-radius:999px;max-width:100%;min-height:44px;padding:.5rem 1rem}textarea{border-radius:16px}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--brand);margin:0}.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.card textarea,.dialog input,.dialog textarea{width:100%;max-width:36rem}fieldset{border:0;margin:.75rem 0 0;padding:0}.inline-check{align-items:center;gap:.5rem;min-height:44px;margin:0;font-weight:400;display:flex}.inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.5rem 1.5rem;margin:0 0 1rem;display:flex}.toolbar label,.toolbar legend{margin-top:0}.segmented{margin:0}.segmented label{border:1px solid var(--border);cursor:pointer;align-items:center;gap:.375rem;min-height:44px;margin:0 -1px 0 0;padding:0 .875rem;font-weight:400;display:inline-flex}.segmented label:first-of-type{border-radius:999px 0 0 999px}.segmented label:last-of-type{border-radius:0 999px 999px 0}.segmented label:has(input:checked){background:var(--brand);color:var(--brand-text);border-color:var(--brand);font-weight:600}.segmented label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.segmented input{opacity:0;position:absolute}details.more{margin-top:1rem}details.more summary{cursor:pointer;min-height:44px;color:var(--brand);align-items:center;font-weight:600;display:flex}.flash-area{z-index:5;position:sticky;top:.5rem}.flash{border:2px solid;border-radius:16px;margin:0 0 1rem;padding:.75rem 1rem}.flash-good{color:var(--good);background:var(--good-bg)}.flash-bad{color:var(--bad);background:var(--bad-bg)}.dialog{border:2px solid var(--border);background:var(--bg);width:min(32rem,100vw - 2rem);color:var(--text);border-radius:24px;padding:1.5rem}.dialog::backdrop{background:#0000008c}.dialog h2{margin-bottom:.75rem}.dialog-body p{margin:0 0 .75rem}.email-preview{border:1px solid var(--border);background:#fff;border-radius:16px;width:100%;height:36rem}.email-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem;font-size:.875rem}.admin-bookings{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.admin-booking h3{margin-top:0}.admin-topic{white-space:pre-wrap;background:var(--surface);border-radius:12px;padding:.75rem}.availability{max-width:44rem}.weekly-hours{margin:0;padding:0;list-style:none}.weekly-hours li{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.25rem 0;display:flex}.weekly-hours .inline-check{min-width:9rem}.hours{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.hours label{margin:0;font-weight:400}.days-off{margin:0 0 .5rem;padding:0;list-style:none}details.page summary{cursor:pointer;align-items:center;min-height:44px;display:flex}
