:root{--color-brand-black:#0d0f12;--color-black:#000000;--color-warm-white:#f5f7fa;--color-white:#171a1f;--color-olive:#32d583;--color-charcoal:#20242b;--color-gray:#aab1bb;--color-light-olive:#2a3038;--color-success:#32d583;--color-danger:#ff6b6b;--color-warning:#f0b429;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--radius-sm:10px;--radius-md:14px;--radius-lg:16px;--border-default:1px solid var(--color-light-olive);--focus-ring:3px solid #58623e;--shadow-soft:0 10px 28px rgba(16,18,15,0.08);--bg:#0d0f12;--panel:#171a1f;--panel-2:#20242b;--text:#f5f7fa;--muted:#aab1bb;--accent:#32d583;--accent-dark:#1ca96a;--line:#2a3038;--danger:var(--color-danger)}.waiver-document pre{white-space:pre-wrap;font:inherit;line-height:1.65}.signature-pad{width:100%;max-width:700px;height:180px;touch-action:none;background:#fff;border:2px solid var(--border);border-radius:.75rem}.waiver-intent{display:flex;gap:.75rem;align-items:flex-start}.unified-experience{--color-brand-black:#10120f;--color-warm-white:#f5f2e9;--color-white:#ffffff;--color-olive:#bec2a3;--color-charcoal:#252724;--color-gray:#6e716a;--color-light-olive:#dee0cf;--color-success:#43552d;--color-danger:#a63b32;--color-warning:#7a5b13;--bg:var(--color-warm-white);--panel:var(--color-white);--panel-2:var(--color-light-olive);--text:var(--color-brand-black);--muted:var(--color-gray);--accent:var(--color-olive);--accent-dark:#717755;--line:var(--color-light-olive);--danger:var(--color-danger);font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(1120px,calc(100% - 32px));margin:0 auto}.nav{border-bottom:1px solid var(--line);background:var(--color-brand-black);color:var(--color-warm-white);position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav-inner{justify-content:space-between;min-height:72px;gap:20px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:12px;font-weight:800;letter-spacing:.04em}.brand-logo{width:58px;height:58px;flex:0 0 auto}.brand-name{font-size:14px;letter-spacing:.1em}.global-nav-actions{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:700}.global-nav-actions>a:not(.btn){text-decoration:underline;text-underline-offset:4px}.badge{border:1px solid var(--color-olive);color:var(--color-brand-black);background:var(--color-olive);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}main{padding:40px 0 64px}.hero{padding:52px 0 28px}.hero h1{font-size:clamp(36px,7vw,72px);margin:0 0 14px;line-height:1;max-width:900px}.hero p{color:var(--muted);font-size:18px;max-width:700px;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:18px;gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}.card h2,.card h3{margin-top:0}.stat{grid-column:span 3;min-width:0}.wide{grid-column:span 8}.side{grid-column:span 4}.full{grid-column:1/-1}.label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.stat .value{max-width:100%;font-size:clamp(24px,2.6vw,34px);font-weight:800;line-height:1.1;margin-top:8px;overflow-wrap:anywhere;word-break:normal}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 16px;background:var(--color-brand-black);color:var(--color-warm-white);font-weight:800;cursor:pointer}.btn.secondary{background:var(--color-olive);color:var(--color-brand-black);border:1px solid var(--color-olive)}.btn.danger{background:var(--danger);color:var(--color-white)}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.status{font-weight:800;color:var(--color-success)}.form{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:7px;gap:7px;min-width:0}.field label{color:var(--muted);font-size:14px}.input{background:var(--color-white);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:12px 13px}.input,input[type=date].input{width:100%;min-width:0;max-width:100%}input[type=date].input{inline-size:100%;min-inline-size:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=date].input::-webkit-date-and-time-value{min-width:0;text-align:left}.notice{border-left:3px solid var(--color-success);padding:12px 14px;background:var(--color-light-olive);color:var(--color-brand-black);border-radius:8px}.error-notice{border-left-color:var(--danger);background:#f7dfdc;color:#6f211b}.admin-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:18px;padding-top:18px}.admin-bar form{margin-left:auto}.admin-page{max-width:1120px}.admin-operations-grid,.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-list{display:grid;grid-gap:14px;gap:14px;margin:0}.settings-list div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:12px}.settings-list dt{color:var(--muted)}.settings-list dd{margin:0;text-align:right}.admin-bay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-bottom:22px}.admin-bay-card{display:grid;align-content:space-between;grid-gap:18px;gap:18px}.admin-bay-card button,.admin-bay-card form{width:100%}.time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.admin-booking-list,.admin-override-list{display:grid}.admin-booking,.admin-override{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:18px 0}.admin-booking:first-child,.admin-override:first-child{border-top:0}.admin-booking{display:block}.admin-booking-actions,.admin-booking-summary,.admin-cancel-form{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-booking-actions{justify-content:flex-start;margin-top:14px}.admin-cancel-form{flex:1 1}.admin-cancel-form .input{max-width:320px}.link-button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.slot{padding:13px;border-radius:12px;border:1px solid var(--line);background:var(--color-white);text-align:center}.slot.available{border-color:var(--color-success)}.footer{color:var(--muted);font-size:13px;padding:30px 0 50px;display:grid;grid-gap:18px;gap:18px}.award-footer-banner{display:block;width:min(100%,600px);height:auto;border-radius:var(--radius-sm)}.login-brand-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}.login-brand-logo{width:132px;height:132px;object-fit:contain}.login-award-seal{width:92px;height:92px;object-fit:contain}.membership-award-banner{display:block;width:min(100%,700px);height:auto;margin:32px auto 0;border-radius:var(--radius-sm)}@media (max-width:800px){.side,.stat,.wide{grid-column:1/-1}.nav-inner{min-height:64px}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:var(--focus-ring);outline-offset:3px}.btn{min-height:46px}.btn:disabled,.slot:disabled{cursor:not-allowed;opacity:.55}.slot{color:var(--text);cursor:pointer;min-height:64px;display:grid;grid-gap:4px;gap:4px}.slot.selected{border-color:var(--accent);background:var(--color-olive);box-shadow:0 0 0 2px rgba(113,119,85,.2)}.slot span{color:var(--muted);font-size:12px}.member-nav{width:min(1120px,calc(100% - 32px));margin:14px auto 0;display:flex;gap:8px;align-items:center;overflow-x:auto;padding-bottom:4px}.member-nav a,.member-nav button{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;white-space:nowrap;color:var(--muted)}.member-nav form{margin-left:auto}.member-page{padding-top:20px}.member-page.narrow{max-width:720px}.page-heading{padding:20px 0 30px}.page-heading h1{font-size:clamp(34px,7vw,62px);line-height:1.03;margin:5px 0 12px;max-width:760px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.6;max-width:650px}.home-heading .primary-cta{margin-top:10px;padding-inline:24px}.eyebrow{color:#59613f;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px}.muted{color:var(--muted)}.text-link{color:#59613f;font-weight:700}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 16px}.section-heading h2{margin:0}.booking-layout{display:grid;grid-template-columns:340px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.booking-controls{display:grid;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:92px;min-width:0}.booking-slots{min-height:260px;min-width:0}.booking-message,.booking-review{grid-column:2;display:grid;grid-gap:14px;gap:14px}.booking-review>*{margin-top:0;margin-bottom:0}.checkbox-row{display:flex;gap:12px;align-items:flex-start;color:var(--muted);line-height:1.5}.checkbox-row input{width:22px;height:22px;flex:0 0 auto}.checkbox-row a{color:#59613f;text-decoration:underline}.reservation-section{margin:0 0 34px}.reservation-list{display:grid;grid-gap:14px;gap:14px}.reservation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.reservation-heading h2{margin:0}.reservation-time{font-size:20px;font-weight:700}.count-badge,.status-pill{border-radius:999px;padding:7px 10px;background:var(--panel-2);font-size:12px;font-weight:800;white-space:nowrap}.status-checked_in,.status-confirmed{color:var(--color-success)}.status-cancelled,.status-expired,.status-no_show,.status-suspended{color:var(--color-danger)}.invitation-pending,.status-invited{color:var(--color-warning)}.invitation-accepted{color:var(--color-success)}.admin-member-list{display:grid}.admin-member{padding:20px 0;border-bottom:1px solid var(--line)}.admin-member:first-child{padding-top:0}.admin-member:last-child{border-bottom:0;padding-bottom:0}.admin-member-summary,.member-statuses,.membership-date-fields{display:flex;gap:12px}.admin-member-summary{justify-content:space-between;align-items:flex-start}.admin-member-identity{display:grid;grid-gap:4px;gap:4px;min-width:0}.member-email{overflow-wrap:anywhere}.member-statuses{flex-wrap:wrap;justify-content:flex-end}.membership-dates{display:flex;gap:28px;margin:16px 0}.membership-dates div{display:grid;grid-gap:3px;gap:3px}.membership-dates dt{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.membership-dates dd{margin:0}.member-management{background:var(--color-white);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.member-management summary{cursor:pointer;color:#59613f;font-weight:700}.membership-form{margin-top:16px}.membership-date-fields>*{flex:1 1}.resend-form{margin-top:12px}.accepted-note,.member-count{margin-bottom:0}.button-row{display:flex;flex-wrap:wrap;gap:10px}.action-stack{margin-top:18px}.empty-state{text-align:center;padding:38px 22px;color:var(--muted)}.empty-state h1,.empty-state h2,.empty-state h3{color:var(--text)}.empty-state.compact{padding:18px}.app-tutorial-section,.simulator-help{margin-bottom:36px}.app-tutorial-section .section-heading h2,.simulator-help .section-heading h2{margin:0}.help-alert{margin-bottom:16px;padding:16px 18px;border-left:4px solid var(--color-warning);border-radius:0 12px 12px 0;background:var(--panel-2)}.help-alert p{margin:5px 0 0;color:var(--muted)}.help-steps{display:grid;grid-gap:14px;gap:14px}.help-step{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:14px;gap:14px}.help-step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--color-white);background:var(--color-olive);font-weight:800}.cooler-note h3,.help-checklist h3,.help-step h3{margin:3px 0 10px}.cooler-note p,.help-checklist li,.help-step li,.help-step p{line-height:1.6}.help-checklist ol,.help-step ol{margin-bottom:0;padding-left:21px}.help-note{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:var(--panel-2)}.help-step kbd{display:inline-block;padding:2px 7px;border:solid var(--line);border-width:1px 1px 2px;border-radius:6px;background:var(--color-white);font:inherit;font-size:.88em;font-weight:700}.help-finish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:14px}.check-list{display:grid;grid-gap:7px;gap:7px;margin:0;padding:0;list-style:none}.check-list li{position:relative;padding-left:25px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:900}.cooler-note{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);grid-gap:18px;gap:18px;align-items:center;margin-top:14px}.cooler-note p{margin:0}.tutorial-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(4,6,7,.88)}.tutorial-card,.tutorial-dialog{width:min(100%,760px)}.tutorial-dialog{max-height:calc(100dvh - 36px);overflow-y:auto;padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.45)}.notification-setup h3,.tutorial-card h2,.tutorial-dialog h2{margin-top:0}.tutorial-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.tutorial-skip{margin-top:16px;color:var(--muted)}.install-guides{display:grid;grid-gap:18px;gap:18px;margin-top:22px}.install-guide{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--color-white)}.install-guide-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.install-guide-heading h3,.install-guide-heading p{margin:0}.install-guide-heading p{margin-top:4px;color:var(--muted)}.platform-badge{flex:0 0 auto;padding:6px 9px;border:1px solid var(--color-olive);border-radius:999px;color:var(--color-brand-black);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.install-guide-image{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:var(--color-white)}.install-steps{display:grid;grid-gap:10px;gap:10px;margin:16px 0 0;padding-left:24px}.install-steps li{padding-left:4px;color:var(--muted)}.install-steps strong{color:var(--text)}.notification-setup{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--color-white)}.card-divider{border:0;border-top:1px solid var(--line);margin:24px 0}.form-message{margin-bottom:0}.count-badge{color:var(--muted)}.skeleton{position:relative;overflow:hidden;background:var(--panel);border-radius:16px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(190,194,163,.45),transparent);animation:shimmer 1.3s infinite}.heading-skeleton{height:130px;margin:20px 0}.panel-skeleton{height:260px;margin:14px 0}@keyframes shimmer{to{transform:translateX(100%)}}@media (max-width:800px){.brand .badge{display:none}.booking-layout{grid-template-columns:1fr}.booking-controls{position:static}.booking-message,.booking-review{grid-column:1}.admin-operations-grid,.admin-settings-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding-bottom:42px}}@media (max-width:520px){.tutorial-dialog{padding:20px}.install-guide{padding:14px}.install-guide-heading{display:grid}}@media (max-width:430px){.container,.member-nav{width:min(100% - 20px,1120px)}.nav-home-link{padding-inline:10px;font-size:13px}.card{padding:18px;border-radius:15px}.member-page{padding-top:8px}.page-heading{padding:12px 0 22px}.page-heading h1{font-size:clamp(30px,10vw,38px);overflow-wrap:anywhere}.page-heading p:not(.eyebrow){font-size:16px}.booking-controls .input,.booking-review .input{display:block;min-width:0;max-width:100%}.slot-grid{grid-template-columns:1fr}.slot{min-height:72px}.member-nav{gap:0}.member-nav a,.member-nav button{padding-inline:9px;font-size:13px}.member-nav form{margin-left:0}.reservation-heading{flex-direction:column}.admin-booking-actions,.admin-booking-summary,.admin-cancel-form,.admin-member-summary,.admin-override,.membership-date-fields,.time-fields{flex-direction:column;align-items:stretch}.time-fields{display:flex}.admin-cancel-form .input{max-width:none}.member-statuses{justify-content:flex-start}}.public-booking-page{max-width:900px}.public-booking-stack{display:grid;grid-gap:18px;gap:18px;margin-top:22px}.public-booking-controls,.public-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.participant-fields{border:1px solid var(--border);border-radius:12px;display:grid;grid-gap:12px;gap:12px;margin:0;padding:16px}.participant-fields legend{font-weight:800;padding:0 6px}.participant-list{margin:0;padding-left:22px}.public-confirmation{margin-top:22px}@media (max-width:620px){.brand-name{display:none}.brand-logo{width:52px;height:52px}.global-nav-actions{gap:8px;margin-left:auto;font-size:12px}.global-nav-actions a{white-space:nowrap}.global-nav-actions .nav-home-link{min-height:40px;padding:8px 10px;font-size:12px}.cooler-note,.help-finish-grid,.public-booking-controls,.public-two-column{grid-template-columns:1fr}}.membership-enrollment{display:grid;grid-gap:22px;gap:22px}.public-home-page{padding-top:40px}.public-home-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:48px;gap:48px;align-items:center;padding:56px 0}.public-home-hero h1{max-width:760px;margin:0 0 18px;font-size:clamp(48px,7vw,86px);line-height:.98}.public-home-hero p:not(.eyebrow){max-width:670px;color:var(--muted);font-size:19px;line-height:1.6}.public-home-award{width:100%;height:auto}.public-home-details{margin-bottom:24px}@media (max-width:760px){.public-home-hero{grid-template-columns:1fr;gap:20px;padding:28px 0}.public-home-award{width:min(55vw,220px);margin:0 auto}}.membership-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.membership-option{display:grid;grid-gap:9px;gap:9px;color:var(--text);text-align:left;cursor:pointer}.membership-option.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(113,119,85,.2)}.membership-option strong,.membership-price{font-size:24px}.enrollment-form{margin-top:18px}textarea.input{resize:vertical}@media (max-width:760px){.membership-card-grid{grid-template-columns:1fr}}.legacy-experience .card{background:linear-gradient(180deg,var(--panel),#12151a);border-radius:18px}.legacy-experience .badge{border-color:var(--accent);color:var(--accent);background:transparent}.legacy-experience .btn{background:var(--accent);color:#07120d}.legacy-experience .btn.secondary{background:var(--panel-2);color:var(--text);border-color:var(--line)}.legacy-experience .btn.danger{background:var(--danger);color:#1a0808}.legacy-experience .input{background:#0f1216}.legacy-experience .notice{border-left-color:var(--accent);background:#111a16;color:#d8fbe9}.legacy-experience .error-notice{border-left-color:var(--danger);background:#211313;color:#ffdede}.legacy-experience .slot{background:#11151a}.legacy-experience .slot.available{border-color:#2a6b4b}.legacy-experience .slot.selected{background:#173525;box-shadow:0 0 0 2px rgba(50,213,131,.2)}.legacy-experience .checkbox-row a,.legacy-experience .eyebrow,.legacy-experience .member-management summary,.legacy-experience .text-link{color:var(--accent)}.legacy-experience .status-cancelled,.legacy-experience .status-expired,.legacy-experience .status-no_show,.legacy-experience .status-suspended{color:#ffb0b0}.legacy-experience .invitation-pending,.legacy-experience .status-invited{color:#ffd98e}.legacy-experience .member-management{background:#101318}.legacy-experience .install-guide{background:rgba(255,255,255,.025)}.legacy-experience .platform-badge{border-color:rgba(51,211,142,.5);color:var(--accent)}.legacy-experience .install-guide-image{background:#0d1115}.legacy-experience .notification-setup{background:rgba(255,255,255,.02)}.legacy-experience .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent)}.legacy-experience .footer{display:block}.legacy-experience a:focus-visible,.legacy-experience button:focus-visible,.legacy-experience input:focus-visible,.legacy-experience select:focus-visible{outline:3px solid #7ceab0}