.resv-page{--resv-open-1:#86b6ef;--resv-open-2:#3987e5;--resv-open-3:#1c5cab;--resv-open-4:#0d366b;--resv-ink-1:#0b0b0b;--resv-ink-2:#0b0b0b;--resv-ink-3:#ffffff;--resv-ink-4:#ffffff;--resv-soldout:#e5e7eb;--resv-ring:#e5e7eb;--resv-card:#ffffff;--resv-focus:#0284c7;--resv-row-hover:#f5faff;--resv-weekend-bg:#f6f7f9;--resv-today:#0369a1}.dark .resv-page{--resv-open-1:#3987e5;--resv-open-2:#6da7ec;--resv-open-3:#9ec5f4;--resv-open-4:#cde2fb;--resv-ink-1:#0b0b0b;--resv-ink-2:#0b0b0b;--resv-ink-3:#0b0b0b;--resv-ink-4:#0b0b0b;--resv-soldout:#4a5565;--resv-ring:#4a5565;--resv-card:#364153;--resv-focus:#38bdf8;--resv-row-hover:#3a4659;--resv-weekend-bg:#3d4a5e;--resv-today:#38bdf8}.resv-head{position:sticky;top:0;z-index:5;overflow:hidden;background:var(--resv-card);border-radius:.75rem .75rem 0 0;border-bottom:1px solid var(--resv-ring)}.resv-body{overflow-x:auto;overflow-y:hidden}.resv-grid{border-collapse:separate;border-spacing:0;width:100%;padding:0 0 8px}.resv-head .resv-grid{padding:8px 0 2px}.resv-fill{width:auto;min-width:8px;padding:0}.resv-name-col{position:sticky;left:0;z-index:1;background:var(--resv-card);min-width:10.5rem;max-width:10.5rem;padding:2px 10px 2px 12px}@media (max-width:640px){.resv-name-col{min-width:7.5rem;max-width:7.5rem}}.resv-cell-td,.resv-date-col{width:26px;min-width:26px;max-width:26px}.resv-date-col{font-weight:400;padding:0 1px 4px;line-height:1.15;text-align:center}.resv-date-col span{display:block;font-size:10.5px;font-variant-numeric:tabular-nums}.resv-month{color:#4b5563;font-weight:600}.resv-weekday{color:#6b7280}.resv-day{color:#374151}.dark .resv-month,.dark .resv-weekday{color:#d1d5dc}.dark .resv-day{color:#f3f4f6}.resv-weekend{background:var(--resv-weekend-bg)}.resv-weekend .resv-day,.resv-weekend .resv-weekday{font-weight:700}.resv-date-col[data-today] .resv-month{color:var(--resv-today);font-size:9px;letter-spacing:-.02em}.resv-date-col[data-today] .resv-day{margin:0 auto;width:18px;border-radius:9px;background:var(--resv-today);color:#ffffff;font-weight:700}.dark .resv-date-col[data-today] .resv-day{color:#0b0b0b}.resv-cell-td{padding:1px}.resv-cell,.resv-swatch{display:block;border-radius:4px}.resv-cell{width:24px;height:24px;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.resv-swatch{width:14px;height:14px}.resv-cell[data-kind=soldout],.resv-swatch[data-kind=soldout]{background:var(--resv-soldout)}.resv-cell[data-kind=unreleased],.resv-swatch[data-kind=unreleased]{background:transparent;box-shadow:inset 0 0 0 1px var(--resv-ring)}.resv-cell[data-level="1"],.resv-swatch[data-level="1"]{background:var(--resv-open-1);color:var(--resv-ink-1)}.resv-cell[data-level="2"],.resv-swatch[data-level="2"]{background:var(--resv-open-2);color:var(--resv-ink-2)}.resv-cell[data-level="3"],.resv-swatch[data-level="3"]{background:var(--resv-open-3);color:var(--resv-ink-3)}.resv-cell[data-level="4"],.resv-swatch[data-level="4"]{background:var(--resv-open-4);color:var(--resv-ink-4)}.resv-page[data-snapshot]{--resv-open-1:#9ba7b6;--resv-open-2:#7a8699;--resv-open-3:#5a677c;--resv-open-4:#3a4557;--resv-ink-1:#0b0b0b;--resv-ink-2:#0b0b0b;--resv-ink-3:#ffffff;--resv-ink-4:#ffffff;--resv-hatch:rgb(255 255 255/0.35)}.dark .resv-page[data-snapshot]{--resv-open-1:#7d8a9c;--resv-open-2:#9aa6b6;--resv-open-3:#b8c2cf;--resv-open-4:#d6dde6;--resv-ink-1:#0b0b0b;--resv-ink-2:#0b0b0b;--resv-ink-3:#0b0b0b;--resv-ink-4:#0b0b0b;--resv-hatch:rgb(0 0 0/0.18)}.resv-page[data-snapshot] .resv-cell[data-kind=open],.resv-page[data-snapshot] .resv-swatch[data-kind=open]{background-image:repeating-linear-gradient(135deg,var(--resv-hatch) 0 2px,transparent 2px 5px)}.resv-detail-td{padding:4px 12px 8px}.resv-detail{position:sticky;left:12px;max-width:min(44rem,calc(100vw - 4rem))}.resv-grid [data-outside] .resv-cell,.resv-grid th[data-outside]>span{opacity:.35}.resv-row:hover>.resv-name-col,.resv-row:hover>td{background:var(--resv-row-hover)}.resv-row:hover>.resv-name-col{box-shadow:inset 3px 0 0 var(--resv-focus)}.resv-cell:hover{box-shadow:inset 0 0 0 2px rgb(0 0 0/.25)}.dark .resv-cell:hover{box-shadow:inset 0 0 0 2px rgb(255 255 255/.45)}.resv-cell:focus-visible,.resv-cell[data-selected]{outline:2px solid var(--resv-focus);outline-offset:1px}.resv-pills{scrollbar-width:none}.resv-pills::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.resv-cell{transition:none}}@media (forced-colors:active){.resv-cell[data-kind=open]{border:2px solid CanvasText}}