:root{color-scheme:light;--bg:#f7f7f2;--surface:#ffffff;--ink:#172026;--muted:#65717a;--line:#dce2df;--blue:#2563eb;--green:#087f5b;--coral:#d94f35;--yellow:#f5c542}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;min-height:64px;padding:0 28px}.brand,.topbar{align-items:center;display:flex}.brand{font-weight:760;gap:10px}.brand-mark{align-items:center;background:var(--ink);border-radius:8px;color:white;display:inline-flex;height:34px;justify-content:center;width:34px}.page{margin:0 auto;max-width:1180px;padding:34px 24px 56px}.hero{display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);min-height:430px}.hero h1{font-size:clamp(2.4rem,6vw,5.6rem);letter-spacing:0;line-height:.96;margin:46px 0 18px}.lede{color:var(--muted);font-size:1.1rem;line-height:1.6;max-width:670px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button{align-items:center;background:var(--ink);border:1px solid var(--ink);border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;min-height:42px;padding:0 16px}.button.secondary{background:transparent;color:var(--ink)}.button.danger{background:var(--coral);border-color:var(--coral)}.button.compact{min-height:34px;padding:0 10px}.button:disabled{cursor:not-allowed;opacity:.45}.section-title{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin:26px 0 14px}.booking-home{margin:0 auto;max-width:880px;padding-top:28px}.booking-home .section-title{margin-top:0}.booking-home h2{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:0;line-height:1;margin:0 0 10px}.auth-page{display:grid;place-items:start center}.auth-card{display:grid;gap:14px;max-width:520px;width:100%}.auth-card h1{margin:0}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.card h2,.card h3{margin:0 0 8px}.muted{color:var(--muted)}.banner{border-radius:10px;font-size:.9rem;font-weight:600;margin-bottom:16px;padding:12px 16px}.banner.success{background:#edf7f3;border:1px solid #bce4d2;color:var(--green)}.banner.error{background:#fdeeee;border:1px solid #f3c1c1;color:#b42318}.banner.warning{background:#fff8db;border:1px solid #ead27a;color:#725c00}.card>.banner:last-child{margin-bottom:0;margin-top:16px}.banner.compact{font-size:.8rem;margin:8px 0 0;padding:8px 10px}.booking-actions{min-width:180px}.compact-details{margin-top:8px}.compact-details summary{cursor:pointer;font-size:.85rem}.compact-details .admin-form{margin-top:8px}.pill{align-items:center;background:#edf7f3;border:1px solid #bce4d2;border-radius:999px;color:var(--green);display:inline-flex;font-size:.82rem;font-weight:700;gap:6px;min-height:28px;padding:0 10px}.booking-layout{display:grid;gap:18px;grid-template-columns:minmax(260px,.7fr) minmax(0,1fr)}.slot{background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;min-height:44px;padding:10px 12px;position:relative;text-align:left;white-space:nowrap}.date-picker,.time-picker{display:grid;gap:12px}.date-picker-header,.time-picker-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.date-navigation{display:flex;gap:8px}.date-nav-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.date-nav-button:disabled{cursor:not-allowed;opacity:.4}.date-nav-button:not(:disabled):focus-visible,.date-nav-button:not(:disabled):hover{border-color:var(--blue);outline:none}.date-strip{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.date-option{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;gap:3px;min-height:86px;padding:10px 6px;text-align:center}.date-option small,.date-option span{color:var(--muted)}.date-option:focus-visible,.date-option:hover,.date-option[aria-pressed=true]{border-color:var(--blue);outline:none}.date-option[aria-pressed=true]{background:#eff6ff;box-shadow:inset 0 0 0 1px var(--blue)}.time-picker{border-top:1px solid var(--line);padding-top:18px}.time-picker-heading h3,.time-picker-heading p{margin:0}.time-picker-heading p{font-size:.88rem;margin-top:3px}.time-slot-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.time-slot-grid .slot{text-align:center}.slot:focus,.slot:hover,.slot[aria-pressed=true]{border-color:var(--blue);outline:none}.slot[aria-pressed=true]{background:#eff6ff;box-shadow:inset 0 0 0 1px var(--blue)}.booking-form{display:grid;gap:18px;margin-top:16px}.details-panel{border-top:1px solid var(--line);display:grid;gap:14px;padding-top:18px}.details-panel h3{margin:0 0 4px}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{align-items:center;display:inline-flex;font-size:.88rem;font-weight:750;gap:6px}.field input,.field select,.field textarea{padding:9px 11px}.field input,.field select,.field textarea,.input-prefix{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:42px}.input-prefix{align-items:center;display:flex;overflow:hidden}.input-prefix span{background:var(--bg);border-right:1px solid var(--line);color:var(--muted);padding:10px 11px}.field .input-prefix input{border:0;border-radius:0;min-width:0;outline:none;width:100%}.admin-form{display:grid;gap:14px;margin-top:14px}.form-section{background:#fafbf9;border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;padding:16px}.form-section-heading h3,.form-section-heading p{margin:0}.form-section-heading p{margin-top:5px}.field-help,.fieldset-help{color:var(--muted);display:block;font-size:.84rem;line-height:1.45;margin-top:6px}.inline-form{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(160px,.4fr) minmax(220px,1fr) auto}.inline-form input,.inline-form select{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:38px;padding:8px 10px}.inline-actions{gap:8px}.fieldset,.inline-actions{display:flex;flex-wrap:wrap}.fieldset{border:1px solid var(--line);border-radius:8px;gap:10px 16px;margin:0;padding:12px}.fieldset legend{align-items:center;display:flex;font-weight:750;gap:8px;padding:0 4px}.requirement-badge{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:2px 9px;text-transform:uppercase}.requirement-badge-requires{background:#f0f5ff;color:var(--blue)}.requirement-badge-blocks{background:#fdeeee;color:#b3261e}.requirement-fieldset{display:block}.fieldset-help{margin:0 0 10px}.requirement-options{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.requirement-option{align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:flex;gap:9px;padding:11px}.requirement-option:has(input:checked){background:#f0f5ff;border-color:var(--blue)}.requirement-option input{margin-top:3px}.requirement-option small,.requirement-option span{display:block}.requirement-option small{color:var(--muted);line-height:1.35;margin-top:3px}.profile-hours,.profile-restrictions{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.weekly-hours-grid{display:grid;gap:8px;margin-bottom:12px}.weekly-hours-row{align-items:center;display:grid;gap:10px;grid-template-columns:130px auto auto auto}.weekday-toggle{font-weight:600}@media (max-width:560px){.weekly-hours-row{grid-template-columns:1fr}}.nested-details{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.info-card{border-left:4px solid var(--blue)}@media (max-width:760px){.requirement-options{grid-template-columns:1fr}}.check-row{align-items:center;display:inline-flex;gap:8px}.row-item{align-items:center;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:10px 0}.row-item p{margin:0}.suggestion-card{display:grid;gap:14px;margin-bottom:14px}.suggestion-heading{border-top:0;padding:0}.suggestion-heading p{margin-top:6px}.suggestion-editor{border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;font-weight:800}.admin-grid{display:grid;gap:14px;grid-template-columns:260px minmax(0,1fr)}.sidebar{display:grid;gap:8px;align-content:start}.admin-content{display:grid;gap:14px}.nav-card{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:flex;font-weight:700;gap:10px;min-height:42px;padding:10px 12px}.nav-card:focus,.nav-card:hover{border-color:var(--blue);outline:none}.metric-card{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;grid-template-columns:1fr auto;min-height:110px;padding:18px}.metric-card strong{font-size:2rem;grid-column:1/2}.metric-card span{color:var(--muted);grid-column:1/2}.metric-card svg{grid-column:2;grid-row:1/3}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}@media (max-width:820px){.admin-grid,.booking-layout,.hero{grid-template-columns:1fr}.topbar{padding:0 16px}.page{padding-inline:16px}.inline-form{grid-template-columns:1fr}.date-option{font-size:.85rem;min-height:78px;padding-inline:3px}.date-option small{font-size:.72rem}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-sans:"Geist","Geist Fallback"}