.scheduler-page{flex:1;padding:24px 0 52px}.scheduler-page[hidden],[hidden]{display:none!important}.booking-error{min-height:1.35em;margin:0;color:#b44d44;font-size:.72rem;line-height:1.45}.scheduler-intro{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}.back-link{display:block;width:fit-content;margin-bottom:24px;color:var(--muted);font-size:.82rem}.scheduler-intro h1{max-width:700px;margin:15px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.55rem,4.6vw,4rem);font-weight:400;line-height:.93;letter-spacing:-.065em}.scheduler-summary{min-width:220px;padding:0 0 8px 24px;border-left:1px solid var(--line)}.scheduler-summary span,.scheduler-summary strong{display:block}.scheduler-summary strong{margin:7px 0;font-size:.88rem}.scheduler-summary span{color:var(--muted);font-size:.76rem}.booking-shell{margin-top:28px;display:grid;grid-template-columns:minmax(440px,1.2fr) minmax(290px,.8fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(14px)}.calendar-panel,.time-panel{min-height:400px;padding:clamp(20px,2.8vw,30px)}.calendar-panel{border-right:1px solid var(--line)}.calendar-toolbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:18px}.calendar-toolbar h2{margin:0;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400}.calendar-toolbar button{width:40px;height:40px;color:var(--ink);border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.calendar-toolbar button:disabled{opacity:.25;cursor:default}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday-row{margin-bottom:10px}.weekday-row span{color:var(--muted);text-align:center;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-grid{row-gap:5px;column-gap:3px}.calendar-spacer,.calendar-day{width:36px;height:36px;justify-self:center}.calendar-day{position:relative;min-width:0;color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:50%;background:color-mix(in srgb,var(--accent) 9%,transparent);font-size:.84rem;font-weight:650;cursor:pointer}.calendar-day:not(:disabled):hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.calendar-day:not(:disabled):after{position:absolute;bottom:5px;left:50%;width:3px;height:3px;content:"";border-radius:50%;background:var(--accent);transform:translate(-50%)}.calendar-day.selected{color:var(--accent-ink);background:var(--accent)}.calendar-day.selected:after{background:var(--accent-ink)}.calendar-day:disabled{color:color-mix(in srgb,var(--muted) 70%,transparent);border-color:transparent;background:transparent;font-weight:400;cursor:default}.calendar-legend{display:flex;gap:20px;margin-top:16px;color:var(--muted);font-size:.68rem}.legend-dot{width:7px;height:7px;display:inline-block;margin-right:6px;border-radius:50%}.legend-dot.available{background:var(--accent)}.legend-dot.unavailable{border:1px solid var(--line)}.time-panel{display:grid}.empty-state{align-self:center;max-width:240px;margin:auto;text-align:center}.empty-mark{display:block;margin-bottom:18px;color:var(--accent);font-family:Georgia,Times New Roman,serif;font-size:2.35rem}.empty-state h2,.time-heading h2{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;font-weight:400}.empty-state p,.time-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.6}.time-heading h2{margin-top:14px}.meeting-mode-step{align-self:center}.meeting-mode-prompt{margin:20px 0 0;color:var(--muted);font-size:.78rem}.meeting-mode-grid{margin-top:14px;display:grid;gap:9px}.meeting-mode-button{min-height:68px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;color:var(--ink);text-align:left;border:1px solid var(--line);border-radius:13px;background:transparent;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.meeting-mode-button:hover,.meeting-mode-button:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.meeting-mode-button strong,.meeting-mode-button small{display:block}.meeting-mode-button strong{font-size:.86rem}.meeting-mode-button small{margin-top:4px;color:var(--muted);font-size:.7rem}.slot-grid{max-height:352px;margin-top:25px;display:grid;gap:8px;overflow-y:auto;padding-right:4px}.slot-button{min-height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;color:var(--ink);border:1px solid var(--line);border-radius:13px;background:transparent;cursor:pointer;transition:border-color .16s ease,background .16s ease}.slot-button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.time-note{margin-top:20px}.lock-link{margin:22px 0 0 4px;padding:0;color:var(--muted);border:0;background:none;font-size:.72rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.booking-dialog{width:min(620px,calc(100% - 32px))}.booking-dialog .dialog-inner{max-height:calc(100vh - 32px);overflow-y:auto}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.booking-fields label,.booking-field-wide{min-width:0}.booking-fields .field-label{margin-bottom:8px}.booking-field-wide{grid-column:1 / -1}.character-count{display:block;margin-top:6px;color:var(--muted);font-size:.68rem;text-align:right}.text-area{min-height:92px;padding-block:13px;resize:vertical}.success-inner{text-align:center}.success-mark{width:56px;height:56px;display:grid;place-items:center;margin:0 auto;color:var(--accent-ink);border-radius:50%;background:var(--accent);font-size:1.4rem}.success-inner .button{width:100%;margin-top:24px}@media(max-width:900px){.scheduler-intro{grid-template-columns:1fr}.scheduler-summary{padding:0;border:0}.booking-shell{grid-template-columns:1fr}.calendar-panel{border-right:0;border-bottom:1px solid var(--line)}.time-panel{min-height:330px}}@media(max-width:560px){.scheduler-page{padding:30px 0 50px}.back-link{margin-bottom:30px}.booking-shell{margin-top:34px}.calendar-panel,.time-panel{min-height:auto;padding:24px 15px}.time-panel{min-height:300px}.calendar-grid{gap:2px}.calendar-day{font-size:.78rem}.booking-fields{grid-template-columns:1fr}.booking-field-wide{grid-column:auto}}
