:root{--ink:#231f20;--muted:#6f676a;--cream:#fffaf6;--blush:#f4dedf;--rose:#ad6670;--rose-dark:#80434c;--line:#eadcda;--white:#fff;--shadow:0 14px 40px #462a2f1a}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}.nav{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf6f0;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brandMark{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-family:Georgia,serif;display:grid}.brand strong,.brand small{display:block}.brand small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:10px}.nav nav{gap:8px;display:flex}.nav nav a{color:var(--muted);border-radius:999px;padding:10px 14px;text-decoration:none}.nav nav a.active,.nav nav a:hover{background:var(--blush);color:var(--ink)}main{min-height:calc(100vh - 76px)}.hero{background:radial-gradient(circle at 83% 35%,#f4dedff2,#0000 28%);max-width:1180px;margin:auto;padding:92px 24px 58px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--rose);margin:0 0 12px;font-size:12px;font-weight:800}.hero h1,h1{margin:0 0 22px;font-family:Georgia,serif;font-size:clamp(42px,7vw,78px);font-weight:500;line-height:.98}.hero p:last-child{max-width:560px;color:var(--muted);font-size:18px;line-height:1.7}.section{max-width:1180px;margin:auto;padding:42px 24px 80px}.narrow{max-width:760px}.section h2{margin:0;font-family:Georgia,serif;font-size:40px}.sectionHeading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.dateTabs{gap:8px;display:flex;overflow:auto}.dateTabs button{white-space:nowrap;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:10px 14px}.dateTabs button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.classGrid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.classCard{border:1px solid var(--line);background:#fff;border-radius:20px;flex-direction:column;min-height:350px;padding:24px;display:flex;box-shadow:0 2px #00000005}.classCard:hover{box-shadow:var(--shadow);transition:all .2s;transform:translateY(-3px)}.cardTop{justify-content:space-between;display:flex}.availability,.status{text-transform:uppercase;letter-spacing:.08em;color:#24663c;background:#e5f5ea;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:800;display:inline-block}.availability.low{color:#7c5b0f;background:#fff1d1}.availability.full,.status.cancelled,.status.no-show{color:#8d3232;background:#f9dddd}.price{font-weight:800}.classCard h3{margin:25px 0 8px;font-family:Georgia,serif;font-size:28px}.classCard>p{color:var(--muted);line-height:1.55}.meta{color:var(--muted);gap:9px;margin:auto 0 20px;font-size:14px;display:grid}.meta span{align-items:center;gap:8px;display:flex}.primary,.secondary{cursor:pointer;border:0;border-radius:12px;padding:13px 18px;font-weight:800}.primary{background:var(--ink);color:#fff}.primary:hover{background:var(--rose-dark)}.secondary{border:1px solid var(--line);background:#fff}.full{width:100%}.modalBackdrop{z-index:50;background:#231f208c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--cream);width:min(500px,100%);box-shadow:var(--shadow);border-radius:24px;padding:32px;position:relative}.modal h2{margin:0;font-family:Georgia,serif;font-size:38px}.modal>p{color:var(--muted)}.close{cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:14px;right:18px}label{gap:7px;margin:16px 0;font-weight:700;display:grid}input{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:13px}.policy{color:var(--muted);background:var(--blush);border-radius:10px;margin:18px 0;padding:12px;font-size:12px;line-height:1.5}.lookup{gap:10px;margin:28px 0;display:flex}.stack{gap:12px;display:grid}.bookingRow{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;padding:20px;display:flex}.bookingRow h3{margin:8px 0 2px}.bookingRow p{color:var(--muted);margin:0}.status.waitlisted{color:#7c5b0f;background:#fff1d1}.status.booked,.status.attended,.status.published{color:#24663c;background:#e5f5ea}.status.cancelled{color:#666;background:#eee}.loginCard{border:1px solid var(--line);max-width:420px;box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:24px}.loginCard small{text-align:center;color:var(--muted);margin-top:12px;display:block}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.stats>div{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:20px;display:flex}.stats svg{color:var(--rose)}.stats span,.stats strong{display:block}.stats span{color:var(--muted);font-size:13px}.stats strong{color:var(--ink);margin-top:3px;font-size:26px}.adminGrid{grid-template-columns:1.25fr .75fr;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:18px;padding:22px}.panelHead{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.panel h2{font-family:Georgia,serif;font-size:26px}.panelHead span{color:var(--muted);font-size:12px}.performance{grid-template-columns:180px 1fr 45px;align-items:center;gap:14px;padding:11px 0;display:grid}.performance small,.instructorRow small,.bookingAdmin small{color:var(--muted);margin-top:3px;display:block}.bar{background:#f0e6e4;border-radius:999px;height:8px;overflow:hidden}.bar i{background:var(--rose);border-radius:inherit;height:100%;display:block}.instructorRow{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.avatar{background:var(--blush);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px;font-size:14px}th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.textButton{color:var(--rose-dark);cursor:pointer;background:0 0;border:0;font-weight:800}.danger{color:#9b3030}.bookingAdmin{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px 0;display:grid}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;padding:28px}@media (max-width:850px){.classGrid,.stats{grid-template-columns:1fr 1fr}.adminGrid{grid-template-columns:1fr}.sectionHeading{flex-direction:column;align-items:flex-start}.nav{padding:0 14px}.brand small{display:none}}@media (max-width:560px){.nav nav a{padding:9px 8px;font-size:13px}.classGrid,.stats{grid-template-columns:1fr}.hero{padding-top:54px}.lookup{flex-direction:column}.performance{grid-template-columns:130px 1fr 40px}.bookingAdmin{grid-template-columns:1fr auto}.bookingAdmin>div:last-child{grid-column:1/-1}}.inlineButton{margin-top:10px;text-decoration:none;display:inline-block}.loginCard .textButton{margin-top:14px}.productFooter{border-top:1px solid var(--line);max-width:1180px;color:var(--muted);justify-content:space-between;gap:16px;margin:0 auto;padding:24px;font-size:12px;display:flex}.productFooter strong{color:var(--ink)}.environmentBadge{background:var(--blush);color:var(--rose-dark);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;margin:-8px 0 18px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}@media (max-width:560px){.productFooter{text-align:center;flex-direction:column;align-items:center}.nav{flex-wrap:wrap;height:auto;min-height:76px;padding-top:10px;padding-bottom:10px}.nav nav{justify-content:space-between;width:100%;overflow:auto}}.authPage{grid-template-columns:1fr 500px;align-items:center;gap:78px;max-width:1180px;min-height:calc(100vh - 76px);margin:auto;padding:72px 24px 90px;display:grid}.authIntro h1{font-size:clamp(48px,6vw,76px)}.authIntro>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.7}.studioIdentity{align-items:center;gap:14px;margin-bottom:52px;display:flex}.studioMonogram{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:54px;height:54px;font-family:Georgia,serif;display:grid}.studioIdentity strong,.studioIdentity small{display:block}.studioIdentity strong{font-family:Georgia,serif;font-size:24px;font-weight:500}.studioIdentity small{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:10px}.authBenefits{color:var(--muted);flex-wrap:wrap;gap:12px 20px;margin-top:30px;font-size:14px;display:flex}.authBenefits span{align-items:center;gap:7px;display:flex}.authBenefits svg{color:var(--rose)}.authCardWrap{position:relative}.authCardWrap:before{content:"";background:var(--blush);z-index:-1;border-radius:30px;position:absolute;inset:-25px 35px 25px -25px}.authCard{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:34px}.authCardHeader h2{margin:0 0 24px;font-family:Georgia,serif;font-size:34px;font-weight:500}.passwordField{position:relative}.passwordField input{padding-right:48px}.passwordField button{color:var(--muted);cursor:pointer;background:0 0;border:0;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.passwordChecks{flex-wrap:wrap;gap:8px 12px;margin:-4px 0 18px;display:flex}.passwordChecks span{color:#aaa;align-items:center;gap:5px;font-size:12px;display:flex}.passwordChecks span.met{color:#38704c}.authMessage{color:#823b3b;background:#f9dddd;border-radius:11px;margin:16px 0;padding:13px 14px;font-size:13px;line-height:1.5}.authMessage.success{color:#28613d;background:#e5f5ea}.authSubmit{margin-top:8px}.authDivider{color:#a79b9e;text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:12px;margin:18px 0;font-size:11px;display:flex}.authDivider:before,.authDivider:after{content:"";background:var(--line);flex:1;height:1px}.instructorAvatar{background:var(--blush);width:48px;height:48px;color:var(--rose-dark);border-radius:50%;place-items:center;font-weight:800;display:grid;overflow:hidden}.instructorAvatar img{object-fit:cover;width:100%;height:100%}@media (max-width:900px){.authPage{grid-template-columns:1fr;gap:32px;padding-top:46px}.authCardWrap{width:100%;max-width:560px}}@media (max-width:560px){.authPage{padding:34px 16px 64px}.authCard{padding:24px 20px}.authCardWrap:before{inset:-14px 14px 14px -14px}}.bookingSuccess{text-align:center;padding:18px 4px 4px}.bookingSuccess>svg{color:var(--rose);margin-bottom:14px}.bookingSuccess h2{margin-bottom:14px}.bookingSuccess p{line-height:1.65}.bookingSuccess small{color:var(--muted);margin-top:20px;display:block}.successActions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.successActions a{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.settingsLayout{grid-template-columns:210px 1fr;align-items:start;gap:22px;display:grid}.settingsNav{border:1px solid var(--line);background:#fff;border-radius:18px;gap:4px;padding:10px;display:grid;position:sticky;top:96px}.settingsNav button{text-align:left;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:12px 14px;font-weight:700}.settingsNav button.active,.settingsNav button:hover{background:var(--blush);color:var(--ink)}.settingsPanel{border:1px solid var(--line);background:#fff;border-radius:20px;min-height:520px;padding:30px}.settingsPanel h2{margin:0 0 8px;font-family:Georgia,serif;font-size:34px}.settingsHelp{color:var(--muted);margin:0 0 24px;line-height:1.6}.formGrid .fullSpan{grid-column:1/-1}.colorField{grid-template-columns:52px 1fr;gap:8px;display:grid}.colorField input[type=color]{cursor:pointer;height:46px;padding:4px}.settingsMessage{color:#28613d;background:#e5f5ea;border-radius:11px;margin-top:22px;padding:13px 14px}@media (max-width:760px){.settingsLayout{grid-template-columns:1fr}.settingsNav{grid-template-columns:repeat(3,1fr);position:static}.settingsNav button{text-align:center}.formGrid{grid-template-columns:1fr}.formGrid .fullSpan{grid-column:auto}}.memberDashboard{max-width:1180px}.memberWelcome{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:30px;display:flex}.memberWelcome>div>p:last-child{color:var(--muted)}.memberWelcome button{align-items:center;gap:8px;display:inline-flex}.memberStatsGrid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;display:grid}.memberStat{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}.memberStat span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:11px;font-weight:800;display:block}.memberStat strong{margin:10px 0 5px;font-family:Georgia,serif;font-size:27px;font-weight:500;display:block}.memberStat small{color:var(--muted)}.memberMainGrid{grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px;display:grid}.dashboardPanel{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:18px;padding:26px}.panelHeading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.panelHeading h2{margin:4px 0 0;font-family:Georgia,serif;font-size:30px;font-weight:500}.panelHeading>svg{color:var(--rose)}.nextClassCard{background:var(--blush);border-radius:16px;padding:22px}.nextClassCard h3{margin:14px 0 5px;font-family:Georgia,serif;font-size:32px}.nextClassTime{color:var(--ink)!important;font-size:18px!important}.nextClassCard>p{color:var(--muted)}.membershipSummary{border:1px solid var(--line);border-radius:16px;padding:22px}.membershipSummary h3{margin:14px 0 18px;font-family:Georgia,serif;font-size:27px}.membershipBadge{text-transform:uppercase;letter-spacing:.08em;background:var(--blush);color:var(--rose-dark);border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;display:inline-block}.bookingList{gap:10px;display:grid}.memberBookingRow{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.memberBookingRow h3{margin:7px 0 3px;font-size:17px}.memberBookingRow p{color:var(--muted);margin:0;font-size:13px}.memberBookingRow.history{opacity:.8}.dashboardLoading{min-height:50vh;color:var(--muted);align-content:center;place-items:center;gap:18px;display:grid}.loadingPulse{background:var(--blush);border-radius:50%;width:54px;height:54px;animation:1.2s ease-in-out infinite flowPulse}@keyframes flowPulse{50%{opacity:.45;transform:scale(.75)}}.accountGate{padding:56px 28px}.accountGate svg{color:var(--rose)}.empty.compact{padding:24px}@media (max-width:840px){.memberStatsGrid,.memberMainGrid{grid-template-columns:1fr}}@media (max-width:560px){.memberWelcome{display:block}.memberWelcome button{margin-top:18px}.dashboardPanel{padding:20px}}.primaryNav{margin-left:auto}.navAccount{margin-left:18px;position:relative}.signInButton{background:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:11px 20px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 8px 18px #231f201f;color:#fff!important}.signInButton:hover{transform:translateY(-1px)}.accountButton{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:7px 11px 7px 7px;font-weight:800;display:flex}.accountAvatar{background:var(--blush);width:32px;height:32px;color:var(--rose-dark);border-radius:50%;place-items:center;display:grid}.accountDropdown{border:1px solid var(--line);z-index:50;background:#fff;border-radius:16px;width:250px;padding:8px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 20px 50px #231f2029}.accountIdentity{border-bottom:1px solid var(--line);margin-bottom:5px;padding:11px 12px 13px}.accountIdentity strong,.accountIdentity small{display:block}.accountIdentity small{color:var(--muted);text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.accountDropdown>a,.accountDropdown>button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-weight:700;text-decoration:none;display:flex}.accountDropdown>a:hover,.accountDropdown>button:hover{background:var(--blush)}.accountDropdown .platformLink{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--rose-dark);border-radius:0;margin:4px 0;padding-top:13px;padding-bottom:13px}.platformAdmin .sectionHeading>div>p:last-child{color:var(--muted)}.superAdminBadge{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:800;display:inline-flex}.platformStats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.platformStats article{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}.platformStats article svg{color:var(--rose)}.platformStats span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin:15px 0 7px;font-size:12px;font-weight:800;display:block}.platformStats strong{font-family:Georgia,serif;font-size:32px}.platformTools{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.platformTools article{border:1px solid var(--line);border-radius:15px;padding:20px}.platformTools h3{margin:0 0 9px}.platformTools p{color:var(--muted);line-height:1.6}.platformTools a{color:var(--rose-dark);font-weight:800;text-decoration:none}@media (max-width:850px){.platformStats{grid-template-columns:1fr 1fr}.platformTools{grid-template-columns:1fr}.primaryNav{margin-left:0}.navAccount{margin-left:auto}}@media (max-width:560px){.nav{grid-template-columns:1fr auto;display:grid}.primaryNav{grid-area:2/1/auto/-1;justify-content:flex-start!important}.navAccount{grid-area:1/2}.accountButton>span:nth-child(2){display:none}.platformStats{grid-template-columns:1fr 1fr}}:root{--surface:#fff;--muted:#6f6768;--brand-primary:#231f20;--heading-font:"Playfair Display", Georgia, serif;--body-font:"Inter", Arial, sans-serif;--radius:28px;--button-radius:999px}body{font-family:var(--body-font);color:var(--ink);background:var(--cream)}h1,h2,h3,.displayTitle{font-family:var(--heading-font)}.primary,.signInButton,button.primary{border-radius:var(--button-radius)!important}.card,.classCard,.settingsPanel,.empty,.accountDropdown,.modalCard{background-color:var(--surface);border-radius:var(--radius)!important}.brandLogo{object-fit:contain;border-radius:10px;width:46px;height:46px}input,select,textarea{font-family:var(--body-font)}.adminNav{border:1px solid var(--line);background:#fff;border-radius:16px;gap:8px;margin:-4px 0 22px;padding:8px;display:flex;overflow-x:auto}.adminNav a{white-space:nowrap;color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.adminNav a:hover,.adminNav a.active{background:var(--blush);color:var(--ink)}.sectionIntro{max-width:680px;color:var(--muted);margin:12px 0 0;line-height:1.6}.memberAdminStats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.memberAdminStats article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.memberAdminStats svg{color:var(--rose)}.memberAdminStats span,.memberAdminStats strong{display:block}.memberAdminStats span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 4px;font-size:12px;font-weight:800}.memberAdminStats strong{font-family:var(--heading-font);font-size:30px}.memberToolbar{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.memberSearch{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1;align-items:center;gap:9px;max-width:520px;margin:0;padding:0 13px;display:flex}.memberSearch input{border:0;outline:0;padding-left:0}.memberToolbar select{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:175px;padding:0 13px}.memberNameCell{align-items:center;gap:10px;display:flex}.memberNameCell>span{background:var(--blush);width:34px;height:34px;color:var(--rose-dark);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.memberRole{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:#f1edeb;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-block}.memberRole.admin,.memberRole.super_admin{background:var(--blush);color:var(--rose-dark)}.memberRole.instructor{color:#355581;background:#e8eef8}.memberDetailModal{background:var(--cream);width:min(680px,100%);max-height:90vh;box-shadow:var(--shadow);border-radius:24px;padding:30px;position:relative;overflow:auto}.memberModalClose{cursor:pointer;color:var(--muted);background:0 0;border:0;position:absolute;top:18px;right:18px}.memberDetailHeader{align-items:center;gap:18px;padding-right:34px;display:flex}.memberDetailHeader>span{background:var(--blush);width:64px;height:64px;color:var(--rose-dark);font-family:var(--heading-font);border-radius:50%;place-items:center;font-size:28px;display:grid}.memberDetailHeader h2{font-family:var(--heading-font);margin:0 0 4px;font-size:36px}.memberDetailHeader p{color:var(--muted);margin:0}.memberDetailGrid{grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0;display:grid}.memberDetailGrid>div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px}.memberDetailGrid small,.memberDetailGrid strong{display:block}.memberDetailGrid small{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;font-size:10px;font-weight:800}.memberDetailNote{background:var(--blush);color:var(--muted);border-radius:14px;padding:16px;line-height:1.6}@media (max-width:700px){.memberAdminStats{grid-template-columns:1fr}.memberToolbar{display:grid}.memberToolbar select{height:46px}.memberDetailGrid{grid-template-columns:1fr}.membersTable th:nth-child(3),.membersTable td:nth-child(3),.membersTable th:nth-child(4),.membersTable td:nth-child(4){display:none}}.managementModal{background:var(--cream);width:min(720px,100% - 28px);max-height:92vh;box-shadow:var(--shadow);border-radius:24px;padding:30px;position:relative;overflow:auto}.managementModal h2{margin:0 0 24px;font-size:38px}.managementModal label{color:var(--muted);gap:7px;margin-bottom:14px;font-size:12px;font-weight:800;display:grid}.managementModal input,.managementModal select,.managementModal textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:12px}.checkField{grid-template-columns:auto 1fr!important;justify-content:flex-start!important;align-items:center!important;display:flex!important}.checkField input{width:auto!important}.modalActions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.rowActions{white-space:nowrap}.rowActions button{align-items:center;gap:5px;margin-right:8px;display:inline-flex}.sectionHeading .primary{align-items:center;gap:7px;display:inline-flex}.joinPage{max-width:900px;margin:auto}.joinHeader{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px;display:flex}.joinHeader h1{margin-bottom:10px}.joinHeader p{color:var(--muted)}.joinPrice{text-align:right;white-space:nowrap}.joinPrice strong{font-family:var(--heading-font);font-size:48px;display:block}.joinPrice span{color:var(--muted)}.joinSteps{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;display:grid}.joinSteps>div{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:12px;font-size:12px;font-weight:800;display:flex}.joinSteps>div.active{background:var(--blush);color:var(--rose-dark);border-color:#0000}.joinCard{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:34px}.joinCard form{gap:16px;display:grid}.joinCard h2{margin:0}.joinCard>form>p,.joinCard form>p{color:var(--muted)}.joinCard label,.importPanel label{color:var(--muted);gap:7px;font-size:12px;font-weight:800;display:grid}.joinCard input,.joinCard textarea,.importPanel input,.importPanel select,.importPanel textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:12px}.formGrid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.fullField{grid-column:1/-1}.waiverText{background:var(--cream);border:1px solid var(--line);max-height:220px;color:var(--muted);border-radius:13px;padding:18px;font-size:14px;overflow:auto}.joinCard .checkField{grid-template-columns:auto 1fr!important;display:grid!important}.checkoutReady{text-align:center;justify-items:center;gap:16px;display:grid}.checkoutReady svg{color:var(--rose)}.checkoutReady small,.formHelp{color:var(--muted);line-height:1.5}.joinSignIn{text-align:center;font-size:13px}.membershipAdminGrid{gap:20px;display:grid}.importPanel form{gap:16px;display:grid}.panelHeading{justify-content:space-between;align-items:center;gap:16px;display:flex}.panelHeading h2{margin:0}.membershipBadge.pending{color:#725b00;background:#fff2cc}.membershipBadge.past_due,.membershipBadge.unpaid{color:#8b2828;background:#fde0e0}.membershipBadge.cancelled{color:#666;background:#eee}@media (max-width:650px){.joinHeader{display:block}.joinPrice{text-align:left;margin-top:16px}.joinSteps{grid-template-columns:1fr 1fr}.formGrid{grid-template-columns:1fr}.fullField{grid-column:auto}.joinCard{padding:24px}.joinSteps span{font-size:11px}}.memberPlanFacts{gap:10px;margin:18px 0;display:grid}.memberPlanFacts span{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.memberPlanFacts strong{color:var(--ink)}html,body{max-width:100%;overflow-x:hidden}main,.section,.sectionHeading,.dateTabs,.classGrid,.classCard{min-width:0}.dateTabs{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:100%;padding-bottom:4px;overflow:auto hidden}.dateTabs button{flex:none}.sectionHeading>div{min-width:0}.waiverSearch{max-width:560px;margin:0 0 18px}.waiverTable td small{color:var(--muted);margin-top:4px;display:block}.waiverDetail{background:var(--cream);width:min(760px,100% - 28px);max-height:92vh;box-shadow:var(--shadow);border-radius:24px;padding:30px;position:relative;overflow:auto}.waiverDetail h2{margin:0;font-size:40px}.waiverDetail>p:not(.eyebrow){color:var(--muted)}.waiverDetailGrid{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;display:grid}.waiverDetailGrid>div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px}.waiverDetailGrid small,.waiverDetailGrid strong{display:block}.waiverDetailGrid small{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;font-size:10px;font-weight:800}.waiverLegal{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:14px;padding:20px;line-height:1.65}.waiverLegal h3{color:var(--ink);margin-top:0}@media (max-width:850px){.sectionHeading .dateTabs{width:100%;max-width:calc(100vw - 48px)}}@media (max-width:560px){.section{padding-left:16px;padding-right:16px}.sectionHeading .dateTabs{max-width:calc(100vw - 32px)}.dateTabs{margin-right:0}.dateTabs button{padding:10px 12px}.waiverDetailGrid{grid-template-columns:1fr}.waiverTable th:nth-child(3),.waiverTable td:nth-child(3),.waiverTable th:nth-child(4),.waiverTable td:nth-child(4){display:none}.waiverDetail{padding:24px 20px}.modalActions{flex-direction:column}.modalActions button{width:100%}}@media print{body *{visibility:hidden}.waiverDetail,.waiverDetail *{visibility:visible}.waiverDetail{width:100%;max-height:none;box-shadow:none;background:#fff;position:absolute;inset:0}.waiverDetail .memberModalClose,.waiverDetail .modalActions{display:none}}.bookingGate{text-align:center;justify-items:center;gap:14px;padding:18px 4px;display:grid}.bookingGate>svg{color:var(--rose)}.bookingGate h2{margin:0}.bookingGate p{max-width:470px;color:var(--muted);line-height:1.6}.bookingIdentity{background:var(--cream);border:1px solid var(--line);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin:20px 0;padding:15px 16px;display:grid}.bookingIdentity>svg{color:var(--rose)}.bookingIdentity small,.bookingIdentity strong,.bookingIdentity span{display:block}.bookingIdentity small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.bookingIdentity strong{margin:3px 0}.bookingIdentity span{color:var(--muted);font-size:13px}.bookingIdentity a{color:var(--rose-dark);font-size:12px;font-weight:800}@media (max-width:520px){.bookingIdentity{grid-template-columns:auto 1fr}.bookingIdentity a{grid-column:2}}.scheduleHelp{max-width:560px;color:var(--muted);margin:10px 0 0;line-height:1.55}.emptySchedule{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;padding:30px}.emptySchedule h3{font-family:var(--heading-font);margin:0 0 8px;font-size:28px}.emptySchedule p{color:var(--muted);margin:0}.membershipPlanGrid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.membershipPlanGrid.compact .membershipPlanCard{min-width:0;padding:22px}.membershipPlanGrid.compact .membershipPlanCard h2{font-size:28px}.membershipPlanTop{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.membershipAvailability{color:#24663c;text-transform:uppercase;letter-spacing:.05em;background:#e5f5ea;border-radius:999px;flex:none;padding:6px 8px;font-size:10px;font-weight:800}.membershipAvailability.low{color:#7c5b0f;background:#fff1d1}.membershipAvailability.soldOut{color:#8d3232;background:#f1e8e8}.membershipPlanCard.soldOut{opacity:.78}.membershipPlanCard.soldOut .secondary:disabled{cursor:not-allowed;color:var(--muted)}.membershipCapacityNote{text-align:center;color:var(--muted);margin-top:22px;font-size:13px}.createAccountButton{background:var(--rose);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:14px 18px;font-weight:900;box-shadow:0 8px 20px #ad667038}.createAccountButton:hover{background:var(--rose-dark)}.joinSignIn{background:var(--blush);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px 16px;display:grid;text-align:left!important;font-size:14px!important}.signInCallout{background:var(--rose);border-radius:10px;justify-content:center;align-items:center;padding:10px 18px;font-weight:900;text-decoration:none;display:inline-flex;color:#fff!important}.signInCallout:hover{background:var(--rose-dark)}@media (max-width:980px){.membershipPlanGrid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.membershipPlanGrid.compact{grid-template-columns:1fr}.membershipPlanTop{align-items:center}.joinSignIn{grid-template-columns:1fr}.signInCallout{width:100%}.publicSchedule .sectionHeading{align-items:stretch}}.membershipPlanGrid.compact{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.membershipPlanCard{background:var(--surface,#fff);border:1px solid var(--line);border-radius:20px;flex-direction:column;min-width:0;height:100%;padding:22px;display:flex;box-shadow:0 2px #00000005}.membershipPlanCard:hover{box-shadow:var(--shadow);transition:all .2s;transform:translateY(-3px)}.membershipPlanCard h2{font-family:var(--heading-font);margin:20px 0 10px;font-size:28px;line-height:1.1}.membershipPlanCard>p{color:var(--muted);margin:0 0 16px;line-height:1.5}.membershipPlanPrice{align-items:baseline;gap:6px;margin-bottom:14px;display:flex}.membershipPlanPrice strong{font-family:var(--heading-font);font-size:40px;font-weight:500}.membershipPlanPrice span{color:var(--muted)}.membershipPlanFact{color:var(--muted);align-items:flex-start;gap:8px;margin-top:9px;font-size:13px;line-height:1.4;display:flex}.membershipPlanFact svg{color:var(--rose);flex:none}.membershipPlanCard .full{width:100%;margin-top:auto}.membershipPlanCard .inlineButton{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (max-width:980px){.membershipPlanGrid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.membershipPlanGrid.compact{grid-template-columns:1fr}}.planAdminGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.planEditor{min-width:0}.toggleRow{flex-wrap:wrap;gap:18px;margin:16px 0;display:flex}.toggleRow label{align-items:center;gap:8px;font-weight:700;display:flex}.membershipPlanCard.featured{outline:2px solid var(--rose);outline-offset:2px}@media (max-width:850px){.planAdminGrid{grid-template-columns:1fr}}.planSectionHeading{justify-content:space-between;align-items:end;gap:1rem;margin:2rem 0 1rem;display:flex}.planSectionHeading h2{margin:.15rem 0 0}.planSectionHeading>span{color:var(--muted-text);background:var(--surface);border:1px solid #00000014;border-radius:999px;padding:.5rem .75rem;font-weight:700}.singlePurchaseHeading{margin-top:2.75rem}.dropInEditor{max-width:720px}.dropInRule{background:color-mix(in srgb,var(--accent-color) 10%,var(--surface));border-radius:12px;flex-direction:column;gap:.25rem;margin:1rem 0;padding:1rem;display:flex}.dropInRule span{color:var(--muted-text)}@media (max-width:640px){.planSectionHeading{flex-direction:column;align-items:flex-start}.planSectionHeading>span{font-size:.85rem}}.rosterControls{grid-template-columns:minmax(180px,240px) minmax(260px,1fr) auto;align-items:end;gap:14px;margin-bottom:20px;display:grid}.rosterControls label{font-weight:700}.rosterControls input{width:100%}.rosterSearch{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:8px;padding:0 12px;display:flex}.rosterSearch input{box-shadow:none;background:0 0;border:0;padding-left:0}.rosterPanel{margin-top:18px}.rosterPanel .panelHead>div:first-child{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.rosterPanel .panelHead span{align-items:center;gap:6px;display:inline-flex}.rosterSummary{text-align:right}.rosterSummary strong{font-family:var(--heading-font);font-size:26px;display:block}.rosterSummary span,.rosterSummary small{color:var(--muted);display:block}.rosterList{flex-direction:column;display:flex}.rosterRow{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) auto minmax(280px,auto);align-items:center;gap:18px;padding:16px 0;display:grid}.rosterIdentity{flex-direction:column;gap:3px;display:flex}.rosterIdentity span,.rosterIdentity small{color:var(--muted)}.rosterActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.checkInButton{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-weight:800;display:inline-flex}.rosterRow.attended{background:color-mix(in srgb,var(--accent-color) 7%,transparent)}.rosterRow.waitlisted{opacity:.78}@media (max-width:820px){.rosterControls,.rosterRow{grid-template-columns:1fr}.rosterActions{justify-content:flex-start}.rosterSummary{text-align:left}}.rosterIdentityButton{appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.rosterIdentityButton:hover strong{text-decoration:underline}.phoneLink{color:var(--rose-dark);align-items:center;gap:7px;text-decoration:none;display:inline-flex}.phoneLink:hover{text-decoration:underline}.emergencyContactCard{background:var(--blush);border-radius:16px;margin:18px 0;padding:18px}.emergencyContactCard h3{margin:0 0 12px}.emergencyContactCard .waiverDetailGrid{margin:0}.fullDetail{grid-column:1/-1}.emergencyModal .memberDetailGrid strong{overflow-wrap:anywhere;line-height:1.5}@media (max-width:700px){.fullDetail{grid-column:auto}}.presaleScheduleMessage{text-align:center;background:var(--surface,#fff);border:1px solid #231f201f;border-radius:24px;max-width:760px;margin:0 auto;padding:58px 34px;box-shadow:0 18px 45px #231f200f}.presaleScheduleMessage h2{margin:14px 0 18px}.presaleScheduleMessage p{max-width:620px;margin:10px auto;line-height:1.7}.presaleScheduleMessage strong{margin-top:22px;display:block}.presaleBadge{background:var(--blush);color:var(--rose-dark);letter-spacing:.055em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:900;display:inline-flex}.presaleLead{color:var(--ink);font-size:1.08rem;font-weight:700}.presaleActions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:28px 0 16px;display:flex}.presaleActions a{text-align:center;min-width:170px;text-decoration:none}.presalePrimaryAction,.presaleSecondaryAction{justify-content:center;align-items:center;display:inline-flex}.presaleExistingMember{color:var(--muted);font-size:14px;margin-bottom:0!important}.presaleSuccessBanner{background:#f7ecea;border:1px solid #eadcda;border-radius:16px;flex-direction:column;gap:5px;margin:0 0 24px;padding:18px 22px;display:flex}.presaleSuccessBanner strong{font-size:18px}.presaleSuccessBanner span{color:#6f676a}.adminHeaderActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (max-width:720px){.presaleScheduleMessage{padding:42px 22px}.presaleActions{flex-direction:column;align-items:stretch}.presaleActions a{width:100%}.adminHeaderActions{justify-content:stretch;width:100%}.adminHeaderActions button{flex:1}}.accountConfirmation{text-align:center;justify-items:center;gap:14px;padding:18px 8px 6px;display:grid}.accountConfirmationIcon{color:#28613d;background:#e5f5ea;border-radius:50%;place-items:center;width:82px;height:82px;margin-bottom:2px;display:grid}.accountConfirmation h2{font-family:var(--heading-font);max-width:620px;margin:0;font-size:clamp(32px,5vw,46px);line-height:1.08}.accountConfirmationLead{color:var(--muted);margin:2px 0 -4px}.accountConfirmationEmail{border:2px solid var(--rose);background:var(--blush);width:100%;max-width:560px;color:var(--rose-dark);overflow-wrap:anywhere;border-radius:13px;padding:14px 18px;font-size:17px;font-weight:900}.accountConfirmationSteps{text-align:left;border:1px solid var(--line);background:var(--cream);width:100%;max-width:580px;color:var(--ink);border-radius:15px;margin:8px 0 2px;padding:20px 24px 20px 48px;line-height:1.65}.accountConfirmationSteps li+li{margin-top:7px}.accountConfirmationHelp{color:#6e5716;background:#fff7df;border-radius:12px;width:100%;max-width:580px;padding:14px 16px;font-size:13px;line-height:1.55}.accountConfirmation .inlineButton{max-width:580px;margin-top:4px}@media (max-width:560px){.accountConfirmation{padding:8px 0 2px}.accountConfirmationIcon{width:70px;height:70px}.accountConfirmationSteps{padding:17px 18px 17px 40px}.accountConfirmationEmail{font-size:15px}}.confirmationPage{place-items:center;min-height:calc(100vh - 84px);padding-top:64px;padding-bottom:64px;display:grid}.confirmationCard{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:28px;width:min(100%,620px);padding:clamp(32px,6vw,56px);box-shadow:0 24px 60px #1b18161a}.confirmationCard h1{margin:8px 0 14px}.confirmationIcon{color:#557b58;background:#7397741f;border-radius:999px;place-items:center;width:82px;height:82px;margin:0 auto 22px;display:grid}.confirmationIcon.checking,.confirmationIcon.error{color:var(--accent);background:#a584681f}.confirmationSpinner{animation:.9s linear infinite confirmationSpin}.confirmationLead{max-width:480px;margin:0 auto 18px;font-size:1.08rem;line-height:1.65}.confirmationHint{color:var(--muted);margin:0 auto 24px}@keyframes confirmationSpin{to{transform:rotate(360deg)}}
