@import "https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&display=swap";@font-face{font-family:Monica Allcaps Stencil;src:url(/fonts/monica-allcaps-stencil.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f3f4f6;--bg-accent:#e0e3e7;--bg-elevated:#fbfbfc;--card:#ffffffd1;--card-strong:#fff;--text-primary:#09090b;--text-secondary:#4e535a;--text-muted:#7c838c;--border:#0f111424;--border-light:#0f111414;--accent:#0b0c0f;--accent-soft:#646b74;--accent-strong:#000;--highlight:#c8cdd3;--silver:#d6d9df;--silver-strong:#c9ccd3;--silver-shadow:#868f9a38;--surface-metal:linear-gradient(135deg, #eff1f4 0%, #fafafc 18%, #d6d9df 42%, #f5f6f8 62%, #c9ccd3 82%, #e8eaee 100%);--surface-panel:linear-gradient(180deg, #ffffffeb, #f5f6f8e0);--surface-panel-strong:linear-gradient(180deg, #fffffffa, #eceff2f0);--surface-panel-muted:linear-gradient(180deg, #fafafbf5, #eff2f5e6);--surface-avatar:linear-gradient(180deg, #f9fafbf5, #e0e4e9e6);--surface-avatar-muted:linear-gradient(180deg, #e4e7ebeb, #cfd4dae0);--surface-highlight:linear-gradient(180deg, #eef1f4f5, #d7dce2eb);--surface-overlay:#ffffffe6;--surface-overlay-strong:#fffffffa;--surface-field:#ffffffe0;--surface-field-strong:#ffffffe6;--surface-progress-track:#abb3bc3d;--surface-progress-bar:linear-gradient(90deg, #090a0cb3, #636c7673);--surface-status-pending:linear-gradient(180deg, #ffffffeb, #f0f2f5e6);--surface-status-paid:linear-gradient(180deg, #f1f6f3f5, #e7eeeaeb);--surface-status-failed:linear-gradient(180deg, #f9f1f2f5, #f2e6e8eb);--surface-status-expired:linear-gradient(180deg, #f8f9fbf5, #eceff3eb);--surface-status-review:linear-gradient(180deg, #f1f5f8f5, #e7ecf1eb);--surface-startup-backdrop:radial-gradient(circle at 18% 18%, #ffffffeb, transparent 24%), radial-gradient(circle at 82% 22%, #dae0e6b8, transparent 21%), linear-gradient(180deg, #fafbfcfa 0%, #ecf0f4e6 100%);--surface-app-backdrop:radial-gradient(circle at top left, #ffffffeb, transparent 28%), radial-gradient(circle at top right, #d7dbe0b8, transparent 24%), linear-gradient(180deg, #fafbfc 0%, #f3f4f6 38%, #eceff2 100%);--border-surface:#ffffffa3;--border-surface-strong:#ffffffc7;--border-surface-emphasis:#ffffffb8;--border-surface-subtle:#ffffffbd;--border-field:#fffc;--border-field-hover:#aab1bad1;--border-field-focus:#aab1bae0;--border-status-pending:#aab1baa6;--border-status-paid:#7e988866;--border-status-failed:#b0767f5c;--border-status-expired:#a7afb975;--border-status-review:#7a8da457;--border-highlight:#ffffffb8;--border-chrome:#ffffff1a;--border-nav:#ffffffc7;--text-on-dark:#fff;--text-error:#c1121f;--text-error-soft:#8a2f39;--text-error-muted:#b76a73;--text-status-pending:#5c6168;--text-status-paid:#365447;--text-status-failed:#7a303a;--text-status-expired:#515760;--text-status-review:#42546a;--focus-ring:#c7ccd23d;--shadow-soft:0 14px 34px #080a0e14;--shadow-soft-hover:0 12px 24px #080a0e1a;--shadow-strong:0 22px 52px #080a0e24;--shadow-nav:0 -10px 28px #080a0e14;--shadow-wordmark:0 10px 30px #080a0e14;--button-primary-bg:#000;--button-primary-border:#000;--button-primary-text:#fff;--chrome-bg:#000;--chrome-text:#fff;--nav-surface:#f8f9fb;--startup-support-min-height:46px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:28px;--font-family-base:"Comfortaa", ui-sans-serif, system-ui, sans-serif;--font-family-display:"Comfortaa", ui-sans-serif, system-ui, sans-serif;--font-family-accent:"Comfortaa", ui-sans-serif, system-ui, sans-serif;--font-family-brand:"Monica Allcaps Stencil", "Comfortaa", ui-sans-serif, system-ui, sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-100:12px;--font-size-200:13px;--font-size-300:14px;--font-size-350:15px;--font-size-400:16px;--font-size-500:18px;--font-size-600:19px;--font-size-700:22px;--font-size-800:25px;--font-size-900:30px;--font-size-950:32px;--font-size-brand:38px;--line-height-tight:1.04;--line-height-display:1.08;--line-height-heading:1.2;--line-height-ui:1.35;--line-height-label:1.4;--line-height-body:1.5;--line-height-body-relaxed:1.55;--line-height-copy:1.6;--tracking-display-xl:-.045em;--tracking-display-lg:-.04em;--tracking-display-md:-.03em;--tracking-heading:-.025em;--tracking-button:-.01em;--tracking-normal:0;--tracking-label:.12em;--tracking-label-tight:.08em;--tracking-status:.04em;--tracking-brand:.26em;--tracking-brand-wide:.28em;--tracking-overline:.18em;--type-page-title-family:var(--font-family-display);--type-page-title-size:var(--font-size-800);--type-page-title-line-height:var(--line-height-display);--type-page-title-weight:var(--font-weight-bold);--type-page-title-tracking:var(--tracking-display-xl);--type-section-title-family:var(--font-family-display);--type-section-title-size:var(--font-size-700);--type-section-title-line-height:var(--line-height-display);--type-section-title-weight:var(--font-weight-bold);--type-section-title-tracking:var(--tracking-display-lg);--type-card-title-family:var(--font-family-base);--type-card-title-size:var(--font-size-600);--type-card-title-line-height:var(--line-height-heading);--type-card-title-weight:var(--font-weight-semibold);--type-card-title-tracking:var(--tracking-heading);--type-body-family:var(--font-family-base);--type-body-size:var(--font-size-300);--type-body-line-height:var(--line-height-copy);--type-body-weight:var(--font-weight-regular);--type-body-tracking:var(--tracking-normal);--type-body-strong-size:var(--font-size-400);--type-body-strong-line-height:var(--line-height-ui);--type-body-strong-weight:var(--font-weight-semibold);--type-caption-family:var(--font-family-base);--type-caption-size:var(--font-size-200);--type-caption-line-height:1.45;--type-caption-weight:var(--font-weight-regular);--type-caption-tracking:var(--tracking-normal);--type-label-family:var(--font-family-base);--type-label-size:var(--font-size-100);--type-label-line-height:var(--line-height-ui);--type-label-weight:var(--font-weight-medium);--type-label-tracking:var(--tracking-label);--type-control-family:var(--font-family-base);--type-control-size:var(--font-size-300);--type-control-line-height:var(--line-height-ui);--type-control-weight:var(--font-weight-semibold);--type-control-tracking:var(--tracking-button);--type-input-family:var(--font-family-base);--type-input-size:var(--font-size-300);--type-input-line-height:var(--line-height-body);--type-input-weight:var(--font-weight-regular);--type-kicker-family:var(--font-family-accent);--type-kicker-size:var(--font-size-350);--type-kicker-line-height:var(--line-height-ui);--type-kicker-weight:var(--font-weight-medium);--type-metric-size:var(--font-size-500);--type-metric-line-height:1.12;--type-metric-weight:var(--font-weight-semibold);--type-metric-tracking:var(--tracking-display-md);--type-brand-kicker-size:var(--font-size-300);--type-brand-kicker-weight:var(--font-weight-bold);--type-brand-kicker-tracking:var(--tracking-brand);--type-brand-header-size:38px;--type-brand-header-line-height:.88;--type-brand-header-weight:400;--type-brand-header-tracking:.02em;--type-brand-wordmark-size:var(--font-size-brand);--type-brand-wordmark-line-height:1;--type-brand-wordmark-weight:var(--font-weight-bold);--type-brand-wordmark-tracking:var(--tracking-brand-wide);--fw-regular:var(--font-weight-regular);--fw-medium:var(--font-weight-medium);--fw-semibold:var(--font-weight-semibold);--fw-bold:var(--font-weight-bold);--font-sans:var(--font-family-base);--font-display:var(--font-family-display);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-4-5:20px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px}*{box-sizing:border-box}*,:before,:after{margin:0}html,body{height:100%}body{isolation:isolate;font-family:var(--font-sans);line-height:var(--line-height-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;position:relative}html{-webkit-text-size-adjust:100%}a,button,input,select,textarea,optgroup{color:inherit}button,input,select,textarea,optgroup{font:inherit;font-family:var(--font-sans)}input,button,textarea,select{letter-spacing:inherit}img,picture,svg,canvas,video{max-width:100%;display:block}h1,h2,h3,h4,h5,h6,p{font:inherit;margin:0}ul,ol{padding:0}body:before{content:"";z-index:-1;pointer-events:none;background-image:var(--surface-app-backdrop);background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}a{color:inherit;text-decoration:none}#root{min-height:100svh}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:600px;padding:0 var(--space-4);margin:0 auto}.containerFullBleed{width:100%;max-width:480px;margin:0 auto;padding:0}.padTop4{padding-top:var(--space-4)}.padTop6{padding-top:var(--space-6)}.padBottom4{padding-bottom:var(--space-4)}.padBottom2{padding-bottom:var(--space-2)}.marginTop4{margin-top:var(--space-4)}.appShell{min-height:100svh}.appMain{min-height:0}.page{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.pageTopInset{padding-top:var(--space-6)}.pageSection{margin-top:var(--space-4)}.pageSectionSm{margin-top:var(--space-2)}.pageHeader{flex-direction:column;gap:4px;display:flex}.pageHeaderCompact{gap:2px}.pageHeading{font-family:var(--type-page-title-family);font-size:var(--type-page-title-size);line-height:var(--type-page-title-line-height);letter-spacing:var(--type-page-title-tracking);font-weight:var(--type-page-title-weight);color:var(--text-primary)}.pageDescription{font-family:var(--type-caption-family);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);color:var(--text-secondary);font-weight:var(--type-caption-weight);letter-spacing:var(--type-caption-tracking)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stackTight{gap:var(--space-2);flex-direction:column;display:flex}.row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.sectionTop{margin-top:18px}.sectionTopSm{margin-top:12px}.sectionTopLg{margin-top:24px}.sticky{z-index:10;background:var(--chrome-bg);border-bottom:1px solid var(--border-chrome);padding-top:env(safe-area-inset-top);position:sticky;top:0}.headerBar{justify-content:center;align-items:center;min-height:64px;display:flex;position:relative}.brandHeaderBar{max-width:100%;padding-left:16px;padding-right:16px}.brandHeaderAction{justify-content:flex-end;align-items:center;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.brandHeaderTitle{color:var(--chrome-text);font-family:var(--font-family-brand);font-size:var(--type-brand-header-size);line-height:var(--type-brand-header-line-height);font-weight:var(--type-brand-header-weight);letter-spacing:var(--type-brand-header-tracking);text-align:center;white-space:nowrap}.brandHeaderLockup{min-width:0;max-width:min(74vw,420px);color:var(--chrome-text);justify-content:center;align-items:center;gap:12px;display:inline-flex}.brandHeaderIcon{width:35px;height:42px;-webkit-mask-image:var(--brand-icon-mask);-webkit-mask-image:var(--brand-icon-mask);mask-image:var(--brand-icon-mask);background-color:currentColor;flex-shrink:0;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.brandHeaderWordmark{font-family:var(--font-family-brand);font-size:var(--type-brand-header-size);line-height:var(--type-brand-header-line-height);font-weight:var(--type-brand-header-weight);letter-spacing:var(--type-brand-header-tracking);white-space:nowrap}.homeWelcomeBlock{flex-direction:column;gap:4px;display:flex}.homeWelcomeTitle{font-family:var(--type-section-title-family);font-size:var(--type-section-title-size);line-height:var(--type-section-title-line-height);font-weight:var(--type-section-title-weight);letter-spacing:var(--type-section-title-tracking);color:var(--text-secondary)}.bottomNav{z-index:20;background:var(--nav-surface);border-top:1px solid var(--border-nav);height:64px;padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--shadow-nav);-webkit-backdrop-filter:blur(16px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomNavList{margin:0;padding:0;list-style:none;display:contents}.title{font-size:19px;line-height:1.2;font-weight:var(--fw-semibold);letter-spacing:-.025em;margin:0}.body{font-size:14px;line-height:1.6;font-weight:var(--fw-regular);margin:0}.caption{color:var(--text-secondary);font-size:13px;line-height:1.45;font-weight:var(--fw-regular);margin:0}.smallLabel{font-size:12px;line-height:1.35;font-weight:var(--fw-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.12em;margin:0}.selectedDateText{font-size:16px;line-height:1.35;font-weight:var(--fw-medium);color:var(--text-primary);margin:0}.selectedDateSpacing{margin:12px 0 8px}.textSecondary{color:var(--text-secondary)}.muted{color:var(--text-secondary);font-size:14px;line-height:1.5}.error{color:var(--text-error);font-weight:var(--fw-semibold);margin:0}.success{color:var(--accent-strong);font-weight:var(--fw-semibold);margin:0}.authInlineAction{text-align:center}.inlineTextButton{appearance:none;color:var(--accent-strong);font:inherit;font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.inlineTextButton:disabled{color:var(--text-secondary);cursor:not-allowed}.divider{border-bottom:1px solid var(--border-light)}.formLabel{color:var(--text-primary);font-size:15px;font-weight:var(--fw-medium)}.turnstileBlock{min-height:65px}.card{background:var(--surface-panel);border:1px solid var(--border-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)}.cardPad{padding:16px}.surfaceFinishPlain{background:var(--surface-panel)}.surfaceFinishSilver{background:var(--surface-metal);border-color:var(--border-surface-strong)}.btn{border:1px solid var(--border-surface-emphasis);background:var(--surface-panel);min-height:42px;color:var(--text-primary);font-family:var(--type-control-family);font-size:var(--type-control-size);line-height:var(--type-control-line-height);font-weight:var(--type-control-weight);letter-spacing:var(--type-control-tracking);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);border-radius:999px;padding:0 18px;transition:transform .14s,border-color .14s,background-color .14s,box-shadow .14s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--silver-strong);box-shadow:var(--shadow-soft-hover);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btnPrimary{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text);box-shadow:none}.btnPrimary:hover:not(:disabled){background:var(--button-primary-bg);border-color:var(--button-primary-border);box-shadow:none}.btnGhost{height:auto;min-height:auto;box-shadow:none;background:0 0;border-color:#0000;padding:0}.sticky .btnGhost,.sticky .btnGhost:hover:not(:disabled){background:var(--chrome-bg);color:var(--chrome-text);box-shadow:none;border:0;transform:none}.input{width:100%;height:44px;padding:0 var(--space-3);border:1px solid var(--border-field);background:var(--surface-field);color:var(--text-primary);font-family:var(--type-input-family);font-size:var(--type-input-size);line-height:var(--type-input-line-height);font-weight:var(--type-input-weight);box-shadow:inset 0 1px 0 var(--border-field);border-radius:12px;outline:none}.input:focus{border-color:var(--border-field-focus);box-shadow:0 0 0 3px var(--focus-ring), inset 0 1px 0 var(--surface-field)}.locationSelect{align-items:center;gap:12px;margin-bottom:16px;display:flex}.locationSelectHeader{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.locationRequiredLabel{background:var(--surface-highlight);border:1px solid var(--border-highlight);min-height:22px;color:var(--accent-strong);font-family:var(--type-label-family);font-size:var(--font-size-200);line-height:1;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-status);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.scheduleLocationControl{align-items:stretch;gap:var(--space-2);border:1px solid var(--border-surface-strong);border-radius:var(--radius-lg);background:var(--surface-metal);box-shadow:var(--shadow-soft);flex-direction:column;margin-bottom:0;padding:14px}.scheduleLocationControl .selectWrap{width:100%}.scheduleLocationControl .select{border-color:var(--border-surface-emphasis);background:var(--surface-panel-strong);width:100%;min-height:48px;font-size:var(--font-size-400)}.selectWrap{position:relative}.select{border:1px solid var(--border-field);background:var(--surface-field-strong);width:auto;font-family:var(--type-input-family);font-size:var(--type-input-size);line-height:var(--type-input-line-height);font-weight:var(--type-input-weight);appearance:none;cursor:pointer;color:var(--text-primary);border-radius:999px;min-width:100px;padding:8px 32px 8px 12px}.select:hover{border-color:var(--border-field-hover)}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.selectIcon{pointer-events:none;color:var(--text-secondary);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.scheduleFilters{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;width:fit-content;max-width:100%;display:flex}.filterGroup{width:clamp(172px,24vw,220px);border:0;min-inline-size:0;margin:0;padding:0;position:relative}.filterGroupLabel{font-family:var(--type-label-family);font-size:var(--font-size-100);line-height:var(--type-label-line-height);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-overline);margin:0 0 4px}.filterGroupBody{flex-direction:column;gap:6px;display:flex}.filterControlRow{align-items:center;gap:6px;display:flex}.filterDropdownButton{border:1px solid var(--border-light);width:auto;min-width:150px;max-width:220px;min-height:32px;color:var(--text-secondary);font-family:var(--type-input-family);font-size:var(--font-size-200);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border-radius:999px;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.filterDropdownButton:hover{border-color:var(--border-field-hover);background:var(--surface-field);color:var(--text-primary)}.filterDropdownButtonActive{border-color:var(--border-field);background:var(--surface-field-strong);color:var(--text-primary)}.filterDropdownButton:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.filterDropdownText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.filterDropdownIcon{color:var(--text-secondary);flex-shrink:0;transition:transform .14s}.filterDropdownIconOpen{transform:rotate(180deg)}.filterDropdownPanel{z-index:12;border:1px solid var(--border-surface-strong);border-radius:var(--radius-md);background:var(--surface-panel-strong);width:max-content;min-width:100%;max-width:min(320px,100vw - 32px);max-height:200px;box-shadow:var(--shadow-soft);padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:auto;overflow:auto}.filterOptionList{flex-direction:column;gap:4px;display:flex}.filterOption{border-radius:var(--radius-sm);min-height:30px;color:var(--text-primary);font-family:var(--type-body-family);font-size:var(--font-size-300);line-height:var(--line-height-body);cursor:pointer;align-items:center;gap:7px;padding:5px 7px;display:flex}.filterOption:hover{background:var(--surface-highlight)}.filterOptionCheckbox{width:14px;height:14px;accent-color:var(--accent);flex-shrink:0}.filterOptionText{overflow-wrap:anywhere;min-width:0}.filterClearButton{min-height:28px;font-size:var(--font-size-200);white-space:nowrap;padding:0 2px;text-decoration:none}.filterClearButton:disabled{opacity:0}.overviewSectionHeader{justify-content:space-between;align-items:center;display:flex}.surfaceHeaderStack{gap:var(--space-2);flex-direction:column;display:flex}.surfaceHeaderRow{align-items:flex-start}.navItem{font-family:var(--type-label-family);font-size:var(--type-label-size);line-height:var(--type-label-line-height);letter-spacing:var(--type-label-tracking);color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;display:flex}.navItemActive{color:var(--accent-strong)}.navLabel{font-weight:500}.navLabelActive{font-weight:600}.monthHeader{margin:var(--space-4) 0;justify-content:space-between;align-items:center;display:flex}.weekCalendarRow{align-items:start;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;margin:12px 0;display:grid}.dateGrid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;min-width:0;display:grid}.dateCircle{border:1px solid var(--border-field);background:var(--surface-overlay);width:40px;height:40px;font-size:20px;line-height:1;font-weight:var(--type-body-strong-weight);font-variant-numeric:lining-nums tabular-nums;color:var(--text-primary);box-shadow:inset 0 1px 0 var(--surface-overlay-strong);border-radius:50%;place-items:center;margin:0 auto;padding-top:2px;display:grid}.dateCircleActive{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text);box-shadow:none}.dateDisabled{color:var(--text-muted)}.dateCircleDisabled{border-color:var(--border-light);color:var(--text-muted)}.weekDayBtn{background:0 0;border:0;flex-direction:column;align-items:center;width:100%;padding:0;display:flex}.weekNavButton{width:42px;min-width:42px;padding:0}.monthLabel{font-family:var(--type-card-title-family);font-size:var(--type-card-title-size);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking);text-align:center;flex:1}.todayDotWrap{justify-content:center;height:8px;display:flex}.todayDot{background:var(--accent);border-radius:999px;width:6px;height:6px;margin-top:4px}.classRow{border:0;border-bottom:1px solid var(--border-light);background:0 0;border-radius:0;align-items:center;gap:14px;padding:18px 0;display:flex}.classRowLink{color:inherit;text-decoration:none;display:block}.classRowLink:hover .classTitle,.classRowLink:focus-visible .classTitle{color:var(--accent-strong)}.classRowLink:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.classRowPast{opacity:.68}.classTimeBlock{flex-direction:column;flex-shrink:0;justify-content:center;gap:3px;width:68px;display:flex}.classStartTime{font-family:var(--type-card-title-family);font-size:var(--font-size-700);line-height:1.05;font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal);color:var(--text-primary);white-space:nowrap;align-items:baseline;margin:0;font-stretch:92%;display:inline-flex}.classTimeMeridiem{font-size:var(--font-size-200);line-height:1;font-weight:var(--font-weight-medium)}.classDuration{font-family:var(--type-caption-family);font-size:var(--font-size-300);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight);color:var(--text-muted);white-space:nowrap;margin:0}.classContent{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.classTitle{font-family:var(--type-card-title-family);font-size:var(--font-size-400);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking);color:var(--text-primary);overflow-wrap:anywhere;white-space:normal}.classInstructor{font-family:var(--type-caption-family);font-size:var(--font-size-200);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.classAction{flex-shrink:0}.classStatusMessage{margin:0}.classStatusNeutral{color:var(--text-secondary);font-weight:var(--fw-semibold)}.classDetail{flex-direction:column;display:flex}.classDetailMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.classDetailMeta dt{font-family:var(--type-caption-family);font-size:var(--font-size-200);color:var(--text-muted);margin:0 0 3px}.classDetailMeta dd{color:var(--text-primary);font-weight:var(--fw-medium);overflow-wrap:anywhere;margin:0}.classDetailSection{gap:var(--space-2);flex-direction:column;display:flex}.classDetailSectionTitle{font-family:var(--type-section-title-family);font-size:var(--font-size-400);line-height:var(--type-section-title-line-height);font-weight:var(--type-section-title-weight);color:var(--text-primary)}.classDetailMessage{margin-bottom:var(--space-2)}.scheduleHeader{padding:10px 16px 6px}.scheduleHeaderTitle{font-family:var(--type-section-title-family);font-size:var(--type-section-title-size);line-height:var(--type-section-title-line-height);font-weight:var(--type-section-title-weight);letter-spacing:var(--type-section-title-tracking)}.scheduleHeaderSubtitle{margin-top:4px}.scheduleCardTitle{font-family:var(--type-card-title-family);font-size:var(--type-card-title-size);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking)}.scheduleCardMeta{margin-top:4px}.listPad{padding-left:var(--space-4);padding-right:var(--space-4)}.packageSectionLabel{margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.08em}.packageHeaderRow{align-items:flex-start}.packageTitleWrap{flex:1;min-width:0}.packagePrice{font-family:var(--type-card-title-family);font-size:var(--type-card-title-size);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking);white-space:nowrap}.paymentStatusMeta{gap:var(--space-2);flex-wrap:wrap;display:flex}.paymentReturnActions{justify-content:flex-start}.statusPill{border:1px solid var(--border);min-height:28px;font-family:var(--type-label-family);font-size:var(--type-label-size);line-height:var(--type-label-line-height);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-status);border-radius:999px;justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.status-pending{background:var(--surface-status-pending);border-color:var(--border-status-pending);color:var(--text-status-pending)}.status-paid{background:var(--surface-status-paid);border-color:var(--border-status-paid);color:var(--text-status-paid)}.status-failed{background:var(--surface-status-failed);border-color:var(--border-status-failed);color:var(--text-status-failed)}.status-expired{background:var(--surface-status-expired);border-color:var(--border-status-expired);color:var(--text-status-expired)}.status-review{background:var(--surface-status-review);border-color:var(--border-status-review);color:var(--text-status-review)}.paymentReviewCard,.recentPaymentCard{background:var(--surface-panel-strong);border-color:var(--border-surface-strong)}.recentPaymentCard{box-shadow:var(--shadow-soft)}.dashboardEyebrow{text-transform:uppercase;font-family:var(--type-label-family);font-size:var(--type-label-size);line-height:var(--type-label-line-height);letter-spacing:var(--tracking-overline);color:var(--accent-soft);font-weight:var(--font-weight-bold)}.dashboardHeroCard{background:var(--surface-metal);border:1px solid var(--border-surface-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-strong);overflow:hidden}.dashboardHeroCompact{padding:14px 16px}.dashboardHeroRow{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.dashboardHeroCopy{flex:1}.dashboardHeroTitle{font-family:var(--type-page-title-family);font-size:var(--font-size-900);line-height:var(--type-page-title-line-height);letter-spacing:var(--type-page-title-tracking);font-weight:var(--type-page-title-weight);color:var(--text-primary)}.dashboardHeroBody{max-width:42ch;color:var(--text-secondary);font-family:var(--type-body-family);font-size:var(--type-body-size);line-height:var(--type-body-line-height);font-weight:var(--type-body-weight);letter-spacing:var(--type-body-tracking)}.dashboardHeroAction{flex-shrink:0}.dashboardQuickGrid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dashboardQuickGridTwoCol{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardQuickCard{gap:var(--space-2);justify-content:space-between;min-height:132px}.dashboardTeaserCard{min-height:116px}.dashboardQuickIcon{background:var(--surface-highlight);width:40px;height:40px;color:var(--accent-strong);border:1px solid var(--border-highlight);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.dashboardQuickTitle{font-family:var(--type-card-title-family);font-size:var(--type-card-title-size);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking)}.dashboardQuickFooter{color:var(--accent-soft);justify-content:space-between;align-items:center;display:flex}.dashboardSurfaceCard{gap:var(--space-2)}.compactCardHeader{align-items:flex-start}.dashboardInlineLink{color:var(--accent-soft)}.dashboardCardAction{justify-content:center;display:flex}.dashboardNextClassTitle{font-family:var(--type-card-title-family);font-size:var(--font-size-500);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking)}.homeClassPreview{gap:var(--space-3)}.homeClassPreviewHeader{align-items:flex-start}.homeClassPreviewList{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.homeClassPreviewItem{border-top:1px solid var(--border-light)}.homeClassPreviewItem:first-child{border-top:0}.homeClassPreviewLink{color:inherit;flex-direction:column;gap:4px;padding:10px 0;text-decoration:none;display:flex}.homeClassPreviewTitleRow{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.homeClassPreviewTitle{min-width:0;font-family:var(--type-card-title-family);font-size:var(--type-body-strong-size);line-height:var(--type-body-strong-line-height);font-weight:var(--type-body-strong-weight);color:var(--text-primary)}.homeClassPreviewTime{color:var(--text-secondary);font-family:var(--type-caption-family);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight);text-align:right;flex-shrink:0}.homeClassPreviewMeta,.homeClassPreviewStatus{color:var(--text-secondary);font-family:var(--type-caption-family);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight)}.homeClassPreviewStatus{color:var(--accent-soft)}.glanceRow{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.glanceRow:first-of-type{border-top:0;padding-top:0}.glanceRow:last-of-type{padding-bottom:0}.glanceLabel{font-family:var(--type-caption-family);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight);color:var(--text-secondary)}.glanceValue{font-family:var(--type-body-family);font-size:var(--type-body-size);line-height:var(--type-body-line-height);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.profileSummaryCard{gap:var(--space-3)}.profileSummaryList{margin:0;padding:0}.profileSummaryList .glanceValue{text-align:right;margin:0}.membershipCard{gap:var(--space-3)}.membershipSummaryBlock{border-bottom:1px solid var(--border-light);flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.membershipCardHeader{align-items:flex-start}.membershipTitleWrap{flex:1;min-width:0}.membershipPackageList{gap:8px}.membershipCardAction{justify-content:center;display:flex}.membershipPackageRow{justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-top:1px solid var(--border-light);padding:10px 0;display:flex}.membershipPackageRow:first-child{border-top:0;padding-top:0}.membershipPackageRow:last-child{padding-bottom:0}.membershipPackageMeta{flex:1;min-width:0}.membershipPackageName{font-family:var(--type-card-title-family);font-size:var(--type-body-strong-size);line-height:var(--type-body-strong-line-height);font-weight:var(--type-body-strong-weight)}.membershipPackageLine{justify-content:space-between;align-items:center;gap:12px;display:flex}.membershipPackageAside{text-align:right;align-items:flex-end}.membershipStatusPill{background:var(--surface-status-expired);border-color:var(--silver-strong);color:var(--accent-strong)}.packageCategorySection{gap:var(--space-3)}.packageCategoryHeader{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.packageCategoryTagline{max-width:44ch}.packageSectionLabelStrong{font-family:var(--type-card-title-family);font-size:var(--type-card-title-size);line-height:var(--type-card-title-line-height);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-heading);color:var(--text-primary)}.premiumPackageCard{background:var(--surface-panel);border-color:var(--border-surface-subtle)}.premiumPackageCardCompact{box-shadow:var(--shadow-soft);gap:10px}.packageCardTop{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.packageCardEyebrow{font-family:var(--type-label-family);font-size:var(--type-label-size);line-height:var(--type-label-line-height);text-transform:uppercase;letter-spacing:var(--type-label-tracking);color:var(--text-secondary)}.packageInfoGrid{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 16px;display:grid}.packageFeatureValue{font-family:var(--type-card-title-family);font-size:var(--type-card-title-size);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking);color:var(--text-primary)}.packageCardSubValue{font-family:var(--type-caption-family);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight);color:var(--text-secondary)}.packageFeaturePrice{white-space:nowrap;text-align:right}.packageMetaLine{font-family:var(--type-caption-family);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight);color:var(--text-secondary);flex-wrap:wrap;gap:8px 12px;display:flex}.packageMetaLineSplit{justify-content:space-between}.packageMetaLineSoft{color:var(--text-secondary)}.packagePerClassPrice{font-family:var(--type-caption-family);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);font-weight:var(--type-caption-weight);white-space:nowrap;text-align:right}.packageCardFooter{border-top:1px solid var(--border-light);justify-content:center;align-items:center;padding-top:4px;display:flex}.packageCardFooterTight{padding-top:6px}.packageActionHint{min-width:0;color:var(--text-muted);flex:1}.profileActions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profileLogoutCard{background:var(--surface-panel-muted)}.paymentStatusCard{background:var(--surface-panel-strong)}.bookingCard{background:var(--surface-panel);border-color:var(--border-surface-subtle)}.loginPageShell{flex-direction:column;justify-content:center;gap:20px;min-height:100svh;padding-top:32px;padding-bottom:32px;display:flex}.loginBrandBlock{text-align:center;flex-direction:column;gap:6px;display:flex}.loginBrand{font-family:var(--type-label-family);font-size:var(--type-brand-kicker-size);line-height:var(--type-label-line-height);font-weight:var(--type-brand-kicker-weight);letter-spacing:var(--type-brand-kicker-tracking);color:var(--accent-soft)}.loginTitle{font-family:var(--type-page-title-family);font-size:var(--font-size-950);line-height:var(--line-height-tight);letter-spacing:var(--type-page-title-tracking);font-weight:var(--type-page-title-weight)}.loginCaption{max-width:34ch;margin:0 auto}.loginCard{background:var(--surface-panel-strong)}.installPageShell{justify-content:center;gap:var(--space-4);flex-direction:column;min-height:100svh;padding-top:34px;padding-bottom:34px;display:flex}.installHero{align-items:center;gap:var(--space-5);text-align:center;border:1px solid var(--border-surface-strong);border-radius:var(--radius-xl);background:var(--surface-metal);box-shadow:var(--shadow-strong);flex-direction:column;padding:28px 18px;display:flex}.installHeroCompact{gap:var(--space-4)}.installLogo{object-fit:contain;width:min(78vw,280px);height:auto}.installHeroCopy{align-items:center}.installTitle{max-width:13ch;font-family:var(--type-page-title-family);font-size:var(--font-size-950);line-height:var(--line-height-tight);font-weight:var(--type-page-title-weight);letter-spacing:var(--type-page-title-tracking);color:var(--text-primary)}.installBody{max-width:36ch;font-family:var(--type-body-family);font-size:var(--font-size-350);line-height:var(--line-height-copy);color:var(--text-secondary)}.installPrimaryBlock{align-items:center;width:min(100%,360px)}.installPrimaryButton{width:100%;min-height:54px;font-size:var(--font-size-400)}.installWideAction{width:min(100%,320px)}.installSupportCard{gap:var(--space-3);background:var(--surface-panel-strong);grid-template-columns:auto minmax(0,1fr);align-items:flex-start;display:grid}.installSupportIcon,.installStepIcon{border:1px solid var(--border-highlight);background:var(--surface-highlight);width:42px;height:42px;color:var(--accent-strong);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.installSteps{gap:var(--space-3);display:grid}.installStep{gap:var(--space-3);text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.installStepTitle{font-family:var(--type-card-title-family);font-size:var(--font-size-400);line-height:var(--type-card-title-line-height);font-weight:var(--type-card-title-weight);letter-spacing:var(--type-card-title-tracking);color:var(--text-primary)}.installFooterLinks{justify-content:center;display:flex}.reviewQueueItem{background:var(--surface-panel);border-color:var(--border-surface-subtle)}.reviewQueueHeader{align-items:center}.startupShell{justify-content:center;align-items:center;min-height:100svh;padding:40px 0;display:flex;position:relative;overflow:hidden}.startupBackdrop{background:var(--surface-startup-backdrop);pointer-events:none;position:absolute;inset:0}.startupContainer{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:22px;display:flex;position:relative}.startupWordmark{font-family:var(--font-family-brand);font-size:var(--type-brand-wordmark-size);line-height:var(--type-brand-wordmark-line-height);font-weight:var(--type-brand-wordmark-weight);letter-spacing:var(--type-brand-wordmark-tracking);color:var(--accent-strong);text-shadow:var(--shadow-wordmark)}.startupLogoImage{object-fit:contain;width:min(84vw,360px);height:auto;display:block}.startupStatusBlock{flex-direction:column;align-items:center;gap:4px;display:flex}.startupStatusText{max-width:26ch;font-family:var(--type-kicker-family);font-size:var(--type-kicker-size);line-height:var(--line-height-body);letter-spacing:var(--type-body-tracking);font-weight:var(--font-weight-regular);color:var(--text-secondary)}.startupDetail{max-width:34ch;font-family:var(--type-body-family);font-size:var(--type-body-size);line-height:var(--line-height-body-relaxed);font-weight:var(--type-body-weight);letter-spacing:var(--type-body-tracking);color:var(--text-muted)}.startupProgressBlock{flex-direction:column;align-items:stretch;gap:8px;width:min(100%,280px);display:flex}.startupProgressTrack{background:var(--surface-progress-track);border-radius:999px;width:100%;height:4px;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff8f}.startupProgressBar{border-radius:inherit;background:var(--surface-progress-bar);width:42%;height:100%;animation:1.1s ease-in-out infinite startupSweep}.startupProgressCaption{font-family:var(--type-label-family);font-size:11px;line-height:var(--type-label-line-height);letter-spacing:var(--tracking-overline);font-weight:var(--type-label-weight);text-transform:uppercase;color:var(--text-muted)}.startupErrorBlock{flex-direction:column;align-items:center;gap:4px;display:flex}.startupErrorTitle{font-family:var(--type-label-family);font-size:var(--type-control-size);line-height:var(--type-label-line-height);text-transform:uppercase;letter-spacing:var(--tracking-overline);font-weight:var(--font-weight-medium);color:var(--text-error-soft)}.startupErrorCode{font-family:var(--type-label-family);font-size:9px;line-height:var(--type-label-line-height);letter-spacing:var(--type-label-tracking);font-weight:var(--type-label-weight);color:var(--text-error-muted)}.startupErrorBlock .btn{min-height:var(--startup-support-min-height);margin-top:8px;padding:0 22px;font-size:15px}.adminHeroCard{background:var(--surface-metal);border-color:var(--border-surface-strong)}.adminSurfaceCard{background:var(--surface-panel);border-color:var(--border-surface-emphasis)}.adminStatsGrid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.adminStatCard{justify-content:space-between;min-height:132px}@media (width<=640px){.brandHeaderLockup{gap:10px;max-width:min(76vw,310px)}.brandHeaderIcon{width:30px;height:36px}.brandHeaderWordmark{font-size:31px}.startupWordmark{letter-spacing:.24em;font-size:31px}.startupLogoImage{width:min(88vw,300px)}.startupStatusText{font-size:16px}.dashboardHeroTitle{font-size:24px}.dashboardHeroRow{flex-direction:column;align-items:stretch}.dashboardQuickGrid,.profileActions{grid-template-columns:1fr}.dashboardQuickGridTwoCol{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.weekCalendarRow{gap:6px}.scheduleFilters{gap:8px 10px;width:100%}.filterGroup{width:min(100%,320px)}.dateGrid{gap:4px}.dateCircle{width:34px;height:34px;font-size:18px}.weekNavButton{width:34px;min-width:34px;min-height:38px}.membershipPackageRow{flex-direction:column}.membershipPackageAside{text-align:left;align-items:flex-start}.homeClassPreviewHeader,.homeClassPreviewTitleRow{flex-direction:column;gap:4px}.homeClassPreviewTime,.profileSummaryList .glanceValue{text-align:left}.membershipPackageLine{flex-direction:column;align-items:flex-start}.packageCardFooter{flex-direction:column;align-items:center}.packageInfoGrid{column-gap:12px}.adminStatsGrid{grid-template-columns:1fr}}@keyframes startupSweep{0%{transform:translate(-120%)}to{transform:translate(280%)}}
