.booking-flow{color:var(--yt-text-secondary)}.booking-card{border-radius:var(--yt-radius-xl);border:1px solid var(--yt-border-subtle);background:color-mix(in srgb, var(--yt-surface-base) 72%, transparent);box-shadow:var(--yt-shadow-soft);margin-top:2.5rem;padding:1.5rem}@media (width>=640px){.booking-card{padding:2rem}}.booking-slot-panel{text-align:center;border-radius:var(--yt-radius-lg);border:1px solid var(--yt-border-subtle);background:var(--yt-surface-mist);padding:1.25rem 1.5rem}.booking-slot-panel.is-unavailable{border-color:color-mix(in srgb, var(--yt-logo-red) 30%, var(--yt-border-subtle));background:color-mix(in srgb, var(--yt-logo-red) 5%, var(--yt-surface-mist))}.booking-slot-panel.is-confirmed{border-color:color-mix(in srgb, var(--yt-brand-secondary) 35%, var(--yt-border-subtle));background:color-mix(in srgb, var(--yt-brand-secondary) 6%, var(--yt-surface-mist))}.booking-slot-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--yt-brand-primary);margin:0 0 .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:600}.booking-slot-time{letter-spacing:-.02em;color:var(--yt-text-primary);margin:0;font-size:1.25rem;font-weight:600;line-height:1.35}.booking-slot-end{color:var(--yt-text-muted);margin:.35rem 0 0;font-size:.9375rem}.booking-slot-status{margin:1rem 0 0;font-size:.875rem;font-weight:600}.booking-slot-status.is-success{color:var(--yt-brand-secondary)}.booking-slot-status.is-error{color:var(--yt-logo-red)}.booking-slot-status.is-muted{color:var(--yt-text-muted);font-weight:500}.booking-slot-link{color:var(--yt-brand-primary);margin-top:1rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-block}.booking-slot-link:hover{text-decoration:underline}.booking-slot-loading{color:var(--yt-text-muted);justify-content:center;align-items:center;gap:.625rem;margin:0;font-size:.9375rem;display:flex}.booking-spinner{border:2px solid color-mix(in srgb, var(--yt-brand-primary) 20%, transparent);border-top-color:var(--yt-brand-primary);border-radius:50%;flex-shrink:0;width:1.125rem;height:1.125rem;animation:.75s linear infinite booking-spin;display:inline-block}.booking-spinner-lg{border-width:3px;width:2.75rem;height:2.75rem}@keyframes booking-spin{to{transform:rotate(360deg)}}.booking-field{margin-bottom:1.25rem}.booking-label{color:var(--yt-text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.booking-input{border-radius:var(--yt-radius-md);border:1px solid var(--yt-border-subtle);background:var(--yt-surface-base);width:100%;color:var(--yt-text-primary);padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.booking-input::placeholder{color:var(--yt-text-muted)}.booking-input:focus{border-color:var(--yt-brand-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--yt-brand-primary) 18%, transparent);outline:none}.booking-email-hint.is-match{color:var(--yt-brand-secondary)}.booking-email-hint.is-mismatch{color:var(--yt-logo-red)}.booking-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.booking-btn{cursor:pointer;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;min-width:11rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.booking-btn-primary{background:var(--yt-brand-primary);color:var(--yt-text-inverted);box-shadow:var(--yt-shadow-brand)}.booking-btn-primary:hover:not(:disabled){background:var(--yt-brand-heavy)}.booking-btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.booking-btn-secondary{background:var(--yt-surface-mist);color:var(--yt-text-secondary);border-color:var(--yt-border-subtle)}.booking-btn-secondary:hover{background:color-mix(in srgb, var(--yt-surface-mist) 70%, var(--yt-border-subtle));color:var(--yt-text-primary)}#confirm-btn.processing{color:#0000;position:relative}#confirm-btn.processing:after{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1.125rem;height:1.125rem;margin:-.5625rem 0 0 -.5625rem;animation:.75s linear infinite booking-spin;position:absolute;top:50%;left:50%}.booking-alert{border-radius:var(--yt-radius-md);margin-top:1rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.booking-alert-error{border:1px solid color-mix(in srgb, var(--yt-logo-red) 35%, var(--yt-border-subtle));background:color-mix(in srgb, var(--yt-logo-red) 8%, var(--yt-surface-base));color:var(--yt-text-primary)}.booking-alert-warning{border:1px solid color-mix(in srgb, var(--yt-accent-warm) 40%, var(--yt-border-subtle));background:color-mix(in srgb, var(--yt-accent-warm) 10%, var(--yt-surface-base));color:var(--yt-text-primary)}.booking-state-card{text-align:center;padding:2.5rem 1.5rem}.booking-state-icon{color:#fff;border-radius:9999px;justify-content:center;align-items:center;width:3.75rem;height:3.75rem;margin:0 auto 1.5rem;font-size:1.5rem;font-weight:700;display:flex}.booking-state-icon.is-success{background:var(--yt-brand-secondary)}.booking-state-icon.is-error{background:var(--yt-logo-red)}.booking-info-grid{gap:.875rem;margin-top:1rem;display:grid}@media (width>=640px){.booking-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-info-tile{border-radius:var(--yt-radius-md);border:1px solid var(--yt-border-subtle);background:var(--yt-surface-base);padding:1rem}.booking-info-tile h3{color:var(--yt-text-primary);margin:0;font-size:.9375rem;font-weight:600}.booking-info-tile p{color:var(--yt-text-secondary);margin:.5rem 0 0;font-size:.8125rem;line-height:1.55}.booking-divider{border:0;border-top:1px solid var(--yt-border-subtle);margin:1.5rem 0}.booking-meta{color:var(--yt-text-muted);word-break:break-all;margin:.75rem 0 0;font-size:.75rem}.booking-ics-link{color:var(--yt-brand-primary);align-items:center;gap:.35rem;margin-top:.75rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.booking-ics-link:hover{text-decoration:underline}
