.court-date-trigger{justify-content:start;align-items:center;gap:var(--space-3);width:100%;min-height:var(--booking-control-height,var(--control-size));padding:.625rem var(--space-4);border:1px solid var(--border-interactive);border-radius:var(--control-radius);background:var(--surface-page);color:var(--text-primary);font-size:var(--text-small);text-align:start;display:flex}.court-date-trigger>span:nth-child(2){flex:1}.court-date-trigger:hover{background:var(--surface-soft)}.court-calendar-popover{z-index:40;width:min(24rem,100vw - 1rem);max-height:var(--radix-popover-content-available-height);padding:var(--space-3);gap:var(--space-3);border:1px solid var(--rule-color);border-radius:var(--action-radius);background:var(--surface-card);color:var(--text-primary);overflow-y:auto;box-shadow:0 .75rem 2rem #1b1a172e}.booking-calendar{--cell-size:2.75rem;width:100%;font-size:var(--text-small);background:0 0;padding:0}.booking-calendar .rdp-months,.booking-calendar .rdp-month{width:100%;min-width:0}.booking-calendar .rdp-month_grid{table-layout:fixed;width:100%}.booking-calendar td.rdp-day{aspect-ratio:auto;border-radius:var(--control-radius);min-width:0;overflow:hidden}.booking-calendar .rdp-month_caption{min-height:var(--control-size)}.booking-calendar .rdp-caption_label{font-size:var(--text-small)}.booking-calendar .rdp-weekday{letter-spacing:-.02em;font-size:.75rem}.booking-calendar .rdp-week{margin-block-start:var(--space-1)}.booking-calendar .rdp-day_button,.booking-calendar button[data-day]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:var(--control-size);aspect-ratio:1;border-radius:var(--control-radius);font-variant-numeric:tabular-nums;height:auto;padding:0;font-size:.875rem;overflow:hidden}.booking-calendar button[data-selected-single=true]{background:var(--brand-forest);color:var(--brand-cream);box-shadow:inset 0 0 0 2px var(--brand-cream)}.booking-calendar button:disabled{cursor:default}.booking-calendar .rdp-button_previous,.booking-calendar .rdp-button_next{min-width:var(--control-size);min-height:var(--control-size);padding:0}.calendar-chevron{display:inline-flex}.calendar-chevron-left{transform:rotate(90deg)}.calendar-chevron-right{transform:rotate(-90deg)}.calendar-availability-note{border-top:1px solid var(--rule-color);color:var(--text-secondary);padding-block-start:var(--space-2);font-size:.875rem}@media (prefers-reduced-motion:reduce){.court-calendar-popover{transition:none;animation:none}}.booking-preview{--booking-surface:var(--surface-card);--booking-surface-muted:var(--surface-soft);--booking-surface-subtle:var(--surface-page);--booking-selected-surface:var(--action-primary);--booking-selected-text:var(--action-primary-foreground);--booking-panel-surface:var(--panel-strong);--booking-panel-text:var(--on-panel-strong);--booking-panel-action:var(--action-primary);--booking-panel-action-text:var(--action-primary-foreground);--booking-panel-action-hover:var(--action-hover);--booking-pending-surface:#d99a62;--booking-pending-text:var(--brand-ink);font-variant-numeric:tabular-nums;overflow:hidden}:root[data-theme=light] .booking-preview{--booking-surface-emphasis:#dfe8df;--booking-guidance-surface:#315f4c17;--booking-available-surface:#dfe8df;--booking-hover-surface:#18352a0f;--booking-border:#18352a47;--booking-panel-border:#f4f1e838;--booking-booked-surface:#d4d0c5;--booking-unavailable-surface:#e6e2d8;--booking-disabled-text:#1b1a17b8;--booking-index:#18352a8c;--booking-danger:#7d2d28;--booking-success:#315f4c;--booking-card-shadow:0 1px 0 #ffffffe6 inset, 0 12px 30px #18352a14}:root[data-theme=dark] .booking-preview{--booking-surface-emphasis:#2d4538;--booking-guidance-surface:#96a99b1f;--booking-available-surface:#345143;--booking-hover-surface:#b08d3e29;--booking-border:#96a99b94;--booking-panel-border:#f4f1e83d;--booking-booked-surface:#4c514c;--booking-unavailable-surface:#384039;--booking-disabled-text:#d2d9d0;--booking-index:#d2d9d0b8;--booking-danger:#e09a93;--booking-success:#96a99b;--booking-card-shadow:0 1px 0 #f4f1e814 inset, 0 12px 30px #0000003d}.court-selection-preview{gap:var(--space-8);display:grid}.court-selection-panel,.court-visit-panel{border:1px solid var(--booking-border);border-radius:var(--action-radius);background:var(--booking-surface);min-width:0;padding:clamp(1.25rem,4vw,2.5rem)}.court-selection-heading,.court-visit-heading,.court-time-heading{justify-content:space-between;align-items:end;gap:var(--space-4) var(--space-8);flex-wrap:wrap;display:flex}.court-selection-heading>div,.court-visit-heading>div,.court-time-heading>div{gap:var(--space-2);display:grid}.court-date-field>p,.court-time-heading p,.court-selection-intro,.court-selection-boot-note,.court-selection-empty,.court-visit-guidance{font-size:var(--text-small)}.court-date-field>p,.court-time-heading p{color:var(--text-secondary);font-weight:600}.court-selection-intro{margin-block:var(--space-4) var(--space-6)}.court-selection-choices{gap:var(--space-3);display:grid}.court-selection-toggle{justify-content:flex-start;align-items:center;gap:var(--space-4);min-height:5.25rem;padding:var(--space-4);border:1px solid var(--booking-border);border-radius:var(--control-radius);background:var(--surface-page);color:var(--text-secondary);text-align:start;touch-action:manipulation;display:flex}.court-selection-toggle[aria-pressed=true]{border-color:var(--booking-selected-surface);background:var(--booking-selected-surface);color:var(--booking-selected-text);box-shadow:inset 0 0 0 2px var(--booking-selected-text)}.court-selection-toggle:disabled{cursor:not-allowed;opacity:.72}.court-selection-toggle>span:last-child{gap:var(--space-1);display:grid}.court-selection-toggle small{font-size:var(--text-small);font-weight:400}.court-selection-mark{border-radius:var(--control-radius);border:1px solid;flex:0 0 2rem;place-items:center;width:2rem;height:2rem;font-weight:700;display:grid}.court-selection-boot-note,.court-selection-empty,.court-visit-guidance{max-width:none;padding:var(--space-4);background:var(--booking-guidance-surface);border-radius:var(--control-radius);color:var(--text-secondary);margin-block-start:var(--space-6)}.court-visit-panel{gap:var(--space-6);display:grid}.court-visit-number{color:var(--booking-index);font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:var(--weight-heading);line-height:.8}.court-date-field{gap:var(--space-2);max-width:30rem;display:grid}.court-date-field label{color:var(--text-secondary);font-size:var(--text-small);font-weight:650}.court-time-selection{gap:var(--space-6);padding-block-start:var(--space-2);display:grid}.court-time-heading{align-items:baseline}.court-time-heading h3{font-size:var(--text-profile)}.court-slot-legend{gap:var(--space-3) var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.court-slot-legend li{align-items:center;gap:var(--space-2);min-height:1.75rem;font-size:var(--text-small);display:inline-flex}.court-legend-cue{border:1px solid var(--text-secondary);border-radius:var(--control-radius);background:var(--booking-available-surface);flex:0 0 1.5rem;width:1.5rem;height:1.5rem;display:inline-block}.court-legend-cue.selected{background:var(--booking-selected-surface);box-shadow:inset 0 0 0 2px var(--booking-selected-text)}.court-legend-cue.pending{border-color:var(--booking-pending-text);background:var(--booking-pending-surface)}.court-legend-cue.booked{background:var(--booking-booked-surface)}.court-legend-cue.unavailable{background:var(--booking-unavailable-surface)}.court-slot-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.court-slot{gap:var(--space-1);min-height:4.75rem;padding:var(--space-3) var(--space-4);border:1px solid var(--booking-border);border-radius:var(--control-radius);background:var(--booking-available-surface);color:var(--text-primary);text-align:start;touch-action:manipulation;display:grid;position:relative;overflow:hidden}.court-slot>strong{font-size:var(--text-small)}.court-slot>span{align-items:center;gap:var(--space-1);font-size:var(--text-small);display:inline-flex}.court-slot.selected{border-color:var(--booking-selected-surface);background:var(--booking-selected-surface);color:var(--booking-selected-text);box-shadow:inset 0 0 0 2px var(--booking-selected-text)}.court-slot.pending{border-color:var(--booking-pending-text);background:var(--booking-pending-surface);color:var(--booking-pending-text)}.court-slot.booked{background:var(--booking-booked-surface)}.court-slot.unavailable{background:var(--booking-unavailable-surface)}.court-slot:disabled{color:var(--booking-disabled-text);cursor:not-allowed;opacity:1}.court-slot.pending:disabled{color:var(--booking-pending-text)}.court-selection-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width>=40rem){.court-selection-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=24rem){.court-selection-panel,.court-visit-panel{padding:var(--space-4)}.court-slot-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.court-visit-panel{animation:.18s ease-out both court-panel-enter}.court-selection-toggle,.court-slot{transition:background-color .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out}.court-selection-toggle:active:not(:disabled),.court-slot:active:not(:disabled){transform:scale(.96)}}@keyframes court-panel-enter{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@media (forced-colors:active){.court-selection-toggle[aria-pressed=true],.court-slot.selected{border:2px solid canvastext}.court-legend-cue{forced-color-adjust:none}}.booking-flow{--booking-control-height:3rem;max-width:64rem;padding-block:clamp(2.5rem, 5vw, 4rem) var(--space-24)}.flow-heading{gap:var(--space-4);border-block-end:1px solid var(--rule-color);margin-block-end:var(--space-8);padding-block-end:var(--space-8);display:grid}.flow-heading h1{font-size:var(--text-section);font-weight:var(--weight-heading);letter-spacing:-.04em;line-height:1.08}.flow-heading>p{max-width:52ch;line-height:1.65}.flow-progress-label,.flow-hint{color:var(--text-secondary);font-size:var(--text-small);line-height:1.6}.flow-steps{margin-block-end:var(--space-12)}.flow-steps ol{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.flow-steps li{border-block-end:2px solid color-mix(in srgb, var(--text-primary) 20%, transparent);min-width:0;padding-block-end:var(--space-3)}.flow-steps li.current{border-color:var(--brand-gold)}.flow-steps li.completed{border-color:var(--brand-forest)}:root[data-theme=dark] .flow-steps li.completed{border-color:color-mix(in srgb, var(--brand-forest) 55%, var(--brand-cream))}.flow-steps li>span,.flow-steps button{gap:var(--space-2);min-height:var(--control-size);color:var(--text-primary);font-size:var(--text-small);align-items:center;line-height:1.4;display:flex}.flow-steps button{text-align:start;cursor:pointer;background:0 0;border:0;padding:0}.flow-steps .current>span{color:var(--text-primary);font-weight:650}.flow-steps li>span>span,.flow-steps button>span{font-variant-numeric:tabular-nums}.flow-form,.flow-review,.flow-payment{gap:var(--space-8);display:grid}.flow-panel{gap:var(--space-6);border-radius:var(--action-radius);background:var(--surface-card);border:1px solid #0000;min-width:0;padding:clamp(1rem,4vw,2rem);display:grid}.booking-flow h2{font-family:var(--font-heading);font-size:var(--text-profile);font-weight:var(--weight-subheading);letter-spacing:-.02em;line-height:1.2}.booking-flow h3{font-size:var(--text-body);font-weight:650;line-height:1.4}.flow-panel>h2+.flow-hint{margin-block-start:calc(var(--space-4) * -1)}.flow-fields{gap:var(--space-6);display:grid}.flow-training fieldset{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.flow-training legend{font-family:var(--font-heading);font-size:var(--text-profile);font-weight:var(--weight-subheading);margin-block-end:var(--space-3)}.flow-choice-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.flow-choice-grid label{align-items:center;gap:var(--space-3);min-height:var(--booking-control-height);padding:var(--space-3) var(--space-4);border:1px solid var(--border-interactive);border-radius:var(--control-radius);background:var(--surface-page);cursor:pointer;display:flex}.flow-choice-grid label:has(input:checked){border-color:var(--brand-forest);box-shadow:inset 0 0 0 1px var(--brand-forest)}.flow-choice-grid input{accent-color:var(--brand-forest)}.flow-field select{width:100%;min-height:var(--booking-control-height);border:1px solid var(--border-interactive);border-radius:var(--control-radius);padding:.625rem var(--space-4);background:var(--surface-page);color:var(--text-primary);font:inherit}.flow-coach-reminder,.flow-coach-contacts{gap:var(--space-4);padding:var(--space-5);border-radius:var(--control-radius);display:grid}.flow-coach-contacts{border:1px solid var(--rule-color)}.flow-coach-contacts ul{gap:var(--space-3) var(--space-6);flex-wrap:wrap;margin:0;padding-inline-start:var(--space-5);display:flex}.flow-field{align-content:start;gap:var(--space-2);min-width:0;display:grid}.flow-field label,.flow-code-body>label{font-size:var(--text-small);font-weight:var(--weight-subheading)}.flow-field input,.flow-code-row input{width:100%;min-width:0;min-height:var(--booking-control-height);border:1px solid var(--border-interactive);border-radius:var(--control-radius);padding:.625rem var(--space-4);background:var(--surface-page);color:var(--text-primary);font:inherit;font-size:var(--text-small);line-height:1.5}.flow-field input::placeholder{color:var(--text-secondary);opacity:.7}.flow-field input[aria-invalid=true],.flow-code-row input[aria-invalid=true]{border-color:var(--booking-danger)}.flow-error{color:var(--booking-danger);font-size:var(--text-small)}.flow-error:empty,.flow-code-body [role=status]:empty{display:none}.flow-stay{gap:var(--space-4);padding-block:var(--space-4);border-block-start:1px solid var(--rule-color);display:grid}.flow-stay>div:first-child{gap:var(--space-2);align-content:start;display:grid}.flow-stay>div:first-child p{font-size:var(--text-small)}.flow-disclosure{border-block-start:1px solid var(--rule-color)}.flow-disclosure summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--control-size);padding-block:var(--space-3);cursor:pointer;font-size:var(--text-small);font-weight:600;list-style:none;display:flex}.flow-disclosure summary::-webkit-details-marker{display:none}.flow-disclosure[open] summary .phosphor-icon{rotate:45deg}.flow-disclosure>p,.flow-disclosure>ul{margin-block:var(--space-3) var(--space-6);font-size:var(--text-small);max-width:65ch}.flow-code-body{gap:var(--space-3);padding-block:var(--space-3) var(--space-6);display:grid}.flow-code-row{align-items:stretch;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.flow-code-row .group\/button{white-space:nowrap;min-height:var(--booking-control-height);padding-inline:var(--space-6);font-weight:var(--weight-action)}.booking-flow .flow-actions [data-slot=button]{min-height:var(--booking-control-height)}.flow-code-row [data-variant=ghost],.flow-actions [data-variant=ghost],.flow-edit{background:var(--surface-soft);color:var(--text-primary);border-radius:var(--control-radius);font-weight:var(--weight-action);border-color:#0000}.flow-code-row [data-variant=ghost]:hover,.flow-actions [data-variant=ghost]:hover,.flow-edit:hover{background:var(--surface-card)}.flow-actions{gap:var(--space-3) var(--space-6);flex-wrap:wrap;align-items:center;margin-block-start:var(--space-4);display:flex}.flow-actions>.flow-hint{flex-basis:100%}.flow-section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.flow-edit{min-height:var(--control-size);padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-small);font-weight:var(--weight-action);cursor:pointer;border:0;text-decoration:none}.flow-visits{gap:var(--space-6);display:grid}.flow-visits article{gap:var(--space-2);display:grid}.flow-visits p{font-size:var(--text-small)}.flow-contact{gap:var(--space-2);overflow-wrap:anywhere;font-style:normal;display:grid}.flow-guest-list{gap:var(--space-2);font-size:var(--text-small);margin:0;padding-inline-start:var(--space-6);display:grid}.flow-price{margin:0}.flow-price>div{justify-content:space-between;gap:var(--space-6);padding-block:var(--space-3);font-size:var(--text-small);display:flex}.flow-price dd{text-align:end;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}.flow-price .flow-total{border-block-start:1px solid var(--rule-color);font-size:var(--text-profile);margin-block-start:var(--space-3);padding-block-start:var(--space-6);font-weight:650}.flow-review-submit{gap:var(--space-6);display:grid}.flow-review-submit>p{max-width:65ch}.flow-amount{font:650 clamp(2rem, 6vw, 3rem)/1.2 var(--font-heading);letter-spacing:-.025em}.flow-payment-method{gap:var(--space-6);align-items:center;display:grid}.flow-payment-qr{border-radius:var(--control-radius);width:min(100%,18rem);height:auto}.flow-bank-details,.flow-bank-details dl,.flow-expired{gap:var(--space-4);display:grid}.flow-bank-details dt,.flow-countdown{font-size:var(--text-small)}.flow-bank-details dd{font-weight:var(--weight-action);overflow-wrap:anywhere;margin:0}.flow-bank-details .group\/button{background:var(--surface-soft);color:var(--text-primary);justify-self:start}.flow-bank-details .group\/button:hover{background:var(--surface-page)}.flow-countdown{align-items:center;gap:var(--space-3);display:flex}.flow-countdown strong{font-variant-numeric:tabular-nums;font-size:var(--text-profile)}.flow-countdown--urgent{color:var(--booking-danger);font-weight:650}.flow-expired{padding:var(--space-6);background:var(--surface-soft);border-radius:var(--control-radius)}.flow-expired button{justify-self:start}.flow-phone-input{border:1px solid var(--border-interactive);border-radius:var(--control-radius);background:var(--surface-page);align-items:stretch;display:flex}.flow-phone-input>span{white-space:nowrap;padding-inline:var(--space-4);border-inline-end:1px solid var(--rule-color);font-size:var(--text-small);flex-shrink:0;align-items:center;display:flex}.flow-phone-input input{min-height:calc(var(--booking-control-height) - 2px);background:0 0;border:0}.flow-phone-input:has([aria-invalid=true]){border-color:var(--booking-danger)}.flow-file-label:has(+.flow-file-input:disabled){opacity:.5;cursor:not-allowed}.flow-file-label{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);min-height:var(--control-size);border:1px dashed var(--border-interactive);border-radius:var(--action-radius);cursor:pointer;color:var(--text-secondary);display:flex}.flow-file-label:has(+.flow-file-input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:3px}.flow-file-input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.flow-file{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-soft);border-radius:var(--control-radius);flex-wrap:wrap;display:flex}.flow-file>div{gap:var(--space-1);overflow-wrap:anywhere;flex:1;min-width:0;display:grid}.flow-file>div>span{font-size:var(--text-small)}.flow-status-label{gap:var(--space-2);font-size:var(--text-small);align-items:center;font-weight:650;display:flex}.flow-rules,.flow-rules li+li{margin-block-start:var(--space-2)}.flow-empty .action{justify-self:start}.flow-service-error{margin-block-end:var(--space-8)}.flow-service-error [data-slot=button]{justify-self:start}.flow-request-error{margin-block-end:var(--space-6)}.flow-warning{color:var(--text-primary);border-inline-start:3px solid var(--brand-gold);padding-inline-start:var(--space-4)}@media (width>=40rem){.flow-fields{grid-template-columns:repeat(6,minmax(0,1fr))}.flow-fields>div{grid-column:span 2}.flow-fields>:nth-last-child(-n+2){grid-column:span 3}.flow-payment-method{grid-template-columns:minmax(0,18rem) minmax(0,1fr)}.flow-stay{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}@media (width<=47.99rem){.flow-steps li>span,.flow-steps button{justify-content:center;width:100%;font-size:0}.flow-steps li>span>span,.flow-steps button>span{font-size:var(--text-body)}}@media (width<=37.99rem){.flow-code-row{grid-template-columns:minmax(0,1fr)}.flow-actions>[data-slot=button]{width:100%}}@media (width<=24rem){.flow-price>div{gap:var(--space-3)}}@media (prefers-reduced-motion:no-preference){.flow-field input,.flow-code-row input,.flow-edit,.flow-actions [data-variant=ghost],.flow-code-row [data-variant=ghost]{transition:background-color .2s,border-color .2s}.flow-step{animation:.18s ease-out both booking-step-enter}}@keyframes booking-step-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.flow-member-access{margin-block:var(--space-8);border-radius:var(--control-radius);background:var(--surface-soft);padding:clamp(1rem,3vw,2rem)}.flow-member-access .flow-code-body{max-width:42rem;padding-block:0}.flow-member-access .flow-code-row [data-variant=ghost]{background:var(--surface-page)}.flow-member-access .flow-code-row [data-variant=ghost]:hover{background:var(--surface-card)}
