.gymment-app{--bg:#e9f1ea;--surface:#f8fbf8;--surface-2:#dfeae1;--surface-3:#d0dfd3;--border:#b8cabc;--border-strong:#94ac99;--text:#132015;--text-muted:#4c6350;--text-faint:#78907d;--amber:#b9740a;--amber-tint:#fbedd6;--amber-text:#7a4a06;--red:#c8433a;--red-tint:#fbe4e2;--red-text:#8c2a23;--red-contrast:#ffffff;--neutral-chip:#4c6350;--neutral-chip-tint:#d0dfd3;--radius-s:2px;--radius-m:4px;--radius-l:6px;--sidebar-width:232px;--shadow:0 1px 2px rgba(19,32,21,0.07);--accent-700:#0e6e48;--accent-600:#189a63;--accent-500:#22b279;--accent-tint:#e1f4ea;--accent-tint-strong:#c7ecd8;--accent-contrast:#ffffff;display:flex;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body)}.gymment-app,.gymment-app *{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.gymment-app ::-webkit-scrollbar{width:8px;height:8px}.gymment-app ::-webkit-scrollbar-track{background:transparent}.gymment-app ::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.gymment-app ::-webkit-scrollbar-thumb:hover{background-color:var(--text-faint)}.gymment-app[data-theme=dark],html[data-body-theme=dark] .gymment-app:not([data-theme=light]){--bg:#101410;--surface:#161d17;--surface-2:#1c251e;--surface-3:#242f26;--border:#2b352c;--border-strong:#3a483c;--text:#e9f1ea;--text-muted:#99aa9a;--text-faint:#687a6a;--amber:#e3a73b;--amber-tint:#3a2d12;--amber-text:#f1c476;--red:#ee6e64;--red-tint:#3b1c1a;--red-text:#f5a199;--red-contrast:#2b0805;--neutral-chip:#99aa9a;--neutral-chip-tint:#242f26;--shadow:0 1px 2px rgba(0,0,0,0.22);--accent-700:#2fbe81;--accent-600:#3fd494;--accent-500:#6edfae;--accent-tint:#123527;--accent-tint-strong:#184a34;--accent-contrast:#08140f}.sidebar{width:var(--sidebar-width);flex-shrink:0;position:sticky;top:0;align-self:flex-start;height:100dvh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:24px;padding:20px 16px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px}.sidebar-brand-mark{width:26px;height:26px;flex-shrink:0}.sidebar-brand-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.sidebar-nav{display:flex;flex-direction:column;gap:2px;min-height:0;overflow-y:auto}.sidebar-row{display:flex;align-items:center;border-radius:var(--radius-s)}.sidebar-row:hover{background:var(--surface-2)}.sidebar-link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:8px 10px;font-size:13.5px;font-weight:500;color:var(--text-muted);text-decoration:none}.sidebar-icon{display:flex;flex-shrink:0;color:var(--text-faint)}.sidebar-row.active .sidebar-icon,.sidebar-row:hover .sidebar-icon{color:inherit}.sidebar-row:hover .sidebar-link{color:var(--text)}.sidebar-row.active{background:var(--accent-tint)}.sidebar-row.active .sidebar-link{color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .sidebar-row.active .sidebar-link{color:var(--accent-500)}}.gymment-app[data-theme=dark] .sidebar-row.active .sidebar-link{color:var(--accent-500)}.sidebar-signout{width:100%;margin-top:auto;border:none;background:none;padding:0;cursor:pointer;font:inherit;text-align:left}.sidebar-signout:disabled{opacity:.6;cursor:not-allowed}.sidebar-chevron{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:6px;border:none;background:none;padding:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-s)}.sidebar-chevron:hover{background:var(--surface-3,var(--surface-2));color:var(--text)}.sidebar-chevron svg{transition:transform .15s ease}.sidebar-chevron.expanded svg{transform:rotate(180deg)}.sidebar-profile{position:relative;flex-shrink:0;margin:auto -16px -20px;border-top:1px solid var(--border)}.sidebar-profile .sidebar-profile-row{border-radius:0}.sidebar-profile .sidebar-profile-link{gap:10px;padding:16px 10px 16px 16px}.sidebar-profile .sidebar-chevron{margin-right:12px}.sidebar-profile .sidebar-profile-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.sidebar-profile .sidebar-profile-label{font-size:13.5px;font-weight:500}.sidebar-profile .sidebar-profile-name{font-size:11.5px;font-weight:400;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile .sidebar-profile-menu{position:absolute;left:16px;right:16px;bottom:calc(100% + 5px);padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 6px 18px rgba(19,32,21,.14);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}.sidebar-profile .sidebar-profile-menu.open{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}.sidebar-profile .sidebar-profile-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:none;border-radius:var(--radius-s);font:inherit;font-size:13.5px;font-weight:500;color:var(--text-muted);text-align:left;cursor:pointer}.sidebar-profile .sidebar-profile-menu-item:hover{background:var(--surface-2);color:var(--text)}.sidebar-profile .sidebar-profile-menu-item:disabled{opacity:.6;cursor:not-allowed}.sidebar-group{display:flex;flex-direction:column}.sidebar-subnav-wrapper{display:grid;grid-template-rows:0fr}.sidebar-group .sidebar-subnav-wrapper{transition:grid-template-rows .18s ease}.sidebar-subnav-wrapper.expanded{grid-template-rows:1fr}.sidebar-subnav-wrapper>.sidebar-subnav{overflow:hidden}.sidebar-subnav{display:flex;flex-direction:column;gap:2px;padding-left:14px;margin-top:2px;border-left:1px solid var(--border)}.sidebar-sublink{display:block;padding:6px 10px;border-radius:var(--radius-s);font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none}.sidebar-sublink:hover{background:var(--surface-2);color:var(--text)}.sidebar-sublink.active{background:var(--accent-tint);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .sidebar-sublink.active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .sidebar-sublink.active{color:var(--accent-500)}.app-content{flex:1;display:flex;flex-direction:column;min-width:0}.app-main{flex:1}.theme-toggle{position:fixed;top:16px;right:24px;z-index:40;display:grid;place-items:center;width:40px;height:32px;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.theme-toggle:hover{color:var(--text)}.theme-auto{display:inline-flex;align-items:center;gap:3px}.theme-auto svg{width:13px;height:13px}.theme-auto-bar{width:1.5px;height:14px;border-radius:1px;background:currentColor;transform:rotate(28deg)}.page{padding:32px 40px 100px;display:flex;flex-direction:column;gap:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-right:36px}.page-header h1{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0}.page-title{gap:8px}.avatar-heading,.page-title{display:flex;align-items:center}.avatar-heading{gap:12px}.page-header p{margin:4px 0 0;font-size:13.5px;color:var(--text-muted)}.student-topbar{justify-content:space-between;min-height:32px;padding-right:36px}.student-topbar,.student-topbar-actions{display:flex;align-items:center;gap:16px}.student-topbar .back-link{align-self:center}.profile-mode-actions{display:flex;align-items:center;justify-content:flex-end}.profile-cancel-clip{display:flex;justify-content:flex-end;box-sizing:border-box;flex:none;width:0;overflow:hidden;pointer-events:none}.profile-mode-actions[data-measured=true] .profile-cancel-clip{transition:width .48s cubic-bezier(.33,0,.2,1),padding-right .48s cubic-bezier(.33,0,.2,1)}.profile-mode-actions[data-editing=true][data-measured=true] .profile-cancel-clip{width:calc(var(--cancel-w) + 16px);padding-right:16px;pointer-events:auto}.profile-mode-actions[data-confirming=true][data-measured=true] .profile-cancel-clip{width:calc(var(--keep-w) + 16px)}.profile-mode-actions .profile-cancel{flex:none;display:grid;grid-template-columns:minmax(0,1fr);place-items:center end;min-width:0;white-space:nowrap;overflow:hidden}.profile-mode-actions[data-measured=true] .profile-cancel{width:var(--cancel-w);transition:width .48s cubic-bezier(.33,0,.2,1)}.profile-mode-actions[data-confirming=true][data-measured=true] .profile-cancel{width:var(--keep-w)}.profile-cancel-label,.profile-keep-label{grid-area:1/1;width:max-content;transition:opacity .16s ease}.profile-mode-actions:not([data-confirming=true]) .profile-keep-label,.profile-mode-actions[data-confirming=true] .profile-cancel-label{opacity:0}.profile-mode-actions:not([data-confirming=true]) .profile-cancel-label,.profile-mode-actions[data-confirming=true] .profile-keep-label{transition-delay:.1s}.profile-mode-actions .profile-commit{position:relative;z-index:1;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);place-items:center end;min-width:0;overflow:hidden;white-space:nowrap}.profile-mode-actions[data-measured=true] .profile-commit{width:var(--edit-w);transition:width .48s cubic-bezier(.33,0,.2,1),background-color .36s ease,color .36s ease}.profile-mode-actions[data-editing=true][data-measured=true] .profile-commit{width:var(--save-w)}.profile-mode-actions[data-confirming=true][data-measured=true] .profile-commit{width:var(--discard-w);background:var(--red);color:var(--red-contrast)}.profile-commit-discard,.profile-commit-edit,.profile-commit-save{grid-area:1/1;width:max-content;transition:opacity .16s ease}.profile-mode-actions:not([data-confirming=true]) .profile-commit-discard,.profile-mode-actions:not([data-editing=true]) .profile-commit-discard,.profile-mode-actions:not([data-editing=true]) .profile-commit-save,.profile-mode-actions[data-confirming=true] .profile-commit-save,.profile-mode-actions[data-editing=true] .profile-commit-edit{opacity:0}.profile-mode-actions:not([data-editing=true]) .profile-commit-edit,.profile-mode-actions[data-confirming=true] .profile-commit-discard,.profile-mode-actions[data-editing=true]:not([data-confirming=true]) .profile-commit-save{transition-delay:.1s}.student-profile .phone-input{grid-column:auto;min-width:0}.profile-reveal{display:grid}.profile-reveal-new,.profile-reveal-old{grid-area:1/1}.profile-reveal-old{background:var(--bg);z-index:1}.profile-reveal-new{z-index:2;background:var(--bg);clip-path:circle(0 at var(--profile-x) var(--profile-y))}.info-tooltip{position:relative;display:inline-flex}.info-tooltip-trigger{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;border:none;background:none;color:var(--text-faint);font-size:11px;font-weight:600;line-height:1;cursor:pointer;padding:0;transition:color .15s ease}.info-tooltip-trigger:hover{color:var(--text-muted)}.enrollment-meta .info-tooltip{margin-left:4px;vertical-align:middle}.pause-note .info-tooltip{margin-left:0}.enrollment-meta .info-tooltip{position:relative;top:-1px}.password-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none;background:none;color:var(--text-faint);cursor:pointer;padding:0}.field-suffix .password-toggle{transition:color .15s ease,transform .15s ease}.password-toggle:hover{color:var(--text-muted);transform:scale(1.1)}.password-toggle:active{transform:scale(.9)}.password-toggle-icon{display:flex}.info-tooltip-bubble{position:fixed;z-index:60;width:max-content;max-width:260px;padding:8px 10px;border-radius:var(--radius-s);background:var(--text);color:var(--bg);font-size:12.5px;font-weight:400;line-height:1.4;box-shadow:var(--shadow)}.tabs{display:flex;flex-wrap:wrap;gap:2px;width:max-content;max-width:100%;padding:3px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);isolation:isolate}.tab,.tabs{align-items:center}.tab{position:relative;display:inline-flex;justify-content:center;min-height:30px;padding:4px 12px;border-radius:var(--radius-s);font:inherit;font-size:13.5px;font-weight:500;line-height:1.2;color:var(--text-muted);text-decoration:none;background:none;border:none;cursor:pointer}.gymment-app .tab{transition:color .15s ease,background-color .15s ease}.tab:hover:not(.active){color:var(--text);background:var(--surface-3)}.tab.active{color:var(--accent-700);font-weight:600}.gymment-app[data-theme=dark] .tab.active,html[data-body-theme=dark] .gymment-app:not([data-theme=light]) .tab.active{color:var(--accent-500)}.gymment-app .tab:focus-visible{outline:2px solid var(--accent-600);outline-offset:1px;z-index:1}.tab-label{position:relative;z-index:1}.tab-pill{position:absolute;inset:0;z-index:0;border-radius:var(--radius-s);background:var(--accent-tint-strong);animation:tab-pill-in .16s ease both}@keyframes tab-pill-in{0%{opacity:0}to{opacity:1}}@media (max-width:767px){.gymment-app[data-mobile-nav=bottom] .tab{min-height:36px;padding:6px 14px}}.section-subtitle{font-size:13px;font-weight:600;color:var(--text-muted);margin:0 0 10px}.muted-note{margin:0;font-size:12.5px;color:var(--text-faint)}.row-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.row-actions .muted-note{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-s);border:1px solid transparent;background:none;color:var(--text-faint);cursor:pointer;text-decoration:none;transition:color .15s ease,border-color .15s ease,background .15s ease}.icon-button:hover{border-color:var(--border);background:var(--surface-2);color:var(--text)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button.icon-button-danger:hover{border-color:var(--red);color:var(--red);background:var(--red-tint)}.icon-button.icon-button-danger.confirming{width:auto;padding:0 10px;border-color:var(--red);background:var(--red);color:var(--red-contrast);font-size:12px;font-weight:500}.icon-button.icon-button-danger.confirming:hover{opacity:.9}.entity-card-actions{opacity:0;transition:opacity .15s ease}.entity-card-actions.stay-visible,.entity-card:focus-within .entity-card-actions,.entity-card:hover .entity-card-actions{opacity:1}.btn-primary{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-s);background:var(--accent-600);color:var(--accent-contrast);font-size:13.5px;font-weight:600;text-decoration:none;border:none;cursor:pointer}.btn-primary:hover{filter:brightness(.96)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-secondary{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 13px;border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer}.btn-secondary:hover{background:var(--accent-tint);border-color:var(--accent-600)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary.is-danger{color:var(--red-text);border-color:var(--red)}.btn-secondary.is-danger:hover{background:var(--red-tint);border-color:var(--red)}.gymment-app .btn-secondary.is-confirming{background:var(--red);border-color:var(--red);color:var(--red-contrast)}.btn-danger{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-s);background:var(--red);color:var(--red-contrast);font-size:13.5px;font-weight:600;border:none;cursor:pointer}.btn-danger:hover{filter:brightness(.94)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;filter:none}.gymment-app .animated-height{overflow:hidden;transition:height .28s cubic-bezier(.22,1,.36,1)}.gymment-app .animated-height.animated-height-open{overflow:visible}.gymment-app .trial-fade{transition:opacity .28s ease}.gymment-app .trial-fade.is-off{opacity:0;pointer-events:none}.trial-pricing{padding-top:28px}.trial-days-slot{margin-top:-14px}.trial-days-field{padding-top:14px}.trial-reset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:28px}@media (prefers-reduced-motion:reduce){.account-tabs .account-tab,.gymment-app .animated-height,.gymment-app .trial-fade{transition:none}}.form-section.account-card{display:flex;flex-direction:column;align-items:stretch;gap:0}.account-card .account-tabs{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-tabs .account-tab{box-shadow:0 0 0 0 var(--bg),0 0 0 0 var(--accent-600);transition:opacity .2s ease,box-shadow .2s ease,background-color .2s ease,filter .2s ease}.account-tabs .account-tab.is-active{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent-600)}.account-tabs .btn-danger.account-tab{box-shadow:0 0 0 0 var(--bg),0 0 0 0 var(--red)}.account-tabs .btn-danger.account-tab.is-active{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--red)}.account-tabs .account-tab.is-dim{opacity:.55}.account-card .account-panel{margin-top:16px;padding-top:20px;border-top:1px solid var(--border)}.account-card .account-notice{padding-bottom:16px}.account-block{display:flex;flex-direction:column;gap:16px}.account-block .account-block-title{margin:0;display:flex;align-items:center;font-size:13.5px;font-weight:600;color:var(--text)}.account-block.account-block-danger .account-block-title{color:var(--red-text)}.account-block .account-block-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:14px 20px}.account-block .account-block-actions{display:flex;align-items:center;justify-content:space-between}.account-block .account-block-actions .back-link{align-self:center}.account-card .danger-zone-text{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-muted)}.account-card .danger-zone-list{margin:8px 0;padding-left:20px;font-size:13.5px;line-height:1.6;color:var(--text)}.back-link{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none}.back-link:hover{color:var(--text)}.forgot-password-link{align-self:flex-end;margin-top:-8px}.unsaved-confirm{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted)}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-m);padding:40px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.empty-state .btn-primary{margin-top:16px}.empty-state-title{margin:0;font-size:14px;font-weight:600;color:var(--text)}.empty-state-description{margin:0;font-size:13px;color:var(--text-faint);max-width:40ch}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.avatar{position:relative;display:grid;place-items:center;border-radius:999px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint);flex-shrink:0}.avatar-image{width:100%;height:100%;object-fit:cover}.badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:11px;font-weight:600;padding:3px 9px 3px 7px;border-radius:999px;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge-active{background:var(--accent-tint);color:var(--accent-700)}.badge-active:before{background:var(--accent-600)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .badge-active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .badge-active{color:var(--accent-500)}.badge-pending{background:var(--amber-tint);color:var(--amber-text)}.badge-pending:before{background:var(--amber)}.badge-overdue{background:var(--red-tint);color:var(--red-text)}.badge-overdue:before{background:var(--red)}.badge-neutral{background:var(--neutral-chip-tint);color:var(--neutral-chip)}.badge-neutral:before{background:var(--neutral-chip)}.card-grid{gap:12px}.card-grid,.entity-card{display:flex;flex-direction:column}.entity-card{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);padding:16px 20px;gap:14px}.entity-card-link{position:relative}.entity-card-link:hover{border-color:var(--border-strong);background:var(--surface-2)}.entity-card-hit{position:absolute;inset:0;z-index:1;border-radius:inherit}.entity-card-hit:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.entity-card-link .entity-card-actions{position:relative;z-index:2}.entity-card-clickable{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.entity-card-clickable:hover{border-color:var(--border-strong);background:var(--surface-2)}.entity-card-clickable:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.entity-card-header{display:flex;align-items:center;gap:12px}.entity-card-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.entity-card-name{font-weight:600;font-size:14.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-code{color:var(--text-faint);font-size:12px;font-weight:500}.entity-card-subtitle{font-size:11.5px;color:var(--text-faint)}.entity-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border)}.entity-card-detail{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--text-muted)}.entity-card-detail-sub,.entity-card-meta{color:var(--text-faint);font-size:11.5px}.entity-card-meta{display:flex;gap:14px;flex-shrink:0}.item-list{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);overflow:hidden}.item-row{display:flex;align-items:center;gap:12px;padding:12px 16px}.item-row+.item-row{border-top:1px solid var(--border)}.item-row-name{flex:1;min-width:0;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-row-contact{font-size:11.5px;color:var(--text-faint)}.item-row-link{color:var(--text);font-weight:600;text-decoration:none;white-space:nowrap}.item-row-link:hover{text-decoration:underline}.item-row .enrollment-main .item-row-name{flex:none}.skeleton-block{border-radius:var(--radius-s);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:login-skeleton-shimmer 1.4s ease infinite}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.skeleton-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0}.skeleton-line{height:12px;width:100%}.skeleton-line-name{width:40%;height:14px}.skeleton-line-detail{width:50%}.skeleton-badge{width:64px;height:20px;flex-shrink:0}.form-error{border:1px solid var(--red);background:var(--red-tint);color:var(--red-text);border-radius:var(--radius-m)}.form-error,.form-success{padding:10px 14px;font-size:13px;margin:0}.form-success{border:1px solid var(--accent-600);background:var(--accent-tint);color:var(--accent-700);border-radius:var(--radius-m)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .form-success{color:var(--accent-500)}}.gymment-app[data-theme=dark] .form-success{color:var(--accent-500)}.gym-form{gap:28px}.gym-form,.logo-field{display:flex;flex-direction:column}.logo-field{align-items:center;gap:8px}.logo-field-label{font-size:12px;color:var(--text-faint)}.logo-picker{position:relative;display:inline-flex;cursor:pointer}.logo-picker:hover .avatar{border-color:var(--border-strong);color:var(--text-muted)}.logo-picker-input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-gallery{display:flex;flex-direction:column;gap:8px;grid-column:1/-1}.media-gallery-grid{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.media-gallery-tile{position:relative;width:110px;height:110px;border-radius:var(--radius-l);overflow:hidden;background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint);flex-shrink:0}.media-gallery-media{width:100%;height:100%;object-fit:cover}.media-gallery-remove{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.55);color:#fff}.media-gallery-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.media-gallery-add:hover{border-color:var(--border-strong);color:var(--text-muted)}.media-gallery-add-label{font-size:11px;text-align:center;padding:0 6px}.product-gallery{display:flex;flex-direction:column;gap:8px;min-width:0}.product-gallery-main{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-l);overflow:hidden;background:var(--surface);border:1px solid var(--border);color:var(--text-faint);display:grid;place-items:center;view-transition-name:product-cover}.product-gallery-track{position:absolute;inset:0;display:flex;height:100%}.product-gallery-main .product-gallery-track{transition:transform .32s cubic-bezier(.22,1,.36,1);transform:translateX(calc(var(--gallery-index) * -100%))}.product-gallery-slide{flex:0 0 100%;min-width:0;min-height:0;display:grid;place-items:center}.product-gallery-thumbs{position:relative;display:flex;flex-direction:row;gap:8px;overflow-x:auto}.product-gallery-thumbs .product-gallery-indicator{position:absolute;left:0;top:0;z-index:1;border-radius:var(--radius-m);box-shadow:inset 0 0 0 2px var(--accent-600);pointer-events:none;transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1)}.product-gallery-thumb{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-m);overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:var(--surface)}.product-gallery-media{width:100%;height:100%;object-fit:contain}.product-purchase-price{display:flex;align-items:baseline;gap:8px;margin:0;font-size:18px;font-weight:700;letter-spacing:-.03em}.product-price-from{font-size:13px;font-weight:500;letter-spacing:0;color:var(--text-muted)}.product-detail{display:flex;flex-direction:column;gap:20px}.product-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;width:100%;position:relative;z-index:1}.product-detail-main{display:flex;flex-direction:column;gap:14px;min-width:0}@media (min-width:1100px){.product-detail-layout{grid-template-columns:40px minmax(0,1.15fr) minmax(0,1fr) 280px;column-gap:16px}.product-gallery{display:contents}.product-gallery-thumbs{grid-column:1;position:sticky;top:16px;flex-direction:column;align-self:start;width:40px;max-height:min(var(--product-image-h,100dvh),calc(100dvh - 32px));overflow-x:hidden;overflow-y:auto}.product-gallery-main{grid-column:2;position:sticky;top:16px}.product-gallery-main .product-gallery-track{flex-direction:column;transform:translateY(calc(var(--gallery-index) * -100%))}.product-gallery:not(:has(.product-gallery-thumbs)) .product-gallery-main{grid-column:1/span 2}.product-detail-main{grid-column:3}.product-buybox{grid-column:4}}.product-buybox{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.product-buybox .btn-primary,.product-buybox .product-buy-secondary{width:100%;justify-content:center;min-height:40px}.product-buy-secondary{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--radius-s);border:1px solid var(--accent-600);background:transparent;color:var(--accent-700);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.product-buy-secondary:hover:not(:disabled){background:var(--accent-tint)}.product-buy-secondary:disabled{opacity:.5;cursor:not-allowed}.product-buy-note{margin:0;font-size:13.5px;line-height:1.45}.product-stock{margin:0;font-size:13px;color:var(--text-muted)}.product-stock.is-out{color:var(--red-text)}.product-options-label{margin:4px 0 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.product-description{display:flex;flex-direction:column;gap:6px;padding-top:4px}.product-description-title{margin:0;font-size:14px;font-weight:600}.product-highlights{margin:0;display:flex;flex-direction:column;gap:6px}.product-highlights div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:16px;align-items:baseline;font-size:13px;line-height:1.4}.product-highlights dt{margin:0;color:var(--text-faint)}.product-highlights dd{margin:0;color:var(--text);font-weight:600}.product-description p{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-muted);white-space:pre-wrap}.product-description p.is-clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-read-more{align-self:flex-start;border:none;background:none;padding:0;color:var(--accent-700);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.product-read-more:hover{text-decoration:underline}.product-detail-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}.product-buybox,.product-description,.product-detail-back,.product-detail-main,.product-related{animation:product-open-in .42s cubic-bezier(.22,1,.36,1) both}.product-buybox{animation-delay:50ms}.product-description,.product-related{animation-delay:90ms}.product-detail.is-swap .product-buybox,.product-detail.is-swap .product-description,.product-detail.is-swap .product-detail-back,.product-detail.is-swap .product-detail-main,.product-detail.is-swap .product-related{animation:none}@keyframes product-open-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}::view-transition-new(root),::view-transition-old(root){animation:none}::view-transition-group(product-buybox),::view-transition-group(product-copy),::view-transition-group(product-highlights),::view-transition-group(product-name),::view-transition-group(product-options),::view-transition-group(product-price),::view-transition-group(product-related){animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(product-buybox),::view-transition-old(product-copy),::view-transition-old(product-highlights),::view-transition-old(product-name),::view-transition-old(product-options),::view-transition-old(product-price),::view-transition-old(product-related){animation:none;opacity:0}::view-transition-new(product-buybox),::view-transition-new(product-copy),::view-transition-new(product-highlights),::view-transition-new(product-name),::view-transition-new(product-options),::view-transition-new(product-price),::view-transition-new(product-related){animation:none;height:100%;object-fit:none;object-position:left top;overflow:clip}::view-transition-group(product-cover){animation-duration:.48s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-image-pair(product-cover){border-radius:var(--radius-l);overflow:hidden}.product-detail-name{margin:0;font-size:22px;font-weight:700;line-height:1.25}.product-detail-code{color:var(--text-faint);font-size:.72em;font-weight:500}.product-related{display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px solid var(--border)}.product-related-title{margin:0;font-size:14px;font-weight:600;color:var(--text-muted)}.product-related .shop-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.media-picker-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:rgba(0,0,0,.55);color:#fff;font-size:12px}.media-picker-input{position:absolute;inset:0;opacity:0;cursor:pointer}.crop-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:24px}.crop-modal{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;display:flex;flex-direction:column;gap:16px}.crop-area{position:relative;width:100%;height:280px;border-radius:var(--radius-s);overflow:hidden;background:var(--surface-2)}.crop-zoom-slider{width:100%;accent-color:var(--accent-600)}.crop-modal-actions{display:flex;align-items:center;justify-content:space-between}.form-section{border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:14px 20px}.form-section legend{padding:0 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.form-section legend .info-tooltip{margin-left:4px;vertical-align:-2px}.day-picker,.field-full,.field-row,.field.combobox,.phone-input{grid-column:1/-1}.guest-settings-fold{display:grid;grid-template-rows:0fr;min-height:0;margin-top:-14px}.form-section .guest-settings-fold{transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1),margin-top .32s cubic-bezier(.22,1,.36,1)}.guest-settings-fold.open{grid-template-rows:1fr;margin-top:0}.guest-settings-fold-clip{overflow:hidden;min-height:0}.guest-settings-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 20px;padding-top:10px;opacity:0;transform:translateY(-12px)}.form-section .guest-settings-fields{transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s cubic-bezier(.22,1,.36,1)}.guest-settings-fold.open .guest-settings-fields{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.form-section .guest-settings-fields,.form-section .guest-settings-fold{transition:none}}.field{position:relative}.field input,.field textarea{width:100%;font:inherit;font-family:var(--font-body);font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:12px 10px}.field textarea{padding:19px 10px 7px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent-600);outline-offset:-1px}.field>.search-select-anchor>label:after,.field>label:after,.phone-input>.field>label:after{content:"*";position:absolute;top:0;right:3px;display:flex;align-items:center;height:100%;width:0;margin:0;overflow:hidden;clip-path:inset(0 100% 0 0);line-height:1;color:var(--accent-600);font-weight:700;transition:width .2s cubic-bezier(.22,1,.36,1),clip-path .2s cubic-bezier(.22,1,.36,1)}.class-option>.class-option-name:after,.class-option>.class-option-name>.label-info:before{content:"*";display:inline-block;flex:none;width:0;min-width:0;margin-left:0;margin-right:0;overflow:hidden;clip-path:inset(0 100% 0 0);vertical-align:baseline;white-space:nowrap;line-height:1;color:var(--accent-600);font-weight:700;transition:width .2s cubic-bezier(.22,1,.36,1),clip-path .2s cubic-bezier(.22,1,.36,1),margin-left .2s cubic-bezier(.22,1,.36,1),margin-right .2s cubic-bezier(.22,1,.36,1)}.field.is-dirty>.search-select-anchor>label,.field.is-dirty>label,.phone-input.is-dirty>.field>label{padding-right:calc(.5em + 5px)}.field.is-dirty>.search-select-anchor>label:after,.field.is-dirty>label:after,.phone-input.is-dirty>.field>label:after{width:.5em;clip-path:inset(0 0 0 0)}.class-option.is-dirty>.class-option-name:after{width:.5em;margin-left:3px;clip-path:inset(0 0 0 0)}.class-option>.class-option-name:has(>.label-info):after{content:none}.class-option.is-dirty>.class-option-name>.label-info:before{width:.5em;margin-right:4px;clip-path:inset(0 0 0 0)}@media (prefers-reduced-motion:reduce){.class-option>.class-option-name:after,.class-option>.class-option-name>.label-info:before,.field>.search-select-anchor>label:after,.field>label:after,.phone-input>.field>label:after{transition:none}}.field label{position:absolute;left:9px;top:13px;font-size:13.5px;font-weight:500;color:var(--text-faint);padding:0 3px;pointer-events:none;transition:top .15s ease,font-size .15s ease,color .15s ease,padding-right .2s cubic-bezier(.22,1,.36,1)}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:-7px;font-size:11px;color:var(--text-muted);background:var(--bg)}.field-money input{padding-right:56px}.money-code{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-faint);pointer-events:none}.field-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 40px}.field-row>*{flex:0 1 320px}.field-row-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.combobox input{padding-right:64px}.field:has(.field-suffix) input{padding-right:36px}.combobox-suffix,.field-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px}.combobox-toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;padding:0;color:var(--text-faint);cursor:pointer}.combobox-toggle:hover{color:var(--text-muted)}.combobox-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;max-height:220px;overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);box-shadow:var(--shadow)}.combobox-option{padding:8px 10px;border-radius:var(--radius-s);font-size:13.5px;color:var(--text);cursor:pointer}.combobox-option:hover{background:var(--surface-2)}.combobox-option.highlighted{background:var(--accent-tint);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .combobox-option.highlighted{color:var(--accent-500)}}.gymment-app[data-theme=dark] .combobox-option.highlighted{color:var(--accent-500)}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--border)}.permission-row:first-child{border-top:none}.permission-label{font-size:13.5px;color:var(--text)}.level-picker{display:flex;flex-shrink:0;gap:4px}.level-option{position:relative}.level-option input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.level-option span{display:flex;align-items:center;justify-content:center;width:38px;height:32px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text-faint)}.level-option:hover span{border-color:var(--border-strong)}.level-option input:focus-visible+span{outline:2px solid var(--accent-600);outline-offset:2px}.level-option-o input:checked+span{border-color:var(--red);background:var(--red-tint);color:var(--red-text)}.level-option-r input:checked+span{border-color:var(--amber);background:var(--amber-tint);color:var(--amber-text)}.level-option-w input:checked+span{border-color:var(--accent-600);background:var(--accent-tint-strong);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .level-option-w input:checked+span{color:var(--accent-500)}}.gymment-app[data-theme=dark] .level-option-w input:checked+span{color:var(--accent-500)}.document-reading{margin-top:8px;padding:14px 16px;border-radius:var(--radius-s);background:var(--surface-2);white-space:pre-wrap;line-height:1.6;font-size:14px}.workspace-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.workspace-card-head .muted-note{margin:0}.workspace-switch{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;cursor:pointer}.workspace-switch input{position:absolute;opacity:0;width:1px;height:1px}.workspace-switch input:focus-visible+.product-active-switch{outline:2px solid var(--accent-600);outline-offset:2px}.workspace-switch-label{font-size:13px;white-space:nowrap}.gymment-app .workspace-card-body{transition:opacity .2s ease}.gymment-app .workspace-card.is-off .workspace-card-body{opacity:.45}.permission-group+.permission-group{margin-top:6px}.permission-group-title{margin:12px 0 0;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}@media (max-width:560px){.workspace-card-head{flex-direction:column}}.checkin{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.checkin-boxes-wrap{--checkin-box-w:56px;--checkin-box-gap:10px;position:relative}@media (max-width:420px){.checkin-boxes-wrap{--checkin-box-gap:8px;--checkin-box-w:min(56px,calc((100vw - 32px - 5 * var(--checkin-box-gap)) / 6))}}.checkin-active-chevron{position:absolute;top:-20px;left:0;width:var(--checkin-box-w);display:flex;justify-content:center;color:var(--accent-600);transform:translateX(calc(var(--i, 0) * (var(--checkin-box-w) + var(--checkin-box-gap))))}.checkin-boxes-wrap .checkin-active-chevron{transition:transform .32s cubic-bezier(.22,1,.36,1),color .15s ease}.checkin-active-chevron-prompt{color:var(--amber)}.checkin-active-chevron-bob{display:flex;animation:checkin-chevron-bob 1.4s ease-in-out infinite}@keyframes checkin-chevron-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.checkin-active-chevron-bob{animation:none}}.checkin-boxes{display:flex;gap:var(--checkin-box-gap)}.checkin-box{width:var(--checkin-box-w);height:68px;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:32px;font-weight:600;text-align:center;transition:border-color .15s ease,background .15s ease}.checkin-box:focus{outline:none;border-color:var(--accent-600)}.checkin-boxes-flash .checkin-box{animation:checkin-pulse .9s ease}.checkin-hint{font-size:13.5px;color:var(--text-muted)}.checkin .checkin-hint{transition:color .15s ease,opacity .22s ease,transform .22s ease}.checkin-hint-dim{opacity:0;transform:translateY(3px)}@media (prefers-reduced-motion:reduce){.checkin .checkin-hint{transition:color .15s ease}.checkin-hint-dim{transform:none}}.checkin-hint-flash{color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .checkin-hint-flash{color:var(--accent-500)}}.gymment-app[data-theme=dark] .checkin-hint-flash{color:var(--accent-500)}.recent-codes{position:fixed;bottom:24px;left:calc(var(--sidebar-width) + 24px);z-index:40;width:220px;border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);padding:12px}.recent-codes-title{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.recent-codes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.recent-codes-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 4px;border-radius:var(--radius-s);animation:recent-code-in .4s ease}.recent-codes-item:first-child{background:var(--accent-tint)}.recent-codes-code{font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--text);letter-spacing:.05em}.recent-codes-time{font-size:11.5px;color:var(--text-faint)}@keyframes recent-code-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.workspace-switcher{position:fixed;bottom:24px;right:24px;z-index:40;display:flex;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);box-shadow:var(--shadow)}.workspace-switcher-segment{display:flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap;transition:color .15s ease,background .15s ease}a.workspace-switcher-segment:hover{color:var(--text);background:var(--surface-3)}.workspace-switcher-segment.active{background:var(--accent-tint-strong);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .workspace-switcher-segment.active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .workspace-switcher-segment.active{color:var(--accent-500)}.phone-input{display:flex;align-items:stretch;gap:8px}.phone-input .field{flex:1;min-width:0}.phone-input-country-wrap{position:relative;flex-shrink:0}.phone-input-country{display:flex;align-items:center;gap:4px;height:100%;font:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:0 10px;cursor:pointer}.phone-input-country:hover{border-color:var(--border-strong)}.phone-input-dropdown{position:absolute;left:0;top:calc(100% + 4px);z-index:20;width:240px;background:var(--surface);box-shadow:var(--shadow)}.phone-input-country-search,.phone-input-dropdown{border:1px solid var(--border);border-radius:var(--radius-s)}.phone-input-country-search{display:block;width:100%;box-sizing:border-box;margin:4px;padding:7px 8px;background:var(--bg);color:var(--text);font:inherit;font-size:13px}.phone-input-country-search:focus{outline:2px solid var(--accent-600);outline-offset:-1px}.phone-input-options{max-height:220px;overflow-y:auto;margin:0;padding:0 4px 4px;list-style:none}.phone-input-no-results{padding:10px;font-size:13px;color:var(--text-faint);text-align:center}.phone-input-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:none;background:none;border-radius:var(--radius-s);font:inherit;font-size:13.5px;color:var(--text);text-align:left;cursor:pointer}.phone-input-option:hover{background:var(--surface-2)}.phone-input-option.active{background:var(--accent-tint);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .phone-input-option.active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .phone-input-option.active{color:var(--accent-500)}.phone-input-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-input-option-code{flex-shrink:0;color:var(--text-faint)}.gymment-app .phone-input-option.mod{background:var(--mod-tint);color:var(--mod-text);font-weight:600}.gymment-app .phone-input-option.mod:hover,.gymment-app .search-select-dropdown .phone-input-option.mod.highlighted:not(.active){background:color-mix(in oklab,var(--mod) 30%,var(--mod-tint))}.gymment-app .phone-input-option.mod.active{background:var(--mod-tint);color:var(--mod-text);box-shadow:inset 0 0 0 1.5px var(--mod)}.gymment-app .search-select-trigger.mod{background:var(--mod-tint);color:var(--mod-text);border-color:color-mix(in oklab,var(--mod) 55%,transparent)}.search-select,.search-select-anchor{position:relative}.search-select-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;font:inherit;font-family:var(--font-body);font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:12px 10px;text-align:left;cursor:pointer}.search-select-trigger+label{top:-7px;font-size:11px;color:var(--text-muted);background:var(--bg);white-space:nowrap}.label-info{display:inline-flex;vertical-align:middle;margin-left:2px;pointer-events:auto}.label-info .info-tooltip-trigger{width:14px;height:14px;font-size:10px}.search-select-required{position:absolute;left:0;bottom:0;width:100%;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.search-select-trigger:disabled{opacity:.55;cursor:not-allowed}.search-select-dropdown:focus{outline:none}.search-select-dropdown.plain{overflow:hidden}.search-select-dropdown.plain .phone-input-options{padding:0}.search-select-dropdown.plain .phone-input-option{border-radius:0}.search-select-trigger:hover:not(:disabled){border-color:var(--border-strong)}.search-select-trigger:focus-visible{outline:2px solid var(--accent-600);outline-offset:-1px}.search-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-placeholder,.search-select-region{color:var(--text-faint)}.search-select-detail{flex-shrink:0;color:var(--text-muted);font-weight:400}.search-select-dropdown .phone-input-country-search{width:calc(100% - 8px);padding:7px 8px;font-size:13px}.field .search-select-dropdown .quantity-select-list{max-height:none}.field .search-select-dropdown .quantity-select-entry{padding:8px;border-top:1px solid var(--border)}.field .search-select-dropdown .quantity-select-entry input{width:100%;min-height:0;margin:0;padding:7px 8px;font-size:13.5px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg);color:var(--text)}.search-select-dropdown .phone-input-option.highlighted:not(.active){background:var(--surface-2)}.gymment-app .search-select-dropdown .phone-input-option.search-select-tone-cancelled,.gymment-app .search-select-dropdown .phone-input-option.search-select-tone-overdue,.gymment-app .search-select-value.search-select-tone-cancelled,.gymment-app .search-select-value.search-select-tone-overdue{color:var(--red)}.gymment-app .search-select-dropdown .phone-input-option.search-select-tone-active,.gymment-app .search-select-value.search-select-tone-active{color:var(--accent-600)}.gymment-app .search-select-dropdown .phone-input-option.search-select-tone-inactive,.gymment-app .search-select-value.search-select-tone-inactive{color:var(--neutral-chip)}.gymment-app .search-select-dropdown .phone-input-option.active[class*=search-select-tone-]{background:var(--surface-2)}.search-select-dropdown.up{top:auto;bottom:calc(100% + 4px)}.search-select-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);box-shadow:var(--shadow);transform-origin:top center;animation:search-select-open .18s cubic-bezier(.22,1,.36,1) both}.search-select-dropdown.up{transform-origin:bottom center}.search-select-dropdown.closing{pointer-events:none;animation:search-select-close .14s ease-in both}@keyframes search-select-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes search-select-close{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes search-select-open-up{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes search-select-close-up{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.98)}}.search-select-dropdown.up{animation-name:search-select-open-up}.search-select-dropdown.up.closing{animation-name:search-select-close-up}@media (prefers-reduced-motion:reduce){.search-select-dropdown,.search-select-dropdown.closing{animation:none}}.date-picker-panel{position:absolute;left:0;top:calc(100% + 4px);z-index:20;width:272px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);box-shadow:var(--shadow)}.date-picker-panel.up{top:auto;bottom:calc(100% + 4px)}.date-picker-panel.right{left:auto;right:0}.date-picker-header{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px}.date-picker-heading{display:flex;align-items:center;justify-content:center;flex:1;gap:2px;min-width:0}.date-picker-choice,.date-picker-clear,.date-picker-day,.date-picker-nav,.date-picker-title{font:inherit;color:var(--text);background:none;border:none;border-radius:var(--radius-s);cursor:pointer}.date-picker-nav{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:var(--text-muted)}.date-picker-title{display:inline-flex;align-items:center;gap:4px}.date-picker-title,.date-picker-title-static{padding:5px 8px;font-size:13.5px;font-weight:600}.date-picker-clear:hover,.date-picker-nav:hover:not(:disabled),.date-picker-title:hover{background:var(--surface-2)}.date-picker-nav:disabled{opacity:.35;cursor:not-allowed}.date-picker-body{min-height:244px}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker-weekday{padding:4px 0;font-size:11px;font-weight:500;color:var(--text-faint);text-align:center}.date-picker-day{height:34px;font-size:13px}.date-picker-day.outside{color:var(--text-faint)}.date-picker-day.today{box-shadow:inset 0 0 0 1px var(--accent-600)}.date-picker-choice:hover:not(:disabled):not(.selected),.date-picker-day:hover:not(:disabled):not(.selected){background:var(--surface-2)}.date-picker-choice.selected,.date-picker-day.selected{background:var(--accent-600);color:var(--accent-contrast);font-weight:700}.date-picker-choice:disabled,.date-picker-day:disabled{opacity:.35;cursor:not-allowed}.date-picker-choice:focus-visible,.date-picker-clear:focus-visible,.date-picker-day:focus-visible,.date-picker-nav:focus-visible,.date-picker-title:focus-visible{outline:2px solid var(--accent-600);outline-offset:-2px}.date-picker-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.date-picker-years{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-height:244px;overflow-y:auto}.date-picker-choice{height:40px;font-size:13px}.date-picker-footer{display:flex;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.date-picker-clear{padding:5px 10px}.date-picker-clear,.static-field{font-size:13px;color:var(--text-muted)}.static-field{display:flex;flex-direction:column;gap:6px;font-weight:500}.static-field input{font:inherit;font-family:var(--font-body);font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:10px}.static-field input:focus{outline:2px solid var(--accent-600);outline-offset:-1px}.day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:4px 0 2px}.day-option{position:relative}.day-option input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.day-option span{display:flex;align-items:center;justify-content:center;width:100%;height:36px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:12.5px;font-weight:600}.day-option:hover span{border-color:var(--border-strong)}.day-option input:checked+span{border-color:var(--accent-600);background:var(--accent-tint-strong);color:var(--accent-700)}.day-option input:focus-visible+span{outline:2px solid var(--accent-600);outline-offset:2px}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .day-option input:checked+span{color:var(--accent-500)}}.gymment-app[data-theme=dark] .day-option input:checked+span{color:var(--accent-500)}.form-actions{display:flex;align-items:center;justify-content:space-between}.form-actions .back-link{align-self:center}.profile-read-value{font-weight:400;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.profile-read-empty{font-weight:400;color:var(--text-faint)}.static-field>.badge{align-self:flex-start}.payment-modes{grid-template-columns:minmax(0,1fr) auto;align-items:center}.payment-modes>.class-option{grid-column:1}.payment-modes>.form-actions{grid-column:2;grid-row:2}.class-picker{display:flex;flex-direction:column;gap:6px;margin:4px 0 2px}.class-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);cursor:pointer}.class-option-days{display:block;margin-top:2px;font-size:12px;color:var(--text-faint)}.class-option:hover{border-color:var(--border-strong)}.class-option input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:16px;height:16px;margin:0;border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--bg);cursor:pointer}.class-option:hover input[type=checkbox]:not(:checked):not(:disabled){border-color:var(--accent-600)}.class-option input[type=checkbox]:checked{background:var(--accent-600);border-color:var(--accent-600)}.class-option input[type=checkbox]:before{content:"";position:absolute;inset:0;background:var(--accent-contrast);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center /12px 12px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center /12px 12px no-repeat;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.class-option input[type=checkbox]:checked:before{opacity:1;transform:scale(1)}.class-option input[type=checkbox]:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.class-option input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.class-option:has(input:disabled){cursor:not-allowed}.class-option:has(input:disabled):hover{border-color:var(--border)}.payments-lock{position:relative}.payments-lock-barrier{position:absolute;z-index:2;inset:10px;padding:16px;border-radius:var(--radius-s);background:color-mix(in srgb,var(--surface) 42%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:inherit;cursor:default}.payments-lock-barrier,.payments-lock-note{display:flex;align-items:center;justify-content:center}.payments-lock-note{gap:10px;max-width:440px;margin:0;color:var(--text);font-size:13.5px;font-weight:600;line-height:1.4;text-align:center}.payments-lock-bang{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--text);color:var(--bg);font-size:14px;font-weight:700;line-height:1}.section-subtitle-info{display:flex;align-items:center;gap:6px}.enrollment-list{display:flex;flex-direction:column;gap:8px}.enrollment-row{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface)}.enrollment-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.enrollment-main .membership-classes{margin-top:8px}.enrollment-name{font-size:13.5px;font-weight:600;color:var(--text)}.guest-list{gap:8px;margin:0;padding:0;list-style:none}.guest-list,.present{display:flex;flex-direction:column}.present{gap:14px}.btn-compact{padding:6px 12px;font-size:13px}.student-presence .checkin-result-warn{max-width:220px;text-align:right}.present-row{padding:0;transition:border-color .15s ease,background .15s ease}.present-row:hover{border-color:var(--border-strong);background:var(--surface-2)}.present-link{flex:1;min-width:0;color:inherit;text-decoration:none}.guest-row,.present-link{display:flex;align-items:center;gap:12px;padding:12px}.guest-form,.guest-row{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface)}.guest-form{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-bottom:24px;padding:16px;opacity:0;transform:translateY(-12px)}.gymment-app .guest-body>.animated-height,.gymment-app .guest-body>.animated-height.animated-height-open{overflow:hidden;transition:height .4s cubic-bezier(.22,1,.36,1)}.gymment-app .guest-body.revealed>.animated-height.animated-height-open{overflow:visible}.gymment-app .guest-form{transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}.gymment-app .guest-form.open{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.gymment-app .guest-body>.animated-height,.gymment-app .guest-form{transition:none}}.guest-form .field input,.guest-form .phone-input-country{background:var(--bg)}.guest-form .field input:focus+label,.guest-form .field input:not(:placeholder-shown)+label{background:var(--surface)}.guest-form-actions{display:flex;align-items:center;gap:16px}.guest-form-actions .back-link{align-self:center;border:none;background:none;padding:0;cursor:pointer;font-size:13.5px;font-weight:600}.guest-form-actions .back-link:disabled{opacity:.5;cursor:not-allowed}.gymment-app .guest-form-actions .back-link.confirming{padding:5px 10px;border:1px solid var(--red);border-radius:var(--radius-s);background:var(--red);color:var(--red-contrast);transition:none}.guest-reward{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.guest-reward p{margin:0}.guest-reward-name{font-size:16px;font-weight:600;color:var(--text)}.enrollment-meta{font-size:12px;color:var(--text-faint)}.enrollment-actions{display:flex;align-items:center;gap:8px}.enrollment-end{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font:inherit;font-size:12.5px;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:var(--radius-s);cursor:pointer}.enrollment-row:has(.enrollment-actions)>.badge{margin-top:4px}.enrollment-end svg{flex-shrink:0}.enrollment-end:hover:not(:disabled){border-color:var(--red);color:var(--red);background:var(--red-tint)}.enrollment-end.confirming{border-color:var(--red);background:var(--red);color:var(--red-contrast)}.enrollment-end:disabled{opacity:.5;cursor:not-allowed}.enroll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width:560px){.enroll-grid{grid-template-columns:1fr}}.enroll-panel{margin-top:4px}.enroll-form-open{margin-top:16px;padding-top:20px;border-top:1px solid var(--border)}.enroll-form .form-error{margin:12px 0 0}.enroll-form .form-actions{margin-top:14px}.class-groups{gap:16px;margin-top:4px}.class-group-header{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.class-group-name{font-size:13px;font-weight:600;color:var(--text-muted)}.class-group-count{font-size:12px}.class-group-toggle{margin-left:auto;padding:2px 6px;font:inherit;font-size:12.5px;color:var(--accent-700);background:none;border:none;border-radius:var(--radius-s);cursor:pointer}.class-group-toggle:hover{background:var(--surface-2)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .class-group-toggle{color:var(--accent-500)}}.gymment-app[data-theme=dark] .class-group-toggle{color:var(--accent-500)}.class-groups .class-picker{margin:0}.price-rows{display:flex;flex-direction:column;gap:14px;padding:4px 0}.price-row{display:flex;align-items:center;gap:10px}.price-row>.field{flex:1 1 0;min-width:0}.price-row>.field-money{flex:1.4 1 0}.price-block,.price-tiers{display:flex;flex-direction:column;gap:10px}.price-tiers{align-items:flex-start;margin-left:14px}.price-tiers.has-tiers{padding-left:14px;border-left:2px solid var(--border)}.price-tiers .price-row{align-self:stretch}.price-tiers-title{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--text-muted)}.price-add{align-self:flex-start;padding:8px 12px;font:inherit;font-size:13px;color:var(--text-muted);background:none;border:1px dashed var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.price-add:hover{border-color:var(--accent-600);color:var(--text)}.class-option-name{flex:1;font-size:13.5px;color:var(--text)}.class-option-time{flex-shrink:0;font-size:12px;color:var(--text-faint)}.time-picker{position:relative;display:inline-flex;max-width:320px}.time-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font:inherit;font-family:var(--font-body);font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:10px;cursor:pointer}.time-picker-trigger:hover{border-color:var(--border-strong)}.time-picker-trigger:focus-visible{outline:2px solid var(--accent-600);outline-offset:-1px}.time-picker-trigger svg{flex-shrink:0;color:var(--text-faint)}.time-picker-placeholder{color:var(--text-faint)}.time-picker-panel{position:fixed;z-index:50;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);padding:14px;box-shadow:var(--shadow)}.time-picker-panel-body{overflow:hidden;transition:height .2s ease}.fade-slide-in{animation:fade-slide-in .18s ease both}.slide-ghost{position:absolute;top:0;left:0;right:0;z-index:5;pointer-events:none;background:var(--bg)}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.time-picker-display{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:12px}.time-picker-display-segment{font:inherit;font-family:var(--font-mono);font-size:21px;font-weight:700;color:var(--text-faint);background:none;border:none;border-radius:var(--radius-s);padding:2px 6px;cursor:pointer}.time-picker-display-segment.active{color:var(--accent-700);background:var(--accent-tint-strong)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .time-picker-display-segment.active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .time-picker-display-segment.active{color:var(--accent-500)}.time-picker-display-colon{font-family:var(--font-mono);font-size:21px;font-weight:700;color:var(--text-faint)}.time-picker-ampm{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-s);margin-left:6px}.time-picker-ampm-option{font:inherit;font-size:10px;font-weight:700;padding:3px 7px;color:var(--text-faint);background:var(--surface);border:none;cursor:pointer}.time-picker-ampm-option.active{background:var(--accent-600);color:var(--accent-contrast)}.time-picker-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.time-picker-action-cancel,.time-picker-action-ok{font:inherit;font-size:12.5px;font-weight:600;border-radius:var(--radius-s);padding:7px 12px;cursor:pointer;border:none}.time-picker-action-cancel{color:var(--text-muted);background:none}.time-picker-action-cancel:hover{color:var(--text)}.time-picker-action-ok{color:var(--accent-contrast);background:var(--accent-600)}.time-picker-action-ok:hover{opacity:.9}.time-picker-action-danger{background:var(--red);color:var(--red-contrast)}.time-picker-action-danger:hover{opacity:.9}.time-picker-discard p{margin:0 0 4px;font-size:13px;color:var(--text);text-align:center}.clock-dial{position:relative;margin:0 auto;border-radius:50%;background:var(--surface-2);touch-action:none;user-select:none}.clock-dial-hand{position:absolute;left:50%;top:50%;pointer-events:none}.clock-dial-hand-line{left:-1px;width:2px;border-radius:2px}.clock-dial-hand-knob,.clock-dial-hand-line{position:absolute;background:var(--accent-600)}.clock-dial-hand-knob{left:-9px;width:18px;height:18px;border-radius:50%}.clock-dial-center{left:50%;top:50%;width:6px;height:6px;background:var(--accent-600)}.clock-dial-center,.clock-dial-tick{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.clock-dial-tick{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:12px;color:var(--text-muted)}.clock-dial-tick.selected{font-weight:700;color:var(--accent-contrast);background:var(--accent-600)}.login-shell{min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:20px}.login-title{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0;text-align:center}.login-form{display:flex;flex-direction:column;gap:14px}.login-description{margin:-8px 0 0;font-size:13px;color:var(--text-faint);text-align:center}.invite-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.invite-text{margin:0;font-size:14px;color:var(--text-muted)}.invite-actions{display:flex;align-items:center;gap:14px}.login-skeleton{height:44px;border-radius:var(--radius-s);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:login-skeleton-shimmer 1.4s ease infinite}@media (prefers-reduced-motion:reduce){.login-skeleton{animation:none}}@keyframes login-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.login-submit{justify-content:center;padding:10px 14px}.login-submit:disabled{opacity:.6;cursor:not-allowed}.role-picker{display:flex;flex-direction:column;gap:8px}.role-picker-label{font-size:12px;color:var(--text-faint)}.role-picker-options{display:flex;gap:6px}.role-option{flex:1;padding:8px 0;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.role-option:hover{border-color:var(--border-strong)}.role-option.active{border-color:var(--accent-600);background:var(--accent-tint);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .role-option.active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .role-option.active{color:var(--accent-500)}@media (prefers-reduced-motion:no-preference){.gymment-app,.gymment-app *{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.theme-toggle .theme-auto,.theme-toggle svg{animation:theme-icon-in .25s ease}.theme-toggle .theme-auto svg{animation:none}@keyframes theme-icon-in{0%{opacity:0;transform:scale(.6) rotate(-40deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}}.group-tab-track{position:relative;overflow:hidden;display:grid;grid-template-columns:100%;align-items:start}.group-tab-panel{grid-area:1/1;width:100%;min-width:0;display:flex;flex-direction:column;gap:24px;transition:transform .42s cubic-bezier(.22,1,.36,1)}.group-tab-panel:not(.is-active){position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.group-tab-panel,.product-buybox,.product-description,.product-detail-back,.product-detail-main,.product-gallery-indicator,.product-gallery-track,.product-related,.shop-cart-fold,.shop-cart-fold-clip>*,.shop-cart-icon-goods,.shop-cart-line,.shop-panel,.shop-toolbar-btn,.shop-toolbar-icon,.shop-variant-indicator,.tab-pill{animation:none!important;transition:none!important}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}.fade-slide-in,.profile-reveal-new{animation:none!important}.class-option input[type=checkbox]:before,.profile-cancel,.profile-cancel-clip,.profile-cancel-label,.profile-commit,.profile-commit-discard,.profile-commit-edit,.profile-commit-save,.profile-keep-label,.time-picker-panel-body{transition:none!important}}.home-chart{display:flex;flex-direction:column;gap:14px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);padding:20px}.home-chart-head{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap}.home-chart-range-slot{position:relative;flex:none}.home-chart-range{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:none;font:inherit;font-size:12.5px;color:var(--text-faint);cursor:pointer}.home-chart-range:hover{color:var(--text-muted)}.home-chart-range:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:var(--radius-s)}.home-metrics{display:flex;flex-wrap:wrap;gap:2px}.home-metric-slot{position:relative;min-width:0}.home-metric{position:relative;border-radius:var(--radius-s);color:#fff}.gymment-app .home-metric.mod{--home-metric-ink:oklch(0.42 calc(0.12 * var(--mod-chroma-scale, 1)) var(--mod-hue))}.home-metric.mod{background:var(--home-metric-ink)}.home-metric-main{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:auto;padding:6px 28px 6px 10px;border:none;border-radius:inherit;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.home-metric:hover{filter:brightness(1.06)}.home-metric-main:focus-visible{outline:2px solid var(--text);outline-offset:2px}.home-metric-color{position:absolute;right:7px;bottom:8px;z-index:1;line-height:0}.home-metric-color .color-wheel-trigger{border-color:rgba(255,255,255,.92)}.home-metric-eye{position:absolute;top:5px;right:6px;z-index:1;display:grid;place-items:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-s);background:none;color:rgba(255,255,255,.8);line-height:0;cursor:pointer}.home-metric-eye:hover:not(:disabled){color:#fff}.home-metric-eye:focus-visible{outline:2px solid #fff;outline-offset:1px}.home-metric-eye:disabled{opacity:.45;cursor:default}.gymment-app .home-metric{transition:opacity .2s ease}.gymment-app .home-metric.is-off{opacity:.5}.gymment-app .home-metric.is-off:hover{opacity:.85}.gymment-app .home-plot-line{transition:opacity .25s ease}.gymment-app .home-plot-line.is-hidden{opacity:0}.home-metric-name{display:flex;align-items:center;gap:4px;max-width:100%;font-size:12px;font-weight:400;line-height:1.2;white-space:nowrap}.home-metric-name svg{flex:none}.home-metric-value{font-size:20px;font-weight:400;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.home-metric-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:max(100%,10.5rem);padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 8px 24px rgba(19,32,21,.12)}.home-metric-menu.is-end{left:auto;right:0}.home-metric-menu.home-chart-range-menu{min-width:8.5rem}.home-metric-option{display:block;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-s);background:none;color:var(--text);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.home-metric-option.is-current,.home-metric-option:hover{background:var(--surface-2)}.home-metric-option.is-current{font-weight:600}.home-plot{position:relative;height:220px}.home-plot-svg{display:block;width:100%;height:100%;overflow:visible}.home-plot-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.home-plot-base,.home-plot-guide{stroke:var(--border-strong);stroke-width:1;vector-effect:non-scaling-stroke}.home-plot-guide{stroke-dasharray:3 3}.home-plot-tip{position:absolute;top:8px;z-index:2;min-width:180px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 8px 24px rgba(19,32,21,.12);pointer-events:none;transform:translateX(-50%)}.home-plot-tip-day{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--text)}.home-plot-tip ul{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.home-plot-tip li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted)}.home-plot-swatch{width:8px;height:8px;border-radius:50%}.home-plot-tip-value{font-variant-numeric:tabular-nums;color:var(--text)}.home-plot-axis{display:flex;justify-content:space-between;margin-top:-6px;font-size:12px;color:var(--text-faint)}@media (max-width:720px){.home-chart-head{flex-direction:column}.home-metrics{width:100%}.home-chart-range{margin:0}}.join-code-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.join-code-row .join-code{font-size:22px;font-weight:600;letter-spacing:.12em;color:var(--text)}.payments-status-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.payout-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px 24px}.payout-figure{display:flex;flex-direction:column;gap:2px}.payout-figure-label{font-size:12px;color:var(--text-faint)}.payout-figure-value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.payout-destination{display:flex;align-items:center;justify-content:space-between;gap:16px}.payout-bank{display:flex;align-items:baseline;gap:10px;min-width:0;font-size:14px;color:var(--text)}.payout-last4{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--text-muted)}.payout-list,.payout-needs{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.payout-needs li,.payout-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:14px;color:var(--text)}.payout-needs li{align-items:flex-start;flex-direction:column;gap:2px}.payout-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.payout-row-amount{font-variant-numeric:tabular-nums;font-weight:600}.payments-setup{align-items:flex-start;gap:14px}.pay-card,.payments-setup{display:flex;flex-direction:column}.pay-card{gap:16px;width:min(100%,22rem);aspect-ratio:1.586/1;padding:18px 18px 14px;border-radius:14px;background:radial-gradient(120% 90% at 100% 0,rgba(255,255,255,.16),transparent 42%),linear-gradient(155deg,#24382b,#14261c 55%,#0e1c14);color:#f4faf6;box-shadow:0 14px 28px rgba(14,28,20,.22)}.pay-card,.pay-card-top{justify-content:space-between}.pay-card-top{display:flex;align-items:flex-start;gap:12px}.pay-card-chip{display:block;flex:none}.pay-card-brand{font-size:12px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:#e4f0e7}.pay-card-middle{display:flex;flex-direction:column;gap:14px}.pay-card-number{display:flex;align-items:center;gap:14px;margin:0;font-family:var(--font-mono);font-size:16px;font-weight:500;letter-spacing:.14em;line-height:1;font-variant-numeric:tabular-nums}.pay-card-dots{gap:12px}.pay-card-dot-group,.pay-card-dots{display:inline-flex;align-items:center}.pay-card-dot-group{gap:5px}.pay-card-dot-group i{width:5px;height:5px;border-radius:50%;background:rgba(244,250,246,.72)}.pay-card-expiry{display:flex;flex-direction:column;gap:3px;margin:0}.pay-card-expiry-label{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,250,246,.62)}.pay-card-expiry-value{font-family:var(--font-mono);font-size:14px;letter-spacing:.08em;line-height:1}.pay-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.pay-card-remove,.pay-card-replace{display:inline-flex;align-items:center;justify-content:center;height:32px;margin:0;padding:0 12px;border-radius:var(--radius-l);font:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer}.pay-card-remove{background:transparent;color:#f4faf6;border:1px solid rgba(244,250,246,.4)}.pay-card-remove:hover:not(:disabled){background:rgba(244,250,246,.1)}.pay-card-remove.confirming,.pay-card-remove.confirming:hover:not(:disabled){background:var(--red);border-color:var(--red);color:var(--red-contrast)}.pay-card-replace{background:#f4faf6;color:#102018;border:1px solid #f4faf6}.pay-card-replace:hover:not(:disabled){filter:brightness(.96)}.pay-card-remove:focus-visible,.pay-card-replace:focus-visible{outline:2px solid #f4faf6;outline-offset:2px}.pay-card-remove:disabled,.pay-card-replace:disabled{opacity:.5;cursor:not-allowed;filter:none}.pay-card.is-wallet .pay-card-top{flex:1;align-items:center}.pay-card.is-wallet .pay-card-brand{font-size:22px;font-weight:700;letter-spacing:.04em}.pay-card.is-amazon{background:radial-gradient(90% 70% at 100% 0,rgba(255,153,0,.22),transparent 48%),linear-gradient(155deg,#3d4b5c,#232f3e 55%,#1b242e);color:#fff}.pay-card.is-amazon .pay-card-brand{color:#ff9900}.pay-card.is-cashapp{background:radial-gradient(80% 70% at 0 0,rgba(0,214,50,.16),transparent 46%),linear-gradient(160deg,#1a1a1a,#0c0c0c);color:#fff}.pay-card.is-cashapp .pay-card-brand{color:#00d632}.pay-card.is-link{background:radial-gradient(80% 70% at 100% 0,rgba(0,214,111,.2),transparent 46%),linear-gradient(160deg,#143028,#0c1612);color:#fff}.pay-card.is-link .pay-card-brand{color:#00d66f}.pay-card.is-klarna{background:radial-gradient(90% 80% at 100% 0,rgba(255,255,255,.35),transparent 42%),linear-gradient(160deg,#ffc2d6,#ffb3c7 55%,#ffa8c0);color:#0e0e0e;box-shadow:0 14px 28px rgba(80,20,40,.12)}.pay-card.is-klarna .pay-card-brand{color:#0e0e0e}.pay-card.is-klarna .pay-card-remove{color:#0e0e0e;border-color:rgba(14,14,14,.35)}.pay-card.is-klarna .pay-card-remove:hover:not(:disabled){background:rgba(14,14,14,.08)}.pay-card.is-klarna .pay-card-replace{background:#0e0e0e;color:#ffb3c7;border-color:#0e0e0e}.pay-card.is-klarna .pay-card-remove:focus-visible,.pay-card.is-klarna .pay-card-replace:focus-visible{outline-color:#0e0e0e}.pay-card.is-bank{background:radial-gradient(100% 80% at 100% 0,rgba(255,255,255,.12),transparent 42%),linear-gradient(155deg,#2c3a4a,#1b2838 58%,#141e2a);color:#f4f7fb}.pay-card.is-bank .pay-card-brand{color:#d5deea}.pay-card.is-empty{justify-content:center;align-items:center;text-align:center;gap:12px;background:var(--surface);color:var(--text);border:1px dashed var(--border-strong);box-shadow:none}.pay-card-empty{margin:0;font-size:14px;font-weight:600}.payments-autopay{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,22rem)}.payments-autopay-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.payments-autopay.is-held{align-items:flex-start}.payments-autopay-reason{margin:0;font-size:12.5px;line-height:1.35;color:var(--text-muted)}.payments-autopay.is-held .product-active-switch{margin-top:1px;opacity:.4;cursor:not-allowed}.checkin-card-body{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding-top:2px}.checkin-qr{flex:none;width:164px;height:164px;border-radius:var(--radius-m);background:#fff;overflow:hidden}.checkin-qr svg{display:block;width:100%;height:100%}.checkin-card-side{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.checkin-digits{font-family:var(--font-mono);font-size:34px;font-weight:700;letter-spacing:.08em;line-height:1;color:var(--text)}.checkin-expiry{font-size:12.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.checkin-card-actions{display:flex;align-items:center;gap:16px;margin-top:6px}.checkin-card-actions .back-link{align-self:center}.checkin-notice{margin:0 0 10px}.checkin-idle{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:8px}.checkin-idle .field{width:100%;max-width:420px}.checkin-class{display:flex;flex-direction:column;gap:2px;margin:0}.checkin-class-kicker{font-size:12px;font-weight:600;color:var(--text-muted)}.checkin-class-name{font-size:14.5px;font-weight:600;color:var(--text)}.checkin-qr-icon{display:block;flex-shrink:0}.attendance-body{display:flex;gap:10px;max-width:440px}.attendance-grid,.attendance-weekdays{display:grid;gap:4px}.attendance-weekdays{grid-template-rows:repeat(7,1fr);font-size:11px;line-height:1;color:var(--text-faint)}.attendance-weekdays span{display:flex;align-items:center}.attendance-grid{flex:1;min-width:0;grid-template-rows:repeat(7,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.attendance-day{position:relative;display:block;width:100%;aspect-ratio:1;border-radius:3px;box-sizing:border-box}.attendance-attended{background:var(--accent-500)}.attendance-missed{background:var(--amber)}.attendance-none{background:var(--surface-2)}.attendance-future{border:1px dashed var(--border)}.attendance-today{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--text-muted)}.attendance-grid .attendance-day:hover:after{content:attr(data-tip);position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:6px 9px;border-radius:var(--radius-s);background:var(--text);color:var(--bg);font-size:12px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow)}.attendance-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--text-muted)}.attendance-legend-item{display:inline-flex;align-items:center;gap:6px}.attendance-legend .attendance-day{width:12px}.checkin-result{display:flex;align-items:center;gap:14px;margin:22px auto 0;padding:12px 18px;width:fit-content;max-width:100%;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.checkin-result-ok{border-color:var(--accent-600);background:var(--accent-tint)}.checkin-result-error{border-color:var(--red);background:var(--red-tint)}.checkin-result-error .checkin-result-name{color:var(--red-text)}.checkin-result-text{display:flex;flex-direction:column;gap:2px}.checkin-result-name{font-weight:600;color:var(--text)}.checkin-result-detail{font-size:12.5px;color:var(--text-muted)}.checkin-result-warn{font-size:12.5px;color:var(--amber-text)}.recent-codes-item-error .recent-codes-code{color:var(--text-faint);font-weight:400}.recent-codes-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-summary{margin:0;font-size:13.5px;font-weight:600;color:var(--accent-700)}.payment-summary.is-overdue{color:var(--red-text)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .payment-summary:not(.is-overdue){color:var(--accent-500)}}.gymment-app[data-theme=dark] .payment-summary:not(.is-overdue){color:var(--accent-500)}.overdue-note{color:var(--red-text);font-weight:500}.payment-alert{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:14px 18px;border:1px solid var(--red);border-radius:var(--radius-m);background:var(--red-tint)}.payment-alert-text{display:flex;flex-direction:column;gap:2px}.payment-alert-title{font-weight:600;color:var(--red-text)}.payment-alert-detail{font-size:13px;color:var(--red-text);opacity:.85}.payment-alert .btn-primary{background:var(--red);color:var(--red-contrast)}.charge-row:has(.payment-pay){padding-bottom:12px}.payment-pay{flex-wrap:wrap;justify-content:flex-end}.payment-method-field{min-width:170px}.charge-list,.panel-tabs{display:flex;flex-direction:column;gap:20px}.charge-group{display:flex;flex-direction:column;gap:8px}.charge-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:2px;align-items:baseline;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.charge-label{font-size:14.5px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.charge-amount{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;color:var(--text);text-align:right}.charge-detail{font-size:12px;color:var(--text-faint)}.charge-row>.badge{justify-self:end;align-self:center}.charge-row>.enrollment-actions{grid-column:1/-1;justify-content:flex-end;margin-top:8px}.charge-row.is-due,.charge-row.is-overdue{border-color:var(--amber);background:var(--amber-tint)}.charge-row.is-due .charge-amount,.charge-row.is-due .charge-label,.charge-row.is-overdue .charge-amount,.charge-row.is-overdue .charge-label{color:var(--amber-text)}.charge-row-product{align-items:center}.charge-row-product,.charge-row-product.is-due,.charge-row-product.is-overdue{background:var(--surface);border-color:var(--border)}.charge-row-product.is-due .charge-amount,.charge-row-product.is-due .charge-label,.charge-row-product.is-overdue .charge-amount,.charge-row-product.is-overdue .charge-label{color:var(--text)}.charge-product{display:flex;flex-direction:column;gap:10px;grid-column:1;grid-row:1/span 2;min-width:0}.charge-product-line{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center}.charge-product-media{width:56px;height:56px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--bg);overflow:hidden;display:grid;place-items:center;color:var(--text-faint)}.charge-product-media img{width:100%;height:100%;object-fit:contain}.charge-product-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.charge-product-copy .charge-label{white-space:normal}.charge-row-product>.charge-amount{align-self:end}.charge-row-product>.badge{align-self:start}.charge-row.is-paid .charge-amount{color:var(--text-muted)}.charge-row.is-void{opacity:.7}.charge-row.is-void .charge-amount{text-decoration:line-through}.checkin-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;font-size:12.5px;color:var(--text-muted);white-space:nowrap}.checkin-status.is-in{border-color:var(--accent-600);background:var(--accent-tint);color:var(--text)}.checkin-timer{font-family:var(--font-mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.checkin-status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-500);box-shadow:0 0 0 0 var(--accent-500);animation:checkin-pulse 1.8s ease-out infinite}@keyframes checkin-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent-500) 55%,transparent)}70%,to{box-shadow:0 0 0 7px transparent}}@media (prefers-reduced-motion:reduce){.checkin-status-dot{animation:none}}.checkin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.checkin-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.checkin-list-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.checkin-list-date{font-size:14px;font-weight:600}.checkin-list-note,.checkin-list-time{font-size:12.5px;color:var(--text-muted)}.checkin-list-note{flex-shrink:0;text-align:right}.checkin-list-note.is-live{color:var(--accent-700);font-weight:600}.checkin-list-more{display:block;width:100%;margin-top:8px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.checkin-list-more:hover{color:var(--accent-700);border-color:var(--accent-600)}@media (max-width:767px){.checkin-list-row{align-items:flex-start;flex-direction:column;gap:4px}.checkin-list-note{text-align:left}}.sidebar-more,.sidebar-more-layer,.sidebar-profile .sidebar-profile-menu-mobile,.sidebar-profile-mobile{display:none}.sidebar-more-button{width:100%;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}@media (max-width:767px){.gymment-app[data-mobile-nav=bottom] .sidebar{position:fixed;top:auto;right:0;bottom:0;left:0;z-index:15;width:auto;height:auto;box-sizing:border-box;overflow:clip;flex-direction:column;align-items:stretch;gap:0;padding:0 6px env(safe-area-inset-bottom,0);border-top:1px solid var(--border);border-right:0}.gymment-app[data-mobile-nav=bottom] .sidebar-brand{display:none}.gymment-app[data-mobile-nav=bottom] .sidebar-nav{flex:none;width:100%;flex-direction:row;flex-wrap:nowrap;gap:0;min-width:0;overflow:clip}.gymment-app[data-mobile-nav=bottom] .sidebar-group{flex:1;min-width:0}.gymment-app[data-mobile-nav=bottom] .sidebar-row{height:44px;margin:8px 2px;border-radius:12px}.gymment-app[data-mobile-nav=bottom] .sidebar-row:hover:not(.active){background:transparent}.gymment-app[data-mobile-nav=bottom] .sidebar-link{justify-content:center;gap:0;padding:0}.gymment-app[data-mobile-nav=bottom] .sidebar-link-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gymment-app[data-mobile-nav=bottom] .sidebar-nav .sidebar-icon{color:var(--text-muted)}.gymment-app[data-mobile-nav=bottom] .sidebar-nav .sidebar-icon svg{width:22px;height:22px}.gymment-app[data-mobile-nav=bottom] .sidebar-chevron,.gymment-app[data-mobile-nav=bottom] .sidebar-group[data-mobile-slot=more],.gymment-app[data-mobile-nav=bottom] .sidebar-subnav-wrapper{display:none}.gymment-app[data-mobile-nav=bottom] .sidebar-nav{position:relative;z-index:2}.gymment-app[data-mobile-nav=bottom] .sidebar-more{display:flex}.gymment-app[data-mobile-nav=bottom] .sidebar-more-layer{display:grid;grid-template-rows:0fr;width:100%;min-height:0}.gymment-app[data-mobile-nav=bottom] .sidebar .sidebar-more-layer{transition:grid-template-rows .22s ease}.gymment-app[data-mobile-nav=bottom] .sidebar-more-layer.open{grid-template-rows:1fr}@media (prefers-reduced-motion:reduce){.gymment-app[data-mobile-nav=bottom] .sidebar .sidebar-more-layer{transition:none}}.sidebar-more-backdrop,.sidebar-more-sheet{grid-row:1;grid-column:1}.sidebar-more-backdrop{position:fixed;inset:0;z-index:1;border:0;padding:0;background:transparent;cursor:pointer;visibility:hidden;pointer-events:none}.sidebar-more-layer.open .sidebar-more-backdrop{visibility:visible;pointer-events:auto}.sidebar-more-sheet{position:relative;z-index:2;min-height:0;margin:0;overflow:hidden;background:transparent}.sidebar-more-list{display:flex;flex-direction:column;gap:2px;padding:4px 4px 8px;border-top:1px solid var(--border)}.sidebar-more-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border-radius:var(--radius-s);color:var(--text);font-size:15px;font-weight:500;text-decoration:none}.sidebar-more-link:hover{background:var(--surface-2)}.sidebar-more-link.active{background:var(--accent-tint);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .sidebar-more-link.active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .sidebar-more-link.active{color:var(--accent-500)}.gymment-app[data-mobile-nav=bottom] .workspace-switcher{top:12px;left:12px;right:auto;bottom:auto}.gymment-app[data-mobile-nav=bottom] .sidebar-profile{position:static;flex:0 0 0;width:0;height:0;min-height:0;margin:0;overflow:hidden;border-top:0}.gymment-app[data-mobile-nav=bottom] .sidebar-profile-row{display:none}.gymment-app[data-mobile-nav=bottom] .sidebar-profile-mobile{position:fixed;top:8px;right:12px;z-index:16;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}.gymment-app[data-mobile-nav=bottom] .sidebar-profile-mobile.active .avatar{box-shadow:0 0 0 2px var(--accent-500)}.gymment-app[data-mobile-nav=bottom] .sidebar-profile .sidebar-profile-menu{position:fixed;top:52px;right:12px;bottom:auto;left:auto;z-index:25;width:200px;transform:translateY(-4px)}.gymment-app[data-mobile-nav=bottom] .sidebar-profile .sidebar-profile-menu.open{transform:translateY(0)}.gymment-app[data-mobile-nav=bottom] .sidebar-profile .sidebar-profile-menu-mobile{display:flex;text-decoration:none}.gymment-app[data-mobile-nav=bottom] .app-main{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}.gymment-app[data-mobile-nav=bottom] .page{padding:20px 16px 24px;gap:20px}.gymment-app[data-mobile-nav=bottom]:has(.workspace-switcher) .page{padding-top:64px}.gymment-app[data-mobile-nav=bottom] .page-header,.gymment-app[data-mobile-nav=bottom] .student-topbar{padding-right:84px}.gymment-app[data-mobile-nav=bottom] .page-header h1{font-size:20px}.gymment-app[data-mobile-nav=bottom] .theme-toggle{top:12px;right:56px}.gymment-app[data-mobile-nav=bottom] .form-section{padding:16px}.gymment-app[data-mobile-nav=bottom] .btn-danger,.gymment-app[data-mobile-nav=bottom] .btn-primary{min-height:40px}.gymment-app[data-mobile-nav=bottom] input,.gymment-app[data-mobile-nav=bottom] textarea{font-size:16px}.gymment-app[data-mobile-nav=bottom] .checkin-card-body{flex-direction:column;align-items:stretch;gap:16px}.gymment-app[data-mobile-nav=bottom] .checkin-qr{width:min(100%,60vh);width:min(100%,60svh);height:auto;aspect-ratio:1;align-self:center}.gymment-app[data-mobile-nav=bottom] .checkin-card-side{align-items:center;text-align:center}.gymment-app[data-mobile-nav=bottom] .checkin-card-actions{justify-content:center}.gymment-app[data-mobile-nav=bottom] .tabs{width:100%}.gymment-app[data-mobile-nav=bottom] .tabs>.tab{flex:1 1 auto;padding-inline:6px}.gymment-app[data-mobile-nav=bottom] .recent-codes{position:static;width:100%;margin-top:8px;box-shadow:none}.gymment-app[data-mobile-nav=bottom] .checkin{min-height:0;justify-content:flex-start;padding-top:12vh}}.class-list{margin:0;padding:0;list-style:none}.class-list,.schedule-day{display:flex;flex-direction:column;gap:10px}.schedule-day{padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow)}.schedule-day-header{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;color:var(--text-muted)}.schedule-day.is-today{border-color:var(--accent-500);background:var(--accent-tint)}.schedule-day.is-today .schedule-day-header{color:var(--accent-700)}.schedule-day .class-list{gap:8px}.classes-view{gap:16px}.class-groups,.classes-view{display:flex;flex-direction:column}.class-groups{gap:14px}.class-group-count{font-weight:500;color:var(--text-faint)}.class-row{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.class-time{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 14px;background:var(--mod-tint);font-variant-numeric:tabular-nums}.class-start{font-size:14px;font-weight:600;color:var(--mod-text)}.class-end{font-size:12px;color:var(--mod-text);opacity:.7}.class-body{align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}.class-body,.class-text{display:flex;min-width:0}.class-text{flex-direction:column;align-items:flex-start;gap:3px}.class-title{font-size:14.5px;font-weight:600;color:var(--text)}.class-tag{display:inline-flex;align-items:center;gap:6px;padding:1px 8px 1px 7px;border-radius:999px;background:var(--mod-tint);font-size:11.5px;font-weight:600;color:var(--mod-text)}.class-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--mod)}.class-detail{font-size:12.5px;color:var(--text-muted)}a.is-lookup{color:inherit;text-decoration:none;border-radius:var(--radius-s);cursor:pointer}a.is-lookup:hover{color:var(--accent-700);text-decoration:underline;text-underline-offset:3px}a.class-tag.is-lookup:hover{text-decoration:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--mod) 50%,transparent)}a.is-lookup:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.gymment-app[data-theme=dark] a.is-lookup:hover{color:var(--accent-500)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) a.is-lookup:hover{color:var(--accent-500)}}.class-state{flex:none;display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--surface-2)}.class-state-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.class-row.is-now{border-color:color-mix(in srgb,var(--mod) 55%,var(--border))}.class-row.is-next .class-state,.class-row.is-now .class-state{color:var(--mod-text);background:var(--mod-tint)}.class-state.is-attended{color:var(--accent-700);background:var(--accent-tint)}.class-state.is-missed{color:var(--amber-text);background:var(--amber-tint)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .class-state.is-attended{color:var(--accent-500)}}.gymment-app[data-theme=dark] .class-state.is-attended{color:var(--accent-500)}.class-row.is-done{opacity:.55}.class-row .entity-card-actions{flex:none}.class-row:focus-within .entity-card-actions,.class-row:hover .entity-card-actions{opacity:1}.overdue-header-title{display:flex;align-items:center;gap:12px;min-width:0}.overdue-flag{flex:none;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:var(--red);color:var(--red-contrast);font-size:15px;font-weight:700;line-height:1;cursor:pointer}.overdue-flag.is-open,.overdue-flag:hover{box-shadow:0 0 0 3px var(--red-tint)}.overdue-flag:focus-visible{outline:2px solid var(--red);outline-offset:2px}.overdue-panel{padding-top:16px}.mod-red{--mod-hue:27;--mod-chroma-scale:1.4;--mod-l-light:0.58;--mod-l-dark:0.68}.mod-orange{--mod-hue:58;--mod-chroma-scale:1.15;--mod-l-light:0.7;--mod-l-dark:0.78}.mod-yellow{--mod-hue:92;--mod-chroma-scale:1.05;--mod-l-light:0.82;--mod-l-dark:0.86}.mod-green{--mod-hue:148;--mod-chroma-scale:1.1;--mod-l-light:0.62;--mod-l-dark:0.74}.mod-teal{--mod-hue:195;--mod-chroma-scale:0.8;--mod-l-light:0.64;--mod-l-dark:0.76}.mod-blue{--mod-hue:262;--mod-chroma-scale:1.3;--mod-l-light:0.55;--mod-l-dark:0.7}.mod-purple{--mod-hue:305;--mod-chroma-scale:1.25;--mod-l-light:0.55;--mod-l-dark:0.7}.mod-pink{--mod-hue:357;--mod-chroma-scale:1.15;--mod-l-light:0.68;--mod-l-dark:0.76}.mod-maroon{--mod-hue:8;--mod-chroma-scale:1.15;--mod-l-light:0.42;--mod-l-dark:0.6}.mod-brown{--mod-hue:55;--mod-chroma-scale:0.55;--mod-l-light:0.45;--mod-l-dark:0.6}.mod-grey{--mod-hue:250;--mod-chroma-scale:0.12;--mod-l-light:0.62;--mod-l-dark:0.74}.mod-black,.mod-white{--mod-hue:250;--mod-chroma-scale:0}.gymment-app .mod{--mod-c:calc(0.15 * var(--mod-chroma-scale, 1));--mod:oklch(var(--mod-l-light,0.6) var(--mod-c) var(--mod-hue));--mod-tint:oklch(0.95 calc(var(--mod-c) * 0.3) var(--mod-hue));--mod-text:oklch(0.42 calc(var(--mod-c) * 0.9) var(--mod-hue))}.gymment-app .mod.mod-white{--mod:oklch(0.8 0 0);--mod-tint:oklch(1 0 0);--mod-text:oklch(0.35 0 0)}.gymment-app .mod.mod-black{--mod:oklch(0.22 0 0);--mod-tint:oklch(0.27 0 0);--mod-text:oklch(0.95 0 0)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .mod{--mod:oklch(var(--mod-l-dark,0.74) var(--mod-c) var(--mod-hue));--mod-tint:oklch(0.3 calc(var(--mod-c) * 0.45) var(--mod-hue));--mod-text:oklch(0.84 calc(var(--mod-c) * 0.75) var(--mod-hue))}.gymment-app:not([data-theme=light]) .mod.mod-white{--mod:oklch(0.96 0 0);--mod-tint:oklch(0.9 0 0);--mod-text:oklch(0.25 0 0)}.gymment-app:not([data-theme=light]) .mod.mod-black{--mod:oklch(0.5 0 0);--mod-tint:oklch(0.13 0 0);--mod-text:oklch(0.92 0 0)}}.gymment-app[data-theme=dark] .mod{--mod:oklch(var(--mod-l-dark,0.74) var(--mod-c) var(--mod-hue));--mod-tint:oklch(0.3 calc(var(--mod-c) * 0.45) var(--mod-hue));--mod-text:oklch(0.84 calc(var(--mod-c) * 0.75) var(--mod-hue))}.gymment-app[data-theme=dark] .mod.mod-white{--mod:oklch(0.96 0 0);--mod-tint:oklch(0.9 0 0);--mod-text:oklch(0.25 0 0)}.gymment-app[data-theme=dark] .mod.mod-black{--mod:oklch(0.5 0 0);--mod-tint:oklch(0.13 0 0);--mod-text:oklch(0.92 0 0)}.modality-name-row{display:flex;align-items:center;gap:12px}.modality-name-row .field{flex:1;min-width:0}.color-field{display:flex;flex:none}.color-wheel-trigger{flex-shrink:0;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 24%,transparent);cursor:pointer;transition:transform .15s ease}.color-wheel-trigger:hover{transform:scale(1.08)}.color-wheel-trigger.is-empty{border-style:dashed;border-color:var(--text-faint)}.color-wheel-trigger:focus-visible{outline:2px solid var(--text);outline-offset:2px}.color-wheel-panel{position:fixed;z-index:30;border-radius:50%;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow),0 12px 32px rgba(0,0,0,.2)}.color-wheel-center{position:absolute;left:50%;top:50%;border-radius:50%;border:2px dashed var(--text-faint);background:none;cursor:pointer;transition:border-color .15s ease}.color-wheel-center.is-selected{border-color:var(--text)}.color-wheel-swatch{position:absolute;border:0;background:none;padding:0;cursor:pointer}.color-wheel-dot{display:block;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 24%,transparent);transition:box-shadow .15s ease,transform .15s ease}.color-wheel-dot.is-selected{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 24%,transparent),0 0 0 2px var(--surface),0 0 0 3.5px var(--text)}.modality-dot{flex:none;width:14px;height:14px;border-radius:50%;background:var(--mod)}.role-chip{display:inline-flex;align-items:center;align-self:flex-start;width:fit-content;padding:3px 10px;border-radius:999px;background:var(--mod-tint);color:var(--mod-text);font-size:12px;font-weight:600}.entity-card-heading .role-chip{margin-top:4px}.role-card{background:var(--mod-tint);border-color:color-mix(in oklab,var(--mod) 55%,transparent)}.role-card .entity-card-name{color:var(--mod-text)}.modality-card .entity-card-header{align-items:center}.memberships-browse{display:flex;flex-direction:column;gap:12px}#available{scroll-margin-top:16px}.list-search{position:relative}.list-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.list-search input{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:10px 12px 10px 36px}.list-search input::placeholder{color:var(--text-faint)}.list-search input:focus{outline:2px solid var(--accent-600);outline-offset:-1px}.membership-offer{gap:10px}.membership-offer-title{display:flex;align-items:center;gap:8px;min-width:0}.membership-offer-title .entity-card-name{min-width:0}.membership-prices{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px}.membership-price{display:inline-flex;align-items:baseline;gap:6px}.membership-price-amount{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text)}.membership-price-period{font-size:12.5px;font-weight:500;color:var(--text-faint)}.membership-fee{margin:-4px 0 0;font-size:12px;color:var(--text-faint)}.membership-classes,.role-permissions{display:flex;flex-wrap:wrap;gap:6px}.role-permissions{align-items:center;margin-top:4px}.role-permissions-title{min-width:74px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.membership-class-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:11.5px;font-weight:500}.membership-class-chip.mod{background:var(--mod-tint);color:var(--mod-text);font-weight:600}a.membership-class-chip.is-lookup:hover{text-decoration:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--mod) 50%,transparent)}.product-variants{list-style:none;margin:0 0 0 56px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.product-variants li{display:flex;align-items:baseline;gap:8px;padding:5px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m)}.product-variant-name{font-size:13px;font-weight:600;color:var(--text)}.product-variant-name .entity-code{font-size:11px}.product-variant-price,.product-variant-stock{font-size:12px;font-weight:500;color:var(--text-faint)}.product-variants li.is-out .product-variant-stock{color:var(--red)}.entity-card.is-inactive .entity-card-heading,.entity-card.is-inactive .membership-classes,.entity-card.is-inactive .membership-fee,.entity-card.is-inactive .membership-prices,.entity-card.is-inactive .product-variants{opacity:.55}.product-active-switch{position:relative;width:28px;height:16px;flex-shrink:0;border:none;border-radius:999px;background:var(--border-strong);padding:0;cursor:pointer}.product-active-switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s ease}.product-active-switch.is-on{background:var(--accent-600)}.product-active-switch.is-on:after{transform:translateX(12px)}.product-active-switch:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.product-active-switch:disabled{cursor:default}.membership-all-held{margin:0;font-size:12px;color:var(--text-faint)}.membership-enroll{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.recurrence-options{display:flex;flex-wrap:wrap;gap:6px}.recurrence-option{position:relative}.recurrence-option input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.recurrence-option span{display:flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:600;white-space:nowrap}.recurrence-option:hover span{border-color:var(--border-strong)}.recurrence-option input:checked+span{border-color:var(--accent-600);background:var(--accent-tint-strong);color:var(--accent-700)}.recurrence-option input:focus-visible+span{outline:2px solid var(--accent-600);outline-offset:2px}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .recurrence-option input:checked+span{color:var(--accent-500)}}.gymment-app[data-theme=dark] .recurrence-option input:checked+span{color:var(--accent-500)}html[data-scroll-lock] .sidebar-profile-mobile,html[data-scroll-lock] .theme-toggle,html[data-scroll-lock] .workspace-switcher{margin-right:var(--scrollbar-gap)}.modal-backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(6,10,7,.55);animation:modal-backdrop-in .22s ease both}.modal-panel{display:flex;flex-direction:column;width:min(520px,100%);max-height:min(640px,85vh);border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);box-shadow:0 24px 64px rgba(0,0,0,.35);animation:modal-panel-in .38s cubic-bezier(.16,1,.3,1) both}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop.is-closing{animation:modal-backdrop-out .24s ease both}.modal-panel.is-closing{animation:modal-panel-out .24s cubic-bezier(.4,0,1,1) both}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.97)}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-panel{animation:none}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 16px 20px;border-bottom:1px solid var(--border)}.modal-title{font-size:15px;font-weight:600;color:var(--text)}.modal-close{flex:none}.modal-body{flex:1;overflow-y:auto;padding:20px 22px 22px}.modal-body,.modal-form{display:flex;flex-direction:column}.modal-form{gap:20px}.product-created{display:flex;flex-direction:column;gap:16px}.product-created p{margin:0}.product-created-label{margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.product-created-variants{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.product-created-variants li{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.product-created .btn-primary{align-self:flex-end}.modal-class-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.modal-class-row{display:flex;align-items:stretch;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2)}.modal-class-row.is-held{border-color:var(--amber);background:var(--amber-tint)}.modal-class-row.is-new{border-color:color-mix(in srgb,var(--accent-600) 50%,var(--border));background:var(--accent-tint)}.modal-class-add,.modal-class-held{display:flex;align-items:center;justify-content:center;flex:none;width:32px}.modal-class-held{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.modal-class-add{background:color-mix(in srgb,var(--accent-600) 16%,transparent);color:var(--accent-700)}.gymment-app[data-theme=dark] .modal-class-add{color:var(--accent-500)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .modal-class-add{color:var(--accent-500)}}.modal-class-body{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 16px}.modal-class-title{font-size:14px;font-weight:600;color:var(--text)}.modal-class-waste{margin:0;font-size:12.5px;font-weight:500;color:var(--amber-text)}.modal-class-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.modal-class-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:var(--mod-tint);color:var(--mod-text);font-size:11px;font-weight:600}.modal-class-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--mod)}.modal-class-schedule{font-size:12.5px;color:var(--text-muted)}.modal-verdict{margin:0;padding:12px 16px;border-radius:var(--radius-m);background:var(--surface-2);font-size:13px;color:var(--text-muted)}.modal-verdict.is-warning{color:var(--amber-text)}.modal-verdict.is-warning,.savings-notice{border:1px solid var(--amber);background:var(--amber-tint)}.savings-notice{gap:4px;padding:10px 14px;border-radius:var(--radius-m)}.savings-notice,.shop{display:flex;flex-direction:column}.shop{gap:16px}.shop-toolbar{display:flex;justify-content:flex-end;gap:8px}.shop-toolbar-btn{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-width:156px;padding:8px 14px 8px 8px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.shop-toolbar-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-s);background:var(--surface-2);color:var(--text-muted);transition:background .15s ease,color .15s ease,transform .15s ease}.orders-icon{display:grid}.orders-icon svg{display:block}.orders-icon-line{transform-box:fill-box;transform-origin:center}.orders-icon-new{opacity:0}.shop-cart-icon-goods{opacity:0;transform:translateY(-3px);transform-box:fill-box;transform-origin:center;transition:opacity .42s ease,transform .52s cubic-bezier(.22,1,.36,1)}.shop-cart-icon.is-filled .shop-cart-icon-goods{opacity:1;transform:translateY(0)}.shop-toolbar-icon.is-dropping .shop-cart-icon.is-filled .shop-cart-icon-goods{opacity:0;transform:translateY(-4px)}.shop-cart-flyer{position:fixed;left:0;top:0;z-index:45;box-sizing:border-box;overflow:hidden;pointer-events:none;background:var(--surface);border:1px solid var(--border)}.shop-cart-flyer img{width:100%;height:100%;object-fit:contain}.shop-toolbar-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.shop-toolbar-label{font-size:13px;font-weight:600;line-height:1.2}.shop-toolbar-detail{font-size:11.5px;font-weight:500;line-height:1.2;color:var(--text-faint)}.shop-toolbar-btn.has-pending .shop-toolbar-icon{background:var(--accent-tint-strong);color:var(--accent-700)}.shop-toolbar-btn.has-pending .shop-toolbar-detail{color:var(--accent-700);font-weight:600}.shop-toolbar-btn:hover{border-color:var(--border-strong)}.shop-toolbar-btn.is-active .shop-toolbar-icon,.shop-toolbar-btn:hover .shop-toolbar-icon{background:var(--accent-600)}.shop-toolbar-btn:hover .shop-toolbar-icon{transform:translateY(-1px)}.shop-toolbar-btn.is-active{border-color:var(--accent-600);background:var(--accent-tint);color:var(--accent-700)}.shop-toolbar-btn.is-active .shop-toolbar-detail{color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .shop-toolbar-btn.has-pending .shop-toolbar-detail,.gymment-app:not([data-theme=light]) .shop-toolbar-btn.has-pending .shop-toolbar-icon,.gymment-app:not([data-theme=light]) .shop-toolbar-btn.is-active,.gymment-app:not([data-theme=light]) .shop-toolbar-btn.is-active .shop-toolbar-detail{color:var(--accent-500)}.gymment-app:not([data-theme=light]) .shop-toolbar-btn.is-active .shop-toolbar-icon,.gymment-app:not([data-theme=light]) .shop-toolbar-btn:hover .shop-toolbar-icon{color:var(--accent-contrast)}}.gymment-app[data-theme=dark] .shop-toolbar-btn.has-pending .shop-toolbar-detail,.gymment-app[data-theme=dark] .shop-toolbar-btn.has-pending .shop-toolbar-icon,.gymment-app[data-theme=dark] .shop-toolbar-btn.is-active,.gymment-app[data-theme=dark] .shop-toolbar-btn.is-active .shop-toolbar-detail{color:var(--accent-500)}.gymment-app[data-theme=dark] .shop-toolbar-btn.is-active .shop-toolbar-icon,.gymment-app[data-theme=dark] .shop-toolbar-btn:hover .shop-toolbar-icon,.shop-toolbar-btn.is-active .shop-toolbar-icon,.shop-toolbar-btn:hover .shop-toolbar-icon{color:var(--accent-contrast)}.shop-toolbar-btn:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}@media (max-width:560px){.shop-toolbar{justify-content:stretch}.shop-toolbar-btn{flex:1;min-width:0}}.shop-layout{display:grid;grid-template-columns:100%;align-items:start;position:relative;overflow:hidden}.shop-panel{grid-area:1/1;min-width:0;width:100%;transition:transform .42s cubic-bezier(.22,1,.36,1)}.shop-layout[data-panel=products] .shop-panel-products{transform:translateX(0)}.shop-layout[data-panel=products] .shop-panel-orders{transform:translateX(100%)}.shop-layout[data-panel=products] .shop-panel-cart{transform:translateX(200%)}.shop-layout[data-panel=orders] .shop-panel-products{transform:translateX(-100%)}.shop-layout[data-panel=orders] .shop-panel-orders{transform:translateX(0)}.shop-layout[data-panel=orders] .shop-panel-cart{transform:translateX(100%)}.shop-layout[data-panel=cart] .shop-panel-products{transform:translateX(-200%)}.shop-layout[data-panel=cart] .shop-panel-orders{transform:translateX(-100%)}.shop-layout[data-panel=cart] .shop-panel-cart{transform:translateX(0)}.shop-layout[data-panel=cart] .shop-panel:not(.shop-panel-cart),.shop-layout[data-panel=orders] .shop-panel:not(.shop-panel-orders),.shop-layout[data-panel=products] .shop-panel:not(.shop-panel-products){position:absolute;top:0;left:0}.shop-browse{display:flex;flex-direction:column;gap:14px}.shop-browse-tools{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px}.shop-browse-tools .list-search{flex:1 1 auto;min-width:0}.shop-code-lookup{--code-ease:cubic-bezier(0.22,1,0.36,1);--code-time:420ms;position:relative;display:grid;grid-template-columns:auto auto;column-gap:0;align-items:center;justify-content:start;flex:0 0 auto;max-width:100%;transition:column-gap var(--code-time) var(--code-ease)}.shop-code-lookup.is-open{column-gap:8px}.shop-panel-products>.shop-code-lookup{margin-bottom:14px}.shop-code-face{position:relative;display:flex;align-items:center;box-sizing:border-box;width:var(--code-closed,max-content);height:42px;padding:0 12px 0 32px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text-faint);overflow:hidden;transition:width var(--code-time) var(--code-ease),border-color .15s ease,color .15s ease}.shop-code-lookup.is-open .shop-code-face{width:max(96px,var(--code-closed,96px));color:var(--text)}.shop-code-lookup:not(.is-open):hover .shop-code-face{border-color:var(--accent-600);color:var(--text)}.shop-code-hash{position:absolute;left:10px;top:50%;color:var(--text-faint);transform:translateY(-50%);pointer-events:none}.shop-code-word{font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;transition:opacity .16s ease}.shop-code-lookup.is-open .shop-code-word{opacity:0}.shop-code-face input{position:absolute;inset:0;width:100%;box-sizing:border-box;border:0;background:transparent;padding:10px 12px 10px 32px;font:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13.5px;color:var(--text);opacity:0;transition:opacity .14s ease}.shop-code-lookup.is-open .shop-code-face input{opacity:1;transition:opacity .2s ease 80ms}.shop-code-face input::placeholder{font-family:var(--font-body);font-weight:500;color:var(--text-faint)}.shop-code-face input:focus{outline:none}.shop-code-lookup.is-open .shop-code-face:focus-within{outline:2px solid var(--accent-600);outline-offset:-1px}.shop-code-hit{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:pointer}.shop-code-lookup.is-open .shop-code-hit{pointer-events:none}.shop-code-hit:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.shop-code-open-clip{width:0;overflow:hidden;transition:width var(--code-time) var(--code-ease)}.shop-code-lookup.is-open .shop-code-open-clip{width:var(--open-w,4.75rem)}.shop-code-open{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:42px;padding:0 14px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer}.shop-code-open:hover:not(:disabled){border-color:var(--accent-600)}.shop-code-open:disabled{cursor:not-allowed}.shop-code-open:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.shop-code-miss{position:absolute;top:calc(100% + 6px);left:0;margin:0;font-size:13px;line-height:1.2;color:var(--red-text);white-space:nowrap}.shop-code-lookup:has(.shop-code-miss){margin-bottom:24px}@media (prefers-reduced-motion:reduce){.shop-code-face,.shop-code-face input,.shop-code-lookup,.shop-code-open-clip,.shop-code-word{transition:none}}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.shop-card{display:flex;flex-direction:column;padding:0;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden}.shop-card:hover{border-color:var(--accent-600)}.shop-card:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.shop-card-media{aspect-ratio:1;display:grid;place-items:center;background:var(--surface);color:var(--text-faint);border-bottom:1px solid var(--border)}.shop-card-media img,.shop-card-media video{width:100%;height:100%;object-fit:contain}.shop-card.is-sold-out .shop-card-media{opacity:.45}.shop-card-body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}.shop-card-name{font-size:13.5px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.shop-card-code{color:var(--text-faint);font-size:11px;font-weight:500}.shop-card-price{display:flex;align-items:baseline;gap:6px;font-size:18px;font-weight:700;letter-spacing:-.02em}.shop-card-from{font-weight:500}.shop-card-from,.shop-card-meta{font-size:12px;color:var(--text-muted)}.shop-card-meta.is-out{color:var(--red-text);font-weight:600}.shop-aside{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.shop-aside-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.shop-aside-head h2{margin:0;font-size:15px;font-weight:600}.shop-aside-close{display:inline-flex}.shop-aside .btn-primary{width:100%;justify-content:center}.shop-variant-options{position:relative;z-index:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--variant-option-w,max-content),1fr));gap:8px}.shop-variant-indicator{position:absolute;left:0;top:0;z-index:0;border-radius:var(--radius-s);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent-600);pointer-events:none;transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1)}.shop-variant-option{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0;box-sizing:border-box;padding:8px 14px;border-radius:var(--radius-s);border:1px solid var(--border);background:transparent;color:var(--text);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.shop-variant-option:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--surface)}.shop-variant-option>span{position:relative;z-index:1}.shop-variant-code{color:var(--text-faint);font-size:11px;font-weight:500}.shop-variant-option:hover:not(:disabled){border-color:var(--accent-600)}.shop-variant-option:disabled{color:var(--text-faint);cursor:not-allowed}.shop-variant-option:disabled>span{text-decoration:line-through}.shop-variant-option:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.shop-add-to-cart{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:4px}.shop-qty-stepper{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:4px;border-radius:var(--radius-s);border:1px solid var(--border)}.shop-qty-stepper-value{min-width:20px;text-align:center;font-weight:600}.shop-variant-stepper-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-s);border:none;background:var(--accent-600);color:var(--accent-contrast);font-size:16px;font-weight:700;line-height:1;cursor:pointer}.shop-variant-stepper-btn:disabled{background:var(--border);color:var(--text-faint);cursor:not-allowed}.shop-cart-body{display:flex;flex-direction:column;min-height:0}.shop-cart-fold{display:grid;grid-template-rows:1fr;min-height:0;transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1)}.shop-cart-fold.is-collapsed{grid-template-rows:0fr}.shop-cart-fold-clip{overflow:hidden;min-height:0}.shop-cart-fold-clip>*{transition:transform .42s cubic-bezier(.22,1,.36,1)}.shop-cart-fold-slide.is-collapsed .shop-cart-fold-clip>*{transform:translateY(-100%)}.shop-cart-checkout{display:flex;flex-direction:column;gap:14px;padding-top:14px}.shop-cart-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.shop-cart-line{display:grid;grid-template-rows:1fr;min-height:0;transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1),opacity .32s ease}.shop-cart-line.is-leaving{grid-template-rows:0fr;opacity:0}.shop-cart-line-clip{overflow:hidden;min-height:0}.shop-cart-line-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;align-items:center;gap:8px 14px;padding:12px 0;border-bottom:1px solid var(--border)}.shop-cart-line-media,.shop-order-line-media{position:relative;width:72px;height:72px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--bg);overflow:hidden;display:grid;place-items:center;color:var(--text-faint)}.shop-cart-line-media img,.shop-order-line-media img{width:100%;height:100%;object-fit:contain}.shop-cart-line-info,.shop-order-line-info{display:flex;flex-direction:column;gap:2px;min-width:0}.shop-cart-line-name,.shop-order-line-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-cart-line-variant,.shop-order-line-variant{font-size:12.5px;color:var(--text-muted)}.shop-cart-line-unit,.shop-order-line-unit{color:var(--text-faint)}.shop-cart-line-each,.shop-order-line-price{font-size:15px;font-weight:700}.shop-cart-line-actions{display:flex;align-items:center;gap:4px}.shop-cart-line .shop-qty-stepper{padding:2px}.shop-cart-total{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:16px;padding-top:4px}.buy-confirm{display:flex;flex-direction:column;gap:8px}.buy-confirm-name{margin:0;font-size:16px;font-weight:650}.buy-confirm-each,.buy-confirm-meta{margin:2px 0 0}.buy-confirm-total{margin:6px 0 0;font-size:22px;font-weight:700}.buy-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.shop-screen{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.shop-screen .shop-order-groups,.shop-screen .shop-orders,.shop-screen>.muted-note{align-self:stretch}.shop-order-groups{display:flex;flex-direction:column;gap:22px}.shop-order-group+.shop-order-group{padding-top:18px;border-top:1px solid var(--border)}.shop-order-group-title{margin:0 0 10px;font-size:13px;font-weight:650;letter-spacing:.01em;color:var(--text-muted)}.shop-orders{gap:10px}.shop-order,.shop-orders{display:flex;flex-direction:column}.shop-order{position:relative;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.shop-order.is-cancelled .shop-order-head>.muted-note,.shop-order.is-cancelled .shop-order-line-name,.shop-order.is-cancelled .shop-order-line-price,.shop-order.is-cancelled .shop-order-line-variant{opacity:.45}.shop-order.is-cancelled .shop-order-line-media img{filter:grayscale(1);opacity:.55}.shop-order.is-cancelled .shop-order-line-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top right,transparent calc(50% - 1px),var(--text-muted) calc(50% - 1px),var(--text-muted) calc(50% + 1px),transparent calc(50% + 1px));pointer-events:none}.shop-order.is-cancelled .badge{position:relative;z-index:1}.shop-order-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-order-who{display:flex;flex-direction:column;gap:2px;min-width:0}.shop-order-student{font-size:14px;font-weight:650}.shop-order-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.shop-order-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px 14px;width:100%}button.shop-order-line{margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-s)}button.shop-order-line:hover .shop-order-line-name{color:var(--accent-700)}button.shop-order-line:focus-visible{outline:2px solid var(--accent-600);outline-offset:3px}.shop-order-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.shop-order .icon-button{width:auto;height:32px;padding:0 10px;font-size:12px;font-weight:600}@media (max-width:560px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-cart-line-row{grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"media info info" "media price actions";align-items:center;row-gap:8px}.shop-cart-line-media{grid-area:media;align-self:start}.shop-cart-line-info{grid-area:info}.shop-cart-line-each{grid-area:price;justify-self:start}.shop-cart-line-actions{grid-area:actions}.shop-order-line-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.savings-notice p{margin:0;font-size:12.5px;color:var(--amber-text)}.profile-links{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden}.profile-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;font-size:14px;color:var(--text);text-decoration:none;background:var(--surface);transition:background-color .15s ease}.profile-link+.profile-link{border-top:1px solid var(--border)}.profile-link:hover{background:var(--surface-2)}.profile-link-detail{color:var(--text-muted);font-size:13px}.legal-doc{width:100%;max-width:640px;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.6;color:var(--text-muted)}.legal-doc h1{text-align:left}.legal-doc h2{margin:12px 0 0;font-size:15px;font-weight:600;color:var(--text)}.legal-doc p{margin:0}.legal-doc section{display:flex;flex-direction:column;gap:8px}.legal-updated{font-size:12px;color:var(--text-faint)}.hours-field{display:flex;flex-direction:column;gap:8px}.hours-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px}.hours-day{font-size:13px;font-weight:600;color:var(--text-muted)}.hours-times{display:flex;align-items:center;gap:8px}.hours-sep{color:var(--text-faint)}.hours-closed{justify-self:end}@media (max-width:560px){.hours-row{grid-template-columns:48px 1fr}.hours-closed{grid-column:2;justify-self:start}}.gym-card{display:flex;flex-direction:column;gap:14px}.gym-card-head{display:flex;align-items:center;gap:14px}.gym-card-name{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}.hours-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden}.hours-list-item+.hours-list-item{border-top:1px solid var(--border)}.hours-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 14px;border:none;font:inherit;font-size:14px;text-align:left;color:var(--text-muted);background:var(--surface)}.hours-list-row.is-button{cursor:pointer}.hours-list-row.is-button:hover,.hours-list-row.is-closed{background:var(--surface-2)}.hours-list-row.is-closed{color:var(--text-faint);cursor:default}.hours-list-times{display:flex;align-items:center;gap:10px}.hours-chevron{width:7px;height:7px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-2px);transition:transform .25s cubic-bezier(.22,1,.36,1)}.hours-chevron.is-open{transform:rotate(-135deg) translateY(-2px)}.hours-list-panel{padding:4px 12px 12px;background:var(--surface)}.hours-list-empty{margin:0;padding:6px 2px}.hours-list-row.today{color:var(--text);font-weight:600;background:var(--surface-2)}.hours-today{margin-left:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-600)}.busy-times{display:flex;flex-direction:column;gap:12px}.busy-days{display:flex;flex-wrap:wrap;gap:6px}.busy-day{padding:5px 11px;font-size:13px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.busy-day:hover{color:var(--text)}.busy-day:disabled{opacity:.45;cursor:not-allowed;background:var(--surface-2)}.busy-day:disabled:hover{color:var(--text-muted)}.busy-day.active{color:var(--accent-contrast);background:var(--accent-600);border-color:var(--accent-600)}.busy-chart{display:flex;align-items:flex-end;gap:4px;height:150px;padding:14px 14px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.busy-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.busy-bar-slot{flex:1;width:100%;display:flex;align-items:flex-end}.busy-bar{width:100%;border-radius:3px 3px 0 0;background:var(--accent-600);opacity:.45;transition:height .35s cubic-bezier(.22,1,.36,1)}.busy-col.now .busy-bar{opacity:1}.busy-hour{height:12px;font-size:10px;white-space:nowrap;color:var(--text-faint)}.busy-summary{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;font-size:13px;color:var(--text-muted)}.benefit-groups{display:flex;flex-direction:column;gap:12px}.benefit-group{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden}.benefit-stripe{display:flex;flex:none;flex-direction:column;width:6px}.benefit-stripe>span{flex:1;background:var(--mod)}.benefit-body{display:flex;min-width:0;flex:1;flex-direction:column;gap:8px;padding:14px}.benefit-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.benefit-membership{font-size:13px;font-weight:600}.benefit-list li::marker{color:var(--accent-600)}.benefit-list{margin:0;padding-left:18px;font-size:14px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.video-card{display:flex;flex-direction:column;gap:10px;padding:8px;text-align:left;color:inherit;font:inherit;background:transparent;border:none;border-radius:var(--radius-m);cursor:pointer;transition:background-color .25s ease}.gymment-app .video-card:focus-visible,.gymment-app .video-card:hover{background:color-mix(in srgb,var(--video-colour) 24%,var(--surface))}.gymment-app .video-card:focus-visible .video-title,.gymment-app .video-card:hover .video-title{color:color-mix(in srgb,var(--video-colour) 62%,var(--text))}.video-card.is-small{display:grid;grid-template-columns:148px minmax(0,1fr);align-items:start;gap:10px}.video-thumb{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-s);background:linear-gradient(135deg,var(--video-colour),color-mix(in srgb,var(--video-colour) 55%,black))}.video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-thumb-initial{font-size:44px;font-weight:700;color:rgba(255,255,255,.85)}.video-play{position:absolute;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding-left:3px;font-size:15px;color:#fff;background:rgba(0,0,0,.55);border-radius:50%;opacity:0;transform:scale(.85);transition:opacity .2s ease,transform .2s ease}.gymment-app .video-card:focus-visible .video-play,.gymment-app .video-card:hover .video-play{opacity:1;transform:none}.video-duration{position:absolute;right:6px;bottom:6px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.72);color:#fff;font-size:11.5px;font-weight:600}.video-text{display:flex;min-width:0;flex-direction:column;gap:2px}.video-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14.5px;font-weight:600;line-height:1.3;transition:color .25s ease}.video-meta{font-size:12.5px;color:var(--text-muted)}.video-admin-list{display:flex;flex-direction:column;gap:10px}.video-admin-row{display:grid;grid-template-columns:168px minmax(0,1fr) auto;align-items:start;gap:14px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface)}.video-admin-thumb{display:block;border-radius:var(--radius-s)}.video-admin-thumb:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.gymment-app .video-admin-thumb:focus-visible .video-play,.gymment-app .video-admin-thumb:hover .video-play{opacity:1;transform:none}.video-admin-text{display:flex;min-width:0;flex-direction:column;gap:4px}.video-admin-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.45;color:var(--text-muted)}@media (max-width:560px){.video-admin-row{grid-template-columns:112px minmax(0,1fr)}.video-admin-row form{grid-column:2;justify-self:start}}.watch{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.watch.has-next{grid-template-columns:minmax(0,1fr) 340px}.watch-main{display:flex;flex-direction:column;gap:12px;min-width:0}.watch-back{align-self:flex-start;border:none;background:none;padding:0;cursor:pointer;font-size:13.5px;font-weight:600}.watch-title{margin:0;font-size:20px;line-height:1.3}.watch-about{padding:12px 16px;border-radius:var(--radius-m);background:color-mix(in srgb,var(--video-colour) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--video-colour) 32%,var(--border))}.watch-meta{margin:0 0 6px;font-size:13px;font-weight:600}.watch-description{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.watch-description.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.watch-more{margin-top:8px;padding:0;border:none;background:none;color:inherit;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.watch-more:hover{text-decoration:underline}.watch-next{display:flex;flex-direction:column;gap:6px}.watch-next-title{margin:0 0 4px;font-size:14px;color:var(--text-muted)}.video-frame-link{display:flex;align-items:center;justify-content:center}@media (max-width:900px){.watch.has-next{grid-template-columns:minmax(0,1fr)}}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--radius-m);overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-file{width:100%;border-radius:var(--radius-m);background:#000}.stat-cards{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.stat-card{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.stat-card-value{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.stat-card-main .stat-card-value{color:var(--accent-600)}.stat-card-label{font-size:13px;color:var(--text-muted)}.stat-card-note{font-size:12px;color:var(--text-faint)}.edit-reveal{display:flex;flex-direction:column;gap:12px}.edit-reveal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.edit-reveal-head .section-subtitle{margin:0}.muted-inline{color:var(--text-muted)}@media (max-width:560px){.stat-cards{grid-template-columns:1fr 1fr}.stat-card-main{grid-column:1/-1}}.document-list{display:flex;flex-direction:column;gap:12px}.document-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden}.document-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font:inherit;color:inherit;text-align:left;background:none;border:0;cursor:pointer}.document-title{font-size:15px;font-weight:600}.document-body-wrap{display:flex;flex-direction:column;gap:14px;padding:0 16px 16px}.document-text{max-height:320px;overflow-y:auto;padding:12px 14px;font-size:14px;line-height:1.6;white-space:pre-wrap;color:var(--text-muted);background:var(--surface-2);border-radius:var(--radius-m)}.document-sign{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.document-sign .field{width:100%}.document-editor{display:flex;flex-direction:column;gap:6px}.document-remove{display:flex;justify-content:flex-start}.payment-alert.is-notice{border-color:var(--border);background:var(--surface)}.payment-alert.is-notice .payment-alert-title{color:var(--text)}.payment-alert.is-notice .payment-alert-detail{color:var(--text-muted);opacity:1}.payment-alert.is-notice .btn-primary{background:var(--accent-600);color:var(--accent-contrast)}.family-box{align-items:flex-start;gap:14px}.family-box,.family-invite{display:flex;flex-direction:column}.family-invite{gap:10px}.family-invite p{margin:0}.family-actions{display:flex;align-items:center;gap:14px}.family-members{width:100%;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden}.family-member{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface)}.family-member-main{flex:1;min-width:0;display:flex;flex-direction:column}.family-member-name{font-size:14px;font-weight:600}.family-member-role{font-size:12px;color:var(--text-faint)}.family-add{width:100%;display:flex;align-items:stretch;gap:10px}.family-add .btn-primary{align-self:stretch;padding-block:0}.family-add .field{flex:1}.family-member-item+.family-member-item{border-top:1px solid var(--border)}.family-member.is-expandable{cursor:pointer;transition:background-color .15s ease}.family-member.is-expandable:hover{background:var(--surface-2)}.family-chevron{width:8px;height:8px;flex:none;border-right:2px solid var(--text-faint);border-bottom:2px solid var(--text-faint);transform:rotate(-45deg)}.family-chevron.is-empty{visibility:hidden}.family-detail{display:flex;flex-direction:column;gap:10px}.family-detail-title{margin:6px 0 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.family-member-view{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.family-member-view>.group-tab-track{width:100%}.family-view-title{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.referral-card{display:flex;align-items:flex-start;gap:12px}.referral-card .field{flex:1;min-width:0}.referral-actions{display:flex;align-items:center;gap:14px;padding-top:4px}@media (max-width:560px){.referral-card{flex-direction:column;align-items:stretch}}.discount-battery{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--accent-tint);border:1px solid var(--accent-tint-strong);border-radius:var(--radius-m)}.discount-battery-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.discount-battery-title{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--text)}.discount-battery-meta{font-size:12.5px;color:var(--text-muted)}.discount-battery-bar{height:8px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.discount-battery-fill{height:100%;border-radius:inherit;background:var(--accent-600);transition:width .5s cubic-bezier(.22,1,.36,1)}.private-form{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface)}.private-form .field input,.private-form .field textarea{background:var(--bg)}.private-form .field input:focus+label,.private-form .field input:not(:placeholder-shown)+label,.private-form .field textarea:focus+label,.private-form .field textarea:not(:placeholder-shown)+label{background:var(--surface)}.private-time{position:relative}.private-time-label{position:absolute;top:-8px;left:10px;z-index:1;padding:0 4px;background:var(--surface);font-size:12px;color:var(--text-muted);pointer-events:none}.private-time .time-picker,.private-time .time-picker-trigger{width:100%;box-sizing:border-box}.private-time .time-picker-trigger{height:46px;padding-block:0}.private-form-actions{display:flex;align-items:center;gap:16px}.gymment-app .class-row.is-new{animation:class-row-in .52s cubic-bezier(.22,1,.36,1) both}@keyframes class-row-in{0%{max-height:0;opacity:0;transform:translateY(-12px) scale(.98);margin-bottom:-10px;border-width:0}to{max-height:240px;opacity:1;transform:none;margin-bottom:0}}@media (prefers-reduced-motion:reduce){.gymment-app .class-row.is-new{animation:none}}.private-row{align-items:center;gap:16px}.private-row-when{display:flex;flex-direction:column;gap:2px;min-width:92px;font-size:12.5px;color:var(--text-muted);white-space:nowrap}.private-row-when strong{font-size:13.5px;color:var(--text)}.private-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.private-row-main .item-row-name{flex:none}.private-row-what{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;color:var(--text-muted)}.private-row-note{font-size:12.5px;line-height:1.45;color:var(--text-faint);overflow-wrap:anywhere}.desk-private{display:flex;flex-direction:column;gap:12px}.gymment-app .save-button{transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility .25s}.gymment-app .save-button:not(.is-visible){opacity:0;transform:translateY(6px) scale(.96);visibility:hidden;pointer-events:none}@media (prefers-reduced-motion:reduce){.gymment-app .save-button{transition:none}}.invite-actions .back-link{align-self:center}.login-card.pending-request{align-items:center;text-align:center}.pending-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px}.pending-title .login-title{margin:0}.pending-title .form-error{flex-basis:100%}.sidebar-link.is-disabled,.sidebar-more-link.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}.sidebar-row:hover:has(.sidebar-link.is-disabled){background:none}.sidebar-row:hover .sidebar-link.is-disabled{color:var(--text-muted)}.sidebar-row:hover .sidebar-link.is-disabled .sidebar-icon{color:var(--text-faint)}.app-main>.login-card,.state-swap>*>.login-card{margin:max(24px,12vh) auto 0}.state-swap{position:relative;display:flow-root}.state-swap-in{animation:state-swap-in .42s cubic-bezier(.22,1,.36,1) both}.state-swap-out{position:absolute;inset:0 0 auto 0;pointer-events:none;animation:state-swap-out .24s ease both}@keyframes state-swap-in{0%{opacity:0;transform:translateY(10px)}}@keyframes state-swap-out{to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.state-swap-in,.state-swap-out{animation:none}}.journey-read{display:flex;flex-direction:column;gap:14px}.journey-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.journey-fact{display:flex;align-items:center;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.journey-fact-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--accent-tint);color:var(--accent-700)}.journey-fact.is-empty .journey-fact-icon{background:var(--surface-2);color:var(--text-faint)}.journey-fact-body{display:flex;flex-direction:column;gap:2px;min-width:0}.journey-fact-label{font-size:12px;font-weight:500;color:var(--text-muted)}.journey-fact-value{font-size:16px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.journey-fact.is-empty .journey-fact-value{font-weight:400;color:var(--text-faint)}.journey-about{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.journey-about p{margin:0}.journey-about-text{font-size:14.5px;line-height:1.55;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:520px){.journey-facts{grid-template-columns:minmax(0,1fr)}}:root:has(.gymment-app){scrollbar-gutter:stable}.journey-edit-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-m);padding:12px 16px;transition:border-color .15s ease}.journey-edit-card:focus-within{border-color:var(--accent)}.journey-edit-fact{display:flex;align-items:center;gap:14px}.journey-edit-fact>.field{flex:1;min-width:0}.journey-edit-card .field>input,.journey-edit-card .field>textarea,.journey-edit-card .search-select-trigger{border-color:transparent;background:transparent;box-shadow:none;outline:none;padding-left:0}.journey-edit-card .field label,.journey-edit-card .search-select-trigger+label{left:0;background:transparent!important}.journey-edit-fact,.journey-fact{min-height:78px;box-sizing:border-box}.journey-about,.journey-edit-about{min-height:82px;box-sizing:border-box}.journey-edit-about textarea{field-sizing:content;min-height:0;resize:none}.journey-edit-card .field .search-select-trigger+label,.journey-edit-card .field label,.journey-edit-card .field textarea+label,.journey-edit-card .field>input+label{top:1px!important;left:0!important;padding:0!important;font-size:12px!important;line-height:18px!important;font-weight:500!important;color:var(--text-muted)!important}.journey-edit-card .field>input,.journey-edit-card .search-select-trigger{align-items:flex-start;padding:21px 10px 0 0;min-height:46px;font-size:16px;line-height:24px;font-weight:600}.journey-edit-card .search-select-trigger svg{margin-top:5px}.journey-edit-about{padding:16px}.journey-edit-about .field label,.journey-edit-about .field textarea+label{top:0!important}.journey-edit-about .field textarea{padding:26px 0 0;font-size:14.5px;line-height:1.55;display:block;border:0}.journey-edit-card .field.is-dirty .search-select-trigger+label,.journey-edit-card .field.is-dirty>input+label,.journey-edit-card .field.is-dirty>textarea+label{padding-right:calc(.5em + 5px)!important}.form-error,.form-success{overflow:hidden;animation:banner-in .38s cubic-bezier(.22,1,.36,1) both}.login-card{--banner-gap:20px}@keyframes banner-in{0%{max-height:0;opacity:0;padding-block:0;border-block-width:0;margin-bottom:calc(var(--banner-gap, 24px) * -1)}to{max-height:160px;opacity:1;padding-block:10px;border-block-width:1px;margin-bottom:0}}@media (prefers-reduced-motion:reduce){.form-error,.form-success{animation:none}}.item-row-date{min-width:78px;text-align:right;white-space:nowrap}.requests-panel{display:flex;flex-direction:column;gap:24px;padding-top:20px}.item-list>.alist-item+.alist-item>.alist-item-inner>.item-row{border-top:1px solid var(--border)}.gymment-app .alist-item.is-entering{animation:alist-fade-in .2s ease both}.gymment-app .alist-item.is-leaving{opacity:0;pointer-events:none;transition:opacity .2s ease}@keyframes alist-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.gymment-app .alist-item.is-leaving{transition:none}.gymment-app .alist-item.is-entering{animation:none}}.item-row:has(>.row-error){flex-wrap:wrap}.row-error{flex-basis:100%;margin:0;font-size:12.5px;color:var(--red-text);text-align:right}.alist-item{position:relative}.alist-item-inner{background:var(--surface)}.list-separator{padding:8px 16px;background:var(--surface-2);border-top:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--text-muted)}.alist-item:first-child>.alist-item-inner>.list-separator{border-top:0}.invite-row{display:flex;align-items:flex-start;gap:12px}.invite-row>.field{flex:1;min-width:0}.invite-row>.btn-primary{flex:none}.login-card .link-issue{margin:0;font-size:14px;line-height:1.5;text-align:center;color:var(--text)}.link-issue-actions{display:flex;flex-direction:column;gap:10px}.sidebar-badge{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--accent-600);color:var(--accent-contrast);font-size:11px;font-weight:700;line-height:18px;text-align:center}@media (max-width:768px){.gymment-app[data-mobile-nav=bottom] .sidebar-link{position:relative}.gymment-app[data-mobile-nav=bottom] .sidebar-badge{position:absolute;top:2px;left:calc(50% + 6px);margin:0;min-width:16px;padding:0 4px;font-size:10px;line-height:16px}}.attention-list{display:flex;flex-direction:column;gap:8px}.attention-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--accent-600);border-radius:var(--radius-m);background:var(--accent-tint);color:var(--accent-700);font-size:14px;font-weight:600;text-decoration:none;transition:background .15s ease}.attention-item:hover{background:var(--surface-2)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .attention-item{color:var(--accent-500)}}.attention-dot{width:9px;height:9px;border-radius:50%;background:var(--accent-600);box-shadow:0 0 0 0 var(--accent-600);animation:attention-pulse 2s ease-out infinite}@keyframes attention-pulse{70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){.attention-dot{animation:none}}.tab-badge{position:relative;margin-left:8px;min-width:18px;padding:0 6px;border-radius:999px;background:var(--accent-600);color:var(--accent-contrast);font-size:11px;font-weight:700;line-height:18px;text-align:center}.tab:has(>.tab-badge){display:inline-flex;align-items:center}.slide-steps{position:relative;display:grid;grid-template-columns:100%;align-items:start;overflow-x:clip;margin-inline:-8px;transition:height .42s cubic-bezier(.22,1,.36,1)}.slide-step{grid-area:1/1;min-width:0;padding:4px 8px;outline:none;transition:transform .42s cubic-bezier(.22,1,.36,1)}.slide-step:not(.is-active){position:absolute;top:0;bottom:0;left:0;width:100%;overflow:hidden}@media (prefers-reduced-motion:reduce){.slide-step,.slide-steps{transition:none}}.login-pane{gap:20px}.field-stack,.login-pane{display:flex;flex-direction:column}.field-reveal{margin-top:14px}.signup-roles{display:flex;flex-direction:column;gap:8px}.signup-role{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.signup-role:hover{border-color:var(--border-strong)}.signup-role.active{border-color:var(--accent-600);background:var(--accent-tint)}.signup-role.is-disabled{cursor:not-allowed;opacity:.7}.signup-role:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px}.signup-role-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--surface-2);color:var(--text-muted)}.signup-role.active .signup-role-icon{background:var(--accent-600);color:var(--accent-contrast)}.signup-role-title{flex:1;min-width:0;font-size:14px;font-weight:600}.signup-role-info{display:inline-flex}.password-meter{display:flex;align-items:center;gap:10px;padding-top:8px}.password-meter-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;flex:none;width:96px}.password-meter-bars>span{height:4px;border-radius:2px;background:var(--surface-3);transition:background-color .25s ease}.password-meter.score-1 .password-meter-bars>.on{background:var(--red)}.password-meter.score-2 .password-meter-bars>.on{background:var(--amber)}.password-meter.score-3 .password-meter-bars>.on{background:var(--accent-500)}.password-meter.score-4 .password-meter-bars>.on{background:var(--accent-600)}.password-meter-text{font-size:12.5px;color:var(--text-muted)}.password-meter.has-issue .password-meter-text{color:var(--red-text)}.password-match{margin:0;padding-top:8px;font-size:12.5px}.password-match.is-match{color:var(--accent-700)}.password-match.is-mismatch{color:var(--red-text)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .password-match.is-match{color:var(--accent-500)}}.gymment-app[data-theme=dark] .password-match.is-match{color:var(--accent-500)}.terms-check{align-items:flex-start;font-size:13px;line-height:1.4}.terms-check input{margin-top:2px}.terms-link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.verify-links{display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding{position:relative;z-index:1;width:100%;max-width:520px;align-self:flex-start;margin-top:clamp(0px,5vh,48px)}.onboarding-card{display:flex;flex-direction:column;gap:12px;padding:22px 28px 28px;border:1px solid var(--border);border-radius:var(--radius-l);background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:var(--shadow),0 28px 70px -30px rgba(0,0,0,.55),0 0 110px 46px color-mix(in srgb,var(--bg) 78%,transparent)}@media (max-width:520px){.onboarding-card{padding:18px 16px 22px}}.onboarding-title{display:flex;align-items:center;justify-content:center;gap:6px}.circuit-bg{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.onboarding-top{display:flex;align-items:center;justify-content:space-between;min-height:20px;transition:opacity .3s ease}.onboarding-top.is-hidden{opacity:0;pointer-events:none}.onboarding-count{font-size:12.5px;color:var(--text-faint)}.onboarding-progress{height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.onboarding-progress-fill{display:block;height:100%;border-radius:2px;background:var(--accent-600);transition:width .6s cubic-bezier(.22,1,.36,1)}.onboarding-step{gap:20px;padding-top:14px}.onboarding-head,.onboarding-step{display:flex;flex-direction:column}.onboarding-head{gap:10px}.onboarding-head .login-description{margin:0}.onboarding-body{gap:20px}.ob-fields{display:flex;flex-direction:column;gap:14px}.ob-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ob-group{display:flex;flex-direction:column;gap:8px}.ob-group-label{font-size:12px;color:var(--text-faint)}.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.goal-tile{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text-muted);font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer}.goal-tile:hover{border-color:var(--border-strong)}.goal-tile.active{border-color:var(--accent-600);background:var(--accent-tint);color:var(--accent-700)}@media (prefers-color-scheme:dark){.gymment-app:not([data-theme=light]) .goal-tile.active{color:var(--accent-500)}}.gymment-app[data-theme=dark] .goal-tile.active{color:var(--accent-500)}.level-tile{flex-direction:column;justify-content:center;gap:6px;text-align:center}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.onboarding-actions .back-link{align-self:center}.onboarding-actions-main{display:flex;align-items:center;gap:8px;margin-left:auto}.gym-step-code,.gym-step-state{display:flex;flex-direction:column;align-items:center;gap:14px}.gym-step-code{align-items:stretch}.gym-step-text{margin:0;font-size:14px;text-align:center;color:var(--text-muted)}.onboarding-done{display:flex;flex-direction:column;align-items:center;gap:16px}.onboarding-done .join-code-row{justify-content:center}.next-steps{width:100%;display:flex;flex-direction:column;gap:6px}.next-step{display:block;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:500;text-decoration:none}.next-step:hover{border-color:var(--accent-600);background:var(--accent-tint)}.check-badge{animation:check-pop .5s cubic-bezier(.34,1.56,.64,1) both}.check-badge-ring,.check-badge-tick{stroke:var(--accent-600)}.check-badge-ring{stroke-dasharray:202;stroke-dashoffset:202;transform:rotate(-90deg);transform-origin:center;animation:check-draw .6s cubic-bezier(.22,1,.36,1) .1s forwards}.check-badge-tick{stroke-dasharray:48;stroke-dashoffset:48;animation:check-draw .4s ease .55s forwards}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes check-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.onboarding-progress-fill,.onboarding-top{transition:none}.check-badge,.check-badge-ring,.check-badge-tick{animation:none;stroke-dashoffset:0}}.login-card.auth-card{position:relative;z-index:1;max-width:420px;padding:28px 32px 32px;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow)}@media (max-width:520px){.login-card.auth-card{padding:22px 18px 26px}}.dot-bg{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 50%,rgba(0,0,0,.3),#000);mask-image:radial-gradient(ellipse 75% 70% at 50% 50%,rgba(0,0,0,.3),#000)}.entity-card-heading .badge{align-self:flex-start;margin-top:4px}.needs{flex-direction:column}.needs,.needs-head{display:flex;gap:12px}.needs-head{align-items:baseline;justify-content:space-between}.needs-title{font-size:14px;font-weight:600;color:var(--text)}.needs-progress-label{font-size:12.5px;color:var(--text-muted)}.needs-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.needs-progress-step{height:6px;border-radius:999px;background:var(--border);transition:background-color .4s ease}.needs-progress-step.is-done{background:var(--accent-600)}.needs-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.needs-group{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);animation:needs-group-in .5s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 70ms)}@keyframes needs-group-in{0%{opacity:0;transform:translateY(8px)}}.needs-group-head{display:flex;align-items:center;gap:10px}.needs-group-head h3{margin:0;font-size:14px;font-weight:600}.needs-group-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-tint);color:var(--accent-600)}.needs-items{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none}.needs-items li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--text)}.needs-item-dot{flex:none;width:14px;height:14px;margin-top:2px;border:1.5px solid var(--border-strong);border-radius:50%}.needs-items li.is-review .needs-item-dot{border-color:var(--accent-600);border-style:dashed}.needs-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.needs-item-detail{font-size:12.5px;color:var(--danger,#e5484d)}.needs-item-tag{flex:none;padding:1px 8px;border-radius:999px;background:var(--accent-tint);color:var(--accent-600);font-size:11.5px;font-weight:600}.gymment-app.embed-shell{display:block;min-height:0;background:var(--embed-bg,transparent)}.embed-shell[data-font=system],.embed-shell[data-font=system] *{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.embed-root{width:100%;max-width:460px;margin:0 auto;padding:4px}.embed-card{padding:24px 26px 26px;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow)}.embed-bare{padding:4px 0}@media (max-width:420px){.embed-card{padding:18px 16px 20px}}.embed-head{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.embed-title{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.embed-subtitle{margin:0;font-size:13.5px;line-height:1.45;color:var(--text-muted)}.embed-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.embed-trials{display:flex;flex-direction:column;gap:8px}.embed-trial{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-m);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.embed-trial.active{border-color:var(--accent-600);background:var(--accent-tint)}.embed-trial input{accent-color:var(--accent-600)}.embed-trial-name{flex:1;font-size:14px;font-weight:600;color:var(--text)}.embed-trial-days{font-size:12.5px;color:var(--text-muted)}.embed-done{align-items:center;text-align:center}.embed-done-badge{display:inline-flex;align-self:center;width:56px;height:56px;border-radius:50%;background:var(--accent-600);color:var(--accent-contrast)}.embed-done-badge,.embed-signin{align-items:center;justify-content:center}.embed-signin{display:flex;text-decoration:none}.widget-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:24px;align-items:start}@media (max-width:1000px){.widget-editor{grid-template-columns:minmax(0,1fr)}}.widget-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}@media (max-width:1000px){.widget-side{position:static}}.widget-preview-head{display:flex;align-items:center;gap:6px}.widget-code-copy{margin-left:auto}.widget-preview{padding:18px;border:1px dashed var(--border-strong);border-radius:var(--radius-l);background-color:var(--surface-2);background-image:linear-gradient(45deg,var(--surface-3) 25%,transparent 25%,transparent 75%,var(--surface-3) 75%),linear-gradient(45deg,var(--surface-3) 25%,transparent 25%,transparent 75%,var(--surface-3) 75%);background-size:16px 16px;background-position:0 0,8px 8px}.widget-preview iframe{display:block;width:100%;border:0;transition:height .3s ease}.widget-code pre{margin:8px 0 0;padding:12px 14px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);font-family:var(--font-mono),monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all;color:var(--text)}.widget-color{display:flex;flex-direction:column;gap:6px}.widget-color-label{font-size:12.5px;font-weight:600;color:var(--text-muted)}.widget-color-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.widget-color-swatch{width:40px;height:36px;padding:2px;border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface);cursor:pointer}.widget-color-swatch:disabled{opacity:.45;cursor:not-allowed}.widget-color-hex{width:110px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font-family:var(--font-mono),monospace;font-size:13px}.widget-trials{display:flex;flex-direction:column;gap:6px}.widget-save{display:flex;align-items:center;gap:14px}.widget-save .back-link{align-self:center}.embed-trial-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.embed-trial-classes{font-size:12.5px;color:var(--text-muted)}.embed-have-account{margin:0;text-align:center;font-size:13px;color:var(--text-muted)}.embed-trial{align-items:flex-start}.embed-trial input{margin-top:3px}.embed-trial-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.embed-trial-days{flex:none;padding:2px 9px;border-radius:999px;background:var(--accent-tint-strong);color:var(--accent-600);font-size:11.5px;font-weight:700}.embed-trial-body{gap:8px}.embed-trial-chips{display:flex;flex-wrap:wrap;gap:6px}.embed-trial-meta{font-size:12.5px;color:var(--text-muted)}.embed-trial-benefits{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.embed-trial-benefits li{position:relative;padding-left:20px;font-size:13px;color:var(--text)}.embed-trial-benefits li:before{content:"";position:absolute;left:2px;top:4px;width:9px;height:5px;border-left:2px solid var(--accent-600);border-bottom:2px solid var(--accent-600);transform:rotate(-45deg)}.embed-trial-static{cursor:default}.embed-times-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--accent-600);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.embed-times-zone{font-size:11.5px;color:var(--text-faint)}.embed-schedule{display:flex;flex-direction:column;gap:14px;text-align:left}.embed-schedule .schedule-day-header{font-size:13px}.embed-trial-prices{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}.embed-trial-price{font-size:15px;font-weight:700;color:var(--text)}.embed-family-note,.embed-trial-family,.embed-trial-fee{font-size:12.5px;color:var(--text-muted)}.embed-family-note,.embed-trial-family{line-height:1.4}.embed-trial-family{display:flex;flex-direction:column;gap:4px}.embed-family-tiers{display:flex;flex-wrap:wrap;gap:4px 12px}.embed-family-tier{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.embed-family-plus{font-weight:700;margin-left:-2px}.embed-family-price{font-weight:600;color:var(--text)}.embed-family-note{margin:0}.embed-billing{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.embed-billing-label{flex-basis:100%;font-size:12.5px;font-weight:600;color:var(--text-muted)}.embed-billing-option{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-m);font-size:13.5px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.embed-billing-option.active{border-color:var(--accent-600);background:var(--accent-tint)}.embed-billing-option input{accent-color:var(--accent-600)}.embed-shell[data-layout=page] .embed-root{max-width:1080px;padding:28px 20px 40px}.embed-shell[data-layout=page] .login-pane:not(.embed-pane-choose){max-width:720px;margin-inline:auto}.embed-shell[data-layout=page] .embed-title{font-size:30px}.embed-shell[data-layout=page] .embed-subtitle{font-size:15.5px}.embed-shell[data-layout=page] .embed-bare{padding:0}.embed-shell[data-layout=page] .login-pane{gap:24px}.embed-shell[data-layout=page] .embed-trials{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}@media (min-width:520px){.embed-shell[data-layout=page] .embed-trial{padding:16px}}.widget-membership-tag{margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:11.5px;font-weight:600}.embed-done-actions{display:flex;flex-direction:column;gap:10px;width:100%}.embed-signin{gap:9px}.embed-gymment-mark{flex:none}.embed-signin-secondary{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-m);background:transparent;color:var(--text);font-weight:600;text-decoration:none;transition:border-color .2s ease,background-color .2s ease}.embed-signin-secondary:hover{border-color:var(--accent-600);background:var(--accent-tint)}.gymment-app.widget-card{display:block;min-height:0;background:var(--embed-bg,var(--surface));border-color:color-mix(in srgb,var(--accent-600) 35%,var(--border));border-radius:var(--radius-m);color:var(--text)}.widget-card[data-font=system],.widget-card[data-font=system] *{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.widget-card .entity-card-name{color:var(--text)}.widget-card .entity-card-subtitle{color:var(--text-muted)}.widget-card .badge-active{background:var(--accent-tint-strong);color:var(--accent-600)}.widget-card .badge-active:before,.widget-card-sample{background:var(--accent-600)}.widget-card-sample{flex:none;padding:6px 14px;border-radius:var(--radius-m);color:var(--accent-contrast);font-size:12.5px;font-weight:600;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}@media (max-width:640px){.widget-card-sample{display:none}}.widget-color>.widget-color-label:after{content:"*";display:inline-block;width:0;margin-left:0;overflow:hidden;clip-path:inset(0 100% 0 0);vertical-align:baseline;line-height:1;color:var(--accent-600);font-weight:700;transition:width .2s cubic-bezier(.22,1,.36,1),clip-path .2s cubic-bezier(.22,1,.36,1),margin-left .2s cubic-bezier(.22,1,.36,1)}.widget-color.is-dirty>.widget-color-label:after{width:.5em;margin-left:3px;clip-path:inset(0 0 0 0)}.widget-detect{position:relative;display:flex;justify-content:flex-end;margin-bottom:-6px}.widget-detect-button.active{background:var(--accent-tint);border-color:var(--accent-600);color:var(--accent-600)}.widget-detect-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:30;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 48px));padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-l);background:var(--surface);box-shadow:0 12px 32px rgba(0,0,0,.35)}.widget-detect-row{display:flex;gap:8px}.widget-detect-input{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);font:inherit;font-size:13.5px}.widget-detect-input:focus{outline:none;border-color:var(--accent-600)}.widget-detect-pop p{margin:0;font-size:12.5px}.students-browser{gap:14px}.list-filters,.students-browser{display:flex;flex-direction:column}.list-filters{gap:10px}.list-filter-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.list-filter{flex:1 1 160px;min-width:0}.filter-chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:48px;padding:0 16px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text-muted);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.filter-chip:hover{border-color:var(--accent-600);color:var(--text)}.filter-chip.is-on{border-color:var(--accent-600);background:var(--accent-tint);color:var(--accent-700);font-weight:600}.gymment-app[data-theme=dark] .filter-chip.is-on,html[data-body-theme=dark] .gymment-app:not([data-theme=light]) .filter-chip.is-on{color:var(--accent-500)}.list-count{margin:0}.list-count .back-link{display:inline;padding:0}.card-grid.is-refreshing,.item-list.is-refreshing{opacity:.5;pointer-events:none}.card-grid{transition:opacity .15s ease}.list-more .checkin-list-more:disabled{opacity:.6;cursor:progress}@media (max-width:560px){.list-filter{flex-basis:calc(50% - 5px)}.filter-chip{flex:1 1 calc(50% - 5px);justify-content:center}}.list-search-row{display:flex;align-items:stretch;gap:8px}.list-search-row .list-search{flex:1 1 auto;min-width:0}.filter-toggle{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text-muted);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.filter-toggle.is-open,.filter-toggle:hover{border-color:var(--accent-600);color:var(--text)}.filter-toggle.has-active{border-color:var(--accent-600);background:var(--accent-tint);color:var(--accent-700)}.gymment-app[data-theme=dark] .filter-toggle.has-active,html[data-body-theme=dark] .gymment-app:not([data-theme=light]) .filter-toggle.has-active{color:var(--accent-500)}.filter-toggle-count{min-width:18px;padding:0 6px;border-radius:999px;background:var(--accent-600);color:var(--accent-contrast);font-size:11px;font-weight:700;line-height:18px;text-align:center}.filter-toggle .filter-toggle-chevron{transition:transform .2s ease}.filter-toggle.is-open .filter-toggle-chevron{transform:rotate(180deg)}.list-filter-panel{padding-top:2px}@media (max-width:560px){.filter-toggle-label{display:none}}.rank-badge{display:inline-flex;align-items:stretch;max-width:100%;border-radius:0;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 28%,transparent);font-size:12.5px;font-weight:600;line-height:1.3;white-space:nowrap}.rank-badge-sm{font-size:11.5px}.rank-badge-name{overflow:hidden;text-overflow:ellipsis;padding:3px 10px}.rank-badge-sm .rank-badge-name{padding:2px 8px}.rank-badge-stripes{display:inline-flex;align-items:stretch;gap:3px;padding-right:8px}.rank-badge-stripe{width:3px}.rank-badge-stripe-new{animation:rank-stripe-split .7s cubic-bezier(.45,0,.2,1) .1s backwards}.rank-badge-stripe-new:first-child{animation-name:rank-stripe-grow}.rank-badge-stripe-leaving{animation:rank-stripe-merge .7s cubic-bezier(.45,0,.2,1) forwards}.rank-badge-stripe-leaving:first-child{animation-name:rank-stripe-shrink}.gymment-app .rank-badge{overflow:clip;transition:background-color .5s ease,color .5s ease}.gymment-app .rank-badge-stripe{transition:background-color .5s ease}.rank-badge-stripe-exit{animation:rank-stripe-exit .7s cubic-bezier(.5,0,.75,0) forwards}.rank-badge-stripe-enter{animation:rank-stripe-grow .4s cubic-bezier(.22,1,.36,1) .55s backwards}.rank-badge-name-swap{animation:rank-name-in .45s ease backwards}@keyframes rank-stripe-exit{0%{transform:none;opacity:1;width:3px;margin-right:0}65%{transform:translateX(40px);opacity:0;width:3px;margin-right:0}to{transform:translateX(40px);opacity:0;width:0;margin-right:-3px}}@keyframes rank-name-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes rank-stripe-split{0%{margin-left:-6px}to{margin-left:0}}@keyframes rank-stripe-merge{0%{margin-left:0}to{margin-left:-6px}}@keyframes rank-stripe-shrink{0%{width:3px;margin-right:0}to{width:0;margin-right:-3px}}@keyframes rank-stripe-grow{0%{width:0;margin-right:-3px}to{width:3px;margin-right:0}}.rank-ladder{gap:10px}.rank-ladder,.rank-list{display:flex;flex-direction:column}.rank-list{list-style:none;margin:0;padding:0}.rank-list,.rank-row{position:relative;gap:8px}.rank-row{--belt-step:8px;display:grid;grid-template-columns:22px 30px minmax(0,1fr) auto 26px;align-items:center;padding:10px calc(16px + var(--belt-stripes, 0) * var(--belt-step)) 10px 6px;border:1px solid color-mix(in srgb,var(--text) 28%,transparent);border-radius:0;background:var(--belt);color:var(--belt-ink)}.rank-row .belt-stripes{right:10px}.rank-row.is-dragged{z-index:3;cursor:grabbing;box-shadow:0 10px 28px rgba(0,0,0,.4)}.gymment-app .rank-list.is-sorting .rank-row:not(.is-dragged){transition:transform .2s ease}.rank-handle{display:flex;align-items:center;justify-content:center;padding:6px 0;border:0;background:none;color:var(--belt-ink);opacity:.65;cursor:grab;touch-action:none}.rank-handle:focus-visible,.rank-handle:hover{opacity:1}.rank-row.is-dragged .rank-handle{cursor:grabbing;opacity:1}.rank-color{position:relative}.rank-row .color-wheel-trigger{box-shadow:0 0 0 2px var(--belt-ink)}.rank-field input,.rank-name{box-sizing:border-box;min-width:0;border:1px solid color-mix(in srgb,var(--belt-ink) 38%,transparent);border-radius:0;background:color-mix(in srgb,var(--belt-ink) 10%,transparent);color:var(--belt-ink);font:inherit}.rank-name{padding:8px 10px;font-size:14px;font-weight:600}.rank-field input{width:54px;padding:8px 6px;font-size:14px;text-align:center}.rank-field input::placeholder,.rank-name::placeholder{color:color-mix(in srgb,var(--belt-ink) 55%,transparent)}.rank-field input:focus,.rank-name:focus{outline:2px solid var(--belt-ink);outline-offset:-1px}.rank-field{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12.5px}.rank-remove{display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:var(--belt-ink);font-size:19px;line-height:1;opacity:.7;cursor:pointer}.rank-remove:focus-visible,.rank-remove:hover{opacity:1}.rank-req{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding-left:4px;font-size:12.5px}.rank-req-label{white-space:nowrap;opacity:.85}.rank-req-fields{display:contents}.entity-card-ranks{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.rank-add{display:flex}.rank-add .back-link{padding:0}.rank-save{display:flex;align-items:center;gap:12px}@media (max-width:560px){.rank-row{grid-template-columns:22px 30px minmax(0,1fr) 26px}.rank-remove{grid-column:4;grid-row:1}.rank-row>.rank-field{grid-column:3/-1;grid-row:2}.rank-req{grid-row:3}}.rank-panel{display:flex;flex-direction:column;gap:18px}.rank-current{gap:10px}.rank-current,.rank-quick{display:flex;align-items:center;flex-wrap:wrap}.rank-quick{gap:10px 0}.rank-quick>*{margin-right:10px}.rank-quick .back-link{align-self:center;padding:0 4px}.gymment-app .rank-quick .rank-quick-slot{display:grid;grid-template-columns:1fr;transition:grid-template-columns .4s cubic-bezier(.22,1,.36,1),margin-right .4s cubic-bezier(.22,1,.36,1)}.gymment-app .rank-quick .rank-quick-slot.is-gone{grid-template-columns:0fr;margin-right:0}.rank-quick-slot-inner{min-width:0;overflow:hidden;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease}.gymment-app .rank-quick-slot.is-gone .rank-quick-slot-inner{transform:translateX(-100%);opacity:0}.rank-quick-slot-inner .btn-primary{white-space:nowrap}.btn-primary.rank-btn{background:var(--rank);color:var(--rank-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 28%,transparent)}.rank-btn-label{font-weight:600}.rank-form{display:flex;flex-direction:column;gap:12px;padding-top:4px}.rank-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.rank-form-actions{display:flex;align-items:center;gap:12px}.rank-history{margin-top:6px;padding-top:16px;border-top:1px solid var(--border)}.rank-history .section-subtitle{margin-bottom:8px}.rank-history-list{list-style:none;margin:0;padding:2px 12px;display:flex;flex-direction:column;background:var(--surface-2);border-radius:var(--radius-s)}.rank-history-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.rank-history-row:first-child{border-top:0}.rank-history-list{overflow:hidden}.rank-history-row.is-new{overflow:hidden;animation:rank-row-open .5s cubic-bezier(.22,1,.36,1) .15s backwards}.rank-history-row.is-new>*{animation:rank-row-slide .5s cubic-bezier(.22,1,.36,1) .15s backwards}.rank-history-row{max-height:var(--row-height,none)}.gymment-app .rank-history-row{transition:max-height .35s cubic-bezier(.22,1,.36,1) .3s,padding .35s cubic-bezier(.22,1,.36,1) .3s,border-top-width .35s ease .3s}.rank-history-row.is-leaving{overflow:hidden;max-height:0;padding-top:0;padding-bottom:0;border-top-width:0}.rank-history-row>*{transition:transform .35s cubic-bezier(.5,0,.75,0),opacity .3s ease}.rank-history-row.is-leaving>*{transform:translateX(120%);opacity:0}@keyframes rank-row-open{0%{max-height:0;padding-top:0;padding-bottom:0}to{max-height:60px}}@keyframes rank-row-slide{0%{transform:translateY(-140%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.rank-badge-name-swap,.rank-badge-stripe-enter,.rank-badge-stripe-exit,.rank-badge-stripe-leaving,.rank-badge-stripe-new,.rank-history-row.is-new,.rank-history-row.is-new>*{animation:none}.gymment-app .rank-badge,.gymment-app .rank-badge-stripe,.gymment-app .rank-history-row,.gymment-app .rank-quick .rank-quick-slot,.rank-history-row>*,.rank-quick-slot-inner{transition:none}}.rank-history-meta{flex:1 1 auto;min-width:0;font-size:12.5px;color:var(--text-muted)}.gymment-app .push-prompt{position:fixed;top:14px;left:50%;z-index:60;display:flex;align-items:flex-start;gap:14px;width:min(calc(100vw - 24px),460px);padding:16px 16px 16px 18px;border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface);color:var(--text);box-shadow:var(--shadow),0 16px 40px rgba(0,0,0,.28);transform:translate(-50%,calc(-100% - 28px));transition:transform .6s cubic-bezier(.22,1,.36,1)}.gymment-app .push-prompt.is-open{transform:translate(-50%)}.push-prompt-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent-tint);color:var(--accent-600)}.push-prompt-copy{flex:1;min-width:0}.push-prompt-title{margin:0 0 4px;font-size:14.5px;font-weight:600}.push-prompt-body{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--text-muted)}.push-prompt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.push-prompt-actions .back-link{align-self:center}.push-prompt-close{flex:none;margin:-6px -6px 0 0}@media (prefers-reduced-motion:reduce){.gymment-app .push-prompt{transition:none}}.promo-board{display:flex;flex-direction:column;gap:14px}.promo-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.promo-select{display:inline-flex;flex-wrap:wrap;gap:4px 16px}.promo-select .back-link{padding:0}.promo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;transition:opacity .15s ease}.promo-list.is-refreshing{opacity:.5;pointer-events:none}.promo-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.promo-row:has(.promo-check){grid-template-columns:auto auto minmax(0,1fr) auto auto}.promo-row.is-selected{background:var(--surface-2)}.promo-row.has-belt{position:relative;overflow:clip;background:var(--belt);color:var(--belt-ink);border-color:color-mix(in srgb,var(--text) 28%,transparent);padding-right:calc(14px + var(--belt-stripes, 0) * var(--belt-step, 12px))}.promo-row.has-belt.is-selected{box-shadow:0 0 0 2px var(--accent-600)}.promo-row.has-belt .promo-name,.promo-row.has-belt .promo-rank-name,.promo-row.has-belt .promo-sub{color:var(--belt-ink)}.promo-row.has-belt .promo-sub{opacity:.8}.promo-rank-name{font-weight:600;font-size:13.5px}.promo-check{display:inline-flex;padding:4px;cursor:pointer}.promo-check input{width:16px;height:16px;margin:0;accent-color:var(--accent-600)}.promo-who{display:flex;flex-direction:column;min-width:0;gap:2px}.promo-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.promo-sub{font-size:12.5px;color:var(--text-muted)}.promo-rank{display:inline-flex;min-width:90px;justify-content:flex-end}.promo-bar{display:none;position:sticky;bottom:76px;z-index:5}.promo-bar.is-open{display:block;animation:promo-bar-in .3s cubic-bezier(.22,1,.36,1) backwards}.promo-bar-inner{padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-l);background:var(--surface-3);box-shadow:0 8px 28px rgba(0,0,0,.32)}.promo-bar-actions .back-link{align-self:center;padding:0 6px}.promo-bar-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.promo-bar-count{font-weight:600}.promo-bar-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.promo-form{padding-top:12px}@keyframes promo-bar-in{0%{opacity:0;transform:translateY(12px)}}@media (max-width:560px){.promo-row,.promo-row:has(.promo-check){grid-template-columns:auto auto minmax(0,1fr)}.promo-row:not(:has(.promo-check)){grid-template-columns:auto minmax(0,1fr)}.promo-rank{grid-column:1/-1;justify-content:flex-start;min-width:0}}.promo-link{position:relative;z-index:1;padding:0;font-size:13px;white-space:nowrap}.rank-progress{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.member-belts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.member-belt{position:relative;overflow:clip;display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px;padding:14px calc(20px + var(--belt-stripes, 0) * var(--belt-step, 12px)) 14px 20px;border:1px solid color-mix(in srgb,var(--text) 28%,transparent);border-radius:0;background:var(--belt);color:var(--belt-ink)}.member-belt-modality{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.8}.member-belt-rank{font-size:18px;font-weight:700}.member-belt-since{margin-left:auto;font-size:12.5px;opacity:.8}.entity-card.has-belt{position:relative;overflow:clip;background:var(--belt);color:var(--belt-ink);border-color:color-mix(in srgb,var(--text) 28%,transparent);padding-right:calc(20px + var(--belt-stripes, 0) * var(--belt-step, 12px))}.entity-card.has-belt:hover{background:var(--belt);filter:brightness(1.06)}.entity-card.has-belt .entity-card-detail,.entity-card.has-belt .entity-card-meta,.entity-card.has-belt .entity-card-name,.entity-card.has-belt .entity-card-subtitle,.entity-card.has-belt .mono{color:var(--belt-ink)}.entity-card.has-belt .entity-card-detail,.entity-card.has-belt .entity-card-meta,.entity-card.has-belt .entity-card-subtitle{opacity:.8}.entity-card.has-belt .entity-card-footer{border-top-color:color-mix(in srgb,var(--belt-ink) 22%,transparent)}.belt-stripes{position:absolute;top:0;right:14px;bottom:0;display:flex;gap:calc(var(--belt-step, 12px) / 2);pointer-events:none}.belt-stripe{width:calc(var(--belt-step, 12px) / 2);background:var(--belt-ink)}.entity-card.has-belt,.member-belt,.promo-row.has-belt,.rank-row{border-radius:0}.home-card .section-subtitle{margin:0}.home-card-list{list-style:none;margin:0;padding:0}.home-card-list,.home-card-row{display:flex;flex-direction:column}.home-card-row{gap:2px;padding:10px 0;border-top:1px solid var(--border)}.home-card-row:first-child{padding-top:0;border-top:0}.home-card-row:last-child{padding-bottom:0}.home-card-row-title{font-weight:600}.home-card-row-detail{font-size:13px;color:var(--text-muted)}.pause-request-link{padding:0}.enrollment-row-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px}.enrollment-row-grid .enrollment-side-line{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:12px}.enrollment-classes-cell{grid-column:1;grid-row:2;min-width:0}.enrollment-pause{grid-column:2;grid-row:2;align-self:center;justify-content:flex-end;gap:12px}.enrollment-pause,.pause-note{display:flex;align-items:center}.pause-note{gap:4px 8px;margin:0;font-size:12.5px;color:var(--text-muted);white-space:nowrap}.pause-note .back-link{padding:0}.ended-accordion{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ended-accordion-toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;padding:4px 0;border:0;background:none;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ended-accordion-toggle:hover{color:var(--text)}.ended-accordion-toggle svg{transition:transform .2s ease}.gymment-app .ended-accordion-toggle.is-open svg{transform:rotate(180deg)}.app-embed{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface)}.app-embed h2{margin:0;font-size:16px}.app-embed-form{display:flex;align-items:stretch;gap:12px}.app-embed-form .field{flex:1;max-width:420px}.app-embed-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.app-embed-status code{font-family:var(--font-mono),monospace;font-size:13px}.app-look{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}@media (max-width:1100px){.app-look{grid-template-columns:1fr}}.app-look-controls{display:flex;flex-direction:column;gap:12px}.app-look-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.gymment-app.app-look-sample{display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-l)}.app-look-sample-nav{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface);font-size:13px}.app-look-sample-brand{margin-right:10px;white-space:nowrap;font-weight:700;color:var(--text)}.app-look-sample-link{padding:5px 10px;white-space:nowrap;border-radius:var(--radius-m);color:var(--text-muted)}.app-look-sample-link.active{background:var(--accent-tint-strong);color:var(--accent-600);font-weight:600}.app-look-sample-body{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:16px 12px 18px}.app-look-sample-body .entity-card{align-self:stretch}.app-look-sample-button{padding:8px 16px;font-size:13px}.app-setup{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.app-setup-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:650}.app-setup-step{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent-tint-strong);color:var(--accent-600);font-size:12px;font-weight:700}.dns-records{border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;background:var(--surface-2)}.dns-row{display:grid;grid-template-columns:84px minmax(0,.7fr) minmax(0,1.6fr);align-items:center;gap:12px;padding:10px 12px}.dns-row+.dns-row{border-top:1px solid var(--border)}.dns-head{padding-block:7px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-3)}.dns-type{font-family:var(--font-mono),monospace;font-size:13px}.dns-cell{display:flex;align-items:center;gap:8px;min-width:0}.dns-cell code{min-width:0;overflow-wrap:anywhere;font-family:var(--font-mono),monospace;font-size:13px}@media (max-width:640px){.dns-head{display:none}.dns-row{grid-template-columns:1fr;gap:6px}}.app-setup-checks{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.app-setup-check{display:flex;align-items:center;gap:10px;font-size:13.5px}.app-setup-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border:2px solid var(--border-strong);border-radius:50%;font-size:12px;font-weight:700;line-height:1}.app-setup-check.is-done .app-setup-mark{border-color:var(--accent-600);background:var(--accent-600);color:var(--accent-contrast)}.app-setup-check.is-waiting .app-setup-mark{border-color:var(--accent-600);border-style:dashed}.app-setup-recheck{align-self:flex-start}.copy-text{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:3px 6px;margin:-3px -6px;border:0;border-radius:var(--radius-s);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease}.copy-text:focus-visible,.copy-text:hover{background:var(--surface-3)}.copy-text code{min-width:0;overflow-wrap:anywhere}.copy-text-icon{flex:none;color:var(--text-faint);opacity:0;transition:opacity .15s ease,color .15s ease}.copy-text:focus-visible .copy-text-icon,.copy-text:hover .copy-text-icon{opacity:1}.copy-text.is-copied .copy-text-icon{opacity:1;color:var(--accent-600)}@media (hover:none){.copy-text-icon{opacity:.6}}.app-setup-action{align-self:flex-start}.app-setup-actions{display:flex;flex-wrap:wrap;gap:10px}.app-setup-link{align-self:flex-start;padding:0;border:0;background:none;color:var(--text-muted);font:inherit;font-size:12.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.app-setup-link:hover{color:var(--text)}.app-verify{display:flex;align-items:flex-start;gap:14px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2)}.app-verify-title{margin:0 0 2px;font-size:14px;font-weight:600}.app-verify .muted-note{margin:0}.app-spinner{flex:none;width:22px;height:22px;border:3px solid var(--accent-tint-strong);border-top-color:var(--accent-600);border-radius:50%;animation:app-spin .9s linear infinite}@keyframes app-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.app-spinner{animation-duration:2.4s}}.app-verify-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent-tint-strong);color:var(--accent-600);font-size:13px;font-weight:700}