.booking-main{max-width:1050px;margin:auto;padding:35px 6% 70px}.booking-heading{max-width:650px;margin-bottom:38px}.booking-heading h1{font-size:clamp(2.5rem,6vw,4.0625rem)}.booking-heading p:last-child{margin-top:22px;color:var(--muted)}.panel{background:#eee7f5;border-radius:24px;padding:30px;margin:22px 0}.panel h2{font-size:1.75rem;margin-bottom:14px}.panel-top{display:flex;gap:20px;align-items:center;justify-content:space-between}.panel p{margin-bottom:18px}.slot-list{display:grid;gap:12px;margin-top:20px}.slot{border:1px solid #d5c5df;border-radius:16px;padding:18px;background:white;display:flex;align-items:center;justify-content:space-between;gap:20px}.slot strong{display:block;font-size:1.0625rem}.slot p{margin:3px 0;font-size:0.9375rem}.slot button{flex-shrink:0}label{display:block;font-size:0.9375rem;margin:17px 0}input{display:block;width:100%;border:1px solid #a79ab0;border-radius:12px;padding:13px;font:inherit;background:white;color:var(--ink);margin-top:7px}.check{display:flex;align-items:flex-start;gap:12px}.check input{width:20px;margin:3px 0;flex-shrink:0}button{cursor:pointer;font:inherit;border:0}.plain{background:transparent;text-decoration:underline;font-size:0.9375rem;padding:8px}button:disabled{opacity:.55;cursor:wait}.help{margin-top:35px;color:var(--muted);font-size:0.9375rem}.help p{margin-top:14px}#status:not(:empty){padding:15px 20px;background:#fff2db;border-radius:14px;margin:20px 0}#open-form{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}#open-form label{flex:1;min-width:150px}#open-form button{margin-bottom:17px}.confirm-link{display:block;overflow-wrap:anywhere;margin:15px 0;font-size:0.9375rem}#manage .button{margin:6px 8px 6px 0}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9a70ce;outline-offset:4px}[hidden]{display:none!important}@media(max-width:600px){.panel{padding:24px 18px}.slot{flex-wrap:wrap;gap:10px}.slot .button{width:100%}.header nav{gap:12px}.header nav a{font-size:0.75rem}.booking-main{padding-top:24px}.booking-heading h1{font-size:2.625rem}#open-form{display:block}.panel-top h2{font-size:1.5625rem}}

.draft-slot label{flex:1;min-width:130px;margin:0}.draft-slot{flex-wrap:wrap}#draft-form>button{margin-top:22px}
.calendar-panel{min-width:0}.calendar-top{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:20px 0;flex-wrap:wrap}.calendar-top strong{text-transform:capitalize;font-size:1.0625rem}.week-button{font-size:0.875rem;min-height:44px;padding:8px 0;line-height:1.3}.time-filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.filter-button{padding:9px 15px;border:1px solid #ab9bb8;background:transparent;color:var(--ink);border-radius:30px;min-height:44px;font-size:0.9375rem}.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:20px 0}.day-button{border:1px solid #c6b7d1;border-radius:14px;background:#fff;color:var(--ink);display:flex;flex-direction:column;align-items:center;padding:11px 2px;min-height:94px;font-size:0.875rem}.day-button strong{font-size:1.5rem;line-height:1.4}.day-button small{font-size:0.75rem}.day-button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.day-button:disabled{opacity:1;background:#e4ddea;color:#706675;border-color:#d2c9d9;cursor:default}.selected-day-title{font-size:1.3125rem!important;letter-spacing:-.02em!important;text-transform:capitalize;margin:22px 0 15px}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.time-button{padding:12px;border:1px solid #ab9bb8;background:white;color:var(--ink);border-radius:12px;min-height:48px;font-size:1.0625rem}.time-button:hover{border-color:var(--ink)}.time-button[aria-pressed=true]{background:var(--ink);color:white}.proposal-note{border-left:3px solid #9162a3;padding:5px 0 5px 14px;font-size:0.9375rem;line-height:1.6}.availability-note{font-size:0.875rem;color:var(--muted)}.empty-slots,.load-error{padding:20px 0}.booking-progress{display:flex;gap:20px;font-size:0.875rem;color:var(--muted);flex-wrap:wrap;margin-bottom:14px}.booking-summary{padding:18px;border:1px solid #c6b7d1;border-radius:14px;background:#fcfaf6;margin:22px 0}.booking-summary p{font-size:0.9375rem;margin:8px 0 0}.slot-actions{display:flex;gap:8px;flex-wrap:wrap}.free-label{color:#644274}.booked-label{font-weight:600}.panel summary{font-size:1.4375rem;font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.025em;cursor:pointer;min-height:44px}.panel[open]>summary{margin-bottom:20px}.draft-slot label{min-width:120px}.draft-panel{background:#f1ece5}.draft-panel p{margin:15px 0}.confirmation .text-link{display:block;margin-top:24px}#status .button{display:inline-flex;margin:16px 10px 0 0}#status a.plain{display:inline-block}#proposal-selection{border-top:1px solid #c6b7d1;margin-top:24px;padding-top:20px}#proposal-selection p{margin:10px 0 18px}input{font-size:1.0625rem;min-height:48px}input:read-only{background:#f5f1f8}.plain{min-height:44px;color:var(--ink)}[aria-busy=true]{opacity:.65}#status:not(:empty){scroll-margin-top:25px}.panel-top{flex-wrap:wrap}.booking-main .help>a{display:inline-block;min-height:44px}.confirmation>p{margin:15px 0}.check{font-size:0.9375rem;line-height:1.6}.check input{height:20px;min-height:20px;margin-top:3px}
@media(max-width:600px){.calendar-panel{padding:22px 16px}.calendar-top strong{font-size:1rem}.week-button{font-size:0.875rem;max-width:95px}.calendar-days{gap:4px}.day-button{padding:9px 1px;border-radius:10px;min-height:89px;font-size:0.8125rem}.day-button strong{font-size:1.4375rem}.day-button small{font-size:0.75rem}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-progress{gap:8px;font-size:0.875rem}.booking-progress span{flex:1;min-width:80px}.booking-heading h1{font-size:2.5rem}.panel h2{font-size:1.625rem}.draft-slot{gap:12px}.draft-slot label{min-width:0;flex:1 1 110px}.slot-actions{width:100%}.slot .slot-actions button{width:auto}.confirmation .button{width:100%;margin:8px 0!important}.panel-top .plain{padding-left:0;text-align:left}.booking-summary{padding:16px}.draft-panel>summary{font-size:1.3125rem}}
@media(max-width:360px){.calendar-top{gap:5px}.week-button{max-width:82px}.calendar-top strong{font-size:0.875rem}.time-filters{gap:6px}.filter-button{padding:9px 12px}.day-button span{font-size:0.75rem}.day-button small{font-size:0.75rem}}

.booking-heading h1 em{color:#74508a}.calendar-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}.calendar-top strong{text-align:center}.calendar-top .week-button:first-child{text-align:left}.calendar-top .week-button:last-child{text-align:right}.calendar-top .week-button{max-width:none}
.calendar-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}#calendar-settings h3{font-size:1.25rem;margin:24px 0 14px}#calendar-settings ol{padding-left:22px;margin:18px 0}#calendar-settings li{margin:12px 0}#calendar-settings{min-width:0}#calendar-settings input{max-width:100%}
@media(max-width:600px){.calendar-top{gap:6px}.calendar-top strong{font-size:0.875rem}.calendar-top .week-button{font-size:0.8125rem}}

.activity-switch{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 24px}.activity-switch button{flex:1;min-width:100px;min-height:48px}.course-times{grid-template-columns:1fr}.course-times .time-button{text-align:left;padding:16px 20px}.course-times small{display:block;font-size:0.9375rem;margin-top:7px}.agenda-slot{align-items:flex-start}.agenda-slot>div:first-child{min-width:0;flex:1}.agenda-client{border-top:1px solid #d2c9d9;margin-top:18px;padding-top:16px;overflow-wrap:anywhere}.agenda-client>.plain{display:block;padding-left:0;margin-top:8px}select{display:block;width:100%;font:inherit;font-size:1.0625rem;min-height:48px;padding:13px;border:1px solid #a79ab0;border-radius:12px;background:white;color:var(--ink);margin-top:7px}select:focus-visible{outline:3px solid #9a70ce;outline-offset:4px}
@media(max-width:360px){.calendar-top{grid-template-columns:1fr 1fr;gap:4px 12px}.calendar-top strong{grid-column:1/-1;grid-row:1;font-size:1rem}.calendar-top .week-button:first-child{grid-column:1;grid-row:2}.calendar-top .week-button:last-child{grid-column:2;grid-row:2}.calendar-top .week-button{overflow-wrap:normal;white-space:nowrap}.day-button small{white-space:nowrap}}
