.booking-shell{color:var(--body-text);line-height:1.55}.booking-shell :where(a){color:var(--link);text-decoration:none}.booking-shell :where(a:hover){color:var(--accent-dark);text-decoration:underline}[hidden]{display:none!important}.booking-shell{width:min(100%,820px);padding:0 0 5rem}.booking-shell--narrow{width:min(100% - 2rem,720px);margin-inline:auto}.booking-nav{font-family:var(--font-display);margin-bottom:3.5rem;font-size:.82rem}.booking-hero{max-width:670px;margin-bottom:2.5rem}.booking-hero p:last-child{max-width:56ch;margin:0;font-size:1.05rem}.booking-toolbar{grid-template-columns:1.1fr minmax(240px,.9fr);align-items:end;gap:1.25rem;margin-bottom:.75rem;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend,.timezone-picker span,.booking-form>label:not(.consent),.form-grid label{color:var(--ink);font:600 .78rem/1.4 var(--font-display);margin-bottom:.5rem;display:block}.segmented{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.segmented label{position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span,.date-option{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,background .15s,color .15s;display:flex}.segmented input:checked+span,.date-option[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--surface)}.segmented input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.duration-option{text-align:center;flex-direction:column;gap:.12rem;padding:.5rem .3rem}.duration-option__title{font:600 .72rem/1.2 var(--font-body)}.duration-option__minutes{font:500 .68rem/1.2 var(--font-body);opacity:.72}.timezone-picker span,.duration-picker legend{font-family:var(--font-body)}.timezone-picker select,input,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);padding:.72rem .8rem}.timezone-picker select{min-height:46px}.timezone-note,.fine-print{color:var(--muted);margin:.75rem 0 2rem;font-size:.86rem}.slot-picker{border-top:1px solid var(--border);padding-top:2rem}.slot-picker h2,.manage-card h2,.reschedule-panel h2{color:var(--ink);font:700 1.15rem/1.3 var(--font-display);margin:0 0 1rem}.slot-picker h2{font-family:var(--font-body);letter-spacing:-.01em}.date-options{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;margin-bottom:2rem;display:grid}.date-option{font-family:var(--font-body);flex-direction:column;padding:.7rem .35rem}.date-option__weekday{opacity:.75;text-transform:uppercase;font-size:.68rem}.date-option__date{font-size:.9rem;font-weight:700}.date-option:disabled{color:var(--muted);cursor:default;opacity:.58}.date-option--day-off:disabled{color:var(--signal);opacity:.58}.date-option--outside-range:disabled{opacity:.3}.date-option--today{box-shadow:inset 0 0 0 2px var(--accent-soft)}.date-option--today:disabled{opacity:.7}.date-option--today[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--surface)}.time-options{margin-bottom:2rem}.slot-picker--switching .date-options,.slot-picker--switching .time-options{animation:.18s ease-out schedule-reveal}@keyframes schedule-reveal{0%{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.time-timeline{height:calc(var(--timeline-hours,8) * 3.5rem);margin-top:1.5rem;margin-left:4.4rem;position:relative}.time-timeline__tick{color:var(--muted);font:500 .75rem/1 var(--font-body);font-variant-numeric:tabular-nums;pointer-events:none;grid-template-columns:3.6rem 1fr;align-items:center;display:grid;position:absolute;left:-4.4rem;right:0;transform:translateY(-50%)}.time-timeline__tick--first{transform:none}.time-timeline__tick--last{transform:translateY(-100%)}.time-timeline__tick span{border-top:1px solid var(--border)}.time-timeline__tick--half-hour span{opacity:.72;border-top-style:dashed}.time-timeline__slot{z-index:1;border:1px solid var(--accent);background:var(--accent-pale);min-height:36px;color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font-body);align-content:center;padding:.35rem .75rem;display:grid;position:absolute;left:0;right:0}.time-timeline__slot strong{font:600 .82rem/1.2 var(--font-body);font-variant-numeric:tabular-nums}.time-timeline__slot[aria-pressed=true]{background:var(--accent);color:var(--surface)}.loading{color:var(--muted);padding:1rem 0}.notice{border:1px solid var(--border);background:var(--surface);padding:1rem 1.1rem}.notice--error{background:var(--accent-pale);border-color:#b3492f59}.notice span{margin-top:.2rem;display:block}.booking-form,.manage-card,.reschedule-panel,.success-card{border:1px solid var(--border);background:var(--surface);margin-top:2.5rem;padding:1.5rem}.selection-summary{background:var(--accent-pale);color:var(--ink);gap:.25rem;margin-bottom:1.5rem;padding:1rem;display:grid}.selection-summary__label{color:var(--muted);font:500 .7rem/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.1em}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.booking-form>label,.form-grid{margin-bottom:1rem;display:block}textarea{resize:vertical}.optional{color:var(--muted);font-family:var(--font-body);font-weight:400}.consent{color:var(--body-text);align-items:flex-start;gap:.65rem;font-size:.88rem;display:flex!important}.consent input{width:auto;margin-top:.25rem}.honeypot{position:absolute;left:-9999px}.primary-button,.secondary-button,.danger-button,.text-button{min-height:44px;font:500 .85rem/1.4 var(--font-display);cursor:pointer;justify-content:center;align-items:center;padding:.65rem 1.1rem;text-decoration:none;display:inline-flex}.primary-button{border:1px solid var(--ink);background:var(--ink);color:var(--surface)}.primary-button:hover{border-color:var(--accent-dark);background:var(--accent-dark);color:var(--surface);text-decoration:none}.primary-button:disabled,.danger-button:disabled{opacity:.55;cursor:wait}.secondary-button{border:1px solid var(--ink);background:var(--surface);color:var(--ink)}.secondary-button:hover{background:var(--ink);color:var(--surface);text-decoration:none}.danger-button{border:1px solid var(--signal);color:var(--signal);background:0 0}.text-button{min-height:auto;color:var(--link);background:0 0;border:0;padding:.25rem}.form-status{min-height:1.5em;color:var(--signal);margin:.8rem 0 0;font-size:.88rem}.success-card{max-width:680px}.success-card h2{color:var(--ink);font:700 1.5rem/1.3 var(--font-display);margin:.45rem 0 1rem}.success-time{color:var(--ink);font-weight:700}.success-actions,.manage-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.manage-card{margin-top:0}.manage-card .secondary-button{margin-top:.75rem}.status-pill{background:var(--accent-pale);border-radius:999px;margin:0;padding:.3rem .55rem;font-size:.78rem;display:inline-block}.section-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.reschedule-panel h3{color:var(--ink);font:700 1rem/1.3 var(--font-display)}#reschedule-confirm .primary-button{justify-self:start;margin-top:.8rem}@media (width<=680px){.booking-shell{width:min(100% - 1.5rem,820px);padding-top:1.25rem}.booking-nav{margin-bottom:2.5rem}.booking-toolbar,.form-grid{grid-template-columns:1fr}.date-options{gap:.3rem}.date-option{min-height:62px;padding:.45rem .1rem}.date-option__weekday{font-size:.58rem}.date-option__date{font-size:.72rem}.booking-form,.manage-card,.reschedule-panel,.success-card{padding:1.1rem}}@media (width<=390px){.date-options{gap:.22rem}.date-option__date{font-size:.66rem}.success-actions,.manage-actions{display:grid}}@media (prefers-reduced-motion:reduce){.segmented span,.date-option,.time-option{transition:none}.slot-picker--switching .date-options,.slot-picker--switching .time-options{animation:none}}
