@font-face{font-family:Blair ITC;src:url(/assets/BlairITC-Light-CBtaDk_y.ttf)format("truetype");font-style:normal;font-weight:300;font-display:swap}.page-view{width:min(100%,720px);margin:0 auto;padding:24px 0 18px}.classes-toolbar,.training-toolbar,.progress-toolbar,.page-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.classes-toolbar h2,.training-toolbar h2,.progress-toolbar h2,.page-toolbar h2{letter-spacing:-.025em;margin:0;font-size:1.35rem}.event-toggle,.nutrition-toggle{color:#006a58;white-space:nowrap;background:#fffef9;border:1px solid #cbd8ce;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-size:.8rem;font-weight:750;display:inline-flex}.class-days{scrollbar-width:thin;gap:8px;padding:2px 0 12px;display:flex;overflow-x:auto}.class-days button{color:#52675e;text-align:left;background:#fffef9;border:1px solid #dce5d9;border-radius:11px;flex:none;gap:3px;min-width:76px;padding:10px 9px;display:grid}.class-days button.active{color:#fff;background:#006a58;border-color:#006a58}.class-days span{font-size:.74rem}.class-list{gap:10px;display:grid}.class-card-content{background:#fffef9;border:1px solid #dce5d9;border-radius:14px;gap:17px;padding:18px;display:grid}.class-card-content h2{margin:7px 0 5px;font-size:1.14rem}.class-card-content p{color:#63736b;margin:0;line-height:1.45}.class-kind{color:#006a58;font-size:.76rem;font-weight:800}.map-link{color:#006a58;text-underline-offset:3px;margin-top:8px;font-size:.8rem;font-weight:700;text-decoration:underline;display:inline-block}.class-card-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.capacity{color:#064c40;background:#e1e5d8;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.capacity.wait{color:#76551d;background:#f2e2bd}.small-action{color:#006a58;background:0 0;border:1px solid #006a58;border-radius:9px;min-height:40px;padding:8px 13px;font-weight:750}.compact-section{margin-top:24px}.compact-section>h2{margin:0 0 9px;font-size:1.05rem}.quiet-copy{color:#63736b;line-height:1.55}.policy-notice{color:#624b27;background:#fbf5e8;border-left:3px solid #c69a49;padding:12px;font-size:.82rem;line-height:1.5}.policy-notice+.modal-actions button:disabled{cursor:not-allowed;opacity:.45}.home-notifications-card{color:#17362f;text-align:left;background:0 0;border:0;border-top:1px solid #dce5d9;grid-template-columns:24px minmax(0,1fr) 22px;align-items:center;gap:10px;width:100%;padding:14px 0;display:grid}.home-notifications-card span{gap:3px;display:grid}.home-notifications-card small{color:#63736b}.substitute-notice{color:#285f51;background:#e8f2eb;border-radius:10px;padding:12px;font-size:.86rem;line-height:1.45}.nutrition-panel{background:#fffef9;border:1px solid #dce5d9;border-radius:14px;margin-top:18px;padding:18px}.nutrition-panel h2{margin:0 0 14px;font-size:1.1rem}.nutrition-request{gap:8px;display:grid}.nutrition-request label{margin-top:4px;font-size:.82rem;font-weight:750}.nutrition-request select,.nutrition-request textarea{color:#17362f;width:100%;font:inherit;background:#fff;border:1px solid #cbd8ce;border-radius:9px;padding:10px 12px}.nutrition-request textarea{resize:vertical;min-height:82px}.nutrition-plan{background:#edf2ec;border-radius:10px;margin-top:14px;padding:13px}.nutrition-plan p{color:#63736b;margin:5px 0 0;font-size:.86rem;line-height:1.5}.achievement-row{border-top:1px solid #e1e8df;gap:4px;padding:13px 0;display:grid}.achievement-row span{color:#63736b;font-size:.8rem}.profile-page-identity{align-items:center;gap:14px;padding:18px 0 22px;display:flex}.profile-page-identity>span{color:#fff;background:#006a58;border-radius:50%;place-items:center;width:62px;height:62px;font-weight:800;display:grid}.profile-page-identity h2,.profile-page-identity p{margin:0}.profile-page-identity p,.profile-page-identity small{color:#63736b;margin-top:4px;display:block}.profile-page .profile-information{background:0 0;border:0;padding:0}.profile-line{color:#17362f;text-align:left;background:0 0;border:0;border-top:1px solid #e1e8df;grid-template-columns:minmax(100px,.6fr) minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;padding:15px 0;display:grid}.profile-line span{color:#63736b;font-size:.82rem}.profile-line strong{overflow-wrap:anywhere;text-align:right;font-size:.85rem}.logout-button{max-width:220px;margin-top:20px}.notification-page-list,.notification-preferences{gap:0;display:grid}.notification-page-item{color:#17362f;text-align:left;background:0 0;border:0;border-top:1px solid #e1e8df;grid-template-columns:10px minmax(0,1fr);gap:12px;width:100%;padding:14px 0;display:grid}.notification-page-item>span:last-child{gap:4px;display:grid}.notification-page-item small{color:#63736b;line-height:1.4}.notification-dot{background:#006a58;border-radius:50%;width:8px;height:8px;margin-top:5px}.notification-page-item.read .notification-dot{background:#dce5d9}.notification-page-item.read strong{font-weight:600}.preference-row{border-top:1px solid #e1e8df;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-weight:700;display:flex}@media (width<=520px){.page-view{padding-top:16px}.classes-toolbar,.training-toolbar,.progress-toolbar,.page-toolbar{flex-direction:column;align-items:stretch}.event-toggle,.nutrition-toggle{align-self:flex-start}.profile-line{grid-template-columns:minmax(90px,.55fr) minmax(0,1fr) 20px}}@layer compact{.bottom-nav{z-index:8;padding:7px max(12px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));background:#fffef9f7;border-top:1px solid #dce5d9;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #10231d0f}.bottom-nav button{color:#708078;background:0 0;border:0;place-items:center;gap:3px;min-height:52px;padding:4px 2px;font-size:.61rem;font-weight:650;display:grid}.bottom-nav .ui-icon{width:19px;height:19px}.bottom-nav button.active{color:#006a58;font-weight:800}.bottom-nav button.active .ui-icon{stroke-width:2.35px}.encouragement{color:#006a58;margin:15px 0 0;font-size:.84rem;font-weight:700}.news-item{grid-template-columns:50px minmax(0,1fr) 22px;gap:12px;min-height:76px}.news-visual{color:#006a58;border-radius:13px;place-items:center;width:46px;height:46px;font-size:1.55rem;font-weight:650;line-height:1;display:grid}.news-visual.mobility{background:#dcefe6;transform:rotate(-12deg)}.news-visual.summer{color:#9b6800;background:#ffe6a7}.news-visual.breath{color:#604f93;background:#e8e4f5}.news-visual.large{width:64px;height:64px;margin:18px 0 10px;font-size:2rem}.page-view{padding:22px 0 12px}.page-title{margin-bottom:16px}.page-title .eyebrow{margin-bottom:4px}.page-title h1{letter-spacing:-.035em;margin:0;font-size:1.7rem;line-height:1.15}.filter-row{gap:7px;margin:0 0 13px;display:flex;overflow-x:auto}.filter-row button{color:#52675e;white-space:nowrap;background:#fffef9;border:1px solid #dce5d9;border-radius:999px;min-height:36px;padding:7px 12px;font-size:.77rem;font-weight:700}.filter-row button.active{color:#fff;background:#006a58;border-color:#006a58}.class-list{gap:10px;display:grid}.class-card-compact,.training-card,.streak-card,.milestone-list,.exercise-list,.nutrition-card{background:#fffef9;border:1px solid #dce5d9;border-radius:14px;padding:16px}.class-card-compact h2,.training-card h2{letter-spacing:-.02em;margin:6px 0 4px;font-size:1.03rem}.class-card-compact p,.training-card>p{color:#63736b;margin:0;font-size:.82rem}.class-kind{color:#006a58;font-size:.7rem;font-weight:800}.class-card-footer{justify-content:space-between;align-items:center;gap:9px;margin-top:13px;display:flex}.capacity{color:#006a58;background:#e8f2eb;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:750}.capacity.wait{color:#905d00;background:#fff0db}.small-action{color:#006a58;background:#fffef9;border:1px solid #006a58;border-radius:8px;min-height:34px;padding:6px 10px;font-size:.72rem;font-weight:800}.compact-section{margin-top:22px}.compact-section h2{margin:0 0 9px;font-size:1rem}.quiet-copy{color:#63736b;font-size:.87rem}.training-card{color:#fff;background:#006a58;border-color:#006a58}.training-card .class-kind{color:#c8e8da}.training-card>p{color:#d7eee5}.training-card dl{margin:15px 0 0}.training-card dl div{border-top:1px solid #ffffff38;margin-top:10px;padding-top:10px}.training-card dt{color:#c8e8da;font-size:.7rem}.training-card dd{margin:3px 0 0;font-size:.84rem}.substitute-notice{color:#7b590b;background:#fff0db;border-radius:10px;margin:11px 0;padding:11px 13px;font-size:.82rem}.nutrition-toggle{color:#17362f;background:#fffef9;border:1px solid #dce5d9;border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:10px 13px;font-size:.86rem;font-weight:750;display:flex}.nutrition-toggle span:last-child{color:#006a58}.nutrition-card{margin-top:8px}.nutrition-card p{color:#63736b;margin:5px 0 0;font-size:.84rem}.streak-card{background:#e8f2eb;border-color:#cce1d5;gap:3px;display:grid}.streak-card span{color:#477064;font-size:.75rem;font-weight:700}.streak-card strong{color:#006a58;letter-spacing:-.05em;font-size:2rem}.streak-card p{color:#477064;margin:0;font-size:.82rem}.milestone-list{margin-top:11px}.milestone-list h2{margin:0 0 8px;font-size:1rem}.milestone-list div,.exercise-list div{border-top:1px solid #e1e8df;justify-content:space-between;gap:12px;padding:11px 0;font-size:.84rem;display:flex}.milestone-list span,.exercise-list span{color:#63736b}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin:11px 0;display:grid}.stats-grid div{background:#fffef9;border:1px solid #dce5d9;border-radius:13px;gap:3px;padding:15px;display:grid}.stats-grid strong{color:#006a58;font-size:1.35rem}.stats-grid span{color:#63736b;font-size:.75rem}.profile-information{gap:0;margin:0;padding:0;display:grid;overflow:hidden}.profile-identity{align-items:center;gap:12px;padding:16px;display:flex}.profile-identity>span{color:#fff;background:#006a58;border-radius:50%;place-items:center;width:42px;height:42px;font-size:.76rem;font-weight:800;display:grid}.profile-identity div{gap:2px;display:grid}.profile-identity small{color:#63736b;font-size:.77rem}.profile-line{color:#17362f;text-align:left;background:0 0;border:0;border-top:1px solid #e1e8df;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:8px;width:100%;min-height:55px;padding:10px 16px;display:grid}.profile-line span{font-size:.82rem}.profile-line strong{color:#63736b;text-align:right;font-size:.76rem;font-weight:600}.profile-line .ui-icon{color:#006a58;width:16px;height:16px}.profile-information .danger-button{width:calc(100% - 32px);margin:16px}@media (width>=700px){.bottom-nav{border-left:1px solid #dce5d9;border-right:1px solid #dce5d9;border-radius:14px 14px 0 0;width:min(100%,720px);left:50%;transform:translate(-50%)}.class-list{grid-template-columns:repeat(2,1fr)}}:root{--piko-green:#006a58;--dark-green:#10231d;--piko-cream:#f9f8f1;--piko-gold:#ffd276;--surface:#fffef9;--surface-strong:#e9f1e9;--line:#dce5d9;--muted:#63736b;--gold-soft:#ffe5a6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--piko-cream)}.header{height:62px}.wordmark b,.auth-logo{font-size:1.35rem}.avatar-button{background:var(--piko-green);width:34px;height:34px;color:var(--piko-cream);border:0;font-size:.68rem}.hero{padding:24px 0 20px}.eyebrow{letter-spacing:.14em;margin-bottom:6px;font-size:.625rem}.hero h1,.page-head h1{font-size:clamp(1.9rem,8vw,3.2rem);line-height:1.04}.hero h1 em{color:var(--piko-green)}.home-hero .primary{display:none}.welcome-row .streak{background:var(--piko-green);width:50px;height:50px;color:var(--piko-cream);border:0}.streak span{font-size:.625rem}.weekly-summary,.news-card,.notifications-card,.activity-card,.upcoming-bookings{border-color:var(--line);box-shadow:none;border-radius:12px;padding:16px}.weekly-summary{margin-bottom:12px}.weekly-summary h2,.news-card h2,.notifications-card h2,.activity-card h2,.upcoming-bookings h2{font-size:1rem}.week-metrics{margin:14px 0}.week-metrics span{font-size:.625rem}.week-days{gap:5px}.week-days span{background:#edf2ec;font-size:.625rem}.next-session{background:var(--piko-green);min-height:148px;color:var(--piko-cream);border:0;border-radius:13px;margin-bottom:12px;padding:18px}.next-session .eyebrow,.next-session .muted{color:#c6e1d7}.next-session h2{font-size:1.25rem}.next-session .round-button{color:var(--piko-green);background:#e1f0dd;border:0}.home-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.news-card{background:var(--gold-soft);min-height:150px;padding:15px}.news-card h2{font-size:1.2rem;line-height:1.12}.news-tag{margin-bottom:10px;font-size:.625rem}.notifications-card{background:#edf3ed;padding:15px}.notifications-card>button{grid-template-columns:22px 1fr;gap:7px;padding:10px 0;font-size:.625rem}.notifications-card>button>span:first-child,.notification-count{width:21px;height:21px;font-size:.625rem}.notifications-card small{display:none}.home-actions{border:0;grid-template-columns:1fr 1fr;gap:10px}.home-actions button{background:var(--surface-strong);border:0;border-radius:10px;grid-template-columns:28px 1fr;min-height:58px;padding:10px}.home-actions i{display:none}.home-actions button>span:nth-child(2){gap:1px;font-size:.64rem}.home-actions small{font-size:.625rem}.action-icon{width:28px;height:28px;font-size:.7rem}.page-head{padding:20px 0 14px}.classes-page .page-head h1{font-size:2rem}.class-tabs{border-radius:9px;padding:3px}.class-tabs button{min-height:38px;font-size:.65rem}.day-strip{scrollbar-width:none;gap:7px;margin:14px 0;display:flex;overflow-x:auto}.day-strip button{width:42px;min-width:42px;min-height:50px;color:var(--muted);background:#edf1e9;border:0;border-radius:10px;place-items:center;padding:4px;font-size:.625rem;display:grid}.day-strip button small{text-transform:uppercase;font-size:.625rem}.day-strip button.active{background:var(--piko-green);color:var(--piko-cream)}.class-filters{margin:0 0 14px}.class-filters label{font-size:.625rem}.class-filters select{border-radius:8px;min-height:36px;padding:5px 8px;font-size:.625rem}.activity-list{gap:10px}.activity-card{padding:15px}.activity-card h2{margin:8px 0 12px;font-size:1.08rem}.activity-topline,.activity-kind,.capacity{font-size:.625rem}.capacity{padding:4px 6px}.activity-details{grid-template-columns:1fr 1fr;gap:10px}.activity-details div{padding-top:7px}.activity-details dt{font-size:.625rem}.activity-details dd{margin-top:2px;font-size:.625rem}.card-action,.full-actions{margin-top:14px}.button{border-radius:8px;min-height:42px;padding:10px 14px;font-size:.65rem}.upcoming-bookings{margin:16px 0}.upcoming-bookings article{padding:10px 0;font-size:.625rem}.auth{background:var(--piko-cream);padding:20px 20px 0;display:block;position:relative;overflow:hidden}.auth:after{z-index:0;content:"";background:#c8e0cb;border-radius:55% 55% 0 0/18% 18% 0 0;height:28vh;position:absolute;bottom:-5%;left:-10%;right:-10%}.auth:before{z-index:1;content:"";background:#e8f2df;border-radius:50% 50% 0 0/20% 20% 0 0;height:20vh;position:absolute;bottom:4%;left:-20%;right:-20%}.auth-card{z-index:2;background:0 0;border:0;border-radius:0;width:min(100%,370px);margin:0 auto;padding:12px 0;position:relative}.auth-card .eyebrow{margin-top:48px}.auth-card h1{max-width:12ch;margin-bottom:20px;font-size:2rem;line-height:1.1}.social-access{gap:9px;margin-top:0}.social-button{border-radius:8px;min-height:42px;font-size:.625rem}.auth-divider{background:var(--line);height:1px;margin:16px 0 0}.auth-divider:before,.auth-divider:after{display:none}.auth-input{display:block;margin-top:9px!important}.auth-input input{min-height:42px;font-size:.66rem}.auth-card .email-access{margin-top:9px}.demo{display:none}@media (width>=700px){.home-grid{grid-template-columns:1fr 1fr}.auth{place-items:center;display:grid}.auth-card{margin:0}}@media (width<=374px){.streak{width:62px;height:62px}.class-filters{grid-template-columns:1fr}}@media (width>=700px){.home-grid{grid-template-columns:1.1fr .9fr}.activity-list{grid-template-columns:repeat(2,1fr)}.auth-card{padding:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,body,button,input,select,textarea,.wordmark,.auth-logo,.wordmark span,.auth-logo small,.hero h1 em,.plan-title,.progress-hero strong{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif!important}.eyebrow,.wordmark span,.auth-logo small,.news-tag,.week-metrics span,.activity-topline,.activity-kind,.activity-details dt,.day-strip button small{letter-spacing:normal;text-transform:none}.wordmark b,.auth-logo{letter-spacing:-.02em}.hero h1,.page-head h1{letter-spacing:-.025em;max-width:18ch;font-size:clamp(2rem,6.5vw,2.75rem);font-weight:700;line-height:1.08}.hero h1 em{letter-spacing:inherit;font-weight:700}.home-hero{padding:18px 0 16px}.home-hero .eyebrow{font-size:.6rem}.home-hero h1{max-width:20ch;font-size:clamp(1.55rem,4.5vw,2rem);line-height:1.12}.welcome-row{gap:12px}.welcome-row>:first-child{flex:auto;min-width:0}.welcome-row .streak{text-align:center;flex:0 0 48px;width:48px;height:48px;margin:0;padding:4px}.streak b{font-size:1rem}.streak span{font-size:.58rem;font-weight:600;line-height:1.1}.weekly-summary h2,.news-card h2,.notifications-card h2,.activity-card h2,.upcoming-bookings h2,.next-session h2{letter-spacing:-.015em}.weekly-summary h2{font-size:.95rem}.weekly-summary .text-button{font-size:.75rem}.week-metrics b{font-size:1.1rem}.next-session h2,.news-card h2{font-size:1.05rem;line-height:1.2}.next-session>div>p:not(.eyebrow){font-size:.85rem}:root,body,button,input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif!important}.access-page,.portal-shell{color:#17362f;background:#f7f7f2;min-height:100vh}.access-page{place-items:center;padding:24px 16px;display:grid}.access-card{background:#fffef9;border:1px solid #dce5d9;border-radius:18px;width:min(100%,420px);padding:28px 22px;box-shadow:0 14px 36px #10231d14}.brand-name,.brand-button{color:#006a58;letter-spacing:.08em;margin:0 0 28px;font-weight:800}.access-card h1,.home-intro h1,.profile-panel h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,7vw,2.5rem);line-height:1.1}.auth-tabs{background:#edf2ec;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin:26px 0 14px;padding:4px;display:grid}.auth-tabs button{color:#52675e;background:0 0;border:0;border-radius:8px;min-height:42px;font-weight:700}.auth-tabs button.active{color:#006a58;background:#fffef9;box-shadow:0 1px 5px #10231d1f}.access-intro,.demo-copy{color:#63736b;font-size:.9rem;line-height:1.55}.access-form{gap:8px;margin-top:20px;display:grid}.access-form label{font-size:.83rem;font-weight:700}.access-form input{background:#fff;border:1px solid #cbd8ce;border-radius:9px;width:100%;padding:10px 12px}.access-form input:disabled{color:#63736b;background:#f2f4ef}.access-back-link{color:#006a58;font:inherit;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;font-size:.78rem;text-decoration:underline}.access-step-copy{color:#63736b;margin:4px 0 0;font-size:.82rem}.primary-button,.secondary-button,.danger-button{border-radius:10px;width:100%;min-height:46px;padding:11px 14px;font-weight:750}.primary-button{color:#fff;background:#006a58;border:1px solid #006a58;margin-top:10px}.secondary-button{color:#006a58;background:#fffef9;border:1px solid #8ba89b}.danger-button{color:#8b2f24;background:#fff5f2;border:1px solid #a74637}.form-error{color:#8b2f24;margin:4px 0;font-size:.85rem}.social-access{text-align:center;margin-top:20px}.access-divider{color:#63736b;align-items:center;gap:10px;font-size:.78rem;display:flex}.access-divider:before,.access-divider:after{content:"";background:#dce5d9;flex:1;height:1px}.social-access>p{color:#63736b;margin:12px 0 8px;font-size:.82rem}.social-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.social-button{color:#17362f;min-height:38px;font:inherit;background:#fff;border:1px solid #cbd8ce;border-radius:9px;padding:7px 9px;font-size:.78rem;font-weight:700}.portal-shell{padding-bottom:32px}.portal-header,.portal-content,.profile-panel{width:min(100% - 32px,720px);margin:0 auto}.portal-header{justify-content:space-between;align-items:center;min-height:68px;display:flex}.brand-button{background:0 0;border:0;padding:8px 0;font-size:1rem}.brand-button span{color:#63736b;font-size:.72rem}.header-actions{align-items:center;gap:10px;display:flex}.icon-control,.profile-button{color:#17362f;background:#fffef9;border:1px solid #dce5d9;border-radius:10px;place-items:center;width:42px;height:42px;padding:0;display:grid}.profile-button{color:#fff;background:#006a58;border-radius:50%;font-size:.78rem;font-weight:800}.notification-button{position:relative}.unread-badge{color:#fff;background:#b84432;border:2px solid #f7f7f2;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 4px;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.ui-icon{flex:none;width:21px;height:21px}.home-intro{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 0;display:flex}.home-intro p:not(.eyebrow){color:#63736b;margin:8px 0 0}.streak-label{color:#006a58;background:#e8f2eb;border:1px solid #cae1d5;border-radius:10px;flex:none;gap:2px;padding:10px 12px;display:grid}.streak-label strong{font-size:.83rem}.streak-label span{color:#477064;font-size:.73rem}.week-card,.next-card,.news-section,.reservations-section,.profile-panel{background:#fffef9;border:1px solid #dce5d9;border-radius:14px;margin-bottom:16px;padding:19px}.week-card h2,.next-card h2,.news-section h2,.reservations-section h2,.modal-card h2{letter-spacing:-.025em;margin:0;font-size:1.2rem}.week-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:17px;display:grid}.week-row div{border-top:1px solid #e1e8df;gap:5px;padding:12px 0 0;display:grid}.week-row span{color:#63736b;font-size:.76rem}.week-row strong{font-size:.92rem;line-height:1.35}.text-action,.text-link{color:#006a58;background:0 0;border:0;align-items:center;gap:5px;padding:8px 0;font-weight:750;display:inline-flex}.text-link{white-space:nowrap;min-height:auto}.next-card{color:#fff;background:#006a58;border-color:#006a58}.next-card .eyebrow{color:#c4e1d6}.next-session-button{width:100%;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.next-session-button p{color:#d8eee5;margin:6px 0 0;font-size:.88rem;line-height:1.45}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.section-heading .eyebrow{margin-bottom:4px}.news-list,.reservation-list,.modal-list{gap:8px;display:grid}.news-item,.reservation-row,.settings-link{color:#17362f;text-align:left;background:0 0;border:0;border-bottom:1px solid #e1e8df;grid-template-columns:50px minmax(0,1fr) 22px;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px 0;display:grid}.news-item:last-child,.reservation-row:last-child{border-bottom:0}.news-item>span,.reservation-row>span{gap:3px;min-width:0;display:grid}.news-item>.news-copy{min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.news-item>.news-visual{min-width:0;color:inherit;font:inherit;background:0 0;border:0;padding:0}.news-item>.news-visual.mobility{color:#006a58;background:#dcefe6}.news-item>.news-visual.summer{color:#9b6800;background:#ffe6a7}.news-item>.news-visual.breath{color:#604f93;background:#e8e4f5}.news-item>.news-arrow{width:22px;min-width:0;min-height:44px;color:inherit;font:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.news-item small,.reservation-row small{overflow-wrap:anywhere;color:#63736b;font-size:.79rem;line-height:1.35}.news-item strong,.reservation-row strong{font-size:.92rem}.empty-state{text-align:center;padding:24px 0 4px}.empty-state h3{margin:0}.empty-state p{color:#63736b}.empty-state .secondary-button{max-width:220px}.profile-panel{margin-top:24px}.profile-list,.detail-list{margin:22px 0}.profile-list div,.detail-list div{border-top:1px solid #e1e8df;padding:12px 0}.profile-list dt,.detail-list dt{color:#63736b;font-size:.76rem}.profile-list dd,.detail-list dd{margin:4px 0 0;line-height:1.45}.profile-panel .danger-button{margin-top:10px}.modal-backdrop{z-index:10;background:#0c1b178f;align-items:end;padding:12px;display:grid;position:fixed;inset:0}.modal-card{background:#fffef9;border-radius:16px;width:min(100%,640px);max-height:min(85vh,720px);margin:0 auto;padding:20px;overflow:auto}.modal-header{border-bottom:1px solid #e1e8df;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.detail-article h2{margin:5px 0 12px}.detail-article p{line-height:1.65}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.settings-link{color:#006a58;grid-template-columns:24px minmax(0,1fr) 22px;margin:8px 0;font-weight:700}.notification-item{border-bottom:1px solid #e1e8df;padding:13px 0}.notification-item p{color:#63736b;margin:4px 0;font-size:.9rem}.notification-item small{color:#63736b;font-size:.76rem}.slot-option{border:1px solid #dce5d9;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.slot-option input{min-height:auto;margin-top:4px}.settings-panel p{color:#63736b;line-height:1.6}.toast{z-index:20;color:#fff;text-align:center;background:#17362f;border-radius:10px;max-width:420px;margin:auto;padding:13px 15px;position:fixed;bottom:16px;left:16px;right:16px}@media (width<=430px){.access-page{padding:16px}.access-card{padding:23px 18px}.portal-header,.portal-content,.profile-panel{width:min(100% - 24px,720px)}.home-intro{padding:17px 0}.home-intro h1{font-size:1.8rem}.week-card,.next-card,.news-section,.reservations-section,.profile-panel{padding:16px}.week-row{grid-template-columns:1fr;gap:8px}.modal-backdrop{padding:0}.modal-card{border-radius:16px 16px 0 0;max-height:88vh}.modal-actions{grid-template-columns:1fr}}}.header{gap:10px}.header-notifications{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--piko-green);border-radius:50%;place-items:center;margin-left:auto;padding:0;display:grid;position:relative}.header-notifications svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.header-notifications>span{border:2px solid var(--piko-cream);background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.58rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-4px;right:-4px}.classes-page{padding-top:20px}.event-toggle-row{justify-content:flex-end;margin-bottom:12px;display:flex}.event-toggle{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--dark-green);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:5px 10px 5px 8px;font-size:.76rem;font-weight:750;display:inline-flex}.agenda-toolbar,.page-toolbar{justify-content:space-between;align-items:center;min-height:48px;padding-top:12px;display:flex}.agenda-toolbar .round-button{margin-left:auto}.plan-card,.progress-hero{margin-top:20px}.profile-top{padding-top:24px}.profile-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 18px}.profile-details summary{min-height:48px;color:var(--piko-green);cursor:pointer;padding:14px 0;font-size:.82rem;font-weight:800;list-style-position:inside}.profile-details dl{gap:0;margin:0 0 12px;display:grid}.profile-details dl div{border-top:1px solid var(--line);padding:10px 0}.profile-details dt{color:var(--muted);font-size:.68rem;font-weight:750}.profile-details dd{margin:3px 0 0;font-size:.82rem;line-height:1.5}.profile-details>p{margin:0 0 14px}.settings-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.68rem;font-weight:800}.notifications-page{padding:8px 0 22px}.page-toolbar .back{margin:0}.notification-page-title{align-items:flex-end;margin:16px 0 12px}.notification-page-title h1{letter-spacing:-.03em;margin:0;font-size:1.55rem;line-height:1.15}.notification-settings-link{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:54px;margin:0 0 14px;padding:9px 12px}.notification-page-list{border-top:1px solid var(--line);display:grid}.notification-page-item{border-bottom:1px solid var(--line);grid-template-columns:10px minmax(0,1fr);gap:12px;padding:15px 0;display:grid}.notification-page-item>div{gap:4px;display:grid}.notification-page-item p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.notification-page-item small{color:var(--muted);font-size:.68rem}.notification-status{background:var(--piko-green);border-radius:50%;width:8px;height:8px;margin-top:5px}.notification-page-item.read .notification-status{background:var(--line)}.notification-page-item.read strong{color:var(--muted);font-weight:650}.notification-preferences{border-top:1px solid var(--line);display:grid}.notification-preferences button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:66px;color:var(--dark-green);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.notification-preferences button>span{gap:3px;display:grid}.notification-preferences small{color:var(--muted);font-size:.76rem}.notification-preferences button>b{color:var(--piko-green);white-space:nowrap;font-size:.72rem}@media (width<=430px){.event-toggle-row{justify-content:flex-start}}@font-face{font-family:Blair ITC;src:url(/assets/BlairITC-Medium-CQqZ1el8.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Blair ITC;src:url(/assets/BlairITC-Bold-CTW95wUw.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Lexend Tera;src:url(/assets/LexendTera-VariableFont_wght-BsgI04jM.ttf)format("truetype-variations");font-style:normal;font-weight:100 900;font-display:swap}@layer base{:root{--piko-green:#044538;--dark-green:#0f160f;--piko-cream:#f3efe1;--piko-gold:#ffe3aa;--surface:color-mix(in srgb, var(--piko-cream) 93%, white);--surface-strong:color-mix(in srgb, var(--piko-green) 9%, var(--piko-cream));--line:color-mix(in srgb, var(--piko-green) 22%, var(--piko-cream));--muted:color-mix(in srgb, var(--dark-green) 63%, var(--piko-cream));--gold-soft:color-mix(in srgb, var(--piko-gold) 52%, var(--piko-cream));--danger:#8b2f24;--danger-soft:color-mix(in srgb, var(--danger) 10%, var(--piko-cream));color:var(--dark-green);background:var(--piko-cream);font-synthesis:none;text-rendering:optimizelegibility;font-family:Lexend Tera,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--piko-cream)}body{background:var(--piko-cream);min-width:320px;min-height:100vh;margin:0;line-height:1.5}button,input{min-height:44px;font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--piko-green);outline-offset:3px;box-shadow:0 0 0 6px var(--piko-gold)}button:disabled{cursor:not-allowed;opacity:.48}.wordmark,.auth-logo{font-family:Blair ITC,ui-sans-serif,system-ui,sans-serif}.app-shell{min-height:100vh;padding-bottom:calc(86px + env(safe-area-inset-bottom));background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--piko-gold) 28%, transparent) 0, transparent 26rem), var(--piko-cream)}.header{justify-content:space-between;align-items:center;width:min(100% - 32px,760px);height:76px;margin:auto;display:flex}.wordmark{color:var(--piko-green);background:0 0;border:0;align-items:baseline;gap:7px;padding:0 2px;display:flex}.wordmark b,.auth-logo{letter-spacing:-.04em;font-size:1.65rem;font-weight:700}.wordmark span,.auth-logo small{letter-spacing:.14em;font-family:Lexend Tera,ui-sans-serif,system-ui,sans-serif;font-size:.625rem;font-weight:700}.avatar-button,.round-button{border:1px solid var(--line);background:var(--surface-strong);width:46px;height:46px;color:var(--piko-green);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.content{width:min(100% - 32px,760px);margin:auto}.hero{padding:38px 0 32px}.eyebrow{color:var(--piko-green);letter-spacing:.1em;margin:0 0 10px;font-size:.7rem;font-weight:750;line-height:1.35}.hero h1,.page-head h1{letter-spacing:-.045em;max-width:15ch;margin:0;font-size:clamp(2.15rem,8vw,4.4rem);font-weight:720;line-height:1.08}.hero h1 em{color:var(--piko-green);letter-spacing:-.025em;font-family:Blair ITC,ui-sans-serif,system-ui,sans-serif;font-style:normal;font-weight:500}.muted{color:var(--muted);line-height:1.65}.small{font-size:.8rem}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:52px;padding:14px 18px;font-size:.9rem;font-weight:700;line-height:1.3;transition:transform .16s,background-color .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--piko-green);color:var(--piko-cream);margin-top:24px}.primary:hover:not(:disabled){background:var(--dark-green)}.primary span{margin-left:auto;font-size:1.15rem}.next-session{border:1px solid color-mix(in srgb, var(--piko-gold) 70%, var(--piko-green));background:var(--gold-soft);border-radius:20px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px;padding:23px;display:flex}.next-session h2,.section h2,.confirmation h2,.modal h2,.plan-card h2,.empty h2{letter-spacing:-.03em;margin:0 0 7px;font-size:1.3rem;font-weight:720;line-height:1.2}.next-session p{margin:5px 0}.studio-news{border:1px solid var(--line);background:var(--surface);border-radius:20px;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 18px;padding:20px 22px;display:flex}.studio-news h2{letter-spacing:-.03em;margin:0 0 7px;font-size:1.15rem;font-weight:720;line-height:1.2}.studio-news p:not(.eyebrow){color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.studio-news>span{background:var(--gold-soft);width:34px;height:34px;color:var(--piko-green);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.home-actions,.settings{border-top:1px solid var(--line);display:grid}.home-actions button,.settings>button{border:0;border-bottom:1px solid var(--line);min-height:76px;color:var(--dark-green);text-align:left;background:0 0;grid-template-columns:44px 1fr 24px;align-items:center;gap:12px;padding:14px 0;display:grid}.home-actions button:hover,.settings>button:hover{color:var(--piko-green)}.home-actions button>span:nth-child(2),.settings>button>span:nth-child(2){gap:4px;display:grid}.home-actions small,.settings small,.billing small{color:var(--muted);font-size:.8rem;line-height:1.5;display:block}.home-actions i,.settings i{font-size:1.2rem;font-style:normal}.action-icon,.settings>button>span:first-child{background:var(--surface-strong);width:36px;height:36px;color:var(--piko-green);border-radius:50%;place-items:center;font-weight:800;display:grid}.section{border-top:1px solid var(--line);padding:27px 0}.section-title,.row{justify-content:space-between;align-items:end;gap:15px;display:flex}.page-head{padding:30px 0 24px}.page-head .muted{max-width:50ch;margin-bottom:0}.stepper{grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 0;padding:0;list-style:none;display:grid}.stepper li{min-width:0;color:var(--muted);grid-template-columns:1fr;place-items:center start;gap:6px;display:grid}.stepper li:before{background:var(--line);content:"";border-radius:3px;grid-column:1/-1;height:3px}.stepper li.current:before,.stepper li.done:before{background:var(--piko-green)}.stepper li>span{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.68rem;font-weight:800;display:grid}.stepper li.current,.stepper li.done{color:var(--piko-green)}.stepper li.current>span,.stepper li.done>span{border-color:var(--piko-green)}.stepper small{font-size:clamp(.64rem,2.45vw,.72rem);font-weight:700;line-height:1.35}.step-count{color:var(--muted);margin:12px 0 0;font-size:.78rem;line-height:1.5}.option-list,.agenda-list,.slot-list{gap:11px;display:grid}.class-card,.agenda-card,.slot,.selection-summary{border:1px solid var(--line);background:var(--surface);width:100%;min-height:68px;color:var(--dark-green);text-align:left;border-radius:15px;align-items:center;gap:14px;padding:16px;display:flex}.class-card:hover:not(:disabled),.slot:hover:not(:disabled),.agenda-card:hover,.slot.selected{border-color:var(--piko-green);background:var(--surface-strong)}.slot.selected{box-shadow:inset 4px 0 0 var(--piko-green)}.class-card>span:nth-child(2),.agenda-card>span:nth-child(2),.slot>span:first-child,.selection-summary>span:last-child{flex:1;gap:4px;display:grid}.class-card small,.agenda-card small,.slot small,.selection-summary small{color:var(--muted);font-size:.8rem;line-height:1.5;display:block}.class-card .intensity-cue{color:var(--piko-green);font-weight:700}.class-icon{background:var(--gold-soft);width:43px;height:43px;color:var(--piko-green);border-radius:12px;flex:none;place-items:center;font-size:1.2rem;display:grid}.class-card i{font-style:normal}.selection-summary{background:var(--gold-soft);margin-bottom:14px}.selected-mark{color:var(--piko-green)}.back,.text-button{min-height:44px;color:var(--piko-green);background:0 0;border:0;padding:10px 4px;font-weight:750}.back{margin-bottom:8px}.fixed-action{box-shadow:0 8px 20px color-mix(in srgb, var(--dark-green) 14%, transparent);margin-top:18px;position:static}.confirmation{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-top:14px;padding:22px}.booking-summary{gap:0;margin:20px 0;display:grid}.booking-summary div{border-bottom:1px solid var(--line);gap:5px;padding:13px 0;display:grid}.booking-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:750}.booking-summary dd{margin:0;line-height:1.45}.tabs{border-bottom:1px solid var(--line);gap:22px;margin-bottom:17px;display:flex}.tabs button{min-height:48px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 2px;font-weight:800}.tabs .active{border-color:var(--piko-green);color:var(--piko-green)}.calendar{background:var(--surface-strong);width:48px;height:50px;color:var(--piko-green);border-radius:11px;flex:none;place-items:center;display:grid}.calendar b{font-size:1.1rem}.calendar small{text-transform:uppercase;font-size:.625rem}.status{border:1px solid var(--line);background:var(--surface-strong);color:var(--piko-green);border-radius:999px;padding:6px 8px;font-size:.68rem;font-weight:800}.status.cancelled{border-color:color-mix(in srgb, var(--danger) 30%, var(--piko-cream));background:var(--danger-soft);color:var(--danger)}.status.completed{background:var(--piko-cream);color:var(--muted)}.empty{border:1px dashed var(--line);text-align:center;border-radius:16px;padding:34px 20px}.empty h2,.empty p{margin:0 0 10px}.compact-empty{margin:8px 0 16px;padding:24px 16px}.loading-state{background:var(--surface-strong);color:var(--piko-green);text-align:center;border-radius:14px;margin:0;padding:20px}.modal-bg{z-index:3;background:color-mix(in srgb, var(--dark-green) 64%, transparent);align-items:end;display:grid;position:fixed;inset:0}.modal{max-height:90vh;padding:34px 24px calc(30px + env(safe-area-inset-bottom));background:var(--piko-cream);border-radius:24px 24px 0 0;position:relative;overflow:auto}.close{width:44px;height:44px;color:var(--dark-green);background:0 0;border:0;place-items:center;padding:0;font-size:1.65rem;display:grid;position:absolute;top:10px;right:12px}.detail-lines{margin:22px 0}.detail-lines p{border-bottom:1px solid var(--line);gap:5px;margin:0;padding:13px 0;display:grid}.detail-lines b{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.66rem}.notice,.modal-copy{border-left:4px solid var(--piko-gold);background:var(--surface-strong);color:var(--muted);border-radius:10px;padding:14px;font-size:.9rem;line-height:1.6}.danger{color:var(--danger)}.danger-fill{background:var(--danger);color:var(--piko-cream);margin-top:24px}.plan-card{background:var(--piko-green);color:var(--piko-cream);border-radius:20px;padding:26px}.plan-card p{color:color-mix(in srgb, var(--piko-cream) 84%, var(--piko-green))}.plan-badge{background:var(--piko-gold);color:var(--dark-green);letter-spacing:.08em;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:900;display:inline-block}.plan-price{letter-spacing:-.05em;margin:20px 0;font-family:Lexend Tera,ui-sans-serif,system-ui,sans-serif;font-size:3.25rem;font-weight:750;line-height:1}.plan-price small{font-family:inherit;font-size:.9rem}.plan-card hr,.billing hr{border:0;border-top:1px solid color-mix(in srgb, var(--piko-cream) 34%, var(--piko-green));margin:20px 0}.light{background:var(--piko-cream);color:var(--piko-green);margin-top:18px}.billing{border:1px solid color-mix(in srgb, var(--piko-cream) 30%, var(--piko-green));border-radius:12px;gap:8px;margin-top:14px;padding:14px;display:grid}.compact{margin-top:26px}.compact ul{color:var(--muted);margin:13px 0;padding-left:20px;font-size:.82rem;line-height:1.9}.progress-hero{background:var(--gold-soft);border-radius:20px;justify-content:space-between;align-items:center;padding:24px;display:flex}.progress-hero div:first-child{gap:2px;display:grid}.progress-hero span{letter-spacing:.1em;font-size:.7rem;font-weight:850}.progress-hero strong{letter-spacing:-.05em;font-family:Lexend Tera,ui-sans-serif,system-ui,sans-serif;font-size:3.4rem;font-weight:750;line-height:1}.ring{border:9px solid var(--piko-green);border-right-color:var(--piko-cream);border-radius:50%;place-items:center;width:96px;height:96px;font-size:1.45rem;font-weight:800;display:grid}.ring small{font-size:.65rem}.bars{align-items:end;gap:8px;height:105px;margin:20px 0;display:flex}.bars span{background:var(--line);border-radius:6px 6px 2px 2px;width:100%}.bars .accent{background:var(--piko-gold);box-shadow:inset 0 0 0 1px var(--piko-green)}.progress-line{background:var(--line);border-radius:10px;height:9px;margin:19px 0;overflow:hidden}.progress-line i{border-radius:inherit;background:var(--piko-green);width:66%;height:100%;display:block}.profile-top{align-items:center;gap:17px;padding:32px 0;display:flex}.profile-avatar{background:var(--piko-green);width:70px;height:70px;color:var(--piko-cream);border-radius:50%;flex:none;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.profile-top h1{letter-spacing:-.035em;margin:0;font-size:1.9rem;font-weight:720;line-height:1.2}.profile-top p{margin:4px 0}.help{background:var(--surface-strong);border-radius:12px;margin:8px 0;padding:15px;font-size:.9rem;line-height:1.6}.help p{margin:7px 0}.logout{color:var(--danger);margin-top:20px}.bottom-nav{z-index:2;padding:6px max(12px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--piko-cream) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-height:58px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-items:center;gap:2px;min-width:0;padding:5px;font-size:.68rem;font-weight:650;display:grid}.bottom-nav span{text-align:center;font-size:.68rem;line-height:1.15}.bottom-nav .active{background:var(--surface-strong);color:var(--piko-green);font-weight:850}.toast{z-index:5;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));border:1px solid var(--piko-green);background:var(--piko-green);max-width:440px;min-height:52px;color:var(--piko-cream);box-shadow:0 13px 30px color-mix(in srgb, var(--dark-green) 24%, transparent);border-radius:12px;align-items:center;gap:10px;padding:13px 15px;font-size:.8rem;line-height:1.4;display:flex;position:fixed;left:16px}.toast>span{background:var(--piko-gold);width:24px;height:24px;color:var(--dark-green);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.toast.error{border-color:var(--danger);background:var(--danger)}.auth{background:var(--piko-green);min-height:100vh;display:grid}.auth-art{color:var(--piko-cream);background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--piko-gold) 25%, transparent), transparent 40%), var(--piko-green);display:none}.auth-art span{max-width:8ch;font-family:Blair ITC,sans-serif;font-size:clamp(3rem,5vw,4.5rem);font-weight:500;line-height:1.04}.auth-art i{color:var(--piko-gold);font-style:normal}.auth-card{border:1px solid color-mix(in srgb, var(--piko-green) 14%, var(--piko-cream));background:var(--piko-cream);border-radius:16px;align-self:center;width:min(100% - 32px,430px);margin:auto;padding:36px 30px}.auth-card .eyebrow{margin-top:36px}.auth-card h1{letter-spacing:-.04em;margin:0 0 8px;font-size:2.15rem;font-weight:720;line-height:1.15}.auth-card label{color:var(--dark-green);gap:8px;margin-top:20px;font-size:.82rem;font-weight:700;display:grid}.auth-card input{border:1px solid var(--line);background:var(--surface);min-height:50px;color:var(--dark-green);border-radius:10px;padding:13px;font-size:1rem;line-height:1.4}.auth-card .button{margin-top:26px}.demo{color:var(--muted);text-align:center;margin:18px 0 0;font-size:.74rem;line-height:1.5}.error:not(.toast){border:1px solid color-mix(in srgb, var(--danger) 28%, var(--piko-cream));border-left:4px solid var(--danger);background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:12px;font-size:.78rem;line-height:1.45}@media (width<=374px){.content,.header{width:min(100% - 24px,760px)}.hero{padding-top:26px}.hero h1,.page-head h1{font-size:2rem}.next-session,.confirmation,.plan-card{padding:18px}.agenda-card{gap:10px;padding:13px}.status{padding:5px}}@media (width>=700px){.app-shell{padding-bottom:28px}.header,.content{width:min(100% - 64px,1000px)}.header{height:88px}.bottom-nav{border:1px solid var(--line);width:360px;box-shadow:0 12px 35px color-mix(in srgb, var(--dark-green) 12%, transparent);border-radius:16px;bottom:32px;left:auto;right:32px}.toast{bottom:116px;left:auto;right:32px}.modal-bg{align-items:center;padding:24px}.modal{border-radius:24px;width:min(100%,540px)}.auth{grid-template-columns:1fr 1fr}.auth-art{place-items:center;padding:8vw;display:grid}.hero{padding-top:64px}.next-session{padding:30px}.option-list,.agenda-list{grid-template-columns:repeat(2,1fr)}.class-card{min-height:136px}.agenda-card{align-items:start}.profile-top{padding-top:58px}}.social-access{gap:10px;margin-top:26px;display:grid}.social-button,.guest-button{border:1px solid var(--line);width:100%;color:var(--dark-green);background:#fff;border-radius:12px;align-items:center;padding:0 16px;font-weight:700;display:flex}.social-button{justify-content:center;gap:12px}.social-button span{width:22px;color:var(--piko-green);place-items:center;font-size:1rem;font-weight:900;display:grid}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:22px 0 0;font-size:.68rem;display:flex}.auth-divider:before,.auth-divider:after{background:var(--line);content:"";flex:1;height:1px}.guest-button{color:var(--piko-green);background:0 0;justify-content:space-between;margin-top:12px}.home-hero .muted{max-width:56ch}.welcome-row{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.streak{border:1px solid var(--piko-green);background:var(--gold-soft);width:74px;height:74px;color:var(--piko-green);border-radius:50%;flex:none;place-items:center;display:grid}.streak b{font-size:1.55rem;line-height:1}.streak span{font-size:.625rem;font-weight:800}.weekly-summary,.news-card,.notifications-card,.activity-card,.upcoming-bookings{border:1px solid var(--line);background:color-mix(in srgb, white 82%, var(--piko-cream));border-radius:20px;padding:22px}.weekly-summary{margin-bottom:18px}.weekly-summary h2,.news-card h2,.notifications-card h2,.activity-card h2,.upcoming-bookings h2{letter-spacing:-.03em;margin:0;font-size:1.15rem}.week-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;display:grid}.week-metrics div{border-right:1px solid var(--line);gap:3px;padding-right:8px;display:grid}.week-metrics div:last-child{border:0}.week-metrics b{color:var(--piko-green);font-size:1.45rem}.week-metrics span{color:var(--muted);font-size:.65rem}.week-days{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.week-days span{aspect-ratio:1;background:var(--surface-strong);color:var(--muted);border-radius:50%;place-items:center;font-size:.65rem;font-weight:800;display:grid}.week-days .done{background:var(--piko-green);color:#fff}.home-grid{gap:18px;margin-bottom:18px;display:grid}.news-card{background:radial-gradient(circle at 100% 0, var(--gold-soft), transparent 48%), #fff;align-content:space-between;min-height:260px;display:grid}.news-tag{background:var(--piko-green);color:#fff;border-radius:999px;margin-bottom:20px;padding:5px 8px;font-size:.625rem;font-weight:800;display:inline-block}.news-card h2{max-width:18ch;font-size:1.55rem}.news-card p:not(.eyebrow){color:var(--muted);font-size:.8rem;line-height:1.65}.notifications-card>button{border:0;border-top:1px solid var(--line);width:100%;color:var(--dark-green);text-align:left;background:0 0;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;display:grid}.notifications-card>button>span:first-child,.notification-count{background:var(--surface-strong);width:30px;height:30px;color:var(--piko-green);border-radius:50%;place-items:center;font-size:.68rem;font-weight:850;display:grid}.notifications-card>button>span:last-child{gap:4px;display:grid}.notifications-card small{color:var(--muted);font-size:.72rem;line-height:1.5}.classes-head h1{max-width:none}.class-tabs{background:var(--surface-strong);border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.class-tabs button{color:var(--muted);background:0 0;border:0;border-radius:10px;font-weight:800}.class-tabs button.active{color:var(--piko-green);box-shadow:0 4px 14px color-mix(in srgb, var(--piko-green) 10%, transparent);background:#fff}.class-filters{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 22px;display:grid}.class-filters label{color:var(--muted);gap:6px;font-size:.64rem;font-weight:800;display:grid}.class-filters select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--dark-green);font:inherit;background:#fff;border-radius:10px;padding:8px 10px}.waitlist-banner{border:1px solid color-mix(in srgb, var(--piko-gold) 75%, var(--piko-green));background:var(--gold-soft);border-radius:14px;grid-template-columns:10px 1fr auto;align-items:start;gap:12px;margin-bottom:16px;padding:16px;display:grid}.waitlist-banner p{color:var(--muted);margin:4px 0 0;font-size:.72rem}.status-dot{background:var(--piko-green);border-radius:50%;width:9px;height:9px;margin-top:6px}.activity-list{gap:14px;display:grid}.activity-card h2{margin-top:12px;font-size:1.35rem}.activity-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.activity-kind,.capacity{color:var(--piko-green);letter-spacing:.08em;font-size:.625rem;font-weight:850}.capacity{background:var(--surface-strong);letter-spacing:0;border-radius:999px;padding:5px 8px}.capacity.full{background:var(--danger-soft);color:var(--danger)}.activity-description{color:var(--muted);margin:8px 0 18px;font-size:.78rem;line-height:1.6}.activity-details{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.activity-details div{border-top:1px solid var(--line);padding-top:9px}.activity-details dt{color:var(--muted);text-transform:uppercase;font-size:.625rem;font-weight:800}.activity-details dd{margin:4px 0 0;font-size:.72rem;line-height:1.5}.card-action,.full-actions{margin-top:20px}.full-actions .outline{min-height:50px}.alternative-slot{grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:14px 0 0;display:grid}.alternative-slot>span{background:var(--gold-soft);width:30px;height:30px;color:var(--piko-green);border-radius:50%;place-items:center;display:grid}.alternative-slot p{color:var(--muted);margin:0;font-size:.68rem;line-height:1.5}.alternative-slot b{color:var(--dark-green);display:block}.upcoming-bookings{margin:24px 0}.upcoming-bookings>.section-title>span{background:var(--piko-green);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.7rem;font-weight:800;display:grid}.upcoming-bookings article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:15px 0;display:flex}.upcoming-bookings article:first-of-type{margin-top:15px}.upcoming-bookings article div{gap:4px;display:grid}.upcoming-bookings small{color:var(--muted);font-size:.66rem;line-height:1.5}.balance-card,.profile-information,.request-form,.request-history{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin:0 0 18px;padding:20px}.balance-card h2,.profile-information h2,.request-form h3,.request-history h3{letter-spacing:-.03em;margin:0;font-size:1.1rem}.balance-card dl,.profile-information dl{grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 0;display:grid}.balance-card dl div,.profile-information dl div{border-top:1px solid var(--line);padding:10px 0}.balance-card dt,.profile-information dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:750}.balance-card dd,.profile-information dd{margin:5px 0 0;font-size:.82rem;line-height:1.55}.balance-card dd{color:var(--piko-green);font-size:1.15rem;font-weight:800}.balance-deadline{color:var(--muted);margin:16px 0 0;font-size:.75rem}.waitlist-cta{border:1px solid var(--line);background:var(--surface-strong);border-radius:14px;margin-top:16px;padding:16px}.waitlist-cta label,.request-form label{color:var(--dark-green);gap:7px;font-size:.72rem;font-weight:750;display:grid}.waitlist-cta select,.request-form input,.request-form select,.request-form textarea{border:1px solid var(--line);background:var(--piko-cream);width:100%;min-height:44px;color:var(--dark-green);font:inherit;border-radius:10px;padding:10px 12px}.request-actions{gap:10px;margin-top:16px;display:grid}.outline{border-color:var(--piko-green);color:var(--piko-green);background:0 0;margin:0}.request-form{gap:13px;margin-top:16px;display:grid}.request-form textarea{resize:vertical;min-height:88px}.request-form .primary{margin-top:0}.request-history{margin-top:16px}.request-history article{border-top:1px solid var(--line);justify-content:space-between;align-items:start;gap:12px;padding:14px 0;display:flex}.request-history article:first-of-type{margin-top:12px}.request-history small{color:var(--muted);margin-top:4px;font-size:.7rem;line-height:1.5;display:block}.request-status{background:var(--gold-soft);color:var(--dark-green);text-align:center;border-radius:999px;flex:none;padding:5px 7px;font-size:.625rem;font-weight:800}.request-status.approved{background:color-mix(in srgb, var(--piko-green) 16%, var(--piko-cream))}.request-status.rejected{background:var(--danger-soft);color:var(--danger)}.profile-information{margin-top:0}.profile-information dl{grid-template-columns:1fr}.profile-information p:last-child{margin:16px 0 0}@media (width>=700px){.balance-card dl{grid-template-columns:repeat(4,1fr)}.request-actions,.request-form{grid-template-columns:repeat(2,1fr)}.request-form h3,.request-form .error,.request-form .primary,.request-form .text-button{grid-column:1/-1}}}.view-switch{background:#fffef9;border:1px solid #dce5d9;border-radius:10px;padding:3px;display:inline-flex}.view-switch button{color:#63736b;min-height:32px;font:inherit;background:0 0;border:0;border-radius:7px;padding:5px 10px;font-size:.78rem;font-weight:750}.view-switch button.active{color:#fff;background:#006a58}.compact-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;display:grid}.compact-filters select{color:#17362f;width:100%;min-height:38px;font:inherit;background:#fffef9;border:1px solid #dce5d9;border-radius:9px;padding:0 8px;font-size:.76rem}.compact-filters .event-toggle{justify-content:center;min-height:38px;padding:7px 9px}.calendar-days{border-bottom:1px solid #e1e8df;margin-bottom:16px}.all-classes{grid-template-columns:1fr}.policy-inline{color:#76551d;margin:14px 0 0;font-size:.82rem}.cancellation-button{font-size:.78rem}.profile-group{background:#fffef9;border:1px solid #dce5d9;border-radius:12px;margin:0 0 18px;overflow:hidden}.profile-group>p{color:#63736b;text-transform:uppercase;letter-spacing:.06em;margin:0;padding:11px 16px 6px;font-size:.72rem;font-weight:750}.profile-group .profile-line:first-of-type{border-top:0}.logout-link{color:#b8413c;font:inherit;background:0 0;border:0;padding:8px 0;font-size:.82rem;font-weight:700}.subpage-heading{gap:12px;margin-bottom:16px;display:grid}.subpage-heading h2{margin:0;font-size:1.35rem}.subpage-content{background:#fffef9;border:1px solid #dce5d9;border-radius:12px;gap:1px;display:grid;overflow:hidden}.profile-field,.profile-choice{color:#17362f;text-align:left;min-height:58px;font:inherit;background:0 0;border:0;border-bottom:1px solid #e1e8df;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.profile-field:last-child,.profile-choice:last-child{border-bottom:0}.profile-field{gap:4px;display:grid}.profile-field span{color:#63736b;font-size:.76rem}.profile-choice strong{color:#006a58}.profile-subpage .secondary-button{margin:16px}.mark-read-link{color:#006a58;width:auto;min-height:auto;font:inherit;white-space:nowrap;background:0 0;border:0;padding:4px 0;font-size:.82rem;font-weight:750}.notification-settings-group{background:#fffef9;border:1px solid #dce5d9;border-radius:12px;margin-bottom:20px;padding:0 14px}.notification-settings-group h3{color:#63736b;text-transform:uppercase;letter-spacing:.06em;margin:0;padding:14px 0 4px;font-size:.76rem}.notification-settings-group .preference-row:first-child{border-top:0}.profile-page{padding-top:10px}.profile-group{margin-bottom:12px}.profile-group>p{padding:9px 14px 3px}.profile-group .profile-line{min-height:48px;padding:11px 14px}.profile-page-identity{padding:10px 0 16px}.logout-link{margin-top:2px}.reset-demo-link{color:#63736b;font:inherit;text-underline-offset:3px;background:0 0;border:0;margin-top:8px;padding:5px 0;font-size:.78rem;font-weight:700;text-decoration:underline}@media (width<=520px){.compact-filters{grid-template-columns:1fr}.classes-toolbar{flex-direction:row;align-items:center;gap:10px}.classes-toolbar>div:first-child{min-width:0}.classes-toolbar h2{font-size:1.05rem}.classes-toolbar .view-switch{flex:none}}.toggle-control{color:#006a58;cursor:pointer;white-space:nowrap;background:#fffef9;border:1px solid #cbd8ce;border-radius:10px;justify-content:space-between;align-items:center;gap:9px;min-height:38px;padding:7px 9px;font-size:.8rem;font-weight:750;display:inline-flex;position:relative}.toggle-control input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toggle-track{background:#cbd8ce;border-radius:999px;flex:none;width:42px;height:24px;transition:background .15s;display:inline-block;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-control input:checked+.toggle-track{background:#006a58}.toggle-control input:checked+.toggle-track:after{transform:translate(18px)}.toggle-control input:focus-visible+.toggle-track{outline-offset:3px;outline:3px solid #006a5847}.toggle-control.event-toggle{justify-content:center}.toggle-control.nutrition-toggle{color:#17362f;background:#fffef9;border-color:#dce5d9;border-radius:10px;width:100%;min-height:46px;padding:10px 13px;font-size:.86rem}.toggle-control.preference-row{color:#17362f;text-align:left;background:0 0;border:0;border-top:1px solid #e1e8df;border-radius:0;width:100%;padding:16px 0}.class-filter-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}.class-filter-row .filter-control{flex:auto;min-width:0}.class-filter-row .event-toggle{flex:none}.filter-control{background:#fffef9;border:1px solid #dce5d9;border-radius:10px}.filter-control summary{cursor:pointer;color:#17362f;padding:10px 12px;font-size:.82rem;font-weight:750;list-style:none}.filter-control summary::-webkit-details-marker{display:none}.filter-control summary:after{float:right;content:"⌄";color:#006a58;font-size:1rem;line-height:1}.filter-control[open] summary{border-bottom:1px solid #e1e8df}.filter-sections{gap:10px;padding:11px 12px 12px;display:grid}.filter-sections label{grid-template-columns:minmax(0,.6fr) minmax(0,1fr);align-items:center;gap:10px;display:grid}.filter-sections label>span{color:#63736b;font-size:.76rem;font-weight:750}.filter-sections select{color:#17362f;width:100%;min-height:34px;font:inherit;background:#fffef9;border:1px solid #dce5d9;border-radius:8px;padding:0 8px;font-size:.76rem}.day-calendar{scrollbar-width:thin;gap:8px;padding:2px 0 12px;display:flex;overflow-x:auto}.day-calendar button{color:#52675e;text-align:left;min-width:76px;min-height:60px;font:inherit;background:#fffef9;border:1px solid #dce5d9;border-radius:11px;flex:none;gap:3px;padding:9px;display:grid}.day-calendar button.active{color:#fff;background:#006a58;border-color:#006a58}.day-calendar button.fixed{box-shadow:inset 0 -3px #c69a49}.day-calendar button small{color:#8a6a2f;font-size:.66rem;font-weight:750}.day-calendar button.active small{color:#f4dfaa}.day-calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid;overflow:visible}.day-calendar-month button{min-width:0;min-height:58px;padding:7px}.day-calendar-month button strong{font-size:.75rem}.day-calendar-month button span{font-size:.72rem}.day-calendar-month button:nth-child(n+1){text-align:center}.training-summary{border-bottom:1px solid #dce5d9;padding:4px 0 18px}.training-summary h2{margin:6px 0 4px;font-size:1.15rem}.training-summary>p{color:#63736b;margin:0;font-size:.86rem}.training-summary dl{gap:10px;margin:16px 0 0;display:grid}.training-summary dl>div{border-top:1px solid #e1e8df;padding-top:10px}.training-summary dt{color:#63736b;font-size:.72rem}.training-summary dd{margin:3px 0 0;font-size:.86rem}.training-calendar{background:#fffef9;border:1px solid #dce5d9;border-radius:12px;margin-top:16px;padding:14px}.training-calendar-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.training-calendar-heading span,.training-calendar-heading strong{display:block}.training-calendar-heading span{color:#63736b;font-size:.82rem}.training-calendar-heading strong{text-transform:capitalize;margin-top:3px;font-size:.95rem}.calendar-actions{gap:6px;display:flex}.calendar-actions .small-action{min-width:36px;padding:6px}.calendar-mode-toggle{border:1px solid #dce5d9;border-radius:8px;gap:2px;margin:12px 0 8px;padding:3px;display:inline-flex}.calendar-mode-toggle button{color:#63736b;font:inherit;background:0 0;border:0;border-radius:6px;padding:5px 9px;font-size:.76rem;font-weight:750}.calendar-mode-toggle button.active{color:#fff;background:#006a58}.calendar-legend{color:#63736b;flex-wrap:wrap;gap:12px;margin:3px 0 12px;font-size:.72rem;display:flex}.legend-dot{background:#dce5d9;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.fixed-dot{background:#c69a49}.available-slots{gap:8px;display:grid}.available-slots>p{color:#63736b;margin:0 0 2px;font-size:.82rem;line-height:1.45}.slot-choice{color:#17362f;min-height:42px;font:inherit;text-align:left;background:#fffef9;border:1px solid #cbd8ce;border-radius:9px;justify-content:space-between;align-items:center;padding:9px 11px;font-weight:750;display:flex}.slot-choice span{color:#006a58;font-size:.76rem}.request-confirmation{background:#f5f8f2;border:1px solid #cbd8ce;border-radius:10px;gap:7px;padding:12px;display:grid}.request-confirmation p{color:#63736b;margin:0;font-size:.82rem}.schedule-instruction{color:#63736b;margin:14px 0 0;font-size:.8rem;line-height:1.45}.schedule-request-link{font-size:.8rem}.portal-shell{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.class-card-content{gap:12px;padding:15px}.class-card-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.class-card-content h2{min-width:0;margin:0;font-size:1.08rem}.class-card-content p{font-size:.88rem}.class-card-content .capacity{font-size:.78rem}.class-card-content .small-action{min-height:36px;font-size:.82rem}.class-card-footer .map-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.class-days button{font-size:.82rem}.class-days button span{font-size:.78rem}.class-card-footer{margin-top:2px}.class-card-footer .map-link{margin:0;font-size:.86rem}.show-more{margin:10px 0 2px;font-size:.86rem}.week-session,.schedule-request{background:#fffef9;border:1px solid #dce5d9;border-radius:12px;margin-top:12px;padding:14px}.week-session-heading,.schedule-request{gap:10px;display:grid}.week-session-heading{text-align:center;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center}.week-session-heading .small-action{min-width:38px;padding:6px}.week-session-heading span,.week-session-heading strong{display:block}.week-session-heading span,.week-session p,.schedule-request p{color:#63736b;font-size:.88rem}.week-session-heading strong{font-size:.94rem}.week-session p,.schedule-request p{margin:0;line-height:1.45}.schedule-request{grid-template-columns:minmax(0,1fr) auto;align-items:start}.schedule-request h2{margin:0 0 4px;font-size:1rem}.schedule-request-form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.schedule-request-form select{color:#17362f;min-width:0;min-height:38px;font:inherit;background:#fff;border:1px solid #cbd8ce;border-radius:8px;padding:0 8px;font-size:.86rem}.notifications-title{margin:0 0 12px;font-size:1.3rem}.notifications-page{padding-top:4px}.notifications-back{margin:0 0 4px}.notifications-title-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.notifications-title-row .notifications-title{margin:0}.notifications-title-row .mark-read-link{flex:none}@media (width<=520px){.filter-sections label{grid-template-columns:1fr;gap:5px}.filter-sections select,.toggle-control,.class-card-footer .map-link{font-size:.82rem}.schedule-request-form{grid-template-columns:1fr}.class-filter-row{flex-direction:row;align-items:stretch}.class-filter-row .event-toggle{align-self:flex-start}.day-calendar-month{gap:4px}}.class-filter-row .event-toggle{background:0 0;border:0;border-radius:0;min-height:38px;padding:0}.filter-sections{gap:12px}.filter-sections>.filter-select{grid-template-columns:minmax(0,.6fr) minmax(0,1fr);align-items:center;gap:10px;display:grid}.filter-fieldset{border:0;min-width:0;margin:0;padding:0}.filter-fieldset legend{color:#63736b;margin-bottom:7px;padding:0;font-size:.76rem;font-weight:750}.filter-chip-grid{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{cursor:pointer;align-items:center;position:relative;grid-template-columns:none!important;gap:0!important;display:inline-flex!important}.filter-chip input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filter-chip span{color:#52675e;background:#fffef9;border:1px solid #dce5d9;border-radius:999px;align-items:center;min-height:32px;padding:5px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.filter-chip.is-selected span{color:#006a58;background:#e3f0e8;border-color:#006a58}.filter-chip input:focus-visible+span{outline-offset:2px;outline:3px solid #006a5847}.filter-range{gap:7px;display:grid}.filter-range-heading{color:#63736b;justify-content:space-between;align-items:center;gap:12px;font-size:.76rem;font-weight:750;display:flex}.filter-range-heading output{color:#006a58;font-size:.74rem;font-weight:800}.filter-range input[type=range]{accent-color:#006a58;width:100%;margin:2px 0 0}.filter-range-scale{color:#8a968e;justify-content:space-between;font-size:.68rem;display:flex}.day-calendar button small{min-height:1em}.class-calendar{margin-top:4px}@media (width<=520px){.filter-sections>.filter-select{grid-template-columns:1fr;gap:5px}}.nutrition-toggle{width:auto!important;min-height:38px!important}@media (width<=520px){.training-toolbar .nutrition-toggle{align-self:flex-end}}.day-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding-bottom:8px;display:grid;overflow:visible}.day-calendar-week button{text-align:center;min-width:0;min-height:58px;padding:6px 3px}.day-calendar-week button strong{text-transform:capitalize;font-size:.68rem}.day-calendar-week button span{font-size:.67rem}.calendar-mode-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.calendar-period{color:#17362f;text-align:right;text-transform:capitalize;font-size:.84rem}.trainer-summary{flex-wrap:wrap;align-items:center;gap:8px;margin:5px 0 2px;display:flex}.trainer-summary h2{margin:0}.training-modality{color:#63736b;margin:0 0 4px;font-size:.86rem;font-weight:750}.fixed-schedule{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.schedule-edit{color:#006a58;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:800;text-decoration:underline}.trainer-row dd{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.substitution-alert{color:#785100;background:#ffe5a7;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:750;line-height:1.25}.schedule-instruction.is-highlighted{color:#006a58;background:#dff2e5;border-radius:8px;outline:none;padding:8px 10px;font-weight:750;transition:background .2s}.nutrition-confirmation{padding:4px 0}.nutrition-confirmation p{color:#63736b;margin:5px 0 0;line-height:1.45}.session-feedback{gap:12px;display:grid}.session-feedback>p{margin:0;font-weight:750}.feedback-options{gap:8px;display:grid}.feedback-options label{cursor:pointer;display:block}.feedback-options input{opacity:0;pointer-events:none;position:absolute}.feedback-options span{color:#17362f;border:1px solid #cbd8ce;border-radius:9px;padding:11px 12px;font-size:.88rem;font-weight:700;display:block}.feedback-options label.selected span{color:#006a58;background:#e3f0e8;border-color:#006a58}.intensity-choice{color:#624b27;background:#fff5d9;border-radius:9px;padding:10px;font-size:.84rem;line-height:1.4}.session-feedback>label:not(.intensity-choice){font-size:.82rem;font-weight:750}.session-feedback textarea{color:#17362f;width:100%;min-height:92px;font:inherit;resize:vertical;border:1px solid #cbd8ce;border-radius:9px;padding:10px 12px}@media (width<=390px){.day-calendar-week{gap:3px}.day-calendar-week button{min-height:54px;padding:5px 2px}.day-calendar-week button strong,.day-calendar-week button span{font-size:.62rem}.calendar-period{font-size:.76rem}}.training-summary-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.training-summary-heading h2{margin:3px 0 0;font-size:1.08rem}.training-summary-heading .nutrition-toggle{flex:none;padding:6px 9px;font-size:.76rem;min-height:34px!important}.training-page{overflow-x:hidden}.training-summary,.training-summary dl,.trainer-notes,.trainer-notes-viewport{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.training-summary dl>div{box-sizing:border-box;min-width:0}.training-toolbar-label{color:#006a58;font-size:.7rem;font-weight:800}.training-toolbar-label.is-placeholder{visibility:hidden}@media (width<=520px){.training-page>.training-toolbar{flex-direction:row;align-items:center}.training-page>.training-toolbar .nutrition-toggle{align-self:center}}.fixed-schedule{color:#63736b;margin:8px 0 0;font-size:.82rem}.training-summary dl{margin-top:12px}.trainer-notes{touch-action:pan-y;-webkit-user-select:none;user-select:none;padding:0 0 10px;border-top:0!important}.trainer-notes-heading{color:#63736b;border-bottom:0;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;font-size:.72rem;font-weight:750;display:flex}.trainer-notes-heading small{color:#8a968e;font-size:.68rem}.trainer-notes ul{gap:7px;margin:8px 0;padding:0;list-style:none;display:grid}.trainer-notes-viewport{margin:8px 0;overflow:hidden}.trainer-notes-track{will-change:transform;width:100%;min-width:0;transition:transform .35s;display:flex}.trainer-notes-track>ul{flex:0 0 100%;min-width:0;margin:0}.trainer-notes li{color:#17362f;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;font-size:.78rem;line-height:1.35;display:grid}.trainer-notes li:before{content:"•";display:none}.note-session-badge{color:#285f51;white-space:nowrap;background:#e8f2eb;border-radius:999px;padding:3px 6px;font-size:.64rem;font-weight:750;line-height:1.2}.trainer-note-copy{min-width:0}.show-note-link{color:#006a58;font:inherit;text-underline-offset:2px;background:0 0;border:0;margin-left:5px;padding:0;font-size:.72rem;font-weight:800;text-decoration:underline;display:inline}.expanded-note{color:#17362f;margin:12px 0 0;line-height:1.5}.trainer-notes-pagination{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.trainer-notes-bullets{justify-content:center;align-items:center;gap:5px;display:flex}.notes-page-action{font:inherit;white-space:nowrap;flex:none;font-size:.7rem;font-weight:800;color:#006a58!important;background:0 0!important;border:0!important;border-radius:0!important;width:auto!important;height:auto!important;min-height:28px!important;padding:4px 0!important}.notes-page-spacer{flex:0 0 70px;min-width:70px}.trainer-notes-bullets button{background:#cbd8ce;border:0;border-radius:50%;width:6px!important;height:6px!important;min-height:6px!important;padding:0!important}.trainer-notes-bullets button.active{background:#006a58;border-radius:999px;width:16px!important}.trainer-notes-bullets button:focus-visible{outline-offset:3px;outline:3px solid #006a5847}.day-calendar-month,.day-calendar-week{grid-template-columns:repeat(6,minmax(0,1fr))}.class-card-content.is-incompatible{background:#fff8f7;border-color:#e2a39b}.capacity.incompatible{color:#8f271f;background:#f9d8d4}.incompatible-copy{color:#9f3028;font-size:.78rem;line-height:1.4}.clear-filters{color:#006a58;min-height:32px;font:inherit;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:.76rem;font-weight:800;text-decoration:underline}.slot-option{color:#17362f;text-align:left;background:#fffef9;border:1px solid #cbd8ce;justify-content:space-between;width:100%;min-height:58px}.slot-option>span{gap:2px;display:grid}.slot-option small{color:#63736b;font-size:.76rem}.slot-option em{font-size:.72rem;font-style:normal;font-weight:800}.slot-option.selected{background:#e3f0e8;border-color:#006a58}.slot-option.available em{color:#006a58}.slot-option.unavailable,.slot-option.conflict{color:#8f271f;opacity:1;background:#fff1ef;border-color:#e2a39b}.slot-option.unavailable small,.slot-option.conflict small,.slot-option.unavailable em,.slot-option.conflict em{color:#9f3028}.booking-state{border-radius:9px;margin:14px 0;padding:10px 12px;font-size:.82rem;line-height:1.45}.booking-state.conflict{color:#8f271f;background:#fff1ef;border:1px solid #e2a39b}.booking-state.notice{color:#52675e;background:#f2f6f1;border:1px solid #dce5d9}.booking-details .modal-actions{margin-top:14px}.slot-choice.is-unavailable:disabled,.slot-choice:disabled{color:#8f271f;opacity:1;cursor:not-allowed;background:#fff1ef;border-color:#e2a39b}.slot-choice.is-unavailable:disabled span,.slot-choice:disabled span{color:#9f3028}.news-item{grid-template-columns:62px minmax(0,1fr) 22px;align-items:center;gap:12px}.news-item>.news-visual{cursor:pointer;place-items:center;width:62px;height:62px;display:grid}.news-item>.news-copy{cursor:pointer;align-content:center;justify-items:start;gap:3px;width:100%;min-width:0}.news-item>.news-copy strong,.news-item>.news-copy small{overflow-wrap:anywhere;max-width:100%;display:block}.news-item>.news-arrow{cursor:pointer}.news-item>.news-visual:hover,.news-item>.news-visual:focus-visible{transform:scale(1.05)rotate(-12deg)}.news-item>.news-visual.summer:hover,.news-item>.news-visual.summer:focus-visible,.news-item>.news-visual.breath:hover,.news-item>.news-visual.breath:focus-visible{transform:scale(1.05)}.detail-article>.news-visual.large{margin:18px 0 14px}@media (width<=430px){.news-item{grid-template-columns:56px minmax(0,1fr) 20px;gap:10px}.news-item>.news-visual{width:56px;height:56px}}.modal-card{flex-direction:column;display:flex;overflow:hidden}.modal-header{flex:none}.modal-body{overscroll-behavior:contain;min-height:0;overflow:auto}.modal-body .modal-actions{z-index:1;background:linear-gradient(#fffef900,#fffef9 24%);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;margin-top:14px;padding:10px 0 2px;position:sticky;bottom:0}.modal-body .modal-actions>button{width:100%;min-width:0;padding-left:10px;padding-right:10px}.booking-details .detail-list div{padding-top:8px;padding-bottom:8px}.booking-details .detail-list dd{margin-top:3px}@media (width>=700px){body{background:#ebeae2}.portal-shell{background:#f7f7f2;width:min(100%,430px);min-height:100vh;margin:0 auto;box-shadow:0 0 0 1px #10231d14,0 18px 55px #10231d1f}.portal-header,.portal-content,.profile-panel{width:calc(100% - 32px);max-width:none}.bottom-nav{width:min(100%,430px);bottom:0;left:50%;right:auto;transform:translate(-50%)}}
