:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--bg:#ffffff;--text:#101010;--muted:#676767;--line:#ececec;--soft:#f7f7f7;--button-neutral:#f1f3f4;--button-neutral-hover:#e5e7eb;--button-border:#d0d4da;--brand-red:#ce090a;--orange:#ffa41d;--available:#0f7f35;--occupied-orange:#ff601f;--taken:var(--occupied-orange);--booked:#1264d8;--danger:#d92d20}*{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100%;color:var(--text);font-family:-apple-system-body,ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}.app,body{min-height:100svh}body,html{background:var(--bg)}body{margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.app{width:min(100%,470px);margin:0 auto;padding:var(--space-2) var(--space-3) var(--space-4)}.top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.app-content,.brand{width:100%;display:grid}.brand{width:188px;min-height:72px;place-items:center;padding:16px 18px;border-radius:0;background:var(--brand-red)}.brand img{display:block;width:142px;height:auto}.booking-action,.booking-name,.confirm-title,.control-label,.customer-account-menu-name,.date-day,.date-input,.duration-option,.month-title,.offer-foot,.offer-title,.primary-action,.secondary-action,h1,h2,h3{font-weight:700}h1,h2,h3,p{margin:0}h1,h2{font-size:30px;line-height:1.04;letter-spacing:0}h2{font-size:21px;line-height:1.13}h3{font-size:16px;line-height:1.15}.screen{width:100%;max-width:100%;display:grid;gap:var(--space-3)}.instruction,.select-wrap{display:grid;gap:3px}.instruction p,.support-text{font-size:14px}.instruction p,.offer-copy,.support-text{color:var(--muted);line-height:1.28}.booking-time,.confirm-copy,.info-note{color:var(--muted);font-size:14px;line-height:1.28}.offer-card,.offer-list{display:grid;gap:var(--space-2)}.offer-card{width:100%;min-height:110px;grid-template-columns:112px 1fr;gap:var(--space-3);align-items:center;border:1px solid #f0f2f4;border-radius:18px;padding:var(--space-3);background:#fff;color:var(--text);text-align:left;cursor:pointer}.customer-account-header{min-width:0}.customer-account-details{position:relative;margin-top:8px}.customer-account-trigger{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;padding:0;background:0 0;color:#fff;cursor:pointer;font-weight:400;font-size:17px;list-style:none}.customer-account-avatar{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.offer-card[aria-pressed=true]{border-color:var(--booked);background:#f2f7ff;box-shadow:0 0 0 2px rgba(18,100,216,.18)}.customer-account-trigger::-webkit-details-marker,.past-bookings-summary::-webkit-details-marker{display:none}.customer-account-menu{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:min(300px,calc(100vw - 20px));display:grid;gap:6px;border:1px solid #cad9f4;border-radius:12px;padding:10px;background:#fff;box-shadow:0 12px 30px rgba(25,49,82,.18);overflow-wrap:anywhere}.customer-account-menu span:first-of-type,.customer-account-menu-name{padding-right:44px}.customer-account-menu-close,.duration-close{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;padding:0;background:var(--button-neutral);color:var(--text);cursor:pointer}.customer-account-menu-close{position:absolute;top:4px;right:4px}.customer-account-menu-close svg,.duration-close svg{width:20px;height:20px}.customer-account-menu span{font-size:13px}.customer-account-menu-logout{border-radius:9px}.account-back,.customer-account-menu-logout,.customer-account-menu-settings,.header-sign-in{min-height:44px;border:0;background:var(--button-neutral);color:var(--text);cursor:pointer;font-weight:700}.header-sign-in{padding:0 12px}.account-back,.customer-account-menu-settings{border-radius:9px}.customer-account-menu-settings{padding:0 12px}.header-sign-in{margin-top:8px;border-radius:999px;background:var(--booked);color:#fff}.confirm-card .booking-card,.customer-account-menu-settings,.party-size-sheet .primary-action,.waitlist-action{width:100%}.account-back{width:44px;display:grid;place-items:center;justify-self:start;padding:0}.offer-card:disabled{cursor:default}.offer-card-image{width:112px;height:88px;display:block;border-radius:12px;background:var(--soft);background-image:url(assets/activity-cards.jpg);background-repeat:no-repeat;background-size:224px 176px}.offer-card-image.is-squash{background-image:url(assets/activity-squash-v2.jpg);background-position:center;background-size:cover}.offer-card-image.is-spinning,.offer-card-image.is-trainer{background-image:url(assets/personal-training-card.jpg);background-position:center;background-size:cover}.offer-card-image.is-spinning{background-image:url(assets/activity-spinning-v2.jpg)}.offer-card-image.is-alpha{background-position:0-88px}.offer-card-image.is-hypoxi{background-image:url(assets/activity-hypoxi-v2.jpg);background-position:center;background-size:cover}.offer-card-text{min-width:0;display:grid;gap:5px}.offer-card .offer-copy{color:#30343a}.offer-title{font-size:24px;line-height:1.02}.calendar-title h3,.offer-copy,.offer-foot{font-size:14px}.offer-foot{color:var(--available);line-height:1.1}.customer-access-panel,.readiness-panel{display:grid;gap:8px;border:1px solid var(--button-border);border-radius:12px;padding:10px;background:#f8f9fa}.readiness-panel.is-error{border-color:#f0b4af;background:#fff5f4}.customer-access-panel h2,.readiness-title{font-size:20px;font-weight:700}.booking-warning,.calendar-empty,.customer-access-panel p,.mutation-status,.readiness-panel p{margin:0;font-size:14px;line-height:1.35}.customer-access-action,.readiness-retry{min-height:44px;border:0;border-radius:999px;padding:0 12px;background:var(--booked);color:#fff;cursor:pointer;font-weight:700}.booking-startup-failure .readiness-retry{display:grid;place-items:center;text-decoration:none}.booking-startup-failure~.offer-list .offer-card:disabled{cursor:not-allowed;opacity:.5}.customer-account-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:10px;padding:4px;background:var(--button-neutral)}.customer-account-mode{min-height:44px;border:0;border-radius:999px;background:#fff;color:var(--text);cursor:pointer;font-weight:700}.customer-account-mode.is-active{background:var(--booked);color:#fff;box-shadow:none}.customer-access-form,.customer-access-form label{display:grid;gap:6px;width:100%;text-align:left;font-size:14px;font-weight:700}.customer-access-form label{line-height:19px}.customer-account-field{display:grid;gap:4px;width:100%;margin:0}.floating-field-control{position:relative;min-height:58px;display:grid;grid-template-rows:13px 27px;gap:2px;align-content:center;border:1px solid #b9b9b9;border-radius:9px;padding:7px 10px;background:#fff}.floating-field-label{color:var(--muted);font-size:12px;font-weight:400;line-height:13px;pointer-events:none}.customer-access-input{display:block;width:100%;height:27px;min-height:27px;border:0;margin:0;padding:0;background:0 0;color:var(--text);font-size:18px;font-weight:400;line-height:27px}.customer-access-input::placeholder{color:var(--muted);opacity:1}.floating-field-control:has(:is(input,textarea):placeholder-shown:not(:focus):not([aria-invalid=true])){grid-template-rows:27px;gap:0}.floating-field-control:has(:is(input,textarea):placeholder-shown:not(:focus):not([aria-invalid=true]))>.floating-field-label{display:none}.floating-field-control:focus-within :is(input,textarea)::placeholder{opacity:0}.floating-field-control:focus-within{border-color:#4d8fe8}.customer-account-error{border:1px solid #f0b4af;border-radius:8px;padding:8px;background:#fff5f4;color:#9f2118;font-weight:400}.customer-account-menu-error,.customer-field-error{color:#9f2118;font-size:13px;font-weight:400;line-height:1.3}.customer-field-error{display:block;margin-top:4px}.customer-account-notice{border:1px solid #cad9f4;border-radius:8px;padding:8px;background:#fff;color:#213c69;font-weight:400}.customer-account-field:has(.customer-access-input[aria-invalid=true]) .floating-field-control{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.customer-account-note{color:#53657f}.password-toggle{position:absolute;z-index:2;right:6px;top:7px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:7px;padding:0;background:var(--button-neutral);color:var(--text);cursor:pointer}.customer-account-field:has(.password-toggle) .customer-access-input{padding-right:58px}.customer-birth-date-preview{color:#53657f;font-size:12px;font-weight:500;line-height:1.35}.customer-notification-choice{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px!important;border:1px solid #d7e3f4;border-radius:9px;padding:11px;background:#f8fbff;font-weight:500!important;line-height:1.4!important}.customer-notification-choice input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--booked)}.booking-cancellation-cutoff{margin:10px 0 0;border:1px solid #d7dce2;padding:7px 10px;background:#fff9e9;color:#694900;font-size:13px}.customer-account-help{display:block;color:#53657f;font-size:13px;font-weight:400;line-height:1.3}.account-settings-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.customer-photo-form{gap:10px}.customer-photo-editor{display:grid;grid-template-columns:112px minmax(0,1fr);gap:6px 12px;align-items:center;border:1px solid #d7e3f4;border-radius:12px;padding:12px;background:#fff}.customer-photo-preview-frame{grid-column:1;grid-row:1/4;width:112px;height:112px;border:1px solid var(--button-border);border-radius:50%;background:#fff;overflow:hidden}.customer-photo-preview{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.customer-photo-state{grid-column:2;grid-row:1;align-self:end;color:#253041;font-size:15px!important;font-weight:700}.customer-photo-help{grid-column:2;grid-row:2;font-size:12px!important;line-height:1.35!important}.customer-photo-actions{grid-column:2;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.customer-photo-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.customer-photo-choose,.customer-photo-remove{min-height:44px;display:grid!important;place-items:center;border:1px solid #c8daf5;border-radius:9px;padding:7px 9px;background:#edf3ff;color:#1264d8;cursor:pointer;font-size:13px!important;font-weight:700!important;line-height:1.15!important;text-align:center!important}.customer-photo-remove{background:#fff5f4;border-color:#efc0bc;color:#9f2118}.customer-photo-remove:disabled{background:#f1f3f4;border-color:#d9dde3;color:#6b7280;cursor:default}.customer-photo-input:focus-visible+.customer-photo-choose{outline:3px solid #5b9dff;outline-offset:2px}.customer-photo-status{grid-column:1/-1;grid-row:4;margin:0;border-radius:8px;padding:7px 8px;background:#f2f7ff;color:#213c69;font-size:12px!important;line-height:1.35!important}.customer-photo-form>.customer-access-action:disabled{background:#e5e7eb;color:#5f6368}.customer-photo-crop{grid-column:1/-1;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.customer-photo-crop label{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.customer-photo-crop input{width:100%;accent-color:var(--booked)}.booking-strip{display:grid;gap:6px;border:1px solid #dce8f7;border-radius:12px;padding:8px;background:#f6f9ff}.booking-strip.is-home{gap:9px}.booking-strip h2{font-size:16px}.booking-strip.is-home h2{font-size:24px;line-height:1.08}.secondary-action.customer-bookings-toggle{width:100%;min-height:44px;border:1px solid #c8daf5;background:#edf3ff;color:#1264d8}.past-bookings{border:0;padding:0}.past-bookings-summary{min-height:52px;display:flex;align-items:center;gap:8px;cursor:pointer;border:1px solid #d7e3f4;border-radius:12px;padding:9px 12px;background:#fff;color:#253041;font-size:15px;list-style:none}.past-bookings-title{flex:1;font-weight:700}.past-bookings-count{min-width:28px;border-radius:999px;padding:4px 8px;background:#e7effc;color:#1264d8;font-size:13px;line-height:1;text-align:center}.past-bookings-day h3,.past-bookings-state{color:#53657f;font-size:13px}.past-bookings-summary svg{width:18px;height:18px;transition:transform 120ms ease}.past-bookings[open] .past-bookings-summary svg{transform:rotate(90deg)}.past-bookings-list{display:grid;gap:12px;margin-top:10px}.past-bookings-day{display:grid;gap:4px}.past-bookings-day h3{padding:0 4px}.past-booking-row{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dfe5ec;border-radius:10px;padding:7px 8px 7px 11px;background:#fff}.booking-card,.past-booking-copy{min-width:0;display:grid;gap:2px}.past-booking-copy strong{font-size:14px;line-height:1.2}.past-booking-copy span{color:#53657f;font-size:12px;line-height:1.25}.past-booking-copy .past-booking-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.past-booking-row .book-again{min-width:112px;background:#edf1f4}.booking-card{width:100%;max-width:100%;overflow:hidden;grid-template-columns:minmax(0,1fr);gap:8px;align-items:center;min-height:54px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;text-align:left}.booking-card>:first-child{min-width:0;overflow-wrap:anywhere}.booking-card-actions{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;justify-items:stretch;justify-self:stretch}.booking-card-actions .booking-calendar-action{grid-column:1/-1}.booking-card-actions :is(.booking-action,.booking-calendar-action){width:100%;min-width:0;padding-inline:10px;white-space:normal}.booking-card-actions :is(.booking-action,.booking-calendar-action):disabled{background:#e5e7eb;color:#5f6368}.booking-name{font-size:15px;line-height:1.1}.booking-warning{margin-top:6px;border:1px solid #f0b4af;border-radius:8px;padding:7px;background:#fff5f4;color:#7a1f18}.booking-action,.booking-calendar-action{position:relative;min-height:44px;border:0;border-radius:999px;cursor:pointer}.booking-calendar-action{padding:0 20px;background:#edf3ff;color:#1264d8;font-size:12px;white-space:nowrap}.booking-action{padding:0 9px;background:var(--danger);color:#fff;font-size:13px}.booking-edit{border:1px solid #c8daf5;background:#f6f9ff;color:#1264d8}.book-again{background:var(--button-neutral);color:var(--text)}.booking-note{margin-top:3px;color:#4f5f72;font-size:13px;line-height:1.3}.booking-action::after,.booking-calendar-action::after{content:"";position:absolute;inset:-2px 0}.calendar-top{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:end}.back-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #f0f2f4;border-radius:10px;background:#fff;color:var(--text);cursor:pointer}.account-back svg,.back-button svg,.cancel-back svg,.password-toggle svg{width:22px;height:22px}.control-label{font-size:12px;line-height:1}.service-select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 34px 0 10px;background:#fff;color:var(--text);cursor:pointer}.date-controls{display:grid;gap:7px}.date-input-wrap{position:relative}.date-input,.date-nav button,.month-head button{display:grid;border:1px solid #f0f2f4;background:#fff;color:var(--text);cursor:pointer}.date-input{width:100%;min-height:48px;grid-template-columns:1fr 28px;gap:8px;align-items:center;border-radius:7px;padding:0 8px 0 12px;text-align:left}.date-input svg{width:20px;height:20px;justify-self:center}.date-nav{display:grid;grid-template-columns:48px;justify-content:end;gap:6px}.date-nav.has-previous{grid-template-columns:48px 48px;justify-content:space-between}.date-nav svg{display:block;width:20px;height:20px}.month-popover{position:static;width:min(430px,100%);margin-top:8px;border:1px solid #dfe3e8;border-radius:14px;padding:12px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.08)}.month-head{display:grid;grid-template-columns:44px 1fr 44px;gap:6px;align-items:center;margin-bottom:8px}.date-nav button,.month-head button{min-height:44px;place-items:center;border-radius:12px}.month-head svg{width:18px;height:18px}.month-title{text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.date-day,.weekday{min-height:44px;display:grid;place-items:center;font-size:13px}.weekday{color:var(--muted)}.date-day{position:relative;isolation:isolate;border:0;border-radius:0;background:0 0;color:var(--text);cursor:pointer}.date-day::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;box-sizing:border-box;width:36px;height:36px;border:0 solid transparent;border-radius:50%;background:0 0;transform:translate(-50%,-50%)}.date-day:not(:disabled):not(.is-current):hover::before{background:#f1f3f4}.date-day.is-current{background:0 0;color:#fff}.date-day.is-current::before{background:var(--available)}.date-day.is-current:hover::before{background:#0b6b2d}.date-day.is-today:not(.is-current):not(:disabled){color:var(--available)}.date-day.is-today:not(.is-current):not(:disabled)::before{border-width:2px;border-color:var(--available)}.date-day:focus-visible{border-radius:8px}.duration-option.has-sauna,.primary-action.continue-green{background:var(--available);color:#fff}.date-day.has-booking{text-decoration:underline;text-decoration-color:var(--booked);text-decoration-thickness:3px}.month-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.month-actions button{min-height:44px;border:1px solid #f0f2f4;border-radius:9px;background:#fff;color:var(--text);cursor:pointer;font-weight:700}.date-day.is-muted{background:0 0;color:#7a7f87}.date-day.is-muted.has-booking{background:0 0}.date-day:disabled{background:0 0;color:#9aa0a6;cursor:default}.legend{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:var(--muted);font-size:13px}.legend span{display:inline-flex;gap:6px;align-items:center}.legend i{width:14px;height:14px;display:inline-block;border-radius:4px}.legend .available,.slot-lane.is-available{background:var(--available)}.legend .taken,.slot-lane.is-taken{background:var(--taken)}.legend .booked,.slot-lane.is-booked{background:var(--booked)}.slot-lane:is(.is-available,.is-taken,.is-booked){color:#fff}.calendar-shell,.info-stack{display:grid;gap:6px}.calendar-empty{border:1px solid #d8d8d8;border-radius:10px;padding:12px;background:#f7f7f7;color:var(--text)}.calendar-title{display:flex;justify-content:space-between;gap:8px;align-items:end}.calendar-title p{color:var(--muted);font-size:12px;line-height:1.1}.calendar-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:0;scroll-snap-type:x mandatory;border:0;border-radius:0;scrollbar-width:thin}.calendar-grid{--slot-width:144px;display:grid;grid-template-columns:repeat(var(--slot-count),var(--slot-width));width:max-content;min-width:100%;border-top:1px solid #f0f2f4;border-bottom:1px solid #f0f2f4;padding-right:calc(min(100vw,470px) - var(--slot-width) - 20px)}.calendar-time-group{width:var(--slot-width);display:grid;grid-template-rows:auto auto;scroll-snap-align:start}.time-head{min-height:34px;display:grid;align-items:center;justify-items:start;padding-left:5px;border-right:1px solid #f0f2f4;color:var(--text);font-size:13px;line-height:1}.slot-column,.slot-lane{display:grid;border:0;background:#fafafa;color:var(--text)}.slot-column{width:var(--slot-width);min-height:148px;gap:4px;grid-template-rows:repeat(var(--lane-count),minmax(44px,1fr));border-right:1px solid #f0f2f4;border-top:1px solid #f0f2f4;padding:4px;font:inherit;appearance:none}button.slot-column{cursor:pointer}.slot-column.has-court-lanes{gap:3px;grid-template-rows:repeat(var(--lane-count),minmax(24px,1fr))}.slot-lane{width:100%;min-height:44px;place-items:center;border-radius:4px;padding:0;font-size:10px;font-weight:700;line-height:1;overflow:hidden;white-space:nowrap}.slot-lane.is-taken{border:2px solid var(--occupied-orange);background:var(--occupied-orange);color:#171717;opacity:1}.slot-column.is-off .slot-lane{background:#f7f8f9}.account-back:focus-visible,.back-button:focus-visible,.booking-action:focus-visible,.booking-calendar-action:focus-visible,.customer-access-action:focus-visible,.customer-account-menu-logout:focus-visible,.customer-account-mode:focus-visible,.customer-account-trigger:focus-visible,.date-day:focus-visible,.date-nav button:focus-visible,.duration-option:focus-visible,.header-sign-in:focus-visible,.offer-card:focus-visible,.primary-action:focus-visible,.readiness-retry:focus-visible,.secondary-action:focus-visible,.slot-column:focus-visible,:is(.password-toggle,.customer-account-menu-close,.duration-close):focus-visible{outline:3px solid #5b9dff;outline-offset:2px}.customer-access-input:focus:not([aria-invalid=true]),.date-input:focus,.service-select:focus{outline:0;box-shadow:none}.customer-access-input:focus-visible:not([aria-invalid=true]),.date-input:focus-visible{outline:3px solid #5b9dff;outline-offset:2px}.service-select:focus-visible,.party-size-select:focus-visible{outline:0;box-shadow:none;background:#f4f5f6}.customer-access-input[aria-invalid=true]:focus{outline:0;box-shadow:0 0 0 1px var(--danger)}button:disabled{cursor:default;opacity:1}.info-note{border:1px solid #ffe2a8;border-radius:10px;padding:10px 12px;background:#fff8e8;color:#5c4200}.trainer-auto-note{border-color:#bed8ff;background:#eef5ff;color:#14396f;font-weight:700}.duration-overlay{position:fixed;inset:0;z-index:80;display:grid;align-items:end;padding:16px 10px max(16px,env(safe-area-inset-bottom));background:rgba(16,24,40,.58)}.duration-sheet{position:relative;width:min(100%,450px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 16px - max(16px,env(safe-area-inset-bottom)));margin:0 auto;display:grid;gap:8px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #dce8ff;border-radius:12px;padding:10px;background:#f6f9ff}.duration-close{position:absolute;top:8px;right:8px}.duration-sheet h3{padding-right:48px;font-size:22px}.calendar-options-copy{padding-right:10px;color:var(--muted);font-size:13px}.calendar-options-actions{display:grid;gap:8px;margin-top:4px}.calendar-provider{display:grid;place-items:center;text-align:center;text-decoration:none}.calendar-options-status:empty{display:none}.session-gap{color:#53657f;font-size:14px}.duration-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px}.duration-option{min-height:68px;border:0;border-radius:10px;background:var(--available);color:#fff;cursor:pointer;display:grid;gap:5px;align-content:center;padding:10px 8px}.duration-selected-time{color:var(--muted);font-size:15px;font-weight:700;line-height:1.18}.party-size-availability{color:var(--muted);font-size:14px}.party-pricing,.party-size-sheet .select-wrap{text-align:left}.party-pricing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:center;border:1px solid #bfd3f5;border-radius:10px;padding:10px;background:#edf4ff}.party-allocation-summary,.party-court-assignment{grid-column:1/-1;line-height:1.3}.party-allocation-summary{color:#14396f;font-size:15px;font-weight:700}.party-court-assignment{color:#43536a;font-size:13px}.party-price-basis{min-width:0;border-radius:7px;padding:7px 9px;background:#e9f8ee;color:#086529;font-size:13px;font-weight:700;line-height:1.25}.party-price-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c8daf5;border-radius:999px;padding:0 12px;background:#fff;color:#1264d8;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.party-price-link:focus-visible{outline:3px solid #5b9dff;outline-offset:2px}.party-pricing.is-compact{margin-top:5px;padding:8px}.party-pricing.is-compact .party-allocation-summary{font-size:14px}.duration-option.is-selected,.slot-lane.is-selected{border-color:var(--booked);background:var(--booked);color:#fff}.party-size-select{border-color:var(--button-border)}.party-size-select,.party-size-select option{background:#fff;color:var(--text)}.secondary-action.calendar-blue{padding-inline:20px;background:#edf3ff;color:#1264d8}.duration-main,.duration-sauna{display:block;line-height:1.16}.duration-sauna{justify-self:center;border-radius:999px;padding:3px 6px;background:rgba(255,255,255,.18);font-size:11px}.confirm-card,.confirmation{width:100%;max-width:100%;min-width:0;display:grid;gap:12px}.confirmation{padding-top:4px}.confirm-card{justify-items:center;border:1px solid var(--line);border-radius:14px;padding:18px 14px;background:#fff;text-align:center}.booking-note-field,.review-details{width:100%;min-width:0;display:grid;gap:5px;text-align:left}.review-details{border:1px solid #dce8ff;border-radius:10px;padding:10px;background:#f8fbff}.review-details p{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.review-subtitle{margin-top:4px;font-size:16px}.booking-note-input{width:100%;min-height:72px;border:1px solid #b9b9b9;border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);resize:none}.checkmark,.checkmark svg{width:82px;height:82px}.checkmark svg{display:block}.checkmark-circle{fill:var(--available)}.checkmark-path{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:46;stroke-dashoffset:0}.confirm-title{font-size:30px;line-height:1.04}.confirm-copy-strong{font-size:17px;color:var(--text)}.mutation-status{width:100%;border:1px solid #b7dfc3;border-radius:9px;padding:8px;background:#eef9f1;color:#0b6b2d;font-weight:700}.mutation-alert{width:100%;display:grid;gap:8px;border:1px solid #f0b4af;border-radius:9px;padding:9px;background:#fff5f4;color:#7a1f18;text-align:left}.calendar-message{border-color:var(--button-border);background:#f8f9fa;color:var(--text)}.mutation-alert .secondary-action{min-height:44px}.remaining-bookings-title{font-size:18px}.cancelled-summary,.confirm-card .info-note,.remaining-bookings-title{width:100%;text-align:left}.cancelled-summary{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff8f7}.confirm-actions{width:100%;min-width:0;display:grid;gap:8px}.primary-action,.secondary-action{min-height:46px;border:0;border-radius:999px;padding:0 12px;cursor:pointer}.primary-action{background:var(--orange);color:var(--text)}.customer-access-action.is-secondary,.secondary-action{background:var(--button-neutral);color:var(--text)}.customer-access-action.danger-action,.primary-action.danger-action{background:var(--danger);color:#fff}.secondary-action.cancel-back,.secondary-action.neutral{border:1px solid var(--button-border)}.secondary-action.cancel-back{width:44px;display:grid;place-items:center;padding:0;justify-self:start}.booking-card-actions .booking-action{width:100%;justify-self:stretch}@media (max-width:520px){.month-popover{width:100%;padding:10px}.date-day,.weekday{min-height:44px}}@media (max-width:400px){.customer-photo-editor{grid-template-columns:92px minmax(0,1fr);gap:6px 10px;padding:10px}.customer-photo-preview-frame{width:92px;height:92px}.customer-photo-actions{grid-template-columns:minmax(0,1fr)}}@media (max-width:340px){.party-pricing{grid-template-columns:minmax(0,1fr)}.party-price-link{width:100%;white-space:normal}.month-popover{width:calc(100% + 20px);margin-left:-10px}.month-grid{width:calc(100% + 14px);margin-inline:-7px;gap:0}}@media (max-height:760px){.month-popover:not([hidden]){position:fixed;z-index:75;top:8px;left:50%;width:min(430px,calc(100vw - 16px));max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:0;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-50%);box-shadow:0 0 0 100vmax rgba(16,24,40,.58),0 8px 24px rgba(16,24,40,.18)}}@media (max-width:340px) and (max-height:760px){.month-popover:not([hidden]){width:calc(100vw - 4px)}}@media (forced-colors:active){.legend .taken,.slot-lane.is-taken{border:2px solid CanvasText;background:Canvas;color:CanvasText;box-shadow:none}}.primary-action.continue-green:disabled{background:#e5e7eb;color:#5f6368}
.slot-column.is-selected .slot-lane.is-available{background:var(--available);color:#fff}
.slot-column.has-spinning-bike-lanes{gap:3px;grid-template-rows:repeat(var(--lane-count),minmax(24px,1fr))}
.floating-field-control:focus-within{outline:3px solid #5b9dff;outline-offset:2px}
@media(max-width:600px){body[data-support-audience="customer"] :is(.cards-screen,.calendar-screen){padding-bottom:88px}}
@media(max-width:600px){body[data-support-audience="customer"] .cards-screen .offer-card{grid-template-columns:88px minmax(0,1fr);gap:10px;padding-right:52px}body[data-support-audience="customer"] .cards-screen .offer-card-image{width:88px;height:80px}}
.past-booking-row .book-again{background:var(--available);color:#fff}
.cards-desktop-layout,.cards-account-column,.cards-activity-column{display:grid;gap:var(--space-3)}
.date-day.has-booking{text-decoration:none}
.customer-account-details:not([open])>.customer-account-menu,.past-bookings:not([open])>.past-bookings-list{display:none}
.customer-account-modes{padding:0;background:#fff}
.floating-field-control:has(:is(input,textarea):placeholder-shown:not(:focus):not([aria-invalid=true])){display:flex;align-items:center}
.floating-field-control:has(:is(input,textarea):placeholder-shown:not(:focus):not([aria-invalid=true]))>:is(input,textarea){align-self:center}
.mutation-alert.is-neutral{border-color:#cad9f4;background:#f2f7ff;color:#213c69}
.password-toggle{top:50%;transform:translateY(-50%)}
.calendar-time-group{border-left:1px solid #e3e6ea}
.calendar-time-group:last-child{border-right:1px solid #e3e6ea}
.calendar-time-group>.time-head,.calendar-time-group>.slot-column{width:100%;border-right:0}
.cancelled-summary{border-color:#b7dfc3;background:#f3fbf5}
.calendar-empty-reason{display:grid;gap:8px}.calendar-empty-reason .secondary-action{width:100%}
@media(max-width:557px){body[data-support-audience="customer"] .screen{width:calc(100% - 56px);justify-self:start}body[data-support-audience="customer"] .duration-sheet{width:calc(100% - 56px);margin-left:0;margin-right:auto}body[data-support-audience="customer"] .cards-screen .offer-card{padding-right:var(--space-3)}body[data-support-audience="customer"] .confirmation{width:calc(100% - 56px)}}

.calendar-empty-reason .activity-change{background:var(--available);border-color:var(--available);color:#fff}
.duration-option:disabled{background:#e5e7eb;color:#475569;cursor:not-allowed}
.duration-option:disabled .duration-sauna{background:#d1d5db;color:#475569}
