.booking-zone-note{margin:4px 0 0;color:var(--text-muted);font-size:13px;line-height:1.5}.booking-zone-note strong{color:var(--text)}.form-error{margin:4px 0 0;color:var(--danger);font-size:13px;font-weight:600}.booking-live-region:empty{display:none}.booking-inline-banner{display:block;margin:0 0 12px;padding:10px 14px;font-size:14px;font-weight:600}.booking-link-button{padding:0;border:0;background:none;color:var(--primary);font:inherit;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.booking-link-button:disabled{color:var(--text-faint);cursor:default;text-decoration:none}.booking-flow{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.booking-flow>.section-header{margin-bottom:0}.booking-flow-success{gap:var(--space-4)}.booking-timezone-select{display:grid;grid-gap:8px;gap:8px}.booking-timezone-select label{display:grid;grid-gap:6px;gap:6px}.booking-timezone-select label>span{font-size:13px;font-weight:600;color:var(--text-muted)}.booking-timezone-select.is-compact label{gap:4px;min-width:220px}.booking-timezone-select.is-compact label>span{font-size:12px}.booking-timezone-select.is-compact select{min-height:36px;padding:6px 10px;font-size:13px}.booking-timezone-search{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.booking-timezone-search input{flex:1 1 220px;min-height:36px}.booking-slot-picker{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.booking-slot-picker-header{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-start;justify-content:space-between}.booking-slot-picker-header h3{margin:2px 0 0}.booking-week-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-week-nav strong{flex:1 1;text-align:center;font-size:14px}.booking-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.booking-day-button{display:grid;grid-gap:2px;gap:2px;justify-items:center;min-height:72px;padding:8px 4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.booking-day-button span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.booking-day-button strong{font-size:18px;line-height:1.1}.booking-day-button small{font-size:11px;color:var(--text-muted)}.booking-day-button:hover:not(:disabled){border-color:var(--primary)}.booking-day-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.booking-day-button.is-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.booking-day-button.is-active small,.booking-day-button.is-active span{color:var(--primary)}.booking-day-button.is-empty,.booking-day-button:disabled{background:var(--surface-muted);color:var(--text-faint);cursor:default}.booking-day-button:disabled strong{color:var(--text-faint)}.booking-time-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));grid-gap:8px;gap:8px}.booking-time-chip{display:grid;grid-gap:2px;gap:2px;justify-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.booking-time-chip small{font-size:11px;font-weight:500;color:var(--text-muted)}.booking-time-chip:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.booking-time-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.booking-time-chip.is-selected{border-color:var(--primary);background:var(--primary);color:#fff}.booking-time-chip.is-selected small{color:rgba(255,255,255,.8)}.booking-time-chip:disabled{opacity:.6;cursor:default}.booking-slot-empty{margin:0}.booking-slot-picker-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.booking-loading-note{color:var(--text-muted);font-size:13px}.booking-selected-slot{display:grid;grid-gap:2px;gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}.booking-selected-slot strong{font-size:16px}.booking-selected-slot p{margin:0;color:var(--text)}.booking-selected-slot small{color:var(--text-muted)}.booking-hold-countdown{margin:0;padding:10px 14px;border:1px solid color-mix(in srgb,var(--info) 30%,var(--border));border-radius:var(--radius-sm);background:var(--info-soft);color:var(--text);font-size:14px}.booking-hold-countdown strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.booking-hold-countdown.is-urgent{border-color:color-mix(in srgb,var(--warning) 40%,var(--border));background:var(--warning-soft);color:var(--warning)}.booking-confirm-panel{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.booking-confirm-form{margin:0}.booking-booker-line{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;color:var(--text-muted);font-size:14px}.booking-booker-line strong{color:var(--text)}.booking-reschedule-confirm{display:grid;grid-gap:12px;gap:12px}.booking-event-card{display:grid;grid-gap:8px;gap:8px;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.booking-event-card h2{margin:0;font-size:22px}.booking-event-staff{margin:0;color:var(--text-muted)}.booking-event-staff strong{color:var(--text)}.booking-event-description{margin:0;color:var(--text-muted);line-height:1.55;white-space:pre-line}.booking-event-facts{margin-top:4px}.booking-event-footer{margin-top:8px;padding-top:12px;border-top:1px solid var(--border-soft)}.booking-summary-card{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.booking-summary-card.is-compact{padding:var(--space-4);gap:var(--space-3)}.booking-summary-header{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-start;justify-content:space-between}.booking-summary-header h3{margin:2px 0}.booking-summary-with{margin:0;color:var(--text-muted);font-size:14px}.booking-summary-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px 20px;gap:12px 20px;margin:0}.booking-summary-facts>div{display:grid;grid-gap:2px;gap:2px}.booking-summary-facts dt{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.booking-summary-facts dd{margin:0;font-size:15px;overflow-wrap:anywhere}.booking-summary-wide{grid-column:1/-1}.booking-summary-actions{align-items:center;padding-top:12px;border-top:1px solid var(--border-soft)}.booking-calendar-actions,.booking-summary-actions{display:flex;flex-wrap:wrap;gap:8px 12px}.booking-dialog-backdrop{z-index:var(--z-modal)}.booking-dialog{width:min(640px,100%);display:grid;grid-gap:var(--space-4);gap:var(--space-4);border-radius:var(--radius-lg)}.booking-dialog-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.booking-dialog-header h2{margin:2px 0 4px;font-size:20px}.booking-dialog-header p:last-child{margin:0;color:var(--text-muted);font-size:14px}.booking-link-form{margin:0}.booking-recipient-picker{display:grid;grid-gap:6px;gap:6px}.booking-recipient-results{display:grid;grid-gap:4px;gap:4px;max-height:240px;overflow:auto;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft)}.booking-recipient-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.booking-recipient-option:focus-visible,.booking-recipient-option:hover{border-color:var(--primary);outline:none}.booking-recipient-option span{display:grid;grid-gap:2px;gap:2px}.booking-recipient-option small{color:var(--text-muted)}.booking-recipient-option b{flex:0 0 auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.booking-link-result{display:grid;grid-gap:12px;gap:12px}.booking-link-url{display:grid;grid-gap:6px;gap:6px}.booking-link-url span{font-size:13px;font-weight:600;color:var(--text-muted)}.booking-link-url input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.booking-link-share{display:flex;flex-wrap:wrap;gap:8px 12px}.booking-link-message summary{cursor:pointer;color:var(--primary);font-size:13px;font-weight:600}.booking-link-message p{margin:8px 0 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-muted);font-size:13px;white-space:pre-line}.availability-editor{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.availability-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.booking-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.booking-switch input{position:absolute;width:1px;height:1px;margin:-1px;opacity:0;pointer-events:none}.booking-switch-track{position:relative;width:44px;height:24px;border-radius:999px;background:var(--color-faint);transition:background .16s ease}.booking-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .16s ease}.booking-switch input:checked+.booking-switch-track{background:var(--success)}.booking-switch input:checked+.booking-switch-track:after{transform:translateX(20px)}.booking-switch input:focus-visible+.booking-switch-track{box-shadow:var(--focus-ring)}.booking-switch-label{min-width:28px;font-size:14px;font-weight:700}.availability-week{display:grid;grid-gap:8px;gap:8px}.availability-day{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:12px 16px;gap:12px 16px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.availability-day.is-closed{background:var(--surface-soft)}.availability-day-label{display:grid;grid-gap:2px;gap:2px;align-content:start}.availability-day-label small{color:var(--text-muted);font-size:12px}.availability-ranges{display:grid;grid-gap:8px;gap:8px}.availability-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.availability-range label{display:inline-flex}.availability-range input[type=time]{min-height:36px;width:124px;padding:6px 8px}.availability-range.has-error input{border-color:var(--danger)}.availability-range .form-error{flex-basis:100%;margin:0}.availability-day-actions{display:flex;flex-wrap:wrap;gap:4px 8px}.availability-override-form{margin-bottom:12px}.availability-override-form .form-actions{align-self:end}.availability-override-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.availability-override-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.availability-override-list li.has-error{border-color:var(--danger)}.availability-override-list li>div{display:grid;grid-gap:4px;gap:4px}.availability-override-list li>div>span{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.availability-override-list small{color:var(--text-muted)}.availability-save-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}.availability-save-bar p{margin:0}.booking-staff-switcher-form{align-items:end}.booking-staff-switcher-form label{min-width:260px}.booking-readiness{display:grid;grid-gap:12px;gap:12px}.booking-readiness.is-not-ready{border-color:color-mix(in srgb,var(--warning) 50%,var(--border))}.booking-readiness-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px}.booking-readiness-head h3{margin:2px 0 0;font-size:17px}.booking-readiness-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.booking-readiness-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-muted,var(--surface)) 60%,var(--surface))}.booking-readiness-item.is-missing{background:var(--warning-soft)}.booking-readiness-item.is-optional{color:var(--text-muted)}.booking-readiness-tick{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:13px;font-weight:800;background:color-mix(in srgb,var(--text-muted) 18%,var(--surface));color:var(--text-muted)}.booking-readiness-item.is-ok .booking-readiness-tick{background:var(--success);color:#fff}.booking-readiness-item.is-missing .booking-readiness-tick{background:var(--warning);color:#fff}.booking-readiness-body{display:grid;grid-gap:1px;gap:1px;min-width:0}.booking-readiness-label{font-weight:700;font-size:14px}.booking-readiness-label small{font-weight:500;color:var(--text-muted)}.booking-readiness-detail{color:var(--text-muted);font-size:13px}.booking-readiness-action{white-space:nowrap}.booking-readiness-more{font-size:14px;font-weight:600}.booking-readiness.is-compact .booking-readiness-item{padding:6px 10px}.student-self-booking-line{display:grid;grid-gap:8px;gap:8px;margin:10px 0 0;font-size:14px;line-height:1.45;color:var(--text)}.student-self-booking-line p{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.student-self-booking-line.is-blocked{padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 42%,var(--border));border-radius:10px;background:var(--warning-soft)}.student-self-booking-line.is-ok{color:var(--text-muted)}.student-self-booking-line p>span[aria-hidden]{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:800;color:#fff;background:var(--warning)}.student-self-booking-line.is-ok p>span[aria-hidden]{background:var(--success)}.student-self-booking-actions{display:flex;flex-wrap:wrap;gap:8px}.student-self-booking-actions a{min-height:44px}@media (max-width:640px){.booking-readiness-item{grid-template-columns:24px minmax(0,1fr)}.booking-readiness-action{grid-column:2;justify-self:start}}.availability-grid-page{--avail-cell-h:26px;--avail-open:color-mix(in srgb,var(--success) 78%,var(--surface));--avail-open-soft:color-mix(in srgb,var(--success) 22%,var(--surface));--avail-booked:color-mix(in srgb,var(--primary) 16%,var(--surface));display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.availability-toolbar{display:grid;grid-gap:14px;gap:14px}.availability-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.availability-toolbar-settings{align-items:flex-end;padding-top:12px;border-top:1px solid var(--border-soft)}.availability-week-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.availability-range-label{margin-left:8px;font-size:17px;letter-spacing:-.01em}.availability-calendar-nav{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.availability-calendar-nav .availability-range-label{margin-right:auto}.availability-zoom{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft)}.availability-zoom button{min-height:32px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.availability-zoom button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.availability-zoom button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.availability-month{display:grid;grid-gap:4px;gap:4px}.availability-month-week,.availability-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.availability-month-weekdays span{padding:4px 0;font-size:12px;font-weight:600;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.04em}.availability-month-day{display:grid;align-content:start;justify-items:center;grid-gap:2px;gap:2px;min-height:72px;padding:8px 4px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.availability-month-day strong{font-size:16px}.availability-month-day span{font-size:11px;color:var(--text-muted)}.availability-month-day.is-open{background:var(--avail-open-soft);border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.availability-month-day.is-open span{color:var(--text);font-weight:700}.availability-month-day.is-today{box-shadow:inset 0 0 0 2px var(--primary)}.availability-month-day.is-other-month{opacity:.45}.availability-month-day.is-outside{background:repeating-linear-gradient(45deg,var(--surface-soft) 0 3px,var(--surface-muted) 3px 6px)}.availability-month-booked{color:var(--primary-strong)}.availability-month-day:hover{border-color:var(--primary)}.availability-month-day:focus-visible{outline:none;box-shadow:var(--focus-ring)}.availability-master-switch .booking-switch-label{min-width:0}.availability-horizon{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;border:0;min-width:0}.availability-horizon legend{padding:0;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.availability-horizon small{color:var(--text-muted);font-size:13px}.availability-horizon-options{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft)}.availability-horizon-option{min-height:32px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.availability-horizon-option.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.availability-horizon-option:focus-visible{outline:none;box-shadow:var(--focus-ring)}.availability-horizon:disabled .availability-horizon-option{cursor:progress;opacity:.7}.availability-toolbar-secondary{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.availability-toolbar-secondary .booking-timezone-select label{min-width:240px}.availability-check{display:inline-flex;align-items:center;gap:8px;min-height:40px;font-size:14px;cursor:pointer}.availability-status-card{display:grid;grid-gap:12px;gap:12px}.availability-status-card.needs-attention{border-color:color-mix(in srgb,var(--warning) 50%,var(--border))}.availability-status-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}.availability-status-head h3{margin:4px 0 6px;font-size:18px}.availability-status-actions{display:flex;flex-wrap:wrap;gap:8px}.availability-coverage-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(10px,1fr));grid-gap:3px;gap:3px;margin:0;padding:0;list-style:none}.availability-coverage-bar li{position:relative;height:12px;border-radius:4px;background:var(--surface-muted)}.availability-coverage-bar li.is-open{background:var(--avail-open)}.availability-coverage-bar li.is-open-booked{background:linear-gradient(135deg,var(--avail-open) 50%,var(--primary) 50%)}.availability-coverage-bar li.is-booked{background:var(--primary)}.availability-coverage-bar li.is-today:after{content:"";position:absolute;inset:-3px -1px;border:2px solid var(--text);border-radius:6px;pointer-events:none}.availability-attention{display:grid;grid-gap:2px;gap:2px;padding:12px 14px;border-left:4px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft)}.availability-attention span,.availability-paused-note{color:var(--text-muted);font-size:14px}.availability-paused-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.availability-grid-card{display:grid;grid-gap:12px;gap:12px}.availability-grid-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px}.availability-grid-help p{margin:0}.availability-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--text-muted)}.availability-legend li{display:inline-flex;align-items:center;gap:6px}.availability-legend li:before{content:"";width:14px;height:14px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.availability-legend li.is-painted:before{background:var(--avail-open);border-color:transparent}.availability-legend li.is-rule:before{background:repeating-linear-gradient(135deg,var(--avail-open-soft) 0 4px,var(--avail-open) 4px 8px);border-color:transparent}.availability-legend li.is-booked:before{background:var(--avail-booked);border-color:var(--primary)}.availability-legend li.is-outside:before{background:repeating-linear-gradient(45deg,var(--surface-soft) 0 3px,var(--surface-muted) 3px 6px)}.availability-grid{--avail-axis-w:56px;-moz-user-select:none;user-select:none;-webkit-user-select:none;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.availability-grid-body,.availability-grid-header{display:grid;grid-template-columns:var(--avail-axis-w) repeat(var(--grid-days,7),minmax(0,1fr))}.availability-grid-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.availability-grid-dayhead{display:grid;justify-items:center;grid-gap:0;gap:0;padding:10px 4px 8px;border-left:1px solid var(--border-soft);text-align:center;line-height:1.15}.availability-grid-dayhead span{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.availability-grid-dayhead strong{display:inline-grid;place-items:center;width:32px;height:32px;margin-top:2px;border-radius:50%;font-size:17px}.availability-grid-dayhead small{margin-top:2px;font-size:11px;color:var(--text-muted)}.availability-grid-dayhead.is-today strong{background:var(--primary);color:#fff}.availability-grid-dayhead.is-today small{color:var(--primary);font-weight:700}.availability-grid-dayhead.is-blocked,.availability-grid-dayhead.is-outside{color:var(--text-faint)}.availability-grid-body{touch-action:none}.availability-grid-axis{display:grid;grid-auto-rows:calc(var(--avail-cell-h) * 2)}.availability-grid-hour{position:relative;border-top:1px solid var(--border-soft)}.availability-grid-hour span{position:absolute;top:-8px;right:8px;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.availability-grid-column{display:grid;grid-auto-rows:var(--avail-cell-h);border-left:1px solid var(--border-soft)}.availability-grid-column.is-today{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.availability-cell{display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-top:1px dashed var(--border-soft);border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-decoration:none;transition:background 90ms ease}.availability-cell.is-hour{border-top:1px solid var(--border-soft)}.availability-cell:hover{background:color-mix(in srgb,var(--success) 14%,transparent)}.availability-cell:focus-visible{outline:none;box-shadow:inset var(--focus-ring);z-index:1}.availability-cell.is-open{background:var(--avail-open);border-top-color:color-mix(in srgb,var(--success) 40%,var(--surface))}.availability-cell.is-open:hover{background:color-mix(in srgb,var(--success) 60%,var(--surface))}.availability-cell.is-rule{background:repeating-linear-gradient(135deg,var(--avail-open-soft) 0 4px,var(--avail-open) 4px 8px)}.availability-cell.is-extra{background:var(--avail-open-soft)}.availability-cell.is-blocked,.availability-cell.is-outside,.availability-cell.is-past{cursor:not-allowed}.availability-cell.is-past{background:color-mix(in srgb,var(--surface-muted) 70%,transparent)}.availability-cell.is-past.is-open{background:color-mix(in srgb,var(--avail-open) 40%,var(--surface-muted))}.availability-cell.is-outside{background:repeating-linear-gradient(45deg,var(--surface-soft) 0 3px,var(--surface-muted) 3px 6px)}.availability-cell.is-blocked{background:repeating-linear-gradient(-45deg,var(--surface-soft) 0 3px,color-mix(in srgb,var(--danger) 10%,var(--surface)) 3px 6px)}.availability-cell.is-blocked:hover,.availability-cell.is-outside:hover,.availability-cell.is-past:hover{filter:none}.availability-cell.is-booked{display:flex;align-items:center;padding:0 6px;background:var(--avail-booked);border-top-color:color-mix(in srgb,var(--primary) 40%,var(--surface));border-left:3px solid var(--primary);color:var(--primary-strong);font-size:11px;font-weight:600;cursor:pointer;overflow:hidden}.availability-cell-booking{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-cell.is-selected{box-shadow:inset 0 0 0 2px var(--primary)}.availability-grid.is-open .availability-cell.is-selected{background:color-mix(in srgb,var(--success) 55%,var(--surface))}.availability-grid.is-clear .availability-cell.is-selected{background:color-mix(in srgb,var(--danger) 16%,var(--surface))}.availability-grid.is-painting .availability-cell{cursor:crosshair}.availability-grid-keys{margin:0;font-size:12px}.availability-advanced{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.availability-panel-body{display:grid;grid-gap:12px;gap:12px;padding-top:8px}.availability-panel-body>p{margin:0}.availability-attention-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));border-left:4px solid var(--warning);border-radius:var(--radius-md);background:var(--warning-soft)}.availability-attention-banner>div{display:grid;grid-gap:2px;gap:2px}.availability-attention-banner span{color:var(--text-muted);font-size:14px}.booking-manage-list{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-top:12px}.booking-manage-card{display:grid;grid-gap:12px;gap:12px;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.booking-manage-card.is-highlighted{border-color:var(--primary);box-shadow:var(--focus-ring)}.booking-manage-card.is-inactive{background:var(--surface-soft)}.booking-manage-card.is-inactive h3{color:var(--text-muted)}.booking-manage-card-header{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-start;justify-content:space-between}.booking-manage-card-header h3{margin:2px 0 4px}.booking-manage-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.booking-inline-confirm{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 10px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:var(--radius-sm);background:var(--danger-soft);font-size:13px}.booking-manage-preview{padding-top:12px;border-top:1px solid var(--border-soft)}.booking-option-group{display:grid;grid-gap:10px;gap:10px}.booking-option-group+.booking-option-group{margin-top:8px}.booking-option-group h3{margin:0;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.booking-option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.booking-option-card{display:grid;grid-gap:6px;gap:6px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform var(--duration-premium) var(--ease-premium)}.booking-option-card:hover{border-color:var(--primary);transform:translateY(-1px)}.booking-option-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.booking-option-card strong{font-size:16px}.booking-option-card p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}.booking-portal-controls{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:12px}.booking-portal-cancel summary{cursor:pointer;list-style:none}.booking-portal-cancel summary::-webkit-details-marker{display:none}.booking-portal-cancel-form{display:grid;grid-gap:8px;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}.booking-public-panel.is-wide{max-width:1040px}.booking-public-brand{display:grid;grid-gap:10px;gap:10px;justify-items:start;margin-bottom:4px}.booking-public-brand .anannt-form-logo,.booking-public-logo{display:block;width:auto;max-width:min(180px,55vw);height:44px;object-fit:contain}.booking-public-heading h1{margin-bottom:6px}@media (max-width:680px){.booking-public-brand .anannt-form-logo,.booking-public-logo{height:36px}}.booking-public-layout{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:var(--space-6)}.booking-public-aside{position:-webkit-sticky;position:sticky;top:16px}.booking-public-aside,.booking-public-main{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.booking-public-main{min-width:0}.booking-public-footer{margin:var(--space-6) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:13px;text-align:center}.booking-generic-link{display:grid;grid-gap:4px;gap:4px;min-width:0;max-width:100%}.booking-generic-link-url{margin:0;max-width:min(420px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px}.booking-admin-branches{display:grid;grid-gap:8px;gap:8px;margin:12px 0 0;padding:0;list-style:none}.booking-admin-branches li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.booking-admin-branches li>div{display:grid;grid-gap:2px;gap:2px}.booking-admin-branches small{color:var(--text-muted)}.booking-admin-toggle-form{display:flex;align-items:center;gap:12px}.booking-admin-table{margin-top:12px}.booking-admin-table td{vertical-align:top}.booking-admin-table small{color:var(--text-muted)}.booking-admin-row-actions{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.booking-admin-filters{margin:12px 0 4px}.booking-admin-filters .form-actions{align-self:end}.booking-admin-cancel summary{display:inline-flex;list-style:none;cursor:pointer}.booking-admin-cancel summary::-webkit-details-marker{display:none}.booking-admin-cancel-form{display:grid;grid-gap:8px;gap:8px;min-width:220px;margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}@media (max-width:900px){.booking-public-layout{grid-template-columns:minmax(0,1fr)}.booking-public-aside{position:static}.availability-calendar-nav{top:68px}}@media (max-width:680px){.booking-day-strip{gap:4px}.booking-day-button{min-height:64px;padding:6px 2px}.booking-day-button strong{font-size:16px}.booking-time-chips{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.booking-slot-picker-header,.booking-week-nav{flex-direction:column;align-items:stretch}.booking-week-nav strong{order:-1}.booking-timezone-select.is-compact label{min-width:0}.availability-day{grid-template-columns:minmax(0,1fr)}.availability-grid-page{--avail-cell-h:30px}.availability-grid{--avail-axis-w:44px}.availability-grid-hour span{right:4px;font-size:10px}.availability-range-label{flex-basis:100%;margin-left:0;order:-1}.availability-calendar-nav .availability-range-label{margin-right:0}.availability-month-day{min-height:56px;padding:6px 2px}.availability-toolbar-secondary,.availability-toolbar-secondary .booking-timezone-select label{width:100%;min-width:0}.availability-horizon-options{width:100%}.availability-horizon-option{flex:1 1;padding:0 6px}.availability-status-actions{width:100%}.availability-status-actions .btn{flex:1 1}.availability-save-bar{flex-direction:column;align-items:stretch}.availability-save-bar .form-actions{justify-content:stretch}.booking-confirm-panel,.booking-event-card,.booking-manage-card,.booking-summary-card{padding:var(--space-4)}.booking-dialog{padding:16px}.booking-admin-toggle-form{width:100%;justify-content:space-between}}.directory-row.application-sop-row{grid-template-columns:minmax(160px,1.4fr) minmax(150px,1.2fr) minmax(120px,.9fr) minmax(110px,.8fr) minmax(88px,.6fr) auto;align-items:center}.application-sop-head{min-height:0;padding-top:0;padding-bottom:6px;border-bottom:0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.application-sop-row>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.application-sop-row>div small,.application-sop-row>div span{color:var(--muted);font-size:12px;font-weight:600}.application-board{display:grid;grid-gap:16px;gap:16px}.application-board-country-actions,.application-board-dialog-actions,.application-board-heading,.application-board-heading-actions,.application-board-panel-actions,.application-board-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.application-board-heading{justify-content:space-between}.application-board-country-dialog h3,.application-board-drawer h3,.application-board-empty h3,.application-board-heading h2{margin:0}.application-board-country-dialog p,.application-board-drawer header p,.application-board-empty p,.application-board-heading p{margin:4px 0 0;color:var(--muted)}.application-board-country,.application-board-country-dialog,.application-board-drawer,.application-board-toolbar{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.application-board-toolbar{align-items:end;padding:12px}.application-board-country-dialog label,.application-board-form-grid label,.application-board-quick-university,.application-board-toolbar label{display:grid;grid-gap:4px;gap:4px;min-width:min(220px,100%)}.application-board-country-dialog label span,.application-board-detail-field span,.application-board-form-grid label span,.application-board-quick-university span,.application-board-toolbar label span{color:var(--muted);font-size:12px;font-weight:800}.application-board-country-dialog input,.application-board-form-grid input,.application-board-form-grid select,.application-board-form-grid textarea,.application-board-quick-university input,.application-board-quick-university select,.application-board-toolbar input,.application-board-toolbar select{min-height:36px;width:100%}.application-board-list{display:grid;grid-gap:12px;gap:12px}.application-board-country>summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-weight:800}.application-board-add-hint,.application-board-country-summary,.application-board-country>summary small,.application-board-field-help{color:var(--muted);font-weight:600}.application-board-country-body,.application-board-empty{padding:0 16px 16px}.application-board-table-scroll{overflow-x:auto}.application-board-table{min-width:980px;display:grid}.application-board-row,.application-board-table-head{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,1fr) 110px 90px 90px 120px 90px 110px minmax(120px,1.2fr) 56px;grid-gap:8px;gap:8px;align-items:center}.application-board-table-head{padding:8px 10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.application-board-row{padding:10px;border-top:1px solid var(--border);cursor:pointer;text-align:left}.application-board-row.is-selected,.application-board-row:hover{background:var(--surface-soft,#f8fafc)}.application-board-university{display:grid;min-width:0}.application-board-row span,.application-board-university small{overflow-wrap:anywhere}.application-board-category,.application-board-status{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;padding:2px 8px;background:var(--surface-soft,#f8fafc);font-size:11px;font-weight:800}.application-board-close,.application-board-row-action{min-height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.application-board-drawer-backdrop,.application-board-modal-backdrop{position:fixed;inset:0;z-index:30;border:0;background:rgb(7 21 47/35%)}.application-board-drawer{position:fixed;z-index:31;top:0;right:0;width:min(460px,100%);height:100%;overflow:auto;padding:18px;transform:translateX(105%)}.application-board-drawer.is-open{transform:none}.application-board-country-dialog header,.application-board-drawer header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.application-board-tabs{display:flex;gap:8px;margin-bottom:12px}.application-board-tabs button{min-height:34px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer}.application-board-tabs button.is-active{border-color:var(--primary);color:var(--primary);font-weight:800}.application-board-detail-grid,.application-board-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.application-board-form-span,.application-board-notes,.application-board-portal-card,.application-board-private-note{grid-column:1/-1}.application-board-notes,.application-board-portal-card,.application-board-private-note{display:grid;grid-gap:6px;gap:6px;margin-top:12px;padding:12px;border-radius:10px;background:var(--surface-soft,#f8fafc)}.application-board-country-dialog{width:min(480px,calc(100% - 32px));margin:10vh auto;padding:18px}.application-board-add{margin-bottom:10px}.application-board-quick-university{min-width:min(320px,100%)}.application-board-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width:900px){.application-board-detail-grid,.application-board-form-grid,.directory-row.application-sop-row{grid-template-columns:1fr}.application-board-table{min-width:0}.application-board-table-head{display:none}.application-board-row{grid-template-columns:1fr;gap:4px}}