.booking-panel{border:.0625rem solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);gap:1.25rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.booking-panel h2,.booking-panel h3,.booking-panel p{margin-bottom:0}.booking-kicker{color:var(--color-brand);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:800;margin-bottom:.35rem!important}.booking-kicker--sub{color:var(--color-muted);letter-spacing:normal;text-transform:none;font-size:.9rem;font-weight:500;margin-top:.15rem!important}.booking-search{gap:1rem;display:grid}.booking-stepper{align-items:center;gap:.5rem;display:flex}.booking-stepper button{border:.0625rem solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas);width:2.4rem;height:2.4rem;color:var(--color-ink);flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:800;line-height:1;display:flex}.booking-stepper button:disabled{color:var(--color-gray-soft);cursor:not-allowed}.booking-stepper__input{width:2.75rem;color:var(--color-ink);text-align:center;appearance:textfield;font-size:1.1rem;font-weight:800;background:0 0!important;border:none!important;min-height:2.4rem!important;padding:0!important}.booking-stepper__input::-webkit-inner-spin-button{appearance:none;margin:0}.booking-stepper__input::-webkit-outer-spin-button{appearance:none;margin:0}.booking-native-submit{appearance:none;border:0}.booking-day-picker{scrollbar-width:none;gap:.5rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.booking-day-picker::-webkit-scrollbar{display:none}.booking-day{border:.0625rem solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:3.4rem;color:var(--color-ink);flex-direction:column;flex-shrink:0;align-items:center;gap:.2rem;padding:.5rem .4rem;display:flex}.booking-day[aria-current=date]{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-surface)}.booking-day__weekday{letter-spacing:.04em;text-transform:uppercase;opacity:.75;font-size:.68rem;font-weight:800}.booking-day__number{font-size:1.1rem;font-weight:800}.booking-continue{width:100%}.booking-trust{color:var(--color-muted);margin:0;font-size:.85rem;font-weight:600}.booking-back{color:var(--color-brand-strong);background:0 0;border:0;justify-self:start;padding:0;font-weight:700}.booking-summary{border-radius:var(--radius-sm);background:var(--color-canvas);padding:.6rem .9rem;font-weight:700}.booking-form{gap:1.25rem;display:grid}.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.booking-fields--search{grid-template-columns:minmax(10rem,2fr) minmax(8rem,1fr)}.booking-field{align-content:start;gap:.35rem;font-weight:700;display:grid}.booking-field--wide{grid-column:1/-1}.booking-field input,.booking-field textarea,.booking-field select{border:.0625rem solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:2.9rem;color:var(--color-ink);font:inherit;padding:.7rem .8rem}.signup-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.booking-field textarea{resize:vertical}.booking-field input[aria-invalid=true],.booking-field textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 .0625rem var(--color-danger)}.booking-field input[readonly]{background:var(--color-canvas)}.booking-field small,.booking-optional,.booking-session{color:var(--color-muted);font-size:.9rem;font-weight:400}.booking-field .booking-error,.booking-error{color:var(--color-danger);font-weight:700}.booking-times{border:0;gap:1.25rem;min-width:0;margin:0;padding:0;display:grid}.booking-times legend{margin-bottom:.7rem;font-weight:800}.booking-space{gap:.65rem;display:grid}.booking-space__name{margin:0;font-weight:800}.booking-space-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.booking-space-tab{border:.125rem solid var(--color-border);background:var(--color-surface);min-height:2.6rem;color:var(--color-ink);font:inherit;cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-weight:800}.booking-space-tab--active{border-color:var(--color-brand);background:var(--color-brand-tint);color:var(--color-brand-deep)}.booking-space-tab:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.booking-consent{align-items:flex-start;gap:.6rem;font-weight:400;display:flex}.booking-consent input{margin-top:.2rem}.booking-time-grid{grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.65rem;display:grid}.booking-time-grid label{position:relative}.booking-time-grid input{opacity:0;position:absolute}.booking-time-grid span{border:.125rem solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;min-height:2.75rem;font-weight:800;display:flex}.booking-time-grid input:checked+span{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-surface)}.booking-time-grid input:focus-visible+span{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.booking-time-grid label.booking-time--unavailable span,.booking-time-grid input:disabled+span{border-color:var(--color-border);background:color-mix(in srgb, var(--color-border) 45%, var(--color-canvas));color:var(--color-muted);cursor:not-allowed;opacity:.72}.booking-notice{border-left:.25rem solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-canvas);gap:.75rem;padding:1rem;display:grid}.booking-notice--error{border-left-color:var(--color-danger);color:var(--color-danger)}.booking-skeleton{gap:.65rem;display:grid}.booking-skeleton span{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-canvas), var(--color-border), var(--color-canvas));background-size:200% 100%;width:100%;height:1.2rem;animation:1.4s ease-in-out infinite booking-shimmer;display:block}.booking-skeleton span:nth-child(2){width:82%}.booking-skeleton span:nth-child(3){width:65%}.booking-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.booking-success{border-color:var(--color-brand)}.otp-panel{max-width:40rem}.reservation-list{gap:1rem;display:grid}.reservation-list--cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr));align-items:start;gap:1rem}.reservation-list--cards[hidden]{display:none}.reservation-tabs{background:var(--color-border-soft);border-radius:1rem;gap:.25rem;width:100%;max-width:24rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.reservation-tabs__tab{min-height:2.75rem;color:var(--color-muted-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.8rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;font-weight:800;display:inline-flex}.reservation-tabs__tab[aria-selected=true]{background:var(--color-surface);color:var(--color-brand-deep);box-shadow:0 .125rem .5rem #17201e1f}.reservation-tabs__tab:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.125rem}.reservation-tabs__count{background:var(--color-border);min-width:1.35rem;color:var(--color-ink);border-radius:999px;padding:.1rem .4rem;font-size:.75rem;line-height:1.3}.reservation-tabs__tab[aria-selected=true] .reservation-tabs__count{background:var(--color-brand-tint);color:var(--color-brand-deep)}.reservation-empty{background:var(--color-surface);border-radius:1.25rem;grid-column:1/-1;justify-items:start;gap:.5rem;padding:1.25rem;display:grid}.reservation-empty h2,.reservation-empty p{margin:0}.reservation-empty h2{font-size:1.125rem}.reservation-empty p{color:var(--color-muted-text)}.reservation-card{background:var(--color-surface);border-radius:1.25rem;gap:1rem;padding:1rem;display:grid;box-shadow:0 .375rem 1rem -.5rem #17201e24}.reservation-card__top{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.875rem;display:grid}.reservation-card__date{background:var(--color-brand-tint);border-radius:.875rem;align-content:center;justify-items:center;width:2.75rem;min-height:3.6rem;line-height:1.15;display:grid}.reservation-card__date strong{color:var(--color-ink);font-size:1.3rem;font-weight:800}.reservation-card__date span{color:var(--color-brand-deep);letter-spacing:.04em;font-size:.65rem;font-weight:800}.reservation-card__info{gap:.15rem;min-width:0;display:grid}.reservation-card__info h3{margin:0 0 .1rem;font-size:1.125rem;font-weight:800;line-height:1.2}.reservation-card__info p{color:var(--color-muted-text);margin:0;font-size:.875rem;line-height:1.35}.reservation-status{white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.75rem;font-weight:800;display:inline-flex}.reservation-status:before{content:"";background:currentColor;border-radius:999px;width:.4rem;height:.4rem}.reservation-status--success{background:var(--color-success-tint);color:var(--color-success-strong)}.reservation-status--warning{background:var(--color-warning-tint);color:var(--color-warning-strong)}.reservation-status--danger{background:var(--color-brand-tint);color:var(--color-brand-deep)}.reservation-card__confirmed{color:var(--color-success-strong);margin:0;font-size:.85rem;font-weight:800}.reservation-card__actions{flex-wrap:wrap;gap:.75rem;display:flex}.reservation-action{min-height:2.75rem;font:inherit;text-align:center;cursor:pointer;border:0;border-radius:.875rem;flex:8rem;justify-content:center;align-items:center;padding:.5rem;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.reservation-action:disabled{opacity:.6;cursor:not-allowed}.reservation-action--dark{background:var(--color-ink);color:var(--color-surface)}.reservation-action--dark:hover{color:var(--color-surface);background:#3a2420}.reservation-action--amber{background:var(--color-warning-tint);color:var(--color-warning-strong)}.reservation-action--amber:hover{color:var(--color-warning-strong);background:#fceccc}.reservation-action--info{color:#2a63a8;background:#eaf2fb}.reservation-action--info:hover{color:#2a63a8;background:#dbe9f8}.reservation-action--danger{background:var(--color-brand-tint);color:var(--color-brand-deep)}.reservation-action--danger:hover{background:var(--color-brand-tint-border);color:var(--color-brand-deep)}.reservation-action--ghost{box-shadow:inset 0 0 0 .0625rem var(--color-border);color:var(--color-ink);background:0 0}.reservation-action--ghost:hover{background:var(--color-canvas)}.reservation-action:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}@keyframes booking-shimmer{to{background-position:-200% 0}}@media (width<=38rem){.booking-search>.booking-field{justify-self:start;width:50%}.booking-fields,.booking-fields--search{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.booking-skeleton span{animation:none}}.toggle-row{border-bottom:.0625rem solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 0;display:flex}.toggle-row:last-child{border-bottom:0}.toggle-row__copy{gap:.2rem;display:grid}.toggle-row__copy strong{font-weight:800}.toggle-row__copy span{color:var(--color-muted);font-size:.88rem}.toggle-switch{flex:none;width:3rem;height:1.75rem;position:relative}.toggle-switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.toggle-switch span{background:var(--color-border);border-radius:999px;transition:background-color .16s;position:absolute;inset:0}.toggle-switch span:before{content:"";background:var(--color-surface);width:1.375rem;height:1.375rem;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .16s;position:absolute;top:.1875rem;left:.1875rem}.toggle-switch input:checked+span{background:var(--color-brand)}.toggle-switch input:checked+span:before{transform:translate(1.25rem)}.toggle-switch input:focus-visible+span{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.chip-select{border:0;flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.chip-select label{font-weight:700;position:relative}.chip-select input{opacity:0;position:absolute}.chip-select span{border:.125rem solid var(--color-border);cursor:pointer;border-radius:999px;padding:.45rem .9rem;font-size:.88rem;display:block}.chip-select input:checked+span{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-surface)}.chip-select input:focus-visible+span{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.danger-zone{border-color:var(--color-danger)}.favorite-toggle{border:.0625rem solid var(--color-border);background:var(--color-surface);width:2.5rem;height:2.5rem;box-shadow:var(--shadow-sm);color:var(--color-brand-strong);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.15rem;line-height:1;display:inline-flex}.favorite-toggle[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand-tint);color:var(--color-brand-strong)}.favorite-toggle:disabled{opacity:.6;cursor:wait}
