.booking{--glass-border:1px solid #ffffff17;max-width:46rem;position:relative}.booking .glass{border:var(--glass-border);background:linear-gradient(160deg,#ffffff0e,#ffffff04 45%,#00000026);border-radius:1.25rem;box-shadow:inset 0 1px #ffffff0f,0 18px 45px -20px #000000e6}.booking .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.booking p{margin:0}.booking ul{margin:0;padding:0;list-style:none}.booking button[disabled]{opacity:.45;cursor:not-allowed}.booking .btn{min-height:2.75rem}.booking .btn--small{padding-inline:1.1em;font-size:.75rem}.booking .meta,.booking .hint{color:var(--ink-dim);font-size:.9375rem}.booking .label{margin:0;font-size:1.5rem}.booking .loading{gap:var(--space-xs);display:grid}.booking .skel{height:5.5rem;animation:1.6s ease-in-out infinite bk-pulse}@keyframes bk-pulse{50%{opacity:.45}}.booking .signin{max-width:26rem;padding:var(--space-md)}.booking .steps{gap:var(--space-sm);margin:0 0 var(--space-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);padding:0;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.booking .steps .is-current{color:var(--ink)}.booking .signin form{gap:var(--space-xs);display:grid}.booking .field{text-transform:uppercase;letter-spacing:.12em;margin-top:var(--space-2xs);font-size:.8125rem;font-weight:600}.booking input,.booking select{font:inherit;min-height:2.75rem;color:var(--ink);border:1px solid var(--line);background:#0000004d;border-radius:.6rem;padding:.6em .9em}.booking select:focus-visible,.booking input:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.booking .tabs{gap:var(--space-3xs);margin-bottom:var(--space-sm);border:1px solid var(--line);border-radius:999px;grid-template-columns:1fr 1fr;padding:.25rem;display:grid}.booking .tab{min-height:2.75rem;font:inherit;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4em .8em;font-size:.8125rem;font-weight:700}.booking .tab[aria-pressed=true]{background:var(--ink);color:var(--bg)}.booking .tab:focus-visible,.booking .pill:focus-within{outline:2px solid var(--ink);outline-offset:2px}.booking .row{gap:var(--space-xs);display:grid}.booking .row[hidden]{display:none}.booking .groups{border:0;min-width:0;margin:0;padding:0}.booking .groups legend{margin-bottom:var(--space-xs);padding:0}.booking .pills{gap:var(--space-2xs);grid-template-columns:repeat(3,1fr);display:grid}.booking .pill{cursor:pointer;border-radius:.9rem;position:relative}.booking .pill input{opacity:0;cursor:pointer;min-height:0;margin:0;position:absolute;inset:0}.booking .pill span{padding:var(--space-2xs) .25rem;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;border-radius:.9rem;justify-items:center;gap:.1rem;min-height:2.75rem;font-size:.875rem;font-weight:700;display:grid}.booking .pill small{letter-spacing:0;text-transform:none;color:var(--ink-dim);font-weight:500}.booking .pill input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}.booking .pill input:checked+span small{color:var(--bg)}.booking .pill input[aria-invalid=true]+span,.booking input[aria-invalid=true],.booking select[aria-invalid=true]{border-color:var(--accent)}.booking .check{align-items:start;gap:var(--space-xs);margin-top:var(--space-2xs);cursor:pointer;grid-template-columns:auto 1fr;font-size:.9375rem;display:grid}.booking .check input{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--accent);margin:.15rem 0 0;padding:0}.booking .field-error{color:var(--accent-bright);font-size:.875rem;font-weight:600}.booking .hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.booking .eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-bright);margin-bottom:var(--space-3xs);font-size:.8125rem;font-weight:700}.booking .code{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.5em;text-align:center;padding-left:1.4em;font-size:2rem}.booking .error{margin-block:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-left:3px solid var(--accent);background:#ffffff08}.booking:not(.is-in) .error{max-width:26rem}.booking .error.is-ok{border-left-color:var(--ink)}.booking .head{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.booking .hello{font-family:var(--font-display);text-transform:uppercase;margin-bottom:var(--space-3xs);font-size:clamp(1.75rem,5vw,2.5rem);line-height:1}.booking .banner{max-width:none;padding:var(--space-xs) var(--space-sm);background:var(--accent-deep);border-left:3px solid var(--accent);border-radius:.6rem;flex-basis:100%}.booking .app{gap:var(--space-md);display:grid}.booking .mine{gap:var(--space-2xs);padding-bottom:var(--space-md);border-bottom:1px solid var(--line);display:grid}.booking .chips{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.booking .chip{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.4em .9em;font-size:.875rem;font-weight:600}.booking .days{gap:var(--space-2xs);padding-block:var(--space-2xs);scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:minmax(3.25rem,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.booking .days::-webkit-scrollbar{display:none}.booking .day{padding:var(--space-2xs) 0;min-height:2.75rem;font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;scroll-snap-align:start;background:0 0;border-radius:.9rem;justify-items:center;gap:.15rem;transition:background .15s,color .15s,border-color .15s;display:grid}.booking .day:hover{border-color:var(--ink-dim)}.booking .day.is-empty{color:var(--ink-dim)}.booking .day[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.booking .day-name{text-transform:uppercase;letter-spacing:.12em;font-size:.6875rem;font-weight:700}.booking .day-num{font-family:var(--font-display);font-size:1.6rem;line-height:1}.booking .dot{border-radius:50%;width:.375rem;height:.375rem}.booking .has-mine .dot{background:var(--accent)}.booking .day-title{margin:var(--space-2xs) 0 0;font-size:clamp(1.6rem,4vw,2.25rem)}.booking .slots{gap:var(--space-xs);display:grid}.booking .slot{align-items:center;gap:var(--space-sm);padding:var(--space-sm);grid-template-columns:auto 1fr auto;animation:.25s ease-out both bk-rise;display:grid}@keyframes bk-rise{0%{opacity:0;transform:translateY(4px)}}.booking .slot.is-mine{border-left:3px solid var(--accent)}.booking .slot.is-full{opacity:.6}.booking .slot-time{font-family:var(--font-display);white-space:nowrap;min-width:3.6rem;font-size:clamp(1.6rem,5vw,2.1rem);line-height:1}.booking .slot-body{gap:.3rem;min-width:0;display:grid}.booking .slot-name{font-family:var(--font-display);text-transform:uppercase;font-size:1.25rem;line-height:1.05}.booking .slot-bar{align-items:center;gap:var(--space-2xs);color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.8125rem;display:flex}.booking meter{appearance:none;background:var(--line);border:0;border-radius:999px;flex:1;max-width:9rem;height:.375rem;overflow:hidden}.booking meter::-webkit-meter-bar{background:var(--line);border:0;border-radius:999px;height:.375rem}.booking meter::-webkit-meter-optimum-value{background:var(--ink-dim);border-radius:999px}.booking meter::-moz-meter-bar{background:var(--ink-dim);border-radius:999px}.booking .is-few meter::-webkit-meter-optimum-value{background:var(--accent)}.booking .is-few meter::-moz-meter-bar{background:var(--accent)}.booking .is-few .slot-count{color:var(--accent-bright);font-weight:600}.booking .slot .btn{padding-inline:1.3em}.booking .badge,.booking .full{text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;font-size:.8125rem;font-weight:700}.booking .badge{border:1px solid var(--ink);border-radius:999px;padding:.55em .9em}.booking .full{color:var(--ink-dim)}.booking .empty{padding:var(--space-lg) var(--space-sm);text-align:center;color:var(--ink-dim);border:1px dashed var(--line);border-radius:1.25rem}@media (width<=30rem){.booking .slot{grid-template-columns:auto 1fr}.booking .slot>:last-child{grid-column:2;justify-self:start}}.booking .sheet{color:var(--ink);background-color:var(--bg-raised);padding:var(--space-md);border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:100%;margin:auto 0 0}.booking .sheet[open]{gap:var(--space-xs);animation:.2s ease-out bk-rise;display:grid}.booking .sheet::backdrop{backdrop-filter:blur(3px);background:#000000a6}.booking .sheet-name{font-family:var(--font-display);text-transform:uppercase;font-size:2rem;line-height:1}.booking .sheet-when{font-weight:600}.booking .sheet-when:first-letter{text-transform:uppercase}.booking .sheet-actions{gap:var(--space-2xs);margin-top:var(--space-xs);display:grid}@media (width>=40rem){.booking .sheet{border-radius:1.25rem;max-width:28rem;margin:auto}.booking .sheet-actions{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.booking .skel,.booking .slot,.booking .sheet[open]{animation:none}}
