.payment-success[data-v-d8d0c7ff]{position:relative;overflow:hidden;display:grid;justify-items:center;gap:12px;padding:28px 18px calc(22px + env(safe-area-inset-bottom));border:1px solid rgba(102,226,185,.28);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(65,205,188,.2),transparent 52%),#151533;text-align:center}.payment-success__mark[data-v-d8d0c7ff]{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#48d5ac;color:#071b18;font-size:34px;font-weight:900;box-shadow:0 0 32px #48d5ac57}.payment-success h3[data-v-d8d0c7ff],.payment-success p[data-v-d8d0c7ff]{margin:0}.payment-success__amount[data-v-d8d0c7ff]{font-size:34px}.payment-success__details[data-v-d8d0c7ff]{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:8px 14px;margin:8px 0 0;padding:16px;border-radius:16px;background:#ffffff0b;text-align:left}.payment-success__details dt[data-v-d8d0c7ff]{color:var(--muted)}.payment-success__details dd[data-v-d8d0c7ff]{margin:0;overflow-wrap:anywhere}.payment-success__mail[data-v-d8d0c7ff]{color:#f2c879}.payment-success__actions[data-v-d8d0c7ff]{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.payment-success__confetti[data-v-d8d0c7ff]{position:absolute;inset:0;pointer-events:none}.payment-success__confetti i[data-v-d8d0c7ff]{position:absolute;top:-12px;left:calc(var(--n) * 8%);width:7px;height:14px;border-radius:2px;background:hsl(calc(var(--n) * 31) 80% 62%);animation:confetti-d8d0c7ff 1.8s ease-out both;animation-delay:calc(var(--n) * 45ms)}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(1){--n:1}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(2){--n:2}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(3){--n:3}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(4){--n:4}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(5){--n:5}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(6){--n:6}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(7){--n:7}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(8){--n:8}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(9){--n:9}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(10){--n:10}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(11){--n:11}.payment-success__confetti i[data-v-d8d0c7ff]:nth-child(12){--n:12}@keyframes confetti-d8d0c7ff{0%{transform:translateY(0) rotate(0);opacity:0}16%{opacity:1}to{transform:translateY(260px) rotate(540deg);opacity:0}}@media(max-width:560px){.payment-success__actions[data-v-d8d0c7ff],.payment-success__details[data-v-d8d0c7ff]{grid-template-columns:1fr}.payment-success__details dd[data-v-d8d0c7ff]{margin-bottom:6px}}@media(prefers-reduced-motion:reduce){.payment-success__confetti[data-v-d8d0c7ff]{display:none}.payment-success__mark[data-v-d8d0c7ff]{box-shadow:none}}.invoice-qr[data-v-4ec06bd5]{display:grid;gap:14px}.invoice-qr__status[data-v-4ec06bd5]{display:flex;align-items:center;gap:10px}.invoice-qr__link-row[data-v-4ec06bd5]{display:flex;gap:8px}.invoice-qr__link-input[data-v-4ec06bd5]{min-width:0;color:var(--muted);font-size:13px}.invoice-qr__actions[data-v-4ec06bd5]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.invoice-qr__overlay[data-v-4ec06bd5]{position:fixed;z-index:200;inset:0;display:grid;place-items:center;gap:20px;padding:24px;background:#050512}.invoice-qr__overlay-close[data-v-4ec06bd5]{position:absolute;top:calc(16px + var(--safe-top, 0px));right:16px;color:#fff;background:#ffffff14}.invoice-qr__overlay-header[data-v-4ec06bd5]{display:grid;gap:4px;text-align:center}.invoice-qr__overlay-name[data-v-4ec06bd5]{margin:0;color:#fff;font-size:20px;font-weight:700}.invoice-qr__overlay-amount[data-v-4ec06bd5]{margin:0;color:#fff;font-size:28px;font-weight:800;letter-spacing:-.02em}.invoice-qr__image[data-v-4ec06bd5]{width:min(80vw,420px);height:min(80vw,420px);background:#fff;border-radius:20px;padding:20px}.invoice-qr__overlay-hint[data-v-4ec06bd5]{margin:0;color:var(--muted);text-align:center}.app-select[data-v-dc102aaa]{position:relative;min-width:0}.app-select-label[data-v-dc102aaa]{display:block;margin-bottom:var(--space-2);color:#c8cdda;font-size:var(--font-size-md);font-weight:var(--weight-medium)}.app-select-trigger[data-v-dc102aaa]{width:100%;min-height:var(--control-height-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);color:var(--ink);background:#ffffff0e;border:var(--line-thin) solid rgba(255,255,255,.12);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.app-select-trigger[data-v-dc102aaa]:hover{background:#ffffff13}.app-select-chevron[data-v-dc102aaa]{display:flex;align-items:center;color:#a9adc0;font-size:20px;line-height:1;flex-shrink:0;transition:transform .18s ease}.open .app-select-chevron[data-v-dc102aaa]{transform:rotate(180deg)}.app-select-list[data-v-dc102aaa]{position:static;width:100%;max-height:min(17.5rem,48vh);margin:var(--space-2) 0 0;padding:var(--space-2);overflow-y:auto;overscroll-behavior:contain;list-style:none;background:#202044;border:var(--line-thin) solid rgba(133,207,255,.28);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.app-select-option[data-v-dc102aaa]{width:100%;min-height:var(--control-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:#e8eaf3;background:transparent;border:var(--line-thin) solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.app-select-option[data-v-dc102aaa]:hover,.app-select-option.highlighted[data-v-dc102aaa]{color:#fff;background:#59c4ff1a;border-color:#59c4ff6b;box-shadow:0 0 16px #59c4ff29}.app-select-option.selected[data-v-dc102aaa]{color:#c9efff;font-weight:700}.app-select-option[data-v-dc102aaa]:disabled{opacity:.45;cursor:not-allowed}.app-select-check[data-v-dc102aaa]{width:18px;color:#83d8ff;font-weight:700}.disabled[data-v-dc102aaa]{opacity:.48}@media(max-width:560px){.app-select-list[data-v-dc102aaa]{max-height:240px}}.search-select[data-v-3482db62]{position:relative;min-width:0}.search-select-label[data-v-3482db62]{display:block;margin-bottom:var(--space-2);color:#c8cdda;font-size:var(--font-size-md);font-weight:var(--weight-medium)}.search-select-trigger[data-v-3482db62]{width:100%;min-height:var(--control-height-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);color:var(--ink);background:#ffffff0e;border:var(--line-thin) solid rgba(255,255,255,.12);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.search-select-trigger[data-v-3482db62]:hover{background:#ffffff13}.search-select-trigger[data-v-3482db62]:focus-visible{border-color:#59c4ff;box-shadow:0 0 18px #59c4ff47;outline:0}.search-select-value[data-v-3482db62],.search-select-option-label[data-v-3482db62]{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.search-select-value[data-v-3482db62]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-color[data-v-3482db62]{width:9px;height:9px;flex:none;border-radius:999px;box-shadow:0 0 10px color-mix(in srgb,currentColor 22%,transparent)}.search-select-chevron[data-v-3482db62]{display:flex;align-items:center;justify-content:center;color:#a9adc0;flex-shrink:0;transition:transform .18s ease}.search-select-chevron svg[data-v-3482db62]{display:block}.open .search-select-chevron[data-v-3482db62]{transform:rotate(180deg)}.search-select-panel[data-v-3482db62]{box-sizing:border-box;position:static;width:100%;max-height:var(--search-select-available-height, 320px);display:flex;flex-direction:column;margin-top:var(--space-2);padding:var(--space-2);background:#202044;border:var(--line-thin) solid rgba(133,207,255,.28);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.search-select-panel--up[data-v-3482db62]{position:absolute;z-index:110;right:0;bottom:calc(100% + var(--space-2));margin-top:0}.search-select-input[data-v-3482db62]{flex:none;width:100%;min-height:var(--control-height);margin-bottom:var(--space-2);padding:0 var(--space-3);color:#fff;background:#ffffff0f;border:var(--line-thin) solid rgba(255,255,255,.14);border-radius:var(--radius-sm);font:inherit}.search-select-input[data-v-3482db62]:focus-visible{border-color:#59c4ff;box-shadow:0 0 0 1px #59c4ff,0 0 18px #59c4ff47;outline:none}.search-select-scroll[data-v-3482db62]{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.search-select-scroll-cue[data-v-3482db62]{position:absolute;z-index:2;right:1px;bottom:1px;left:1px;height:30px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:3px;color:#93dfff;background:linear-gradient(180deg,#20204400,#202044 72%);border-radius:0 0 var(--radius-md) var(--radius-md);pointer-events:none}.search-select-list[data-v-3482db62]{margin:0;padding:0;list-style:none}.search-select-option[data-v-3482db62]{width:100%;min-height:var(--control-height-lg);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);color:#e8eaf3;background:transparent;border:var(--line-thin) solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.search-select-featured[data-v-3482db62]{display:grid;gap:var(--space-2);margin-bottom:var(--space-2)}.search-select-option--featured[data-v-3482db62]{padding:var(--space-3);background:#5ad6aa14;border-color:#5ad6aa4d}.search-select-option--featured[data-v-3482db62]:hover,.search-select-option--featured[data-v-3482db62]:focus-visible{background:#5ad6aa21;border-color:#59c4ff;box-shadow:0 0 18px #59c4ff38;outline:0}.search-select-option-head[data-v-3482db62]{display:flex;justify-content:space-between;gap:var(--space-3);width:100%}.search-select-option-head b[data-v-3482db62]{color:#73e2ba;font-size:12px}.search-select-option-reason[data-v-3482db62]{color:#a9adc0;font-size:12px}.search-select-option[data-v-3482db62]:hover,.search-select-option.highlighted[data-v-3482db62]{color:#fff;background:#59c4ff1a;border-color:#59c4ff6b;box-shadow:0 0 16px #59c4ff29}.search-select-option.selected .search-select-option-label[data-v-3482db62]{color:#c9efff;font-weight:700}.search-select-option[data-v-3482db62]:disabled{opacity:.45;cursor:not-allowed}.search-select-option-meta[data-v-3482db62]{color:#a9adc0;font-size:12px}.search-select-option-meta--matched[data-v-3482db62]{color:#73e2ba}.search-select-option-meta--different[data-v-3482db62]{color:#f2b86b}.search-select-empty[data-v-3482db62]{padding:var(--space-3);color:#a9adc0;font-size:var(--font-size-md);text-align:center}.search-select-create[data-v-3482db62]{flex:none;display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-2);min-height:var(--control-height);color:#83d8ff;background:#59c4ff14;border:var(--line-thin) dashed rgba(89,196,255,.4);border-radius:var(--radius-sm);font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.search-select-create[data-v-3482db62]:hover{background:#59c4ff24}.disabled[data-v-3482db62]{opacity:.48}.app-page-header[data-v-dedf2253]{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:10px;min-height:calc(64px + var(--safe-top, 0px));padding:calc(20px + var(--safe-top, 0px)) 0 12px}.app-page-header__titles[data-v-dedf2253]{min-width:0}.app-page-header h1[data-v-dedf2253]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-page-header h1[data-v-dedf2253]{margin:0;font-size:26px;line-height:1;letter-spacing:-.04em}.app-page-header__titles p[data-v-dedf2253]{margin:5px 0 0;color:var(--muted);font-size:14px}.app-page-header__leading[data-v-dedf2253]{position:absolute;top:calc(16px + var(--safe-top, 0px));left:0}.app-page-header__leading[data-v-dedf2253] .back-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--muted);background:var(--panel);border:1px solid var(--panel-border, var(--line));border-radius:12px;cursor:pointer}.app-page-header__leading[data-v-dedf2253] .back-btn:hover{color:var(--text, var(--ink));background:#ffffff0f}.app-page-header[data-v-dedf2253]:has(.app-page-header__leading){padding-left:0}.app-page-header:has(.app-page-header__leading) .app-page-header__titles[data-v-dedf2253]{margin-left:48px}.app-page-header__actions[data-v-dedf2253]{grid-column:2;grid-row:1;justify-self:end;margin:0}.app-page-header__chrome[data-v-dedf2253]{grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px;margin-left:2px}.app-page-header__brand[data-v-dedf2253]{flex:none;color:#fff;text-decoration:none}.app-page-header__brand .brand-lockup[data-v-dedf2253]{--brand-h: 23px}.app-page-header__profile[data-v-dedf2253]{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:2px;color:inherit;background:transparent;border:1px solid transparent;border-radius:14px;cursor:pointer}.app-page-header__profile[data-v-dedf2253]:hover{background:#ffffff0f}.app-page-header__profile[data-v-dedf2253]:focus-visible{outline:0;border-color:#59c4ff;box-shadow:0 0 0 3px #59c4ff29}.app-page-header__account .account-menu__list[data-v-dedf2253]{top:calc(100% + 8px);right:0}@media(max-width:520px){.app-page-header[data-v-dedf2253]{column-gap:6px}.app-page-header h1[data-v-dedf2253]{font-size:24px}.app-page-header__brand .brand-lockup[data-v-dedf2253]{--brand-h: 20px}.app-page-header__profile[data-v-dedf2253]{width:40px;height:40px}.app-page-header--crowded[data-v-dedf2253]{row-gap:10px}.app-page-header--crowded .app-page-header__actions[data-v-dedf2253]{grid-column:1 / -1;grid-row:2;justify-self:end}.app-page-header__account .account-menu__list[data-v-dedf2253]{position:fixed;top:calc(66px + var(--safe-top, 0px));left:16px;right:16px;width:auto}}.app-page-header--crowded .app-page-header__actions[data-v-dedf2253]{justify-self:end}.app-page-header__actions[data-v-dedf2253] .section-action{min-height:42px;padding-inline:16px;box-shadow:none;white-space:nowrap}@media(min-width:900px){.app-page-header[data-v-dedf2253]{grid-template-columns:minmax(0,1fr) auto auto;min-height:58px;padding-top:20px;padding-right:0}.app-page-header__actions[data-v-dedf2253]{position:static;margin:0}.app-page-header__brand .brand-lockup[data-v-dedf2253]{--brand-h: 25px}}.payment-page[data-v-af47d82c]{display:flex;flex-direction:column;gap:var(--space-5)}.payment-page--embedded[data-v-af47d82c]{gap:var(--space-3)}.payment-page[data-v-af47d82c]:has(.payment-sticky){padding-bottom:calc(var(--payment-sticky-height, 300px) + var(--space-8) + env(safe-area-inset-bottom))}.payment-search[data-v-af47d82c]{position:relative}.payment-suggestions[data-v-af47d82c]{position:absolute;z-index:8;top:calc(100% + var(--space-2));left:0;right:0;display:grid;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:#181835;box-shadow:var(--shadow-overlay)}.payment-suggestions button[data-v-af47d82c]{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);color:var(--ink);background:transparent;border:0;border-radius:var(--radius-sm);text-align:left;cursor:pointer}.payment-suggestions button[data-v-af47d82c]:hover{background:#ffffff12}.payment-suggestions span[data-v-af47d82c]{color:var(--muted)}.payment-suggestions__add[data-v-af47d82c]{color:#83d8ff;font-weight:700}.payment-empty[data-v-af47d82c]{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--muted);text-align:center;border-radius:var(--radius-lg);background:#ffffff06}.payment-empty h2[data-v-af47d82c]{margin:0;color:var(--ink);font-size:var(--font-size-xl)}.payment-empty p[data-v-af47d82c]{margin:0}.payment-empty button[data-v-af47d82c]{margin-top:var(--space-2)}.payment-new-student[data-v-af47d82c]{display:grid;gap:var(--space-4);padding:var(--card-padding);border-radius:var(--radius-lg);background:var(--panel)}.payment-new-student>div[data-v-af47d82c]{display:grid;gap:var(--space-2)}.payment-new-student h2[data-v-af47d82c],.payment-new-student p[data-v-af47d82c]{margin:0}.payment-new-student p[data-v-af47d82c]{color:var(--muted)}.payment-new-student>.text-button[data-v-af47d82c]{justify-self:start}.payment-family[data-v-af47d82c]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}.payment-family label[data-v-af47d82c],.payment-child-card label[data-v-af47d82c]{display:grid;gap:var(--space-2);color:var(--muted)}.payment-new-payer[data-v-af47d82c]{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}.payment-new-payer label[data-v-af47d82c]{display:grid;gap:var(--space-2);color:var(--muted);font-size:var(--font-size-sm)}.payment-new-payer input[data-v-af47d82c]{width:100%;min-height:var(--control-height-lg);padding:0 var(--space-4);color:var(--ink);background:#20203f;border:1px solid var(--line);border-radius:var(--radius-md)}.payment-new-payer__actions[data-v-af47d82c]{display:flex;justify-content:flex-end;gap:var(--space-2)}.payment-child-card[data-v-af47d82c]{display:grid;gap:var(--space-4);padding:var(--card-padding);border-radius:var(--radius-lg);background:var(--panel)}.payment-child-card__head[data-v-af47d82c]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.payment-child-card h2[data-v-af47d82c]{margin:0}.payment-child-card__meta[data-v-af47d82c]{display:flex;align-items:center;gap:var(--space-3)}.payment-inline-error[data-v-af47d82c]{margin:calc(var(--space-2) * -1) 0 0}.payment-child-debt[data-v-af47d82c]{display:grid;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:#ffffff0a}.payment-child-debt__title[data-v-af47d82c]{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--font-size-sm)}.payment-child-debt__row[data-v-af47d82c]{display:flex;justify-content:space-between;gap:var(--space-3)}.payment-child-history[data-v-af47d82c]{color:var(--muted)}.payment-child-history summary[data-v-af47d82c]{cursor:pointer;color:var(--ink)}.payment-child-history__row[data-v-af47d82c]{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0}.payment-discount[data-v-af47d82c]{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);align-items:start;gap:var(--space-2)}.payment-discount input[data-v-af47d82c],.payment-discount textarea[data-v-af47d82c]{box-sizing:border-box;width:100%;min-height:var(--control-height-lg);padding:0 var(--space-3);color:var(--ink);background:#20203f;border:1px solid var(--line);border-radius:var(--radius-md);font:inherit}.payment-discount textarea[data-v-af47d82c]{padding-block:var(--space-3);line-height:1.35;resize:vertical}.payment-discount__empty[data-v-af47d82c]{grid-column:1/-1;margin:0;color:var(--muted);font-size:var(--font-size-sm)}.payment-discount__custom[data-v-af47d82c]{display:grid;gap:var(--space-2)}.payment-discount__percent[data-v-af47d82c]{position:relative;display:block!important}.payment-discount__percent input[data-v-af47d82c]{padding-right:36px}.payment-discount__percent span[data-v-af47d82c]{position:absolute;top:50%;right:var(--space-3);color:var(--muted);transform:translateY(-50%);pointer-events:none}.payment-discount__quick[data-v-af47d82c]{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:var(--space-2)}.payment-discount__quick button[data-v-af47d82c]{min-height:44px;padding:0 var(--space-2);color:var(--ink);background:#ffffff0d;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;font-weight:700;cursor:pointer}.payment-discount__quick button[data-v-af47d82c]:hover{background:#ffffff17}.payment-discount__quick button[data-v-af47d82c]:focus-visible{outline:0;border-color:#59c4ff;box-shadow:0 0 0 3px #59c4ff29}.payment-discount__quick button.active[data-v-af47d82c]{color:#fff;border-color:#59c4ff;background:#59c4ff2e}.payment-discount__selected[data-v-af47d82c]{grid-column:2/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0;padding:0 var(--space-2);color:var(--muted)}.payment-discount__selected span[data-v-af47d82c]{min-width:0}.payment-discount__selected strong[data-v-af47d82c]{color:#a9e3ff}.payment-discount__selected .text-button[data-v-af47d82c]{flex:0 0 auto}.payment-discount--none[data-v-af47d82c]{grid-template-columns:minmax(150px,220px)}.payment-child-price[data-v-af47d82c]{display:flex;align-items:baseline;gap:var(--space-2)}.payment-child-price s[data-v-af47d82c]{color:var(--muted)}.payment-child-price strong[data-v-af47d82c]{font-size:var(--font-size-xl)}.payment-sticky[data-v-af47d82c]{position:fixed;z-index:7;right:var(--page-gutter);bottom:var(--space-4);left:calc(240px + var(--page-gutter));display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:#12122df5;box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.payment-sticky>div[data-v-af47d82c]:first-child{display:flex;justify-content:space-between;align-items:baseline}.payment-sticky>div:first-child>span[data-v-af47d82c]{display:grid;gap:2px}.payment-sticky>div:first-child small[data-v-af47d82c]{color:var(--muted);font-size:12px}.payment-sticky>div:first-child strong[data-v-af47d82c]{font-size:var(--font-size-2xl)}.payment-methods[data-v-af47d82c]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.payment-methods button[data-v-af47d82c]{min-height:var(--control-height-lg);color:var(--ink);background:#ffffff0d;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.payment-methods button.active[data-v-af47d82c]{border-color:#59c4ff;background:#59c4ff1f}.payment-receipt-phone[data-v-af47d82c]{display:grid;gap:var(--space-2);color:var(--muted)}.payment-receipt-phone input[data-v-af47d82c]{box-sizing:border-box;width:100%;min-height:var(--control-height-lg);padding:0 var(--space-4);color:var(--ink);background:#20203f;border:1px solid var(--line);border-radius:var(--radius-md);font:inherit}.payment-receipt-phone input[data-v-af47d82c]:focus-visible{outline:0;border-color:#59c4ff;box-shadow:0 0 0 3px #59c4ff29}.payment-page:has([role=combobox][aria-expanded=true]) .payment-sticky[data-v-af47d82c]{position:static}.payment-complete[data-v-af47d82c]{display:grid;justify-items:center;gap:var(--space-4);max-width:680px;margin:auto;padding:var(--space-8);border-radius:var(--radius-lg);background:var(--panel);text-align:center}.payment-complete__mark[data-v-af47d82c]{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:#071b18;background:#48d5ac;font-size:34px;font-weight:900}.payment-complete h2[data-v-af47d82c]{margin:0}.payment-complete>strong[data-v-af47d82c]{font-size:var(--font-size-3xl)}.payment-complete dl[data-v-af47d82c]{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);text-align:left}.payment-complete dd[data-v-af47d82c]{margin:0}.payment-complete dt[data-v-af47d82c]{color:var(--muted)}.payment-complete__actions[data-v-af47d82c]{display:flex;gap:var(--space-3)}@media(max-width:899px){.payment-page[data-v-af47d82c]{padding:var(--page-gutter)}.payment-page--embedded[data-v-af47d82c]{padding:0}.payment-page[data-v-af47d82c]:has(.payment-sticky){padding-bottom:calc(var(--payment-sticky-height, 300px) + 76px + var(--space-4) + env(safe-area-inset-bottom))}.payment-sticky[data-v-af47d82c]{left:var(--page-gutter);bottom:calc(76px + env(safe-area-inset-bottom))}}@media(max-width:560px){.payment-family[data-v-af47d82c]{grid-template-columns:1fr}.payment-family>span[data-v-af47d82c]{display:none}.payment-new-payer[data-v-af47d82c]{grid-template-columns:1fr}.payment-child-card__head[data-v-af47d82c]{flex-wrap:wrap}.payment-child-price strong[data-v-af47d82c]{font-size:var(--font-size-lg)}.payment-complete__actions[data-v-af47d82c]{display:grid;width:100%}.payment-discount[data-v-af47d82c]{grid-template-columns:1fr;gap:var(--space-2)}.payment-discount[data-v-af47d82c] .app-select{grid-column:1/-1}.payment-discount--none[data-v-af47d82c]{grid-template-columns:1fr}.payment-discount__custom[data-v-af47d82c],.payment-discount textarea[data-v-af47d82c]{grid-column:1/-1}.payment-discount__selected[data-v-af47d82c]{grid-column:1/-1;padding:0}.payment-discount input[data-v-af47d82c],.payment-discount textarea[data-v-af47d82c]{min-width:0}}.app-checkbox[data-v-1c3c0d50]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;width:max-content;max-width:100%;color:var(--muted);font-size:var(--font-size-sm);cursor:pointer}.app-checkbox input[data-v-1c3c0d50]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.app-checkbox__mark[data-v-1c3c0d50]{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border:1.5px solid rgba(255,255,255,.28);border-radius:6px;background:#ffffff0f;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.app-checkbox:hover .app-checkbox__mark[data-v-1c3c0d50]{border-color:#ffffff80}.app-checkbox input:checked+.app-checkbox__mark[data-v-1c3c0d50]{border-color:transparent;background:linear-gradient(135deg,#7f53c6,#167dc3 58%,#2eabdf)}.app-checkbox input:checked+.app-checkbox__mark[data-v-1c3c0d50]:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.app-checkbox input:focus-visible+.app-checkbox__mark[data-v-1c3c0d50]{border-color:#59c4ff;box-shadow:0 0 0 1px #59c4ffb3,0 0 14px #59c4ff57}.app-checkbox--disabled[data-v-1c3c0d50]{opacity:.55;cursor:not-allowed}.app-checkbox__label[data-v-1c3c0d50]{min-width:0}.plan-payment-link[data-v-f4164774]{display:grid;gap:10px;padding:0 16px 16px}.plan-payment-link>div[data-v-f4164774]:first-child{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:13px}.plan-payment-link>div:first-child span[data-v-f4164774]{overflow:hidden;text-overflow:ellipsis}.plan-payment-link__actions[data-v-f4164774]{display:flex;flex-wrap:wrap;gap:8px}.plan-payment-link button[data-v-f4164774]{gap:7px}.plan-payment-link p[data-v-f4164774]{margin:0;color:#83d8ff;font-size:13px}@media(max-width:560px){.plan-payment-link__actions[data-v-f4164774]{display:grid}.plan-payment-link__actions button[data-v-f4164774]{width:100%}}.unresolved-payments[data-v-4dad2bd3],.unresolved-list[data-v-4dad2bd3],.unresolved-payment[data-v-4dad2bd3],.unresolved-lines[data-v-4dad2bd3],.unresolved-line[data-v-4dad2bd3],.create-student[data-v-4dad2bd3]{display:grid}.unresolved-payments[data-v-4dad2bd3],.unresolved-list[data-v-4dad2bd3],.unresolved-payment[data-v-4dad2bd3]{gap:var(--space-4)}.unresolved-payment[data-v-4dad2bd3]{padding:var(--card-padding);background:var(--panel);border-radius:var(--radius-lg)}.unresolved-payment>header[data-v-4dad2bd3]{display:flex;justify-content:space-between;gap:var(--space-4)}.unresolved-payment>header div[data-v-4dad2bd3]{display:grid;gap:var(--space-1)}.unresolved-payment>header strong[data-v-4dad2bd3]{font-size:24px}.unresolved-payment>header span[data-v-4dad2bd3],.unresolved-payment dt[data-v-4dad2bd3],.unresolved-line-title span[data-v-4dad2bd3]{color:var(--muted)}.unresolved-payment>dl[data-v-4dad2bd3]{display:grid;grid-template-columns:auto 1fr;gap:6px var(--space-4);margin:0}.unresolved-payment dd[data-v-4dad2bd3]{margin:0}.unresolved-lines[data-v-4dad2bd3]{gap:18px}.unresolved-line[data-v-4dad2bd3]{gap:var(--space-3);padding:var(--space-4);background:var(--panel-soft);border-radius:var(--radius-md)}.unresolved-line-title[data-v-4dad2bd3]{display:flex;justify-content:space-between;gap:var(--space-3)}.create-student[data-v-4dad2bd3]{gap:var(--space-3);padding:var(--space-2) 0 0}.create-student__head[data-v-4dad2bd3]{display:flex;align-items:center;justify-content:space-between}.create-student__head button[data-v-4dad2bd3]{display:grid;place-items:center;width:36px;height:36px;color:var(--muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.create-student label[data-v-4dad2bd3]{display:grid;gap:var(--space-2);color:var(--muted);font-size:var(--font-size-sm)}.create-student input[data-v-4dad2bd3]{width:100%;min-height:var(--control-height-lg);padding:0 var(--space-4);color:var(--ink);background:#20203f;border:1px solid var(--line);border-radius:var(--radius-md)}.create-student input[data-v-4dad2bd3]:focus-visible,.create-student button[data-v-4dad2bd3]:focus-visible{outline:0;border-color:#59c4ff;box-shadow:0 0 18px #59c4ff47}.create-student .primary-button[data-v-4dad2bd3]{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.payer-found[data-v-4dad2bd3]{display:flex;align-items:center;gap:var(--space-2);margin:0;color:#73e2ba}.unresolved-actions[data-v-4dad2bd3]{display:flex;justify-content:flex-end;gap:var(--space-3)}.audience-warning[data-v-4dad2bd3]{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;color:#f2b86b;font-size:var(--font-size-sm);line-height:1.45}.audience-warning svg[data-v-4dad2bd3]{flex:none;margin-top:2px}.load-error[data-v-4dad2bd3]{display:grid;gap:var(--space-3);padding:var(--card-padding);background:var(--panel);border-radius:var(--radius-lg)}.load-error h2[data-v-4dad2bd3],.load-error p[data-v-4dad2bd3]{margin:0}.load-error p[data-v-4dad2bd3]{color:var(--muted)}.load-error button[data-v-4dad2bd3]{justify-self:start}@media(max-width:560px){.unresolved-payment>header[data-v-4dad2bd3],.unresolved-line-title[data-v-4dad2bd3]{display:grid}.unresolved-actions[data-v-4dad2bd3]{display:grid}.unresolved-actions button[data-v-4dad2bd3]{width:100%}.unresolved-line[data-v-4dad2bd3]{padding:var(--space-3)}}.attempt-student[data-v-0327e99a]{display:block}.attempt-student+.attempt-student[data-v-0327e99a]{margin-top:6px}.attempts[data-v-0327e99a]{display:grid;gap:12px}.load-error[data-v-0327e99a]{display:grid;gap:12px;padding:var(--card-padding);background:var(--panel);border-radius:var(--radius-lg)}.load-error h2[data-v-0327e99a],.load-error p[data-v-0327e99a]{margin:0}.load-error p[data-v-0327e99a]{color:var(--muted)}.load-error button[data-v-0327e99a]{justify-self:start}.attempts details[data-v-0327e99a]{padding:16px 18px;background:var(--panel);border-radius:var(--radius-lg)}.attempts summary[data-v-0327e99a]{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.attempts summary>span[data-v-0327e99a]{display:flex;align-items:center;gap:8px}.attempts summary>span[data-v-0327e99a]:first-child{display:grid;gap:3px}.attempts summary small[data-v-0327e99a],.attempts dt[data-v-0327e99a],.attempts time[data-v-0327e99a],.attempts li small[data-v-0327e99a]{color:var(--muted)}.attempts dl[data-v-0327e99a]{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:20px 0}.attempts dd[data-v-0327e99a]{margin:0;overflow-wrap:anywhere}.attempts ol[data-v-0327e99a]{display:grid;gap:14px;margin:0;padding-left:22px}.attempts li[data-v-0327e99a]{padding-left:6px}.attempts li span[data-v-0327e99a],.attempts li small[data-v-0327e99a]{display:block}.attempts time[data-v-0327e99a]{font-size:13px}@media(max-width:560px){.attempts summary[data-v-0327e99a]{align-items:flex-start}.attempts summary>span[data-v-0327e99a]:last-child{justify-content:flex-end;text-align:right}.attempts dl[data-v-0327e99a]{grid-template-columns:1fr;gap:3px}.attempts dd[data-v-0327e99a]{margin-bottom:8px}}.new-student-page[data-v-bda6eeef]{display:grid;gap:18px;max-width:720px;padding-bottom:72px}.new-student-form[data-v-bda6eeef]{display:grid;gap:15px}.new-student-form>label[data-v-bda6eeef]{display:grid;gap:7px;color:#d7d9e4;font-size:13px}.new-student-form input[data-v-bda6eeef]{width:100%;min-height:46px;padding:0 14px;color:var(--ink);background:#ffffff0e;border:1px solid var(--line);border-radius:12px}.new-student-kind[data-v-bda6eeef]{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#ffffff0b;border-radius:14px}.new-student-kind button[data-v-bda6eeef],.new-student-payment-methods button[data-v-bda6eeef]{min-height:44px;color:#bfc4d2;background:#ffffff0b;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:700}.new-student-kind button[data-v-bda6eeef]:hover,.new-student-payment-methods button[data-v-bda6eeef]:hover{color:#fff;background:#ffffff13}.new-student-kind button.selected[data-v-bda6eeef],.new-student-payment-methods button.selected[data-v-bda6eeef]{color:#fff;background:#39bff421;border-color:#59c4ff61}.new-student-payment-methods[data-v-bda6eeef]{min-width:0;margin:0;padding:0;border:0;overflow:hidden}.new-student-payment-methods legend[data-v-bda6eeef]{margin-bottom:7px;color:#d7d9e4;font-size:13px}.new-student-payment-methods>div[data-v-bda6eeef]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.new-student-payment-methods button[data-v-bda6eeef]{min-width:0;padding-inline:4px;white-space:nowrap}.payment-methods-enter-active[data-v-bda6eeef],.payment-methods-leave-active[data-v-bda6eeef]{transition:max-height .2s ease,opacity .15s ease,transform .2s ease}.payment-methods-enter-from[data-v-bda6eeef],.payment-methods-leave-to[data-v-bda6eeef]{max-height:0;opacity:0;transform:translateY(-4px)}.payment-methods-enter-to[data-v-bda6eeef],.payment-methods-leave-from[data-v-bda6eeef]{max-height:74px;opacity:1;transform:translateY(0)}.new-student-submit[data-v-bda6eeef]{width:100%;margin-top:2px}.new-student-result[data-v-bda6eeef]{display:grid;gap:18px;padding:20px;border:1px solid rgba(89,196,255,.2);border-radius:14px;background:linear-gradient(135deg,#39bff421,#9b6ddb1a)}.new-student-result--pending[data-v-bda6eeef]{min-height:calc(100svh - 190px);grid-template-columns:minmax(0,650px);align-content:center;justify-content:center;border-color:#f2b86b38;background:linear-gradient(135deg,#f2b86b21,#9b6ddb14)}.new-student-result-title[data-v-bda6eeef]{display:flex;align-items:center;gap:12px}.new-student-result-title>span[data-v-bda6eeef]{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:12px;background:#39bff424;color:#8cddfb}.new-student-result h2[data-v-bda6eeef],.new-student-result p[data-v-bda6eeef]{margin:0}.new-student-result p[data-v-bda6eeef]{color:#c9d1d5;line-height:1.5}.new-student-result dl[data-v-bda6eeef]{display:grid;gap:12px;margin:0}.new-student-result dl>div[data-v-bda6eeef]{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.new-student-result dt[data-v-bda6eeef]{color:var(--muted)}.new-student-result dd[data-v-bda6eeef]{margin:0;text-align:right;font-weight:700}.new-student-actions[data-v-bda6eeef]{display:flex;gap:10px;flex-wrap:wrap}.new-student-actions .primary-button[data-v-bda6eeef]{flex:1}.new-student-payment-link[data-v-bda6eeef]{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;color:#fff;text-decoration:none}.new-student-pending-note[data-v-bda6eeef]{font-size:13px}.form-error[data-v-bda6eeef]{margin:0;color:#ffadb5;font-size:13px}.new-student-page[data-v-bda6eeef] :is(button,input,a):focus-visible{outline:0;border-color:#59c4ff;box-shadow:0 0 16px #59c4ff33}@media(min-width:900px){.new-student-result--pending[data-v-bda6eeef]{min-height:calc(100vh - 122px)}}@media(max-width:899px){.new-student-page[data-v-bda6eeef]{max-width:none;padding-bottom:24px}.new-student-actions[data-v-bda6eeef]{display:grid}.new-student-actions .primary-button[data-v-bda6eeef],.new-student-actions .secondary-button[data-v-bda6eeef],.new-student-payment-link[data-v-bda6eeef]{width:100%}.new-student-result[data-v-bda6eeef]{padding:18px}}@media(max-width:340px){.new-student-header[data-v-bda6eeef] .app-page-header__brand{display:none}}@media(prefers-reduced-motion:reduce){.payment-methods-enter-active[data-v-bda6eeef],.payment-methods-leave-active[data-v-bda6eeef]{transition:none}}.public-payment-shell[data-v-5e4e1c20]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;width:min(100% - 64px,1080px);margin:auto;padding:40px 0 28px;color:#f7f5ff}.public-payment-brand[data-v-5e4e1c20]{--brand-h:72px;display:flex}.public-payment-layout[data-v-5e4e1c20]{display:grid;grid-template-columns:420px 590px;gap:70px;align-items:start;flex:1;padding:48px 0}.public-payment-product[data-v-5e4e1c20]{position:sticky;top:40px;display:grid;gap:16px}.public-payment-product h1[data-v-5e4e1c20]{margin:0;font-size:44px;line-height:1.12;letter-spacing:-.035em}.public-payment-product p[data-v-5e4e1c20]{margin:0;color:#b4b0c8;font-size:17px;line-height:1.5}.public-payment-product strong[data-v-5e4e1c20]{color:#f2b86b;font-size:38px;line-height:1.1;font-variant-numeric:tabular-nums}.public-payment-form[data-v-5e4e1c20]{display:grid;gap:12px}.public-payment-form label[data-v-5e4e1c20]{display:grid;gap:12px;font-size:15px;font-weight:700}.public-payment-form input[data-v-5e4e1c20]{box-sizing:border-box;width:100%;height:56px;padding:0 16px;color:#f7f5ff;background:#19172f;border:1px solid #32304d;border-radius:14px;font-size:17px}.public-payment-form input[data-v-5e4e1c20]::placeholder{color:#858198}.public-payment-form input[data-v-5e4e1c20]:hover{background:#211e3a}.public-payment-form input[data-v-5e4e1c20]:focus-visible{outline:0;border-color:#31b7e7;box-shadow:0 0 0 5px #31b7e726}.public-payment-form label+label[data-v-5e4e1c20]{margin-top:12px}.public-payment-hint[data-v-5e4e1c20]{margin-top:-6px;color:#858198;font-size:13px;font-weight:400;line-height:1.4}.public-payment-students[data-v-5e4e1c20]{display:grid;gap:18px;margin-top:12px}.public-payment-student[data-v-5e4e1c20]{position:relative;display:grid;gap:10px;padding:18px;background:#111027;border-radius:18px}.public-payment-remove[data-v-5e4e1c20]{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;color:#b4b0c8;background:transparent;border:0;border-radius:10px;cursor:pointer}.public-payment-remove[data-v-5e4e1c20]:hover{color:#fff;background:#211e3a}.public-payment-student label[data-v-5e4e1c20]{padding-right:42px}.public-payment-line[data-v-5e4e1c20]{display:grid;grid-template-columns:1fr auto auto;gap:12px;margin:0}.public-payment-line div[data-v-5e4e1c20]{display:grid;gap:3px}.public-payment-line dt[data-v-5e4e1c20]{color:#858198;font-size:12px}.public-payment-line dd[data-v-5e4e1c20]{margin:0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.public-payment-line div[data-v-5e4e1c20]:not(:first-child){text-align:right}.public-payment-line div[data-v-5e4e1c20]:last-child{grid-column:3}.public-payment-form .public-payment-discount[data-v-5e4e1c20]{grid-template-columns:22px 1fr;align-items:center;gap:12px;margin:2px 0 6px;padding:16px 18px;background:#111027;border-radius:16px;cursor:pointer}.public-payment-form .public-payment-discount input[data-v-5e4e1c20]{width:22px;height:22px;padding:0;accent-color:#8a64ee;cursor:pointer}.public-payment-discount span[data-v-5e4e1c20]{line-height:1.35}.public-payment-add[data-v-5e4e1c20]{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;color:#d9d5ee;background:transparent;border:1px solid #45425f;border-radius:14px;font:inherit;font-weight:700;cursor:pointer}.public-payment-add[data-v-5e4e1c20]:hover{background:#19172f}.public-payment-add[data-v-5e4e1c20]:focus-visible,.public-payment-remove[data-v-5e4e1c20]:focus-visible{outline:0;border-color:#31b7e7;box-shadow:0 0 0 5px #31b7e726}.public-payment-limit[data-v-5e4e1c20]{margin:0;color:#b4b0c8;font-size:14px}.public-payment-error[data-v-5e4e1c20]{margin:-4px 2px 0;color:#ff91a3;font-size:14px;line-height:1.4}.public-payment-button[data-v-5e4e1c20]{min-height:56px;margin-top:12px;padding:0 22px;color:#fff;background:linear-gradient(135deg,#8a64ee,#31b7e7);border:0;border-radius:14px;font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 16px 32px #2a80c638}.public-payment-button[data-v-5e4e1c20]:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.public-payment-button[data-v-5e4e1c20]:active:not(:disabled){transform:translateY(1px)}.public-payment-button[data-v-5e4e1c20]:disabled{opacity:.48;cursor:not-allowed}.public-payment-button[data-v-5e4e1c20]:focus-visible,.public-payment-footer a[data-v-5e4e1c20]:focus-visible{outline:0;box-shadow:0 0 0 5px #31b7e72b}.public-payment-status[data-v-5e4e1c20]{align-self:center;display:grid;justify-items:center;gap:16px;width:min(100%,560px);margin:auto;padding:40px;text-align:center;background:#111027;border-radius:24px}.public-payment-status h1[data-v-5e4e1c20],.public-payment-status p[data-v-5e4e1c20]{margin:0}.public-payment-status h1[data-v-5e4e1c20]{font-size:32px}.public-payment-status p[data-v-5e4e1c20]{color:#b4b0c8;font-size:17px}.public-payment-status--pending[data-v-5e4e1c20]{color:#f2b86b}.public-payment-status--success[data-v-5e4e1c20]{color:#5ad6aa}.public-payment-status--canceled[data-v-5e4e1c20]{color:#ff718b}.public-payment-status--closed[data-v-5e4e1c20]{color:#b4b0c8}.public-payment-footer[data-v-5e4e1c20]{display:grid;grid-template-columns:1.4fr auto auto;align-items:end;gap:24px;padding-top:24px;color:#89869e;font-size:13px;line-height:1.55}.public-payment-footer div[data-v-5e4e1c20],.public-payment-footer nav[data-v-5e4e1c20]{display:flex;flex-wrap:wrap;gap:6px 14px}.public-payment-footer a[data-v-5e4e1c20]{color:#b4b0c8;text-decoration:none;border-radius:4px}.public-payment-footer>span[data-v-5e4e1c20]{text-align:right}@media(max-width:900px){.public-payment-shell[data-v-5e4e1c20]{width:min(100% - 48px,620px);padding-top:28px}.public-payment-layout[data-v-5e4e1c20]{grid-template-columns:1fr;gap:40px;padding:44px 0}.public-payment-product[data-v-5e4e1c20]{position:static}.public-payment-product h1[data-v-5e4e1c20]{font-size:32px}.public-payment-footer[data-v-5e4e1c20]{grid-template-columns:1fr}.public-payment-footer>span[data-v-5e4e1c20]{text-align:left}}@media(max-width:480px){.public-payment-shell[data-v-5e4e1c20]{width:calc(100% - 40px);padding:28px 0 22px}.public-payment-brand[data-v-5e4e1c20]{--brand-h:56px}.public-payment-layout[data-v-5e4e1c20]{gap:32px;padding:36px 0}.public-payment-product h1[data-v-5e4e1c20]{font-size:28px}.public-payment-product strong[data-v-5e4e1c20]{font-size:34px}.public-payment-student[data-v-5e4e1c20]{padding:16px}.public-payment-line[data-v-5e4e1c20]{grid-template-columns:1fr 1fr}.public-payment-line div[data-v-5e4e1c20]:last-child{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:8px;border-top:1px solid #2c2943;text-align:left}.public-payment-status[data-v-5e4e1c20]{padding:28px 20px}.public-payment-status h1[data-v-5e4e1c20]{font-size:28px}.public-payment-footer[data-v-5e4e1c20]{margin-top:28px}}.public-payment-status--incomplete[data-v-5e4e1c20]{color:#f2b86b}@font-face{font-family:Clear Sans;src:url(/fonts/ClearSans-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Clear Sans;src:url(/fonts/ClearSans-Medium.otf) format("opentype");font-weight:500;font-display:swap}@font-face{font-family:Clear Sans;src:url(/fonts/ClearSans-Bold.otf) format("opentype");font-weight:700;font-display:swap}:root{font-family:Clear Sans,system-ui,sans-serif;color:#f7f7fb;background:#09091f;font-synthesis:none;--ink: #f7f7fb;--muted: #a9adc0;--panel: rgba(22, 22, 50, .76);--panel-solid: #161632;--line: rgba(255, 255, 255, .1);--purple: #9b6ddb;--blue: #39bff4;--focus: rgba(89, 196, 255, .3);--danger: #ff8d98;--danger-fill: #b3283a;--safe-top: 0px;--ambient-glow: radial-gradient(ellipse 70% 55% at -10% -10%, rgba(99,50,173,.26), transparent 72%), radial-gradient(ellipse 70% 60% at 110% 110%, rgba(0,127,197,.23), transparent 70%);--density: 1;--space-1: calc(.25rem * var(--density));--space-2: calc(.5rem * var(--density));--space-3: calc(.75rem * var(--density));--space-4: calc(1rem * var(--density));--space-5: calc(1.25rem * var(--density));--space-6: calc(1.5rem * var(--density));--space-8: calc(2rem * var(--density));--space-10: calc(2.5rem * var(--density));--space-12: calc(3rem * var(--density));--space-16: calc(4rem * var(--density));--font-size-2xs: .625rem;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-md: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2.15rem;--font-size-4xl: 2.75rem;--line-height-tight: 1.08;--line-height-normal: 1.45;--weight-regular: 400;--weight-medium: 520;--weight-semibold: 650;--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.125rem;--radius-pill: 999px;--line-thin: 1px;--line-medium: 2px;--control-height: 2.25rem;--control-height-lg: 2.75rem;--shadow-card: 0 .45rem 1.15rem rgb(0 0 0 / 22%);--shadow-primary: 0 .75rem 1.5rem rgb(21 109 175 / 22%);--shadow-focus: 0 0 0 .2rem var(--focus);--shadow-overlay: 0 1.5rem 4rem rgb(0 0 0 / 48%);--motion-fast: .16s;--motion-normal: .24s;--motion-ease: cubic-bezier(.22, 1, .36, 1);--page-gutter: var(--space-6);--page-section-gap: var(--space-6);--card-padding: var(--space-5)}@media(display-mode:standalone){:root{--safe-top: env(safe-area-inset-top, 0px)}}*{box-sizing:border-box}html:has(.modal-backdrop),html:has(.bottom-sheet.active),body:has(.modal-backdrop),body:has(.bottom-sheet.active){overflow:hidden}html{min-width:320px;min-height:100%;background:#09091f;overscroll-behavior-y:none}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--ambient-glow),#09091f;background-attachment:fixed;overscroll-behavior-y:none}.booking-page{min-height:100dvh;padding:32px 16px 64px;color:var(--ink);background:var(--ambient-glow),#09091f;background-attachment:fixed}.booking-shell{width:min(100%,680px);margin:0 auto}.booking-brand{display:flex;justify-content:center;margin-bottom:28px}.booking-brand .brand-lockup{--brand-h:88px}.booking-flow,.booking-result{display:grid;gap:20px}.booking-flow h1,.booking-result h1{margin:0;font-size:clamp(28px,5vw,42px);line-height:1.05}.booking-flow>p,.booking-result>p{margin:-10px 0 2px;color:var(--muted)}.booking-fieldset,.booking-form fieldset{display:grid;gap:10px;padding:0;margin:0;border:0}.booking-fieldset legend,.booking-form legend{padding:0 0 10px;font-weight:700}.booking-summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-radius:14px;background:var(--panel)}.booking-summary button{border:0;color:#b787ff;background:transparent;font:600 14px var(--font);cursor:pointer}.booking-option{min-height:54px;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 16px;border:1px solid transparent;border-radius:14px;color:var(--ink);background:var(--panel);font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.booking-option strong{font-weight:400}.booking-option:hover:not(:disabled){background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%)}.booking-option:active:not(:disabled){transform:translateY(1px)}.booking-option:focus-visible,.booking-summary button:focus-visible,.booking-form input:focus-visible,.booking-cancel:focus-visible{outline:0;border-color:#59c4ff;box-shadow:var(--shadow-focus)}.booking-option.is-selected{border-color:var(--accent);color:#c69cff;background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)}.booking-option:disabled{opacity:.46}.booking-group{position:relative;overflow:hidden;display:grid;gap:5px;padding:18px 20px 18px 26px;border-radius:var(--radius-lg);background:var(--panel)}.booking-group:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(#a879ff,#6a43ca)}.booking-group h2,.booking-group p{margin:0}.booking-group p{color:var(--muted)}.booking-lesson{display:grid;grid-template-columns:1fr auto;justify-items:start;text-align:left}.booking-lesson>span{display:flex;align-items:center;gap:7px}.booking-lesson small{grid-column:1/-1;color:#a879ff}.booking-form{display:grid;gap:22px}.booking-form label{display:grid;gap:7px;font-weight:600}.booking-form input{min-height:52px;padding:0 15px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--panel);font:inherit}.booking-form input::placeholder{color:var(--muted)}.booking-main-action{width:100%;display:flex;align-items:center;justify-content:center;text-decoration:none}.booking-empty{display:grid;gap:8px;padding:20px;border-radius:var(--radius-lg);background:var(--panel)}.booking-empty span{color:var(--muted)}.booking-error{margin:0;padding:12px 14px;border-radius:12px;color:#ffb7b7;background:#ff6b6b1f}.booking-status{text-align:center;color:var(--muted)}.booking-result__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#c69cff;background:var(--panel)}.booking-facts{display:grid;gap:0;margin:0;padding:0 20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel)}.booking-facts>div{display:grid;gap:5px;padding:15px 0;border-bottom:1px solid var(--line)}.booking-facts>div:last-child{border-bottom:0}.booking-facts dt{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.booking-facts dd{margin:0;font-weight:700}.booking-cancel{min-height:48px;border:0;color:#b787ff;background:transparent;font:600 15px var(--font);cursor:pointer}@media(min-width:760px){.booking-page{padding-top:48px}.booking-fieldset:has(.booking-lesson){grid-template-columns:repeat(2,minmax(0,1fr))}.booking-fieldset:has(.booking-lesson) legend{grid-column:1/-1}}.booking-date-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:none}.booking-date-strip::-webkit-scrollbar{display:none}.booking-date-strip .booking-lesson{flex:0 0 min(80vw,260px);scroll-snap-align:start}.booking-dates{min-width:0}@media(min-width:760px){.booking-date-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.booking-date-strip .booking-lesson{min-width:0}}@media(max-width:700px){.booking-brand .brand-lockup{--brand-h:66px}}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}:where(a,button,input,textarea,select,[role=combobox],[role=option],[role=tab]){outline:none}:where(a,button,input,textarea,select,[role=combobox],[role=option],[role=tab]):focus-visible{border-color:#59c4ff!important;box-shadow:var(--shadow-focus)!important}.auth-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(var(--space-8),5vw,var(--space-12));padding:var(--space-8) var(--page-gutter);padding-top:calc(var(--space-8) + var(--safe-top));padding-bottom:env(safe-area-inset-bottom)}.brand-panel{display:flex;justify-content:center}.auth-brand .brand-lockup{--brand-h: 88px}.auth-panel{width:100%;display:flex;justify-content:center}.auth-form,.loading-state{width:min(100%,430px)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form header{position:relative;margin-bottom:var(--space-5)}.auth-form h2{margin:0;font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));line-height:var(--line-height-tight);letter-spacing:-.035em}.auth-form header p{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.auth-form input{height:var(--control-height-lg)}.auth-form>button[type=submit]{height:var(--control-height-lg)}.auth-form .code-input{text-align:center;font-size:27px;font-weight:700;letter-spacing:.42em;padding-left:calc(var(--space-4) + .42em)}.text-button,.back-button,.ghost-button,.close-button{color:#b9bfd0;background:transparent;border:0;cursor:pointer}.text-button{align-self:center;min-height:40px;padding:var(--space-2) var(--space-3)}.back-button{position:absolute;right:calc(100% + 10px);top:1px;width:44px;height:44px;border-radius:12px;font-size:22px}.back-button:hover,.close-button:hover{background:#ffffff12;color:#fff}.loading-state{display:grid;justify-items:center;gap:var(--space-3);color:var(--muted)}.spinner,.button-spinner{border:2px solid rgba(255,255,255,.18);border-top-color:#71ceff;border-radius:50%;animation:spin .75s linear infinite}.spinner{width:34px;height:34px}.button-spinner{width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}input{width:100%;min-height:var(--control-height-lg);padding:0 var(--space-4);color:var(--ink);background:#ffffff0e;border:var(--line-thin) solid rgba(255,255,255,.12);border-radius:var(--radius-md);transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}input::placeholder{color:#74798c}input:hover{background:#ffffff13}input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 5px #ff506526}input[type=search]{-webkit-appearance:none;appearance:none}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}textarea{width:100%;min-height:68px;padding:var(--space-3) var(--space-4);color:var(--ink);background:#ffffff0e;border:var(--line-thin) solid rgba(255,255,255,.12);border-radius:var(--radius-md);font:inherit;resize:vertical;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}textarea::placeholder{color:#74798c}textarea:hover{background:#ffffff13}.form-error,.page-error{color:#ff9da6;font-size:14px;line-height:1.4}.form-error{margin:-4px 2px 0}.primary-button,.secondary-button,.ghost-button,.icon-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);transition:transform var(--motion-fast) var(--motion-ease),filter var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease)}.primary-button{min-height:var(--control-height-lg);padding:0 var(--space-5);color:#fff;background:linear-gradient(135deg,#7f53c6,#167dc3 58%,#2eabdf);border:0;box-shadow:var(--shadow-primary)}.section-action{min-height:42px;padding-inline:var(--space-4);box-shadow:none;white-space:nowrap}.primary-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled,button:disabled{opacity:.48;cursor:not-allowed}.secondary-button,.ghost-button,.icon-button{min-height:var(--control-height);padding:0 var(--space-4);color:#dce1ee;background:#ffffff0b;border:var(--line-thin) solid var(--line)}.secondary-button:hover,.ghost-button:hover,.icon-button:hover{background:#ffffff14;border-color:#ffffff38}.wide{width:100%;margin-top:var(--space-1)}.danger-button{min-height:var(--control-height);padding:0 var(--space-4);color:#fff;background:var(--danger-fill);border:0}.danger-button:hover:not(:disabled){filter:brightness(1.15)}.plan-row-shell{border-radius:var(--radius-lg);background:var(--panel);overflow:hidden}.plan-row-shell .plan-row{border-radius:0;background:transparent}.plan-row-shell .plan-row:disabled{opacity:1;cursor:default}.nav-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:5px;border-radius:999px;color:#111027;background:#f2b86b;font-size:12px;font-weight:800}.danger-zone{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-top:var(--space-4);margin-top:var(--space-1);border-top:1px solid var(--line)}@media(max-width:560px){.danger-zone{flex-direction:column;align-items:stretch}.danger-zone button{width:100%}}.workspace,.teacher-shell{min-height:100vh}.brand-lockup{--brand-aspect: 3.107;--brand-w: calc(var(--brand-h) * var(--brand-aspect));display:block;width:var(--brand-w);height:var(--brand-h)}.brand-lockup img{display:block;width:100%;height:100%}.page-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}.page-topbar h1{margin:0;font-size:clamp(38px,5vw,62px);line-height:1;letter-spacing:-.05em}.page-topbar__titles{min-width:0}.page-topbar__count{margin:var(--space-1) 0 0;color:var(--muted);font-size:14px}.page-topbar__add{flex:none}.page-topbar__brand{display:block;flex:none;color:#fff;margin-left:auto}.page-topbar .brand-lockup{--brand-h: 32px}@media(min-width:900px){.page-topbar h1{font-size:26px}.page-topbar .brand-lockup{--brand-h: 28px}.page-topbar__brand{display:none}}@media(max-width:480px){.page-topbar--crowded{row-gap:var(--space-3)}.page-topbar--crowded .page-topbar__titles{flex:1 1 100%}}.page-heading--action-only{justify-content:flex-end}.account-menu{position:relative}.panel-surface{box-sizing:border-box;padding:var(--space-6)}.account-menu__list{position:absolute;z-index:90;top:calc(100% + 10px);right:0;box-sizing:border-box;width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 24px - var(--safe-top) - max(24px,env(safe-area-inset-bottom)));display:grid;gap:var(--space-2);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#202044;border:1px solid rgba(133,207,255,.28);border-radius:16px;box-shadow:0 24px 60px #00000085,0 0 28px #59c4ff1a}.account-menu__list.panel-surface{padding:var(--space-6)}.account-menu__name{display:grid;gap:4px;min-width:0;padding:var(--space-1) var(--space-2) var(--space-3);color:var(--ink);font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__name small{color:var(--muted);font-size:12px;font-weight:600}.account-menu__godmode{min-width:0;padding:var(--space-3) var(--space-2) var(--space-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:2px}.account-menu__mode-label{margin:0 var(--space-1) var(--space-2);color:#eaf8ff;font-size:13px;font-weight:700}.account-menu__godmode .app-select-list{position:static;max-height:min(240px,34dvh);margin-top:var(--space-2);box-shadow:none;border-color:#ffffff1f}.account-menu__godmode .search-select-panel{position:static;margin-top:var(--space-2);box-shadow:none;border-color:#ffffff1f}.account-menu__godmode .search-select-list{max-height:min(260px,34dvh)}.account-menu__danger{width:100%;min-height:44px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);color:#ffb0b7;background:transparent;border:0;border-radius:10px;text-align:left;font-weight:700;font-size:14px;cursor:pointer}.account-menu__danger:hover{background:#ff6b6b1f}.account-menu__item{width:100%;min-width:0;min-height:44px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);color:var(--ink);background:transparent;border:0;border-radius:10px;text-align:left;font-weight:700;font-size:14px;cursor:pointer}.account-menu__item:hover{background:#ffffff0f}.account-menu__list--up{top:auto;bottom:calc(100% + 10px)}.account-menu__list--right{left:0;right:auto}@media(max-width:480px){.account-menu__list{width:min(320px,calc(100vw - 32px))}.nav-profile-trigger .account-menu__list{position:fixed;left:16px;right:16px;width:auto;bottom:calc(74px + env(safe-area-inset-bottom))}}.nav-account__trigger{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-5);color:var(--ink);background:transparent;border:0;cursor:pointer;text-align:left}.nav-account__trigger:hover{background:#ffffff0d}.nav-account__trigger .avatar{flex:none}.nav-account__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:14px}.director-home{gap:var(--space-6)}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.dashboard-card{min-height:150px;display:grid;align-content:space-between;gap:var(--space-3);padding:var(--space-4);color:var(--ink);text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:18px;cursor:pointer}.dashboard-card:hover{border-color:#59c4ff73;transform:translateY(-1px)}.dashboard-card span,.dashboard-card small{color:var(--muted)}.dashboard-card b{font-size:34px;line-height:1}.dashboard-card--retention{grid-column:1/-1;min-height:104px;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center}.dashboard-card--retention span,.dashboard-card--retention small{grid-column:1}.dashboard-card--retention b{grid-column:2;grid-row:1/3;align-self:center}.dashboard-queue{display:grid;gap:var(--space-2)}.dashboard-queue__heading{justify-content:flex-start;flex-wrap:wrap;gap:var(--space-2)}.dashboard-queue__heading h2{margin:0}.dashboard-queue__count{min-width:24px;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-2);color:var(--ink);background:#59c4ff24;border:var(--line-thin) solid rgba(89,196,255,.24);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--weight-semibold);line-height:1}.dashboard-action{width:100%;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--ink);text-align:left;background:#ffffff09;border:1px solid var(--line);border-radius:14px;cursor:pointer}.dashboard-action>span:first-child{display:grid;gap:3px}.dashboard-action small{color:var(--muted)}.dashboard-skeleton{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.dashboard-skeleton span{min-height:150px;border-radius:18px;background:linear-gradient(100deg,#ffffff0a 20%,#ffffff1c,#ffffff0a 70%);background-size:220% 100%;animation:skeleton-slide 1.4s ease-in-out infinite}@keyframes skeleton-slide{to{background-position:-120% 0}}.person-history{display:grid;gap:var(--space-2);padding:var(--space-3) 0}.person-history article{display:grid;grid-template-columns:100px 1fr;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.person-history time{color:var(--muted);font-size:13px}.person-history article span{display:grid;gap:3px}.person-history small{color:var(--muted)}@media(max-width:899px){.teacher-app.bottom-nav-host .nav-item--desktop-only{display:none}.content--with-bottom-nav{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.dashboard-grid,.dashboard-skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.dashboard-grid,.dashboard-skeleton{grid-template-columns:1fr}.dashboard-card{min-height:126px}.toast{left:12px;right:12px}.filters:has(>:nth-child(4)){grid-template-columns:1fr}}.tabs{display:flex;gap:var(--space-1);width:min(1180px,calc(100% - (2 * var(--page-gutter))));margin:var(--page-gutter) auto 0;overflow-x:auto}.tabs button{min-height:var(--control-height);padding:0 var(--space-4);color:#aeb4c7;background:transparent;border:var(--line-thin) solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);white-space:nowrap}.tabs button:hover{color:#fff;background:#ffffff0a}.tabs button.active{color:#fff;background:#59c4ff1a;border-color:#59c4ff38}.content{width:min(1180px,calc(100% - (2 * var(--page-gutter))));margin:0 auto;padding:var(--page-gutter) 0 calc(var(--space-16) + env(safe-area-inset-bottom))}.preview-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);color:#eaf8ff;background:#0c7fd42e;border:1px solid rgba(89,196,255,.34);border-radius:16px;box-shadow:0 0 24px #59c4ff14}.preview-mode-bar>div{min-width:0;display:grid;gap:3px}.preview-mode-bar strong{font-size:15px}.preview-mode-bar span{color:#b9cce0;font-size:13px;line-height:1.4}.preview-mode-bar button{flex:none;min-height:42px;padding:0 var(--space-3);color:#fff;background:#59c4ff21;border:1px solid rgba(89,196,255,.38);border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.preview-mode-bar button:hover{background:#59c4ff38}.preview-mode-bar--teacher{margin:var(--space-4) var(--space-4) 0}@media(min-width:900px){.content--with-bottom-nav{width:auto;max-width:1180px;margin-left:calc(220px + var(--space-8));margin-right:var(--space-8);padding-top:var(--space-8)}.preview-mode-bar--teacher{margin:var(--space-8) var(--space-8) 0 calc(220px + var(--space-8))}}.directory-page{display:grid;gap:var(--page-section-gap)}.directory-page:has(>.payment-page--embedded){gap:var(--space-3)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--page-section-gap)}.page-heading h1{margin:0;font-size:clamp(var(--font-size-3xl),5vw,3.875rem);line-height:var(--line-height-tight);letter-spacing:-.05em}.page-heading p{margin:var(--space-2) 0 0;color:var(--muted);line-height:var(--line-height-normal)}.people-sticky-head{display:contents}.filters{display:grid;grid-template-columns:minmax(260px,1fr) 210px 230px;gap:var(--space-3)}.filters:has(>:nth-child(4)){grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.toast{position:fixed;z-index:50;right:24px;top:calc(20px + var(--safe-top));display:flex;align-items:center;gap:var(--space-3);margin:0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);color:#dffbf5;background:#173f3d;border:1px solid rgba(107,233,204,.22);border-radius:12px;box-shadow:0 18px 50px #00000047}.toast button{width:36px;height:36px;display:grid;place-items:center;padding:0;color:inherit;background:transparent;border:0;border-radius:10px;cursor:pointer}.toast button:hover{background:#ffffff14}.people-list{display:grid;gap:var(--space-2)}.people-tabs{display:flex;align-items:center;gap:var(--space-1);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.people-tabs::-webkit-scrollbar{display:none}.people-tabs button{min-height:var(--control-height);padding:0 var(--space-4);color:#aeb4c7;background:transparent;border:var(--line-thin) solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);font-size:var(--font-size-md)}.people-tabs button:hover{color:#fff;background:#ffffff0a}.people-tabs button.active{color:#fff;background:#59c4ff1a;border-color:#59c4ff38}.people-tabs button span{margin-left:var(--space-2);color:var(--muted);font-variant-numeric:tabular-nums}.people-tabs button.active span{color:#8ee8ff}.people-tabs-row{width:100%;max-width:820px;display:flex;align-items:center;gap:var(--space-2)}.people-tabs-row .people-tabs{min-width:0;flex:1 1 auto;overflow:hidden}.people-tabs-row__add{flex:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 var(--space-3);white-space:nowrap}.people-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:2px 2px var(--space-1);color:var(--muted);font-size:12px}.people-legend__item{display:inline-flex;align-items:center;gap:var(--space-2)}.people-legend__icon{display:inline-grid;place-items:center;width:16px;height:16px;font-size:11px}.filters--sticky{position:static;padding:var(--space-3) 0 var(--space-3);background:transparent}.people-search{position:relative;display:block;min-width:0}.people-search>svg{position:absolute;z-index:1;top:50%;left:var(--space-4);color:var(--muted);pointer-events:none;transform:translateY(-50%)}.people-search>input{width:100%;padding-left:46px}.people-journal-controls{display:grid;gap:var(--space-3);max-width:820px}.people-group-picker{z-index:30}.people-group-picker .search-select-trigger{min-height:48px}.people-group-picker .search-select-value{overflow:visible;white-space:normal;text-overflow:clip}.people-group-picker .search-select-panel{position:absolute;z-index:120;top:100%;right:0;left:0;max-height:244px;margin-top:var(--space-2)}.people-group-picker .search-select-scroll{scrollbar-width:thin;scrollbar-color:rgba(89,196,255,.55) rgba(255,255,255,.04)}.people-today-line{margin:-2px 0 0;color:#cbd0de;font-size:13px;line-height:1.45;text-wrap:pretty}.people-today-line:first-letter{color:var(--ink)}.directory-page--people .people-group-section{border:0}.directory-page--people .people-groups-view{display:block;max-width:820px}.directory-page--people .people-list{gap:9px}.directory-page--people .person-row--compact{min-height:66px;padding:10px 12px;background:#ffffff0e;border-color:transparent;border-radius:14px;box-shadow:none}.directory-page--people .person-row--compact:hover{background:#ffffff16}.people-filter-fields{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-3)}.people-filter-fields .search-select-trigger{gap:6px;padding-inline:10px;font-size:14px}.people-sticky-head+.people-scroll-wrap,.people-sticky-head+.people-groups-view,.people-sticky-head+.empty-state{margin-top:calc(-1 * var(--page-section-gap))}.people-view-switch{display:flex;align-items:center;justify-content:flex-end;margin:0 0 var(--space-2)}.people-view-switch__group{display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff08}.people-view-switch__btn{display:grid;place-items:center;width:30px;height:30px;padding:0;color:#aeb4c7;background:transparent;border:0;border-radius:8px;cursor:pointer}.people-view-switch__btn:hover{color:#fff;background:#ffffff0f}.people-view-switch__btn.active{color:#8ee8ff;background:#59c4ff29}.people-scroll-wrap,.people-scroll,.people-scroll-spacer{position:relative}.person-row--virtual{position:absolute;left:0;right:0}.alphabet-rail{position:fixed;z-index:45;right:4px;bottom:calc(var(--nav-height) + var(--safe-bottom) + 8px);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:var(--space-2) 2px;opacity:0;pointer-events:none;transition:opacity .3s ease}.alphabet-rail--visible{opacity:1;pointer-events:auto}.alphabet-rail__letter{padding:0 var(--space-1);color:var(--muted);font-size:10px;line-height:1.35;cursor:pointer;-webkit-user-select:none;user-select:none}.alphabet-rail__letter:hover,.alphabet-rail__letter:active{color:#fff}.alphabet-rail__letter--active{color:#8ee8ff;font-weight:700}.alphabet-sticky-letter{position:fixed;z-index:44;top:50%;right:34px;min-width:40px;padding:var(--space-2) var(--space-3);display:grid;place-items:center;color:#fff;font-size:20px;font-weight:700;background:#161632eb;border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 12px 30px #0006;pointer-events:none;transform:translateY(-50%);opacity:0;transition:opacity .3s ease}.alphabet-sticky-letter--visible{opacity:1}.people-groups-view{display:grid;gap:var(--space-1)}.people-group-section{border-bottom:1px solid var(--line)}.people-group-section:last-child{border-bottom:0}.people-group-section__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-1);color:var(--ink);background:transparent;border:0;border-radius:0;cursor:pointer;font-weight:700;font-size:15px;text-align:left}.people-group-section__head:hover{color:#fff}.people-group-section__title{display:inline-flex;align-items:center;gap:var(--space-2)}.people-group-section__title b{min-width:26px;height:24px;display:inline-grid;place-items:center;padding:0 var(--space-2);color:#8ee8ff;background:#59c4ff1c;border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums}.people-group-section__chevron{color:var(--muted);font-size:16px;transition:transform .16s ease}.people-group-section__chevron.open{transform:rotate(180deg)}.people-group-section .people-list{padding-bottom:var(--space-2)}.person-row{display:grid;grid-template-columns:auto minmax(190px,1.2fr) minmax(210px,.9fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--panel);border:var(--line-thin) solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-card)}.person-row.inactive{opacity:.56}.avatar{position:relative;width:46px;height:46px;display:grid;place-items:center;border:2px solid transparent;border-radius:14px;background:linear-gradient(135deg,#9b6ddb,#188dcc);font-size:19px;font-weight:700;flex-shrink:0}.avatar__role-badge{position:absolute;right:-4px;bottom:-4px;width:16px;height:16px;display:grid;place-items:center;color:#0b0b1f;font-size:9px;line-height:1;border:2px solid #09091f;border-radius:50%}.avatar__role-badge--teacher{background:#1dd1a1}.avatar--nav{width:24px;height:24px;font-size:9px;border-width:1px;border-radius:8px}.avatar--nav .avatar__role-badge{right:-3px;bottom:-3px;width:11px;height:11px;font-size:6px;border-width:1.5px}.person-main{min-width:0}.person-main h2{margin:0 0 2px;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-main p,.person-contact span{margin:0;color:var(--muted);font-size:13px}.person-sub{margin:0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-sub--payer{display:flex;align-items:center;gap:var(--space-1)}.person-sub--payer svg{flex:none}.person-sub--payer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.person-contact{display:grid;gap:3px;min-width:0}.person-contact span{overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:var(--space-2)}.icon-button{min-height:38px;padding:0 var(--space-3);font-size:13px}.icon-button.danger{color:#ffb0b7}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.group-week{display:grid;gap:var(--space-4)}.group-week__day{display:grid;gap:var(--space-2)}.group-week__day h2{margin:0;font-size:15px;line-height:1.3}.group-week__rows{display:grid;gap:var(--space-2)}.group-week__row{position:relative;overflow:hidden;display:grid;grid-template-columns:112px minmax(180px,1fr) minmax(160px,.7fr);align-items:center;gap:var(--space-4);width:100%;min-height:58px;padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 6px);color:var(--ink);text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .16s ease,background .16s ease}.group-week__row:hover{border-color:#59c4ff66;background:#1c1c3df0}.group-week__row:focus-visible{border-color:var(--blue);box-shadow:var(--shadow-focus);outline:0}.group-week__ribbon{position:absolute;inset:0 auto 0 0;width:6px}.group-week__row strong{font-size:14px}.group-week__row>span:not(.group-week__ribbon){min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:700;white-space:nowrap}.group-week__row small{min-width:0;overflow:hidden;color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap}.group-week__empty{margin:0;padding:var(--space-2) 0;color:var(--muted);font-size:13px}.group-roster-modal{width:min(760px,100%)}.group-roster-search--card{min-height:52px;margin-bottom:var(--space-2)}.group-roster-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.group-roster-heading h3{margin:0;font-size:18px}.group-card{position:relative;overflow:hidden;display:grid;gap:var(--space-2);padding:var(--card-padding);padding-left:calc(var(--card-padding) + var(--space-2));background:var(--panel);border:var(--line-thin) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.group-card--tappable{cursor:pointer;transition:border-color .16s ease,background .16s ease}.group-card--tappable:hover{border-color:#59c4ff40;background:#1c1c3de6}.group-card.inactive{opacity:.56}.group-card__ribbon{position:absolute;left:0;top:0;bottom:0;width:6px}.card-title{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4)}.card-title h2{margin:0;font-size:20px}.card-title>span{flex:none;color:#bdeaff;font-size:14px;font-weight:700;white-space:nowrap}.group-card__teacher{display:flex;align-items:center;gap:var(--space-2);margin:0;color:#dce1ee;font-size:14px}.group-card__teacher--empty{color:var(--muted);font-style:italic}.group-card__schedule{margin:0;color:var(--muted);font-size:13px}.group-detail-modal{width:min(1080px,100%)}.group-detail-tabs{display:flex;gap:var(--space-1);margin:-8px 0 var(--space-6);padding-bottom:2px;overflow-x:auto}.group-detail-tabs button{min-height:42px;padding:0 var(--space-3);color:var(--muted);background:transparent;border:0;border-radius:11px;white-space:nowrap;cursor:pointer}.group-detail-tabs button:hover{color:var(--ink);background:#ffffff0d}.group-detail-tabs button.active{color:#fff;background:#59c4ff21;box-shadow:inset 0 0 0 1px #59c4ff3d}.group-lessons-panel,.group-secondary-panel{display:grid;gap:var(--space-4)}.group-secondary-panel>h3,.history-heading h3{margin:0;font-size:18px}.group-secondary-panel>p{margin:0;color:var(--muted);line-height:1.55}.next-lesson-card{width:100%;display:grid;gap:var(--space-2);padding:var(--space-5);color:var(--ink);background:linear-gradient(135deg,#1f76ba47,#5f43a633);border:1px solid rgba(89,196,255,.27);border-radius:18px;text-align:left;cursor:pointer}.next-lesson-card span{color:#a9e3ff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.next-lesson-card strong{font-size:22px}.next-lesson-card small{color:#d1d7e6;font-size:13px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.lesson-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.lesson-filters label{display:grid;gap:var(--space-2);color:#c8cdda;font-size:13px;font-weight:500}.lesson-filters input{width:100%;min-height:50px;padding:0 var(--space-3)}.group-history-list{display:grid;gap:var(--space-1)}.group-history-row{width:100%;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(90px,auto);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-1);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer}.group-history-row:hover{background:#ffffff09}.group-history-row>span:first-child{display:grid;gap:var(--space-1)}.group-history-row small{color:var(--muted)}.group-history-row>b{text-align:right;font-size:13px}.lesson-status{min-height:1.6rem;padding:var(--space-1) var(--space-3);color:#dce1ee;background:#ffffff12;border-radius:var(--radius-pill);font-size:var(--font-size-sm)}.lesson-status--completed{color:#9de5ca;background:#44b78f1f}.lesson-status--cancelled{color:#ffb0b7;background:#da4a581f}.lesson-status--in_progress{color:#a9e3ff;background:#59c4ff1f}.group-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.group-stat-grid>div{display:grid;gap:var(--space-2);padding:var(--space-5);background:var(--panel);border:1px solid var(--line);border-radius:16px}.group-stat-grid span{color:var(--muted);font-size:13px}.group-stat-grid b{font-size:28px}.lesson-detail-backdrop{z-index:110}.lesson-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-6)}.lesson-facts>div{display:grid;gap:var(--space-2)}.lesson-facts dt{color:var(--muted);font-size:12px}.lesson-facts dd{margin:0;font-weight:700}.lesson-roster{display:grid}.lesson-roster>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-1);border-bottom:1px solid var(--line)}.lesson-roster b{font-size:13px}.lesson-roster--primary{margin-bottom:var(--space-5)}.attendance-heading{margin-top:0}.present-mark{color:#8ee0c2}.absent-mark{color:#ffb0b7}.lesson-attendance-actions{display:flex;gap:var(--space-2)}.lesson-attendance-actions button{min-width:72px;min-height:40px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.lesson-attendance-actions button.active:first-child{border-color:#4ecdc480;background:#4ecdc429;color:#9ef0ea}.lesson-attendance-actions button.active:last-child{border-color:#ff6b6b80;background:#ff6b6b24;color:#ffadad}.lesson-attendance-actions button:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}.lesson-attendance-actions button:disabled{opacity:.48;cursor:wait}.lesson-edit-actions{display:flex;gap:var(--space-3)}.disclosure-button{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-1);color:var(--ink);background:transparent;border:0;cursor:pointer;font-weight:700;font-size:14px;text-align:left}.disclosure-button:hover{color:#fff}.disclosure-button__icon{color:var(--muted);transition:transform .16s ease}.disclosure-button__icon--open{transform:rotate(180deg)}.plan-list{display:grid;gap:var(--space-2)}.plan-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:16px;cursor:pointer;text-align:left}.plan-row:hover{border-color:#59c4ff40;background:#1c1c3de6}.plan-row span{display:grid;gap:var(--space-1)}.plan-row small{color:var(--muted)}.plan-row b{color:#a9e3ff;font-size:19px}.plan-groups{display:grid;gap:var(--space-2)}.field-hint{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--font-size-sm)}.empty-state{padding:var(--space-6);text-align:center;border-radius:var(--radius-lg);background:#ffffff06}.empty-state h2{margin:0 0 var(--space-2);font-size:var(--font-size-xl)}.empty-state p{margin:0;color:var(--muted)}.empty-state button{margin-top:var(--space-4)}.role-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-3)}.role-panel{padding:var(--space-5);background:var(--panel);border:1px solid var(--line);border-radius:19px}.role-panel h2{margin:0 0 var(--space-4);font-size:22px}.role-workspace{display:grid;gap:var(--space-6)}.role-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.role-summary-grid section{display:grid;align-content:start;gap:var(--space-2);padding:var(--space-5);border-radius:19px;background:var(--panel)}.role-summary-grid span,.role-summary-grid small{color:var(--muted)}.role-summary-grid strong{font-size:clamp(23px,3vw,34px);font-variant-numeric:tabular-nums}.role-section{display:grid;gap:var(--space-4)}.role-section>h2,.role-section__head h2,.role-child-head h2{margin:0}.role-section__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.week-switch{display:flex;align-items:center;gap:var(--space-2)}.week-switch button{min-height:38px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:11px;color:var(--ink);background:transparent;cursor:pointer}.family-children{display:grid;gap:var(--space-2)}.family-children button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border:0;border-radius:16px;color:var(--ink);background:var(--panel);text-align:left;cursor:pointer}.family-children button>span:first-child{display:grid;gap:var(--space-1)}.family-children small{color:var(--muted)}.family-children b{color:#bfeaff;font-variant-numeric:tabular-nums}.role-child-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.role-child-head p{margin:var(--space-2) 0 0;color:var(--muted)}.role-child-head>strong{color:#bfeaff}.role-back{justify-self:start}.role-load-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-radius:16px;color:#ffb6bd;background:#ff69781a}.role-load-error p{margin:0}.lesson-list{display:grid;gap:var(--space-2)}.lesson-list article{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.lesson-list article:last-child{border-bottom:0}.lesson-list span{color:#dce1ee}.lesson-list small{color:var(--muted)}.compact-empty{min-height:88px;display:grid;place-items:center;padding:var(--space-4);color:var(--muted);border:1px dashed rgba(255,255,255,.13);border-radius:14px;text-align:center}.lead-list,.lead-follow-ups{display:grid;gap:var(--space-2)}.lead-follow-ups{margin-bottom:var(--space-6)}.lead-follow-ups h2,.lead-trials h3{margin:0 0 var(--space-2);font-size:18px}.lead-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-1);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer}.lead-row span{display:grid;gap:var(--space-1)}.lead-row small{color:var(--muted)}.lead-row b{color:#a9e3ff;font-size:13px}.lead-page{min-width:0;padding-bottom:104px}.lead-scope-tabs{margin-bottom:var(--space-4)}.lead-day-queue,.lead-funnel{min-width:0;max-width:100%;margin:0 0 var(--space-6)}.lead-funnel{overflow:hidden}.lead-day-queue h2,.lead-funnel h2{margin:0 0 var(--space-3);font-size:18px}.lead-day-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.lead-day-stats span{display:grid;gap:var(--space-1);padding:var(--space-3);border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,white 3%);color:var(--muted)}.lead-day-stats b{color:var(--ink);font-size:22px}.lead-funnel-table{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.lead-funnel-head,.lead-funnel-row{min-width:620px;display:grid;grid-template-columns:minmax(210px,2fr) repeat(4,minmax(76px,.6fr));gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-1)}.lead-funnel-head{color:var(--muted);font-size:12px}.lead-funnel-row{border-top:1px solid var(--line)}.lead-funnel-row span{display:grid;gap:3px}.lead-funnel-row small{color:var(--muted)}.existing-person-match{width:100%;padding:var(--space-3) var(--space-3);border:0;border-radius:12px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--ink);text-align:left;cursor:pointer}.lead-card-details{display:grid;gap:var(--space-2)}.lead-card-details p{margin:0}.lead-assignment-history{color:var(--muted)}.lead-assignment-history p{margin:var(--space-2) 0 0}@media(max-width:620px){.lead-day-stats{gap:var(--space-2)}.lead-day-stats span{padding:var(--space-3) var(--space-2);font-size:12px}.lead-day-stats b{font-size:20px}}.source-readonly{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0}.source-readonly span{color:var(--muted);font-size:13px}.source-readonly button{grid-column:1 / -1;justify-self:start}.lead-card-details{margin-bottom:var(--space-5);color:var(--muted)}.lead-trials{display:grid;gap:var(--space-2);margin-bottom:var(--space-5)}.lead-trials article{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.lead-trials article span{color:var(--muted)}.lead-schedule{margin-top:var(--space-4)}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:var(--space-5);background:#02020eb3;-webkit-backdrop-filter:blur(var(--space-2));backdrop-filter:blur(var(--space-2));overflow-y:auto}.modal{width:min(720px,100%);max-height:calc(100dvh - (2 * var(--space-5)));overflow-x:hidden;overflow-y:auto;background:#12122d;border:var(--line-thin) solid rgba(255,255,255,.13);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay)}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.modal>header h2{min-width:0;margin:0;font-size:var(--font-size-2xl);line-height:var(--line-height-tight);letter-spacing:-.03em;overflow-wrap:anywhere}.modal-title-group{min-width:0}.modal-subtitle{margin:var(--space-1) 0 0;color:var(--muted);font-size:13px}.close-button{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:12px;font-size:28px;line-height:1}.modal form{display:grid;gap:var(--space-4)}.modal select{width:100%;min-height:var(--control-height-lg);padding:0 var(--space-10) 0 var(--space-4);color:var(--ink);background:#ffffff0e;border:var(--line-thin) solid rgba(255,255,255,.14);border-radius:var(--radius-md);font:inherit}.modal label{display:grid;gap:var(--space-2);color:#c8cdda;font-size:13px;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-grid--align-end{align-items:end}.modal fieldset{min-width:0;margin:0;padding:0;border:0}.modal legend{padding:0;margin-bottom:var(--space-3);color:#c8cdda;font-size:14px;font-weight:700}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2)!important;min-height:34px;cursor:pointer}.check input{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-height:18px;flex:none;margin:0;padding:0;display:grid;place-items:center;background:#ffffff0e;border:1.5px solid rgba(255,255,255,.22);border-radius:6px;transition:background .16s ease,border-color .16s ease}.check input:hover{border-color:#ffffff61}.check input:checked{background:linear-gradient(135deg,#7f53c6,#167dc3 58%,#2eabdf);border-color:transparent}.check input:checked:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.check input:focus-visible{box-shadow:0 0 0 1px #59c4ffd6,0 0 14px #59c4ff7a!important}.schedule-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);color:#dce1ee;font-size:13px}.schedule-row button{min-height:32px;color:#ffb0b7;background:transparent;border:0;cursor:pointer}.schedule-builder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.schedule-builder input[type=text]{padding:0 var(--space-3)}.schedule-add-button{margin-top:var(--space-3)}.schedule-date{position:relative;min-width:0}.schedule-date-input{width:100%;min-height:50px;padding:0 var(--space-10) 0 var(--space-3);color:transparent}.schedule-date-input::-webkit-datetime-edit{color:transparent}.schedule-date-input::-webkit-calendar-picker-indicator{opacity:1;filter:invert(1) brightness(1.7);cursor:pointer}.schedule-date-display{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--space-10) 0 var(--space-3);color:var(--ink);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.schedule-date-display.is-placeholder{color:#74798c}.add-student-actions{display:flex;align-items:center;gap:var(--space-3)}.group-student-entry{display:grid;gap:var(--space-3)}.group-roster-heading{margin:0;font-size:14px;color:var(--muted)}.group-roster-search{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:12px}.group-roster-search:focus-within{border-color:var(--blue);box-shadow:var(--shadow-focus)}.group-roster-search input{width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important}.group-roster-search input:focus,.group-roster-search input:focus-visible{border:0!important;box-shadow:none!important;outline:none}.student-match-list{display:grid;gap:var(--space-2)}.student-match-list button{display:grid;gap:3px;width:100%;padding:var(--space-3) var(--space-3);color:var(--ink);text-align:left;background:#59c4ff12;border:1px solid rgba(89,196,255,.24);border-radius:12px;cursor:pointer}.student-match-list button:hover{background:#59c4ff21;border-color:#59c4ff7a}.student-match-list small,.student-entry-hint{color:var(--muted);font-size:12px}.student-entry-hint{margin:0;line-height:1.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.money-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}.money-period{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);margin:0}.money-period strong{min-width:180px;text-align:center}.money-tabs{margin:0}@media(max-width:700px){.money-toolbar{display:grid;justify-items:start}.money-period strong{min-width:150px}}.money-stats{display:flex;flex-wrap:wrap;gap:var(--space-2)}.money-stats>button{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;cursor:pointer}.money-stats>button[aria-pressed=true]{border-color:#59c4ff;background:#59c4ff1a}.money-stats span{color:var(--muted);font-size:12px}.money-stats b{font-size:15px;letter-spacing:-.01em}.money-debt-amount{color:var(--danger);font-weight:700}.money-paid-mark{color:#7fe0c4}.money-list{display:grid;gap:var(--space-2)}.money-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);background:var(--panel);border:1px solid var(--line);border-radius:16px}.money-row__main h2{margin:0 0 var(--space-1);font-size:16px}.money-row__main p{margin:0;color:var(--muted);font-size:13px}.money-row__amounts{display:grid;gap:3px;font-size:13px;color:#dce1ee;text-align:right}.money-modal{display:grid;gap:var(--space-1)}.money-section-title{margin:var(--space-5) 0 var(--space-3);font-size:15px;letter-spacing:-.01em}.money-section-title:first-of-type{margin-top:0}.text-muted-line{color:var(--muted);font-size:12px}.subscription-list,.payment-list{display:grid;gap:var(--space-2)}.subscription-row,.payment-row{display:grid;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--panel);border:1px solid var(--line);border-radius:14px}.subscription-row{grid-template-columns:1fr auto}.subscription-row__main{display:grid;gap:3px}.subscription-row__main span{color:var(--muted);font-size:13px}.subscription-row__money{display:grid;justify-items:end;gap:var(--space-2);font-size:13px}.subscription-row__actions{grid-column:1 / -1;display:flex;gap:var(--space-2)}.subscription-row--cancelled{opacity:.58}.subscription-row--cancelled .subscription-row__main strong{text-decoration:line-through}.debt-tag{min-height:1.6rem;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--danger);background:#ff8d9824}.debt-tag--paid{color:#7fe0c4;background:#7fe0c424}.payment-row{grid-template-columns:1fr auto;align-items:center}.payment-row__main{display:grid;gap:3px}.payment-row__main span{color:var(--muted);font-size:13px}.payment-row__actions{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.payment-row--cancelled{opacity:.58}.payment-row--cancelled .payment-row__main strong{text-decoration:line-through}@media(max-width:560px){.money-stats{gap:var(--space-2)}.money-stats>button{padding:var(--space-2) var(--space-3)}.money-row{grid-template-columns:1fr}.money-row__amounts{text-align:left}}.confirm-dialog-overlay{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:var(--space-5);background:#02020eb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-dialog{width:min(360px,100%);background:#12122d;border:1px solid rgba(255,255,255,.13);border-radius:20px;box-shadow:0 30px 90px #0000007a}.confirm-dialog>.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.confirm-dialog>.modal-header h2{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.02em}.confirm-dialog__title{margin:0 0 var(--space-2);font-size:19px;letter-spacing:-.02em}.confirm-dialog__message{margin:0 0 var(--space-5);color:var(--muted);font-size:14px;line-height:1.45}.confirm-dialog__actions{display:flex;gap:var(--space-3);justify-content:flex-end}.confirm-dialog__cancel{min-height:42px;padding:0 var(--space-4);color:#dce1ee;background:#ffffff0b;border:1px solid var(--line);border-radius:12px;font-weight:700;cursor:pointer}.confirm-dialog__cancel:hover{background:#ffffff14;border-color:#ffffff38}.confirm-dialog__confirm{min-height:42px;padding:0 var(--space-4);color:#fff;background:var(--danger-fill);border:0;border-radius:12px;font-weight:700;cursor:pointer}.confirm-dialog__confirm:hover:not(:disabled){filter:brightness(1.15)}.confirm-dialog__confirm:disabled{opacity:.6;cursor:not-allowed}.person-row--compact{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-3) var(--space-1);background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;cursor:pointer}.avatar--sm{width:38px;height:38px;font-size:15px;border-radius:12px}.person-row--compact.person-row--removable{grid-template-columns:auto 1fr auto}.directory-page--people .person-row--compact.person-row--quick-group{grid-template-columns:auto minmax(0,1fr) auto auto}.directory-page--people .person-row--quick-group .person-main h2{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.3}.member-row__remove{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;color:var(--muted);background:transparent;border:0;border-radius:10px;cursor:pointer}.member-row__remove:hover{color:#ffb0b7;background:#ff6b6b1f}.row-menu-backdrop{position:fixed;z-index:55;inset:0}@media(max-width:560px){.person-row--compact{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.directory-page--people{gap:var(--space-2)}.directory-page--people .people-page-header{min-height:60px;padding:12px 0 8px}.directory-page--people .people-journal-controls{gap:var(--space-2)}.directory-page--people .filters,.directory-page--people .filters:has(>:nth-child(4)){grid-template-columns:1fr}.directory-page--people .people-sticky-head+.people-scroll-wrap,.directory-page--people .people-sticky-head+.people-groups-view,.directory-page--people .people-sticky-head+.empty-state{margin-top:0}}@media(max-width:860px){.auth-shell{justify-content:flex-start;padding:calc(var(--space-6) + var(--safe-top)) var(--space-6) var(--space-16);gap:var(--space-12)}.auth-brand .brand-lockup{--brand-h: 66px}.back-button{position:static;margin:0 0 var(--space-4)}.topbar{padding:0 var(--space-5)}.content,.tabs{width:min(100% - 32px,720px)}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1 / -1}.person-row{grid-template-columns:auto 1fr auto}.person-contact{grid-column:2}.row-actions{grid-column:3;grid-row:1 / 3;flex-direction:column}.group-grid,.role-columns{grid-template-columns:1fr}.schedule-builder{grid-template-columns:1fr 1fr}}@media(max-width:560px){.auth-shell{gap:var(--space-12)}.topbar{min-height:calc(68px + var(--safe-top));display:grid;grid-template-columns:1fr auto;padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) var(--space-3)}.preview-strip{align-items:flex-start;padding:var(--space-3) var(--space-4)}.preview-strip>div{display:grid;gap:2px}.tabs{margin-top:var(--space-4)}.content{padding-top:0}.preview-mode-bar{align-items:stretch;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.preview-mode-bar button{width:100%}.page-heading{flex-wrap:wrap}.page-heading .section-action{margin-left:auto}.people-legend{display:none}.people-tabs{gap:var(--space-1)}.people-tabs button{min-width:0;min-height:44px;padding:0 4px;font-size:11.5px}.people-tabs-row{gap:4px}.people-tabs-row__add{min-height:44px;gap:4px;padding:0 7px;font-size:11.5px}.filters--sticky{top:0}.filters{grid-template-columns:1fr}.filters input{grid-column:auto}.directory-page--people .people-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.directory-page--people .people-filter-fields:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.filters:has(.people-view-switch){grid-template-columns:1fr}.filters:has(.people-view-switch) .people-view-switch{margin:0;justify-self:end}.person-row{grid-template-columns:auto 1fr auto;align-items:start}.person-contact{grid-column:2}.row-actions{grid-column:1 / -1;grid-row:auto;flex-direction:row}.row-actions button{flex:1}.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:0;align-items:start;background:#09091f;overscroll-behavior:contain}.modal{width:100%;height:100dvh;max-height:100dvh;padding:calc(var(--space-5) + var(--safe-top)) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));border:0;border-radius:0;overscroll-behavior:contain;scrollbar-gutter:stable}.modal>header{position:sticky;z-index:4;top:calc(-20px - var(--safe-top));padding:calc(var(--space-5) + var(--safe-top)) 0 var(--space-3);margin-bottom:var(--space-3);background:#12122d}.schedule-row{align-items:flex-start}.schedule-builder{grid-template-columns:1fr 1fr}.lesson-list article{grid-template-columns:1fr;gap:var(--space-1)}.group-detail-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 var(--space-4);padding:0;overflow:visible}.group-detail-tabs button{min-width:0;padding:0 var(--space-2)}.group-week{gap:var(--space-5)}.group-week__row{grid-template-columns:92px minmax(0,1fr);gap:4px var(--space-3);min-height:64px;padding:10px 12px 10px 18px}.group-week__row small{grid-column:2;text-align:left}.group-week__empty{padding:4px 0}.group-roster-heading{align-items:flex-start}.group-roster-heading .secondary-button{min-height:40px;padding:0 10px}.lesson-filters{grid-template-columns:1fr 1fr}.group-history-row{grid-template-columns:1fr auto;gap:var(--space-2) var(--space-3)}.group-history-row>b{grid-column:2}.lesson-status{grid-column:1;justify-self:start}.history-heading{align-items:flex-start}.dashboard-queue__heading{align-items:center;flex-wrap:nowrap}.dashboard-queue__heading h2{min-width:0;font-size:22px}.history-heading .secondary-button{min-height:42px;padding:0 var(--space-3)}.lesson-facts,.group-stat-grid{grid-template-columns:1fr}.lesson-edit-actions{flex-direction:column}.toast{right:16px;left:16px;top:78px;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:900px){.workspace:has(.bottom-nav) .topbar{display:none}.teacher-shell:has(.bottom-nav) .topbar .mini-brand{display:none}.teacher-shell:has(.bottom-nav) .topbar{justify-content:flex-end}.alphabet-rail,.alphabet-sticky-letter{display:none}.page-topbar__count{font-size:13px}.page-heading .primary-button{box-shadow:none}.directory-page--people .people-scroll-wrap,.directory-page--people .people-groups-view,.directory-page--people .people-list{max-width:1000px}.directory-page--people .filters{max-width:1000px;grid-template-columns:minmax(220px,1.2fr) minmax(430px,2fr) auto}.filters:has(.people-view-switch) .people-view-switch{justify-self:end;margin:0}.directory-page--people .people-sticky-head{display:grid;gap:var(--space-3);position:static;padding-top:0;background:var(--ambient-glow),#09091f;background-attachment:fixed}.directory-page--people .filters--sticky{position:static}.directory-page--people .people-journal-controls,.directory-page--people .people-groups-view,.directory-page--people .people-scroll-wrap,.directory-page--people .people-list{max-width:820px}}.money-tabs{margin-bottom:var(--space-4)}@media(max-width:560px){.money-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.money-tabs::-webkit-scrollbar{display:none}.money-tabs button{flex:0 0 auto;min-width:max-content;padding-inline:12px;font-size:13px}.payment-workspace-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.payment-workspace-tabs button{min-width:0;padding-inline:8px;font-size:12px}}.form-warning,.person-sub--warning{color:#f4bd67}.family-billing-modal{width:min(760px,calc(100vw - 32px))}.family-billing-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:end;padding:var(--space-4);border-radius:16px;background:color-mix(in srgb,var(--panel) 84%,transparent)}.people-group-section--recent{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.people-group-section__head--static{cursor:default}.family-billing-row>*{min-width:0}.family-billing-row input{min-width:0;max-width:100%}.family-billing-row+.family-billing-row{margin-top:var(--space-3)}.family-billing-row--excluded{grid-template-columns:1fr auto;opacity:.72}.family-billing-row__choice{grid-column:1 / -1;align-self:center}.family-billing-row .suggestion-button{grid-column:1 / -1}.family-billing-row__choice span{display:grid;gap:3px}.family-billing-row__choice small{color:var(--muted)}.family-billing-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-1) var(--space-2)}.family-billing-total strong{font-size:24px;font-variant-numeric:tabular-nums}@media(max-width:699px){.family-billing-row,.family-billing-row--excluded{grid-template-columns:1fr}.family-billing-row__choice,.family-billing-row .suggestion-button{grid-column:auto}.family-billing-actions{position:sticky;z-index:3;bottom:-1px;padding:0 0 1px;background:#12122d;box-shadow:0 -14px 24px #12122d}}.salary-roster{display:grid;gap:var(--space-3)}.salary-row{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(120px,160px) minmax(120px,160px) auto;gap:var(--space-3);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid color-mix(in srgb,var(--muted) 20%,transparent)}.salary-row__person{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:0;color:var(--ink);background:none;border:0;text-align:left;cursor:pointer}.salary-row__person>span:first-child{display:grid;gap:var(--space-1)}.salary-row__person small{color:var(--muted)}.salary-row dl{display:flex;gap:var(--space-4);margin:0}.salary-row dl div{display:grid;gap:3px}.salary-row dd{margin:0;font-weight:750}.salary-bonus{display:grid;gap:var(--space-2)}.salary-bonus input{min-width:0}.salary-fund{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) 0;font-size:20px}.group-readiness-filter{display:flex;justify-content:flex-start;margin:0 0 var(--space-2)}.group-readiness-filter .secondary-button{display:inline-flex;align-items:center;gap:var(--space-2)}.group-readiness-filter .secondary-button b{min-width:24px;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-2);color:var(--ink);background:#59c4ff24;border:var(--line-thin) solid rgba(89,196,255,.24);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--weight-semibold);line-height:1}.group-readiness-filter .secondary-button.active{border-color:#59c4ff;color:#bfeaff;background:#59c4ff1a}.group-setup-reasons{margin:var(--space-1) 0 0;color:#f4bd67;font-size:13px}.studio-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:var(--space-3);overflow-x:auto;padding:2px 2px var(--space-4)}.studio-day{min-width:150px;padding:var(--space-3);border-radius:18px;background:#ffffff0b}.studio-day--today{background:#59c4ff1a;box-shadow:inset 0 0 0 1px #59c4ff47}.studio-day>header{display:grid;gap:3px;margin-bottom:var(--space-3)}.studio-day>header strong{font-size:18px}.studio-day>header span{color:var(--muted);font-size:12px}.studio-lesson{width:100%;display:grid;gap:var(--space-1);margin:0 0 var(--space-2);padding:var(--space-3);border:0;border-radius:13px;background:#252545;color:var(--ink);text-align:left;cursor:pointer}.studio-lesson:focus-visible{outline:0;box-shadow:0 0 0 3px #59c4ff38;background:#2d3157}.studio-lesson small{color:var(--muted);line-height:1.35}.studio-lesson--next{background:linear-gradient(135deg,#1f76bab8,#4853ae9e);box-shadow:0 10px 24px #1f76ba38}.lesson-reopen-block{margin:var(--space-4) 0}.lesson-reopen-block form{display:grid;gap:var(--space-3)}.lesson-event-history{margin-top:var(--space-5)}.lesson-event-history p{margin:0;padding:var(--space-2) 0;color:var(--muted)}@media(max-width:899px){.studio-week-grid{grid-template-columns:1fr;overflow:visible}.studio-day{min-width:0}}@media(max-width:899px){.salary-row{grid-template-columns:1fr auto}.salary-row dl,.salary-bonus{grid-column:1 / -1}}.payment-state{display:inline-flex;align-items:center;width:max-content;padding:var(--space-1) var(--space-2);border-radius:999px;color:#b7bdca;background:#b7bdca1f;font-size:12px;font-weight:700;white-space:nowrap}.payment-state--paid{color:#7fe0c4;background:#7fe0c424}.payment-state--partial,.payment-state--unpaid{color:#ff9da6;background:#ff9da621}.payment-state--none{color:#f4bd67;background:#f4bd6721}.group-card__payment{margin:var(--space-2) 0 0;color:#bfeaff;font-size:13px}.debt-filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}.debt-filters button{min-height:36px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:999px;color:var(--muted);background:transparent;cursor:pointer}.debt-filters button.active{color:#fff;border-color:#59c4ff;background:#59c4ff1a}.money-breakdown{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:16px;background:#ffffff0b}.money-breakdown article{display:flex;justify-content:space-between;gap:var(--space-4)}.money-breakdown span{display:grid;gap:2px}.money-breakdown small{color:var(--muted)}.journal-filters{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:var(--space-3)}.journal-cancelled-toggle{display:flex;align-items:center;gap:var(--space-2);width:max-content;color:var(--muted);cursor:pointer}.journal-cancelled-toggle input{width:18px;height:18px;accent-color:var(--accent)}.money-journal{display:grid;gap:var(--space-2)}.money-journal article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-radius:16px;background:var(--panel)}.money-journal article>div{display:grid;gap:3px}.money-journal small{display:block;color:var(--muted)}.money-journal .payment-row--cancelled b{text-decoration:line-through}.salary-detail{grid-column:1 / -1;display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:14px;background:#ffffff0b}.salary-detail p{margin:0;color:var(--muted)}.salary-detail article{display:flex;justify-content:space-between;gap:var(--space-3)}.salary-detail article>span{display:grid;gap:2px}.salary-detail small{color:#f4bd67}.salary-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-radius:16px;color:#ffb6bd;background:#ff69781a}.salary-error p{margin:0}.money-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.money-skeleton span{min-height:88px;border-radius:16px;background:linear-gradient(100deg,#ffffff0d 20%,#ffffff1c,#ffffff0d 60%);background-size:220% 100%;animation:skeleton-shift 1.3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.money-skeleton span{animation:none}}@media(max-width:699px){.money-skeleton{grid-template-columns:1fr}}.suggestion-button{width:100%;padding:var(--space-2) var(--space-3);border:1px solid rgba(89,196,255,.26);border-radius:12px;color:#bfeaff;background:#59c4ff14;text-align:left;cursor:pointer}.payer-finance{display:grid;gap:var(--space-2)}.payer-finance article{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0}.payer-finance article>div{display:grid;gap:3px}.payer-finance small{color:var(--muted)}.family-child-card{display:grid;align-content:start;gap:var(--space-3)}.family-child-card>p{margin:0;color:var(--muted)}.family-attendance{color:#bfeaff}.family-records{display:grid;gap:var(--space-2)}.family-record{display:grid;gap:var(--space-1);padding:var(--space-3) 0}.family-record+.family-record{border-top:1px solid color-mix(in srgb,var(--muted) 18%,transparent)}.family-record span,.family-record small{color:var(--muted)}.family-record--refund strong{color:#f4bd67}.self-checkout{display:grid;gap:var(--space-4)}.self-checkout .role-section__head>strong{color:#bfeaff}.checkout-intro{margin:0;color:var(--muted);line-height:1.45}.checkout-candidates,.checkout-review-list{display:grid;gap:var(--space-3)}.checkout-candidates>button{width:100%;min-height:72px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);color:var(--ink);text-align:left;background:#ffffff09;border:1px solid var(--line);border-radius:14px;cursor:pointer}.checkout-candidates>button[aria-pressed=true]{border-color:#59c4ff9e;background:#39bff414}.checkout-candidates>button>span:nth-child(2),.checkout-review-list article>div{min-width:0;display:grid;gap:3px}.checkout-candidates small,.checkout-review-list span,.checkout-review-list small{color:var(--muted);overflow-wrap:anywhere}.checkout-candidates b{white-space:nowrap}.checkout-checkbox{width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:7px;color:#07101a;background:#ffffff0a}.checkout-candidates>button[aria-pressed=true] .checkout-checkbox{background:#59c4ff;border-color:#59c4ff}.checkout-continue{justify-self:end;min-width:210px}.checkout-review-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-3) 0}.checkout-review-list article+article{border-top:1px solid var(--line)}.checkout-review-list article>div:last-child{justify-items:end}.checkout-review-list article b{color:#bfeaff}.checkout-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--space-1);font-size:18px}.checkout-total strong{font-size:24px}.checkout-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3)}.checkout-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.checkout-result,.checkout-message{display:grid;gap:var(--space-2);padding:var(--space-4);border-radius:16px;background:#ffffff0a}.checkout-result h3,.checkout-result p,.checkout-message p{margin:0}.checkout-result--pending{background:#f4bd6717}.checkout-result--success{background:#7fe0c417}.checkout-result--canceled,.checkout-message{background:#ff8d9817}.checkout-message--changed{background:#f4bd6717}@media(max-width:699px){.journal-filters{grid-template-columns:1fr}.money-journal article{grid-template-columns:1fr auto}.money-journal .payment-state{grid-column:1 / -1}.money-period{justify-content:space-between}.money-period strong{min-width:0}}.retention-page{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.retention-incomplete{justify-self:start;margin:0;padding:var(--space-2) var(--space-3);border-radius:999px;color:#f4bd67;background:#f4bd671f;font-size:13px;font-weight:700}.retention-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.retention-metrics button{min-width:0;display:grid;gap:var(--space-2);padding:var(--space-4);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:16px;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.retention-metrics button:hover{transform:translateY(-1px);background:#ffffff13}.retention-metrics button[aria-pressed=true]{border-color:#59c4ff;background:#59c4ff1a}.retention-metrics span{color:var(--muted)}.retention-metrics b{font-size:clamp(28px,4vw,42px);line-height:1;font-variant-numeric:tabular-nums}.retention-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.retention-rates>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-4) 0}.retention-rates span{color:var(--muted)}.retention-rates strong{font-size:24px;font-variant-numeric:tabular-nums}.retention-rates small{grid-column:1 / -1;color:#cbd1df;line-height:1.45}.retention-history{margin:0;color:var(--muted);line-height:1.5}.retention-segment-list,.retention-person-detail,.retention-exclusions{display:grid;gap:var(--space-3)}.retention-segment-list>h2,.retention-person-detail h2,.retention-exclusions h2{margin:0 0 var(--space-1);font-size:20px}.retention-segment-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-1);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer}.retention-segment-list>button>span:first-child{min-width:0;display:grid;gap:var(--space-1)}.retention-segment-list small{color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.retention-person-detail{padding:var(--space-5);border-radius:18px;background:var(--panel)}.retention-person-detail p{margin:0;color:var(--muted)}.retention-person-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin:var(--space-2) 0 0}.retention-person-detail dl>div{display:grid;gap:var(--space-2)}.retention-person-detail dt{color:var(--muted);font-size:13px}.retention-person-detail dd{margin:0;line-height:1.45;overflow-wrap:anywhere}.retention-list-back{justify-self:start;align-self:start;margin:-8px 0 0 -10px}.retention-exclusions{margin-top:var(--space-2)}.retention-exclusions article{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.retention-exclusions article span{min-width:0;display:grid;gap:3px}.retention-exclusions small{color:#ffb6bd}@media(max-width:699px){.retention-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.retention-rates{grid-template-columns:1fr;gap:0}.retention-person-detail{padding:var(--space-4)}.retention-person-detail dl{grid-template-columns:1fr}.retention-exclusions article{align-items:flex-start;flex-direction:column}}@media(max-width:380px){.retention-metrics{grid-template-columns:1fr}}@media(max-width:699px){.role-summary-grid{grid-template-columns:1fr}.role-summary-grid section{padding:var(--space-4)}.role-section__head,.role-child-head,.role-load-error{align-items:stretch;flex-direction:column}.week-switch{width:100%}.week-switch button{flex:1}.family-children button{grid-template-columns:minmax(0,1fr) auto}.family-children button>span:last-child{display:none}.checkout-candidates>button{grid-template-columns:24px minmax(0,1fr)}.checkout-candidates>button>b{grid-column:2;justify-self:start}.checkout-review-list article{grid-template-columns:1fr}.checkout-review-list article>div:last-child{justify-items:start}.checkout-actions{display:grid;grid-template-columns:1fr}.checkout-actions>*,.checkout-continue{width:100%;min-height:48px}}.absence-notice-panel{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:20px;background:color-mix(in srgb,var(--panel) 88%,#7b4a60)}.absence-notice-active{display:flex;flex-direction:column;gap:var(--space-1);margin:0}.absence-notice-active span,.absence-notice-form>p{color:var(--muted, #6f6870);font-size:14px}.absence-notice-form{display:grid;gap:var(--space-3)}.absence-notice-form label{display:grid;gap:var(--space-2);font-weight:700}.absence-notice-form textarea{resize:vertical;min-height:84px}.absence-notice-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.absence-notice-mark{color:#7b4a60;background:#f7e8ef;border-radius:999px;padding:var(--space-1) var(--space-2);font-size:12px;font-weight:700}.dashboard-action--static{cursor:default}@media(max-width:520px){.absence-notice-panel{padding:var(--space-4);border-radius:18px}.absence-notice-actions{align-items:stretch;flex-direction:column-reverse}.absence-notice-actions button{width:100%}}.schedule-board{display:grid;gap:20px;max-width:1120px;margin:0 auto;width:100%}.schedule-board__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.schedule-board__head h1{margin:0;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.schedule-board__head p{margin:5px 0 0;color:var(--muted);text-transform:capitalize}.schedule-board__create{display:inline-flex;align-items:center;gap:8px}.date-strip-wrap{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;align-items:stretch}.date-strip{display:grid;grid-template-columns:repeat(9,minmax(58px,1fr));gap:8px;overflow:hidden}.date-strip-arrow,.date-pill{border:0;background:var(--surface);color:inherit;border-radius:18px;box-shadow:var(--shadow-soft);cursor:pointer}.date-strip-arrow{display:grid;place-items:center}.date-strip-arrow__next{transform:rotate(180deg)}.date-pill{position:relative;min-height:78px;padding:10px 6px;display:grid;place-items:center;align-content:center;gap:3px}.date-pill span{font-size:12px;color:var(--muted);text-transform:uppercase}.date-pill strong{font-size:22px}.date-pill i{position:absolute;right:7px;top:7px;min-width:18px;height:18px;border-radius:999px;background:var(--ink);color:var(--surface);font:700 10px/18px inherit;font-style:normal}.date-pill.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent)}.date-pill.active{background:var(--ink);color:var(--surface)}.date-pill.active span{color:color-mix(in srgb,var(--surface) 74%,transparent)}.date-pill.active i{background:var(--accent);color:var(--ink)}.schedule-board__today{justify-self:start}.schedule-day-list{display:grid;gap:12px}.schedule-card{background:var(--surface);border-radius:22px;box-shadow:var(--shadow-soft);overflow:hidden}.schedule-card__main{width:100%;border:0;background:transparent;color:inherit;padding:20px;display:grid;grid-template-columns:90px minmax(180px,1fr) auto auto;gap:18px;align-items:center;text-align:left;cursor:pointer}.schedule-card__main:disabled{cursor:default}.schedule-card__time,.schedule-card__people{display:flex;align-items:center;gap:7px}.schedule-card__body{display:grid;gap:4px}.schedule-card__body strong{font-size:18px}.schedule-card__body small,.schedule-card__people{color:var(--muted)}.schedule-card__status{justify-self:end;padding:7px 11px;border-radius:999px;background:var(--surface-muted);font-size:13px;font-weight:700}.schedule-card--mine{box-shadow:inset 4px 0 0 var(--accent),var(--shadow-soft)}.schedule-card--forming{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.schedule-card--forming .schedule-card__status{background:color-mix(in srgb,var(--accent) 24%,var(--surface));color:var(--ink)}.schedule-card--cancelled{opacity:.66}.schedule-card--foreign .schedule-card__main{opacity:.72}.schedule-card__enroll{margin:0 20px 16px auto;border:0;background:transparent;color:var(--accent-strong);font-weight:700;display:flex;align-items:center;gap:7px;cursor:pointer}.schedule-board__empty{margin-top:4px}.schedule-card__main:focus-visible,.schedule-card__enroll:focus-visible,.date-pill:focus-visible,.date-strip-arrow:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}@media(max-width:760px){.schedule-board{gap:16px}.schedule-board__head{align-items:center}.schedule-board__head h1{font-size:30px}.schedule-board__create{font-size:0;width:44px;height:44px;padding:0;justify-content:center;border-radius:14px}.schedule-board__create svg{width:20px;height:20px}.date-strip-wrap{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}.date-strip{display:flex;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.date-strip::-webkit-scrollbar{display:none}.date-pill{flex:0 0 58px;min-height:70px;border-radius:16px;scroll-snap-align:center}.schedule-card__main{grid-template-columns:64px 1fr auto;padding:17px 16px;gap:12px}.schedule-card__people{grid-column:2}.schedule-card__status{grid-column:3;grid-row:1 / span 2;max-width:95px;text-align:center}.schedule-card__body strong{font-size:16px}.schedule-card__enroll{margin:0 16px 14px auto}}.date-pill.active{background:linear-gradient(145deg,var(--purple),var(--blue));color:var(--ink)}.date-pill.active span{color:#ffffffc7}.date-pill.active i{background:var(--panel-solid);color:var(--ink)}.schedule-card{background:var(--panel);border:1px solid var(--line)}@media(max-width:760px){.schedule-card__main{grid-template-columns:64px 1fr;gap:10px 12px}.schedule-card__status{grid-column:2;grid-row:auto;justify-self:start;max-width:none}.schedule-card__people{grid-column:2}}.teacher-app .schedule-card__enroll{width:fit-content;margin:calc(-1 * var(--space-1)) var(--space-3) var(--space-2) auto;padding:var(--space-1) var(--space-2)}.teacher-app .schedule-card--foreign .schedule-card__main{opacity:.82}.schedule-swipe-viewport{position:relative;min-width:0;overflow:hidden;touch-action:pan-y;overscroll-behavior-x:contain}.schedule-swipe-track{display:flex;align-items:flex-start;width:300%;transform:translate3d(calc(-33.333333% + var(--schedule-drag-x, 0px)),0,0);will-change:transform}.schedule-swipe-track.is-animating{transition:transform .17s cubic-bezier(.22,1,.36,1)}.schedule-swipe-track.is-dragging{transition:none;-webkit-user-select:none;user-select:none}.schedule-swipe-page{flex:0 0 33.333333%;min-width:0;display:grid;gap:16px;padding-inline:1px}.schedule-swipe-page:not(.is-current){pointer-events:none}.date-strip-move{transition:transform .17s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.schedule-swipe-track,.schedule-swipe-track.is-animating,.date-strip-move{transition:none!important}}.schedule-board__head>*{min-width:0}.schedule-board__create{flex:none}.date-strip{min-width:0;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:50%;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;cursor:grab}.date-strip::-webkit-scrollbar{display:none}.date-strip.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-snap-type:none}.date-pill__month{color:inherit;font-size:10px;font-weight:var(--weight-medium);line-height:1.1;text-transform:capitalize;white-space:nowrap}.date-pill i{position:static;min-width:18px;background:var(--panel-solid);color:var(--ink)}.schedule-card{position:relative}.schedule-card__ribbon{position:absolute;inset:0 auto 0 0;width:6px}.schedule-card__main{padding-left:calc(20px + var(--space-2))}.schedule-card__hall{color:#c8cddd}.schedule-card__status{min-height:1.75rem;display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);color:#dce1ee;background:#ffffff12;border:var(--line-thin) solid transparent;border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--weight-semibold);line-height:1.2}.schedule-card__status--in_progress{color:#bdeaff;background:#59c4ff24;border-color:#59c4ff38}.schedule-card__status--completed{color:#9de5ca;background:#44b78f21;border-color:#44b78f33}.schedule-card__status--cancelled{color:#ffb0b7;background:#da4a5821;border-color:#da4a5833}.schedule-card__status--reopened{color:#ead7ff;background:#9b6ddb26;border-color:#9b6ddb38}.schedule-card__status--forming{color:#ffe0a8;background:#f2b86b21;border-color:#f2b86b38}.schedule-card__enroll{min-height:30px;margin:calc(-1 * var(--space-1)) var(--space-3) var(--space-2) auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:#ffffff0b;color:#bfeaff;font-size:var(--font-size-sm);font-weight:var(--weight-medium)}@media(max-width:760px){.schedule-board__create{width:auto;height:auto;padding-inline:var(--space-4);border-radius:var(--radius-md);font-size:14px}.schedule-card__main{padding:var(--space-3) var(--space-3) var(--space-2) var(--space-5)}}.date-month-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.date-month-nav button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:400;text-transform:capitalize;cursor:pointer}.date-month-nav button:first-child{justify-self:start;text-align:left}.date-month-nav button:last-child{justify-self:end;text-align:right}.date-month-nav button{padding:4px 6px;border-radius:8px}.date-month-nav span{font-size:14px;font-weight:400;text-transform:capitalize}.date-strip-arrow,.date-pill{background:transparent;box-shadow:none}.date-strip-arrow{border-radius:50%}.date-pill{flex:0 0 64px;justify-self:center;width:64px;height:64px;min-height:0;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;gap:0;scroll-snap-align:center}.date-pill span{font-size:11px;line-height:1}.date-pill strong{font-size:21px;line-height:1.05}.schedule-board__today{justify-self:start;min-height:36px;display:inline-flex;align-items:center;gap:var(--space-2);padding-inline:var(--space-3)}.schedule-date-actions{display:flex;align-items:end;gap:var(--space-3)}.schedule-date-jump{width:min(190px,100%);display:grid;gap:var(--space-1);color:var(--muted);font-size:12px}.schedule-date-jump input{width:100%;min-height:40px;padding:0 var(--space-3)}.date-pill.past{opacity:.42}.date-pill.today{color:var(--accent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 62%,transparent)}.date-pill.active{background:linear-gradient(145deg,var(--purple),var(--blue));color:var(--ink);opacity:1}.date-month-nav button:focus-visible,.date-strip-arrow:focus-visible,.date-pill:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}.schedule-card--completed,.schedule-card--cancelled{opacity:.54}.schedule-card--in_progress{background:color-mix(in srgb,var(--blue) 8%,var(--panel));border-color:color-mix(in srgb,var(--blue) 36%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 12%,transparent),var(--shadow-soft)}@media(max-width:760px){.schedule-board__head{gap:12px}.schedule-board__head h1{white-space:nowrap}.date-month-nav{gap:8px}.date-month-nav button{font-size:11px}.date-month-nav span{font-size:12px}.date-strip-wrap{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.date-strip{gap:4px}.date-pill{flex-basis:58px;width:58px;height:58px}.schedule-date-actions{align-items:stretch}.schedule-date-jump{flex:1}.schedule-board__today{flex:none;align-self:end}}.teacher-plan-list{display:grid;gap:var(--space-3)}.teacher-plan-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg)}.teacher-plan-card div{min-width:0;display:grid;gap:var(--space-1)}.teacher-plan-card small{color:var(--muted)}.teacher-plan-card b{flex:none;font-variant-numeric:tabular-nums}.student-kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:4px;background:#ffffff0e;border-radius:var(--radius-md)}.student-kind-switch button{min-height:42px;border:0;border-radius:calc(var(--radius-md) - 4px);background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.student-kind-switch button.active{background:linear-gradient(145deg,var(--purple),var(--blue));color:#fff;box-shadow:var(--shadow-soft)}.student-kind-switch button:focus-visible,.student-group-options button:focus-visible,.quick-group-results button:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}.student-groups-field{display:grid;gap:var(--space-2)}.student-group-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.student-group-options button{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--ink);text-align:left;background:#ffffff0b;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.student-group-options button span{color:var(--muted);font-size:12px}.student-group-options button.active{background:#59c4ff1f;border-color:#59c4ff61}.student-group-options button.active span{color:#bdeaff}.people-group-composition{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}.people-group-composition button{display:inline-flex;align-items:center;gap:var(--space-2)}.quick-group-picker{display:grid;gap:var(--space-3);padding:var(--space-4);background:#ffffff0b;border-radius:var(--radius-lg)}.quick-group-picker .history-heading{margin:0}.quick-group-picker .history-heading h2{margin:0;font-size:18px}.quick-group-results{display:grid;gap:var(--space-2);max-height:320px;overflow:auto}.quick-group-results button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:46px;padding:var(--space-2) var(--space-3);color:var(--ink);background:#ffffff0e;border:1px solid transparent;border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer}.quick-group-results button:hover{background:#59c4ff1a;border-color:#59c4ff47}.quick-group-results button:disabled{opacity:.55;cursor:wait}@media(max-width:520px){.student-group-options{grid-template-columns:1fr}.people-group-composition{align-items:stretch;flex-direction:column}.people-group-composition button{justify-content:center;width:100%}.directory-page--people .person-row--compact.person-row--quick-group{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.directory-page--people .person-row--quick-group .payment-state{grid-column:2;width:max-content}.directory-page--people .person-row--quick-group .member-row__remove{grid-column:3;grid-row:1 / span 2;align-self:center}.quick-group-picker{padding:var(--space-3)}}@media(min-width:900px){.schedule-board{max-width:none}.schedule-card__main{grid-template-columns:90px minmax(180px,1fr) auto minmax(118px,auto)}}.teacher-app{--density: 1;--space-1: calc(.25rem * var(--density));--space-2: calc(.5rem * var(--density));--space-3: calc(.75rem * var(--density));--space-4: calc(1rem * var(--density));--space-5: calc(1.25rem * var(--density));--space-6: calc(1.5rem * var(--density));--space-8: calc(2rem * var(--density));--space-10: calc(2.5rem * var(--density));--space-12: calc(3rem * var(--density));--space-16: calc(4rem * var(--density));--bg: #09091f;--panel: #12122a;--panel-light: #1a1a36;--panel-border: rgba(255, 255, 255, .06);--panel-glow: rgba(255, 255, 255, .03);--prime: #0c7fd4;--prime-gradient: linear-gradient(135deg, #0756ad 0%, #0d8adb 48%, #39bff4 100%);--prime-text: #f8fbff;--prime-muted: rgba(235, 247, 255, .78);--text: #ecf0f8;--muted: #9aa3b2;--dim: #5c6370;--accent: #9b6ddb;--accent-2: #6ea8fe;--accent-glow: rgba(155, 109, 219, .25);--success: #4ecdc4;--danger: #ff6b6b;--warning: #f39c12;--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius: 1.125rem;--radius-pill: 999px;--line-thin: 1px;--control-height: 2.25rem;--control-height-lg: 2.75rem;--shadow: 0 .45rem 1.15rem rgba(0, 0, 0, .32);--shadow-focus: 0 0 0 .2rem rgba(89, 196, 255, .3);--motion-fast: .16s;--motion-normal: .24s;--motion-ease: cubic-bezier(.22, 1, .36, 1);--nav-height: 62px;--safe-bottom: env(safe-area-inset-bottom, 0px);--sidebar-width: 220px;--font: "Clear Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2.15rem}.teacher-app *,.teacher-app *:before,.teacher-app *:after{box-sizing:border-box;margin:0;padding:0}.teacher-app{height:100%;-webkit-text-size-adjust:100%}.teacher-app{min-height:100%;background:radial-gradient(ellipse 800px 600px at 20% 0%,rgba(155,109,219,.08),transparent 70%),radial-gradient(ellipse 600px 500px at 80% 5%,rgba(110,168,254,.06),transparent 70%),var(--bg);background-repeat:no-repeat;background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.teacher-app a{color:var(--accent-2);text-decoration:none}.teacher-app a:hover{color:var(--accent)}.teacher-app img{max-width:100%;display:block}.teacher-app h1,.teacher-app h2,.teacher-app h3,.teacher-app h4{font-family:var(--font);font-weight:700;line-height:1.2;color:var(--text)}.teacher-app h1{font-size:var(--text-3xl);letter-spacing:-.01em}.teacher-app h2{font-size:var(--text-2xl)}.teacher-app h3{font-size:var(--text-lg);font-weight:600}.teacher-app h4{font-size:var(--text-base);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.teacher-app p{margin-bottom:var(--space-2)}.teacher-app .cancel-reason-input{margin:var(--space-3) 0}.teacher-app small,.teacher-app .text-sm{font-size:var(--text-sm)}.teacher-app .text-xs{font-size:var(--text-xs)}.teacher-app .text-lg{font-size:var(--text-lg)}.teacher-app .page{position:relative;min-height:100vh;max-width:480px;margin:0 auto;padding:0 var(--space-4);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-4))}.teacher-app .page--center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:var(--space-8)}.teacher-app .page--center .page-header{text-align:center;justify-content:center;padding:var(--space-16) 0 var(--space-4)}.teacher-app .page--center .page-content{width:100%;max-width:400px}.teacher-app .page-header{padding:calc(var(--space-4) + var(--safe-top, 0px)) 0 var(--space-3);display:flex;align-items:center;gap:var(--space-3)}.teacher-app .page-header h1{flex:1}.teacher-app .page-header__brand{display:block;flex:none;color:#fff}.teacher-app .page-header__brand .brand-lockup{--brand-h: 26px}@media(min-width:900px){.teacher-app .page-header__brand{display:none}}.teacher-app .page-header__date{margin:2px 0 0;color:var(--muted);font-size:var(--text-sm)}@media(max-width:480px){.teacher-app .page-header--crowded{flex-wrap:wrap}.teacher-app .page-header--crowded .page-header__titles{flex:1 1 100%}}.teacher-app .page-header .back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--panel-border);color:var(--muted);font-size:var(--text-lg);cursor:pointer;transition:color var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}.teacher-app .page-header .back-btn:hover{color:var(--text);background:#ffffff0f}.teacher-app .icon-button--labeled{gap:var(--space-2);padding:0 var(--space-3)}.teacher-app .page-content{padding-bottom:var(--space-2)}@media(min-width:600px){.teacher-app .page{max-width:640px}}@media(min-width:900px){.teacher-app .page{max-width:960px}.teacher-app .page:has(.bottom-nav){margin-left:calc(var(--sidebar-width) + var(--space-8));margin-right:var(--space-8);padding-bottom:var(--space-4)}.teacher-app .page-header{padding-top:calc(var(--space-8) + var(--safe-top, 0px))}.teacher-app .page--center{margin-left:0;margin-right:0;max-width:100%}.teacher-shell .topbar,.teacher-shell .preview-strip{margin-left:var(--sidebar-width)}}.teacher-app .bento{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:600px){.teacher-app .bento{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.teacher-app .bento{grid-template-columns:repeat(3,1fr)}}.teacher-app .bento-card{background:var(--panel-glow);border:1px solid var(--panel-border);border-radius:var(--radius);padding:var(--space-5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}.teacher-app .bento-card:hover{border-color:#ffffff1a}.teacher-app .bento-card h3{margin-bottom:var(--space-2)}.teacher-app .bento-card p{color:var(--muted);font-size:var(--text-sm);line-height:1.45}.teacher-app .bento-card--wide{grid-column:span 1}@media(min-width:600px){.teacher-app .bento-card--wide{grid-column:span 2}}.teacher-app .bento-card--highlight{border-color:#9b6ddb4d;box-shadow:var(--shadow),0 0 20px var(--accent-glow)}.teacher-app .bento-card--highlight:hover{border-color:#9b6ddb73}.teacher-app .bento-card--solid{background:var(--panel);border-color:#ffffff14;backdrop-filter:none;-webkit-backdrop-filter:none}.teacher-app .bento-card--light{background:var(--panel-light);border-color:#ffffff14;backdrop-filter:none;-webkit-backdrop-filter:none}.teacher-app .prime-card,.teacher-app .bento-card--prime{background:var(--prime-gradient)!important;border:1px solid rgba(119,214,255,.42)!important;color:var(--prime-text)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 18px 42px #00000057,inset 0 1px #ffffff3d!important}.teacher-app .prime-card h1,.teacher-app .prime-card h2,.teacher-app .prime-card h3,.teacher-app .prime-card h4,.teacher-app .prime-card strong,.teacher-app .prime-card .lesson-card__group,.teacher-app .prime-card .lesson-card__time,.teacher-app .prime-card .payment-summary__amount,.teacher-app .prime-card .plan-price,.teacher-app .prime-card .plan-title,.teacher-app .prime-card .today-card__title,.teacher-app .bento-card--prime h1,.teacher-app .bento-card--prime h2,.teacher-app .bento-card--prime h3,.teacher-app .bento-card--prime h4,.teacher-app .bento-card--prime strong,.teacher-app .bento-card--prime .calc-row__value,.teacher-app .bento-card--prime .calc-total__label,.teacher-app .bento-card--prime .calc-total__value,.teacher-app .bento-card--prime .metric-value,.teacher-app .bento-card--prime .revenue-value{color:var(--prime-text)!important}.teacher-app .prime-card p,.teacher-app .prime-card .lesson-card__meta,.teacher-app .prime-card .lesson-card__students,.teacher-app .prime-card .payment-summary__label,.teacher-app .prime-card .plan-meta,.teacher-app .prime-card .today-card__meta,.teacher-app .bento-card--prime p,.teacher-app .bento-card--prime .calc-row__label,.teacher-app .bento-card--prime .metric-label,.teacher-app .bento-card--prime .metric-value__meta,.teacher-app .prime-card .text-muted,.teacher-app .bento-card--prime .text-muted,.teacher-app .bento-card--prime .lesson-card__meta,.teacher-app .bento-card--prime .lesson-card__students{color:var(--prime-muted)!important}.teacher-app .prime-card [style*="color: var(--text)"],.teacher-app .prime-card [style*="color:var(--text)"],.teacher-app .bento-card--prime [style*="color: var(--text)"],.teacher-app .bento-card--prime [style*="color:var(--text)"]{color:var(--prime-text)!important}.teacher-app .prime-card [style*="color: var(--muted)"],.teacher-app .prime-card [style*="color:var(--muted)"],.teacher-app .bento-card--prime [style*="color: var(--muted)"],.teacher-app .bento-card--prime [style*="color:var(--muted)"],.teacher-app .summary-card.prime-card span{color:var(--prime-muted)!important}.teacher-app .prime-card .badge:not(.badge--success):not(.badge--danger):not(.badge--warning):not(.badge--accent),.teacher-app .bento-card--prime .badge:not(.badge--success):not(.badge--danger):not(.badge--warning):not(.badge--accent){background:#ffffff2e!important;color:var(--prime-text)!important}.teacher-app .prime-card .text-success,.teacher-app .bento-card--prime .text-success{color:#b8fff3!important}.teacher-app .prime-card .text-danger,.teacher-app .bento-card--prime .text-danger{color:#ffe3e8!important}.teacher-app .prime-card .text-warning,.teacher-app .bento-card--prime .text-warning{color:#ffefb3!important}.teacher-app .prime-card .badge--success,.teacher-app .bento-card--prime .badge--success{background:#25ffda33!important;color:#eafffb!important}.teacher-app .prime-card .badge--danger,.teacher-app .bento-card--prime .badge--danger{background:#ff677e47!important;color:#fff4f6!important}.teacher-app .prime-card .badge--warning,.teacher-app .bento-card--prime .badge--warning{background:#ffd24f47!important;color:#fff5c8!important}.teacher-app .prime-card .badge--accent,.teacher-app .bento-card--prime .badge--accent{background:#fff3!important;color:#fff!important}.teacher-app .bento-card--tint-success{background:#4ecdc412;border-color:#4ecdc42e}.teacher-app .bento-card--tint-danger{background:#ff6b6b12;border-color:#ff6b6b2e}.teacher-app .bento-card--tint-warning{background:#f39c1212;border-color:#f39c122e}.teacher-app .bento-card--tint-accent{background:#9b6ddb12;border-color:#9b6ddb2e}.teacher-app .bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#12122ad9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--panel-border);display:flex;align-items:center;justify-content:space-around;z-index:100}.teacher-app .nav-brand,.teacher-app .nav-account{display:none}.teacher-app .nav-profile-trigger{position:relative}.teacher-app .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:72px;min-height:48px;padding:var(--space-2) var(--space-3);color:var(--muted);background:transparent;border:1px solid transparent;border-radius:14px;text-decoration:none;font:inherit;cursor:pointer;transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.teacher-app .more-navigation{position:relative}.teacher-app .more-navigation__sheet{position:fixed;z-index:110;left:12px;right:12px;bottom:calc(var(--nav-height) + var(--safe-bottom) + 12px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding:var(--space-3);background:#202044;border:1px solid rgba(133,207,255,.28);border-radius:18px;box-shadow:0 24px 60px #00000085,0 0 28px #59c4ff1a}.teacher-app .more-navigation__sheet button{min-height:68px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);color:var(--muted);background:transparent;border:1px solid transparent;border-radius:13px;font:inherit;text-align:left;cursor:pointer}.teacher-app .more-navigation__sheet button:hover,.teacher-app .more-navigation__sheet button:focus-visible{color:var(--text);background:#ffffff0f;outline:0;border-color:#59c4ff3d;box-shadow:0 0 0 4px #31b7e71f}.teacher-app .more-navigation__sheet button.active{color:#f8fcff;background:#59c4ff24;border-color:#59c4ff47}.teacher-app .nav-item:hover{color:var(--text)}.teacher-app .nav-item.active{color:#f8fcff;background:linear-gradient(145deg,#fff3,#39bff429),#ffffff14;border-color:#ffffff3d;border-radius:15px;box-shadow:0 8px 18px #00000038,inset 0 1px #ffffff47;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.teacher-app .nav-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px}.teacher-app .nav-icon svg{width:22px;height:22px}.teacher-app .nav-label{font-size:var(--text-xs);font-weight:500;line-height:1}.teacher-app .nav-label--desktop{display:none}@media(min-width:900px){.teacher-app .bottom-nav{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100vh;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;border-top:none;border-right:1px solid var(--panel-border);gap:2px}.teacher-app .nav-brand{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-5) var(--space-5) var(--space-4) var(--space-6);border-bottom:1px solid var(--panel-border);margin-bottom:var(--space-2);text-decoration:none}.teacher-app .nav-brand .brand-lockup{--brand-h: 47px}.teacher-app .nav-item{width:auto;min-height:0;flex-direction:row;justify-content:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:0}.teacher-app .nav-item.active{border-right:none;border-radius:14px;margin:0 var(--space-3);padding:var(--space-3) var(--space-4)}.teacher-app .nav-label{font-size:var(--text-base)}.teacher-app .nav-label--mobile{display:none}.teacher-app .nav-label--desktop{display:inline}.teacher-app .nav-account{display:flex;margin-top:auto;padding:var(--space-2) var(--space-3) calc(var(--space-3) + var(--safe-bottom));border-top:1px solid var(--panel-border)}.teacher-app .nav-profile-trigger,.teacher-app .more-navigation{display:none}}@media(max-width:899px){.teacher-app .bottom-nav>.nav-item,.teacher-app .bottom-nav>.nav-profile-trigger,.teacher-app .bottom-nav>.more-navigation{flex:1 1 0;min-width:0}.teacher-app .bottom-nav>.nav-item,.teacher-app .nav-profile-trigger>.nav-item,.teacher-app .more-navigation>.nav-item{width:100%;padding-inline:3px}.teacher-app .nav-label{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.teacher-app .text-success{color:var(--success)}.teacher-app .text-danger{color:var(--danger)}.teacher-app .text-warning{color:var(--warning)}.teacher-app .text-muted{color:var(--muted)}.teacher-app .text-accent{color:var(--accent)}.teacher-app .text-strong{color:var(--text)}.teacher-app .page-header--stack{flex-wrap:wrap}.teacher-app .page-header__back-row{width:100%}.teacher-app .page-header__meta{color:var(--muted);font-size:var(--text-sm);margin-bottom:0;white-space:nowrap}.teacher-app .page-header__titles{flex:1;min-width:0}.teacher-app .page-header__titles .page-header__meta{margin-top:var(--space-1);white-space:normal}.teacher-app .dashboard-empty{min-height:88px;display:grid;place-items:center;padding:var(--space-4);color:var(--muted);background:none;border:1px dashed var(--panel-border);border-radius:var(--radius-sm);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-align:center}.teacher-app .today-lessons{display:grid;gap:var(--space-3)}.teacher-app .today-lesson{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);color:inherit;text-decoration:none;background:var(--panel-glow);border:1px solid var(--panel-border);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .2s}.teacher-app .today-lesson:hover{color:inherit;border-color:#ffffff1a}.teacher-app .today-lesson__time{display:flex;flex-direction:column;flex:none;width:58px}.teacher-app .today-lesson__time strong{font-size:var(--text-lg);font-weight:700}.teacher-app .today-lesson__time span{font-size:var(--text-xs);color:var(--muted)}.teacher-app .today-lesson__main{flex:1;min-width:0}.teacher-app .today-lesson__group{font-weight:700;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-app .today-lesson__meta{margin-top:2px;font-size:var(--text-sm);color:var(--muted)}.teacher-app .today-lesson__action{flex:none;min-height:40px;padding:0 var(--space-4);color:var(--prime-text);background:#ffffff29;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-family:var(--font);font-size:var(--text-sm);font-weight:700;cursor:pointer}.teacher-app .today-lesson__action:hover{background:#ffffff3d}.teacher-app .today-lesson--now{background:var(--prime-gradient);border-color:#77d6ff6b;color:var(--prime-text);box-shadow:0 18px 42px #00000057,inset 0 1px #ffffff3d}.teacher-app .today-lesson--now .today-lesson__meta,.teacher-app .today-lesson--now .today-lesson__time span{color:var(--prime-muted)}.teacher-app .today-lesson--now:hover{color:var(--prime-text)}.teacher-app .today-lesson--past{opacity:.62}@media(min-width:700px){.teacher-app .today-lesson{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-6)}.teacher-app .today-lesson__time{width:auto}.teacher-app .today-lesson__main{justify-self:start;width:100%;max-width:420px;text-align:left}.teacher-app .today-lesson__action{justify-self:end}}.teacher-app .next-lesson-card{margin-top:var(--space-3)}@media(min-width:700px){.teacher-app .next-lesson-card{max-width:420px}}.teacher-app .next-lesson-card__date{margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-sm);font-weight:600}.teacher-app .next-lesson-card__lesson{display:block;color:inherit;text-decoration:none}.teacher-app .next-lesson-card__lesson:hover{color:inherit;opacity:.86}.teacher-app .next-lesson-card__time{font-weight:700}.teacher-app .next-lesson-card__group{margin-top:2px;font-weight:700;color:var(--text)}.teacher-app .attention-block{margin-top:var(--space-6)}.teacher-app .attention-block h2{margin-bottom:var(--space-3);font-size:var(--text-base)}.teacher-app .attention-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-1);color:inherit;text-decoration:none;border-bottom:1px solid var(--panel-border);font-size:var(--text-sm)}.teacher-app .attention-row:hover{color:inherit}.teacher-app .attention-row:last-child{border-bottom:0}.teacher-app .attention-row__date{color:var(--muted)}.teacher-app .attention-row__group{font-weight:600}.teacher-app .attention-row__flag{color:var(--danger);flex:1 1 100%}@media(min-width:480px){.teacher-app .attention-row__flag{flex:0 1 auto;margin-left:auto}}.teacher-app .student-list{display:grid}.teacher-app .student-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-1);border-bottom:1px solid var(--panel-border)}.teacher-app .student-row:last-child{border-bottom:0}.teacher-app .student-row__name{font-weight:600}.teacher-app .header-action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:34px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent);color:var(--bg);font-size:var(--text-sm);font-weight:700;text-decoration:none}.teacher-app .header-action:hover{color:var(--bg)}.teacher-app .bento--single{grid-template-columns:1fr}.teacher-app .bento--spaced{grid-template-columns:1fr;margin-bottom:var(--space-5)}@media(min-width:900px){.teacher-app .bento--spaced{max-width:640px}}.teacher-app .bento-card--link{display:block;color:inherit;text-decoration:none}.teacher-app .bento-card--link:hover{color:inherit}.teacher-app .bento-card--compact-row{padding:var(--space-3) var(--space-4)}.teacher-app .card-heading{margin-bottom:var(--space-3)}.teacher-app .card-spaced{margin-bottom:var(--space-5)}.teacher-app .section-heading--spaced{margin-top:var(--space-5)!important}.teacher-app .section-heading--flush{margin-top:0!important}.teacher-app .entity-name{color:var(--text);font-weight:500}.teacher-app .entity-meta{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.teacher-app .card-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.teacher-app .card-title-row>*:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-app .card-title-row .badge{flex-shrink:0}.teacher-app .card-title-row--roomy{margin-bottom:var(--space-2)}.teacher-app .card-title-row h3{margin-bottom:0}.teacher-app .metric-label{color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--space-2)}.teacher-app .metric-value{color:var(--text);font-size:var(--text-2xl);font-weight:700;line-height:1.2;margin-bottom:var(--space-1)}.teacher-app .metric-value--small{font-size:var(--text-lg);font-weight:600}.teacher-app .metric-value--danger{color:var(--danger)}.teacher-app .metric-value__meta{color:var(--muted);font-size:var(--text-sm);font-weight:400}.teacher-app .metric-subline{color:var(--text);font-size:var(--text-sm);margin-bottom:var(--space-1)}.teacher-app .progress-caption{color:var(--muted);font-size:var(--text-xs);margin-top:var(--space-1);margin-bottom:0}.teacher-app .content-line{color:var(--text);margin-bottom:var(--space-2)}.teacher-app .content-line--tight{margin-bottom:2px}.teacher-app .content-line--flush{margin-bottom:0}.teacher-app .muted-line{color:var(--muted);margin-bottom:0}.teacher-app .muted-line--xs{font-size:var(--text-xs)}.teacher-app .muted-line--lift{margin-top:2px}.teacher-app .helper-text{color:var(--muted);font-size:var(--text-sm);margin-bottom:0}.teacher-app .badge-line{margin-bottom:var(--space-2)}.teacher-app .day-heading{margin-bottom:var(--space-3);text-transform:none;letter-spacing:normal}.teacher-app .day-heading--first{margin-top:var(--space-1)}.teacher-app .lesson-time-line{color:var(--text);margin-bottom:2px}.teacher-app .lesson-meta-line{margin-bottom:0}.teacher-app .dash-summary-value--compact{font-size:var(--text-base)}.teacher-app .tab-switcher{display:flex;background:var(--panel);border-radius:var(--radius-md);border:var(--line-thin) solid rgba(255,255,255,.06);padding:var(--space-1);margin-bottom:var(--space-4)}.teacher-app .tab-switcher__tab{flex:1;text-align:center;min-height:var(--control-height);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:400;text-decoration:none;color:var(--muted);background:transparent}.teacher-app .tab-switcher__tab--active{color:var(--bg);background:var(--accent);font-weight:650}.teacher-app .group-card{display:block;text-decoration:none;color:inherit;border-left:4px solid var(--accent);transition:background .15s}.teacher-app .group-card:hover{background:#ffffff0a}.teacher-app .group-card--aigul{border-left-color:#e07bea}.teacher-app .group-card--dinara{border-left-color:#6dd5ed}.teacher-app .group-card--guzal{border-left-color:#f5a623}.teacher-app .group-card--ilnur{border-left-color:#7bed9f}.teacher-app .group-card__title{margin-bottom:var(--space-2)}.teacher-app .group-card__category{color:var(--muted);font-size:var(--text-xs);margin-bottom:var(--space-2)}.teacher-app .group-card__line{color:var(--text);margin-bottom:var(--space-1)}.teacher-app .group-card__payment{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.teacher-app .list-item{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--panel-border)}.teacher-app .list-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.teacher-app .list-item__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.teacher-app .list-item__name{color:var(--text);font-weight:500}.teacher-app .logout-card{text-align:center;cursor:pointer}.teacher-app .logout-card__text{color:var(--danger);font-weight:600;margin-bottom:0}.teacher-app .management-hero,.teacher-app .management-card,.teacher-app .form-card,.teacher-app .action-panel{background:var(--panel);border:var(--line-thin) solid rgba(255,255,255,.06);border-radius:var(--radius-lg)}.teacher-app .management-hero{padding:var(--space-5);margin-bottom:var(--space-4)}.teacher-app .management-hero__eyebrow{display:block;margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.teacher-app .management-hero__title{margin-bottom:var(--space-2);font-size:var(--text-xl);letter-spacing:0}.teacher-app .management-hero__body{color:var(--muted);font-size:var(--text-sm);margin-bottom:0}.teacher-app .management-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.teacher-app .management-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);color:inherit;text-decoration:none}.teacher-app .management-card:hover{border-color:#ffffff1f;color:inherit}.teacher-app .management-card__main{flex:1;min-width:0}.teacher-app .management-card__title{display:block;color:var(--text);font-weight:700}.teacher-app .management-card__meta{display:block;margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);line-height:1.35}.teacher-app .management-card__side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0;text-align:right}.teacher-app .management-card__amount{color:var(--text);font-size:var(--text-lg);font-weight:700;white-space:nowrap}.teacher-app .form-card{padding:var(--space-5);margin-bottom:var(--space-4)}.teacher-app .form-grid{display:grid;gap:var(--space-3)}.teacher-app .field-group{margin-bottom:var(--space-3)}.teacher-app .field-group:last-child{margin-bottom:0}.teacher-app .field-label{display:block;margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.teacher-app .form-input,.teacher-app .form-select,.teacher-app .form-textarea{width:100%;min-height:var(--control-height-lg);padding:var(--space-3);border:var(--line-thin) solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:var(--panel-light);color:var(--text);font:inherit;outline:none}.teacher-app .form-textarea{min-height:92px;resize:vertical}.teacher-app .form-input:focus,.teacher-app .form-select:focus,.teacher-app .form-textarea:focus{border-color:var(--accent-2);box-shadow:var(--shadow-focus)}.teacher-app .check-list{display:flex;flex-direction:column;gap:var(--space-2)}.teacher-app .check-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text);font-size:var(--text-sm)}.teacher-app .check-row input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.teacher-app .form-actions{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4)}.teacher-app .management-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height-lg);padding:var(--space-3) var(--space-4);border:var(--line-thin) solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#ffffff0f;color:var(--text);font-size:var(--text-sm);font-weight:700;text-align:center;text-decoration:none}.teacher-app .management-action:hover{color:var(--text)}.teacher-app .management-action--primary{background:var(--accent);color:var(--bg);border-color:transparent}.teacher-app .management-action--primary:hover{color:var(--bg)}.teacher-app .management-action--danger{color:var(--danger)}.teacher-app .pill-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.teacher-app .schedule-builder{display:grid;gap:var(--space-3)}.teacher-app .schedule-builder__row{display:grid;grid-template-columns:68px 1fr 1fr;gap:var(--space-2);align-items:center}.teacher-app .action-panel{padding:var(--space-4);margin-bottom:var(--space-4)}.teacher-app .action-panel__title{margin-bottom:var(--space-2);color:var(--text);font-weight:700}.teacher-app .action-panel__body{color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--space-3)}@media(min-width:700px){.teacher-app .form-grid{grid-template-columns:1fr 1fr}.teacher-app .field-group--wide,.teacher-app .form-actions,.teacher-app .action-panel{grid-column:1 / -1}.teacher-app .form-actions{grid-template-columns:1fr 1fr}}@media(max-width:430px){.teacher-app .management-card{align-items:flex-start}.teacher-app .management-card__side{align-items:flex-start;text-align:left}.teacher-app .schedule-builder__row{grid-template-columns:1fr}}.teacher-app .badge{display:inline-block;min-height:1.6rem;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;line-height:1.4;white-space:nowrap;text-align:center;background:#ffffff0f;color:var(--muted)}.teacher-app .badge--success{background:#4ecdc426;color:var(--success)}.teacher-app .badge--danger{background:#ff6b6b26;color:var(--danger)}.teacher-app .badge--warning{background:#f39c1226;color:var(--warning)}.teacher-app .badge--accent{background:#9b6ddb26;color:var(--accent)}.teacher-app .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.teacher-app .detail-back{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--accent);font-size:var(--text-sm);text-decoration:none}.teacher-app .detail-back svg{width:18px;height:18px;flex-shrink:0}.teacher-app .detail-back--stacked{margin-bottom:var(--space-2)}.teacher-app .page--child-detail .child-hero,.teacher-app .page--child-detail .info-card,.teacher-app .page--child-detail .action-link,.teacher-app .page--child-detail .history-list{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:14px}.teacher-app .page--child-detail .child-hero{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4)}.teacher-app .page--child-detail .child-hero .badge{margin-top:var(--space-2)}.teacher-app .page--child-detail .avatar-circle{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--bg);background:var(--accent);font-size:var(--text-lg);font-weight:700}.teacher-app .page--child-detail .avatar-circle--aigul{background:#e07bea}.teacher-app .page--child-detail .avatar-circle--dinara{background:#6dd5ed}.teacher-app .page--child-detail .avatar-circle--guzal{background:#f5a623}.teacher-app .page--child-detail .avatar-circle--ilnur{background:#7bed9f}.teacher-app .page--child-detail .child-name{color:var(--text);font-size:var(--text-xl);font-weight:700;line-height:1.2}.teacher-app .page--child-detail .child-meta{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.teacher-app .page--child-detail .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-bottom:var(--space-4)}.teacher-app .page--child-detail .info-card{padding:var(--space-3) var(--space-3)}.teacher-app .page--child-detail .info-card__label{color:var(--muted);font-size:var(--text-xs)}.teacher-app .page--child-detail .info-card__value{display:block;margin-top:var(--space-1);color:var(--text);font-size:var(--text-base);font-weight:700;line-height:1.25}.teacher-app .page--child-detail .action-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.teacher-app .page--child-detail .action-link{padding:var(--space-4);color:inherit;text-decoration:none}.teacher-app .page--child-detail .action-link:hover{border-color:#ffffff1f}.teacher-app .page--child-detail .action-link__title{display:block;color:var(--text);font-weight:700}.teacher-app .page--child-detail .action-link__meta{display:block;margin-top:var(--space-2);color:var(--muted);font-size:var(--text-xs);line-height:1.35}.teacher-app .page--child-detail .section-heading{margin-bottom:var(--space-3);font-size:var(--text-lg);font-weight:700;letter-spacing:0}.teacher-app .page--child-detail .history-list{padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}.teacher-app .page--child-detail .history-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:var(--text-sm)}.teacher-app .page--child-detail .history-row:last-child{border-bottom:none}@media(max-width:374px){.teacher-app .page--child-detail .info-grid,.teacher-app .page--child-detail .action-grid{grid-template-columns:1fr}}.teacher-app .login-telegram-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:#24a1de;color:#fff;border:none;border-radius:var(--radius);font-family:var(--font);font-size:var(--text-lg);font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s}.teacher-app .login-telegram-btn:hover{background:#36b3f0;color:#fff}.teacher-app .login-telegram-btn svg{width:24px;height:24px;fill:#fff;flex-shrink:0}.teacher-app .login-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-5) 0}.teacher-app .login-divider:before,.teacher-app .login-divider:after{content:"";flex:1;border-top:1px solid var(--panel-border)}.teacher-app .login-divider span{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.teacher-app .login-phone-form{display:flex;flex-direction:column;gap:var(--space-3)}.teacher-app .login-phone-input{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font);outline:none;transition:border-color .2s}.teacher-app .login-phone-input::placeholder{color:var(--dim)}.teacher-app .login-phone-input:focus-visible{border-color:var(--accent-2);box-shadow:var(--shadow-focus)}.teacher-app .login-phone-submit{background:transparent;border:1px solid var(--panel-border);color:var(--muted);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font);cursor:pointer;transition:border-color .2s,color .2s}.teacher-app .login-phone-submit:hover{border-color:var(--accent);color:var(--text)}.teacher-app .login-demo-switcher{margin-top:var(--space-8);text-align:center}.teacher-app .login-demo-link{display:inline-block;padding:var(--space-2) var(--space-3);border-radius:20px;font-size:var(--text-xs);color:var(--muted);background:#ffffff0a;border:1px solid var(--panel-border);margin:0 var(--space-1);text-decoration:none;transition:color .2s,border-color .2s}.teacher-app .login-demo-link:hover{color:var(--text);border-color:#ffffff1f}.teacher-app .login-demo-link.active{color:var(--accent);border-color:#9b6ddb4d}.teacher-app .dash-summary{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(145deg,#ffffff1f,#39bff412),#ffffff0a;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);box-shadow:0 10px 24px #00000038,inset 0 1px #ffffff2e;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.teacher-app .dash-summary-item{display:flex;flex-direction:column;align-items:center;gap:2px}.teacher-app .dash-summary-value{font-size:var(--text-xl);font-weight:700;color:var(--text)}.teacher-app .dash-summary-label{font-size:var(--text-xs);color:var(--muted)}@media(max-width:430px){.teacher-app .dash-summary{flex-direction:column;align-items:stretch;gap:var(--space-3)}.teacher-app .dash-summary-item{align-items:flex-start;text-align:left}}.teacher-app .lesson-card{display:block;text-decoration:none;color:inherit;background:var(--panel-glow);border:1px solid var(--panel-border);border-radius:var(--radius);padding:var(--space-4) var(--space-4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s,opacity .2s;cursor:pointer}.teacher-app .lesson-card:hover{border-color:#ffffff1f;transform:translateY(-1px)}.teacher-app .lesson-card__time{font-size:var(--text-xl);font-weight:700;color:var(--text);margin-bottom:2px}.teacher-app .lesson-card__group{font-size:var(--text-lg);font-weight:600;color:var(--text);margin-bottom:var(--space-2)}.teacher-app .lesson-card__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.teacher-app .lesson-card__students{font-size:var(--text-sm);color:var(--muted)}.teacher-app .lesson-card__payment{font-size:var(--text-xs);padding:3px var(--space-2);border-radius:12px;font-weight:600}.teacher-app .lesson-card--active{background:#3b82f6;border-color:#60a5fa;box-shadow:0 0 28px #3b82f666}.teacher-app .lesson-card--active .lesson-card__time,.teacher-app .lesson-card--active .lesson-card__group{color:#fff}.teacher-app .lesson-card--active .lesson-card__students,.teacher-app .lesson-card--active .lesson-card__meta{color:#fffc}.teacher-app .lesson-card--active .badge{color:#fff;background:#fff3}.teacher-app .lesson-card--completed{opacity:.55;filter:grayscale(.1)}.teacher-app .page--lesson{padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 160px)}.teacher-app .lesson-header{padding:var(--space-4) 0 var(--space-3)}.teacher-app .lesson-header__group{font-size:var(--text-xl);font-weight:700;color:var(--text);margin-bottom:2px}.teacher-app .lesson-header__details{font-size:var(--text-sm);color:var(--muted)}.teacher-app .lesson-header__badge{margin-top:var(--space-2)}.teacher-app .attendance-counter{display:flex;align-items:center;gap:var(--space-2);background:linear-gradient(145deg,#ffffff1f,#39bff412),#ffffff0a;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text);box-shadow:0 10px 24px #00000038,inset 0 1px #ffffff2e;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.teacher-app .attendance-counter__value{font-weight:700;font-size:var(--text-base)}.teacher-app .attendance-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--panel-border);transition:background-color .2s}.teacher-app .attendance-row--present{background:#4ecdc414}.teacher-app .attendance-row--absent{background:#ff6b6b14}.teacher-app .attendance-row--unmarked{background:#ffffff06}.teacher-app .attendance-person{display:flex;align-items:center;gap:var(--space-2);min-width:0;max-width:100%}.teacher-app .attendance-person:has(.absence-notice-mark) .attendance-name{flex:0 1 auto}.teacher-app .attendance-person .absence-notice-mark{flex:0 0 auto;width:max-content;max-width:100%;line-height:1.2}.teacher-app .attendance-status-actions{display:flex;gap:var(--space-2);margin-left:auto}.teacher-app .attendance-status-actions .app-checkbox{min-width:78px;justify-content:flex-start;color:var(--text)}.teacher-app .badge--trial{border-color:#a78bfa6b;background:#a78bfa24;color:#d8c9ff}.teacher-app .attendance-status-actions button{min-height:38px;padding:0 var(--space-3);border:1px solid var(--panel-border);border-radius:12px;background:transparent;color:var(--muted);font:600 var(--text-sm) var(--font);cursor:pointer}.teacher-app .attendance-status-actions button.active:first-child{border-color:#4ecdc480;background:#4ecdc429;color:#9ef0ea}.teacher-app .attendance-status-actions button.active:last-child{border-color:#ff6b6b80;background:#ff6b6b24;color:#ffadad}.teacher-app .attendance-status-actions button:focus-visible{outline:0;border-color:var(--accent-2);box-shadow:var(--shadow-focus)}.teacher-app .attendance-status-actions button:disabled{opacity:.48;cursor:not-allowed}.teacher-app .booking-roster-contact{grid-column:1/-1;color:var(--muted)}.teacher-app .attendance-checkbox-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.teacher-app .attendance-checkbox-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.teacher-app .attendance-checkbox{width:44px;height:44px;border:2px solid var(--muted);border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .15s}.teacher-app .attendance-checkbox-wrap:active .attendance-checkbox{transform:scale(.92)}.teacher-app .attendance-checkbox-input:checked+.attendance-checkbox{background:var(--success);border-color:var(--success)}.teacher-app .attendance-checkbox:after{content:"";display:none;width:10px;height:18px;border:solid #09091f;border-width:0 3px 3px 0;transform:rotate(45deg);margin-top:-3px}.teacher-app .attendance-checkbox-input:checked+.attendance-checkbox:after{display:block}.teacher-app .attendance-name{flex:1;font-size:var(--text-base);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-app .payment-badge{display:inline-block;padding:3px var(--space-3);border-radius:20px;font-size:var(--text-xs);font-weight:600;line-height:1.4;flex-shrink:0}.teacher-app .payment-badge--paid{background:#4ecdc426;color:var(--success)}.teacher-app .payment-badge--debt{background:#ff6b6b26;color:var(--danger)}.teacher-app .teacher-invoice-btn{padding:0;min-height:0;font-size:var(--text-xs)}@media(max-width:480px){.teacher-app .attendance-row{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-3);row-gap:var(--space-2)}.teacher-app .attendance-row .attendance-person{grid-column:1 / -1;grid-row:1;justify-self:start;width:auto;flex-wrap:wrap}.teacher-app .attendance-row .attendance-name{white-space:normal;overflow:visible;text-overflow:clip}.teacher-app .attendance-row .payment-badge,.teacher-app .attendance-row .badge--guest{grid-column:1;grid-row:2;justify-self:start}.teacher-app .attendance-row .teacher-invoice-btn{grid-column:2;grid-row:2;justify-self:end}.teacher-app .attendance-row .attendance-status-actions{grid-column:1 / -1;grid-row:3;width:100%;margin:2px 0 0}.teacher-app .attendance-status-actions button{flex:1;min-height:44px}}.teacher-app .absence-chips{display:flex;gap:var(--space-2);margin-top:var(--space-2);margin-bottom:var(--space-1);justify-content:center}.teacher-app .absence-chip{padding:var(--space-1) var(--space-3);border-radius:16px;font-size:var(--text-xs);border:1px solid var(--panel-border);color:var(--muted);background:transparent;cursor:pointer;font-family:var(--font);transition:border-color .2s,color .2s,background .2s}.teacher-app .absence-chip:hover{border-color:var(--dim);color:var(--text)}.teacher-app .absence-chip--active{border-color:var(--danger);color:var(--danger);background:#ff6b6b1a}.teacher-app .badge--guest{background:#6ea8fe26;color:var(--accent-2)}.teacher-app .badge--history{background:#ffb84d24;color:var(--warning)}.trial-roster{display:grid;gap:var(--space-3);margin:0 0 var(--space-5)}.trial-roster h2{margin:0;font-size:18px}.trial-roster__row{display:grid;gap:var(--space-3);padding:var(--space-3);background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-radius:var(--radius-sm)}.trial-roster__actions{display:flex;gap:var(--space-2)}.trial-roster__actions button{flex:1}.teacher-app .bottom-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}.teacher-app .bottom-sheet-overlay.active{opacity:1;pointer-events:auto}@media(max-width:899px){.teacher-app .bottom-sheet-overlay{background:#09091f}.teacher-app .bottom-sheet{top:0;bottom:0;height:100dvh;max-height:100dvh;padding:calc(var(--space-5) + var(--safe-top, 0px)) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));border-radius:0;overscroll-behavior:contain}.teacher-app .bottom-sheet__handle{display:none}.teacher-app .bottom-sheet__title{position:sticky;z-index:3;top:calc(-20px - var(--safe-top, 0px));padding:calc(var(--space-5) + var(--safe-top, 0px)) 0 var(--space-3);margin:0 0 var(--space-3);background:var(--panel)}}.teacher-app .bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-radius:var(--radius) var(--radius) 0 0;padding:var(--space-5) var(--space-4);z-index:201;transform:translateY(100%);visibility:hidden;transition:transform .3s ease-out,visibility 0s linear .3s;max-height:70vh;overflow-y:auto}.teacher-app .bottom-sheet.active{transform:translateY(0);visibility:visible;transition-delay:0s}.teacher-app .bottom-sheet__handle{width:36px;height:4px;background:var(--dim);border-radius:2px;margin:0 auto var(--space-4)}.teacher-app .bottom-sheet__title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4)}.teacher-app .bottom-sheet__title-sub{display:block;margin-top:var(--space-1);font-weight:500}.teacher-app .bottom-sheet__close{position:absolute;z-index:5;top:calc(14px + var(--safe-top, 0px));right:14px;width:44px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#ffffff14;color:var(--text);font-size:30px;line-height:1;cursor:pointer}.teacher-app .bottom-sheet__title{padding-right:var(--space-12)}.teacher-app .bottom-sheet>.modal-header,.teacher-app .confirm-dialog>.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.teacher-app .bottom-sheet>.modal-header h2,.teacher-app .confirm-dialog>.modal-header h2{margin:0;font-size:var(--text-lg);line-height:1.2}.teacher-app .bottom-sheet>.modal-header .close-button,.teacher-app .confirm-dialog>.modal-header .close-button{width:44px;height:44px;flex:0 0 44px}.teacher-app .guest-search{margin-bottom:var(--space-3)}.teacher-app .new-student-form{display:grid;gap:var(--space-4)}.teacher-app .new-student-form>label,.teacher-app .new-student-optional label{display:grid;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);font-weight:600}.teacher-app .new-student-form label>span{margin-left:var(--space-1);color:var(--dim);font-size:12px;font-weight:500}.teacher-app .new-student-optional{padding:var(--space-1) 0;color:var(--muted)}.teacher-app .new-student-optional summary{min-height:44px;display:flex;align-items:center;color:var(--prime, #45b8ff);font-weight:700;cursor:pointer}.teacher-app .new-student-optional[open]{display:grid;gap:var(--space-4)}.teacher-app .new-student-optional[open] summary{margin-bottom:0}@media(min-width:900px){.teacher-app .bottom-sheet.new-student-sheet{max-height:min(88vh,800px)}}.teacher-app .guest-section-label{color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--space-2)}.teacher-app .guest-options{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.teacher-app .guest-option{background:var(--panel-light);border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3);color:var(--text);text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font);font-size:var(--text-base);transition:border-color .2s}.teacher-app .guest-option:hover{border-color:#ffffff1f}.teacher-app .guest-option__meta{font-size:var(--text-xs)}.teacher-app .guest-submit{width:100%;padding:var(--space-3)}.teacher-app .fab-guest{width:100%;padding:var(--space-3);margin-top:var(--space-4);border:1px dashed var(--panel-border);background:transparent;color:var(--accent-2);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font);cursor:pointer;transition:border-color .2s,color .2s}.teacher-app .fab-guest:hover{border-color:var(--accent-2);color:var(--text)}.teacher-app .fab-cancel{position:static;max-width:480px;margin:var(--space-4) auto var(--space-3);padding:var(--space-3);background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-base);font-family:var(--font);font-weight:600;cursor:pointer;z-index:99;box-shadow:0 10px 24px #00000047;transition:background .2s,border-color .2s}.teacher-app .fab-cancel:hover{background:#ffffff0f;border-color:#ffffff29}.teacher-app .fab-action{position:static;max-width:480px;margin:var(--space-6) auto var(--space-3);padding:var(--space-4);border-radius:var(--radius);font-size:var(--text-lg);font-weight:700;text-align:center;cursor:pointer;border:none;font-family:var(--font);z-index:99;transition:opacity .2s,transform .2s}.teacher-app .fab-action:active{transform:scale(.98)}.teacher-app .fab-action--start{background:var(--success);color:#09091f}.teacher-app .fab-action--end{background:var(--prime-gradient);color:var(--prime-text)}.teacher-app .lesson-delete-link{position:static;max-width:480px;margin:var(--space-4) 0 0 auto;padding:var(--space-3);background:transparent;border:none;color:var(--danger);font-family:var(--font);font-size:var(--text-sm);font-weight:600;text-align:center;cursor:pointer;z-index:99}.teacher-app .lesson-delete-link:hover{text-decoration:underline}.teacher-app .lesson-delete-link:has(+.fab-action){background:transparent;border:0}.teacher-app .confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.teacher-app .confirm-dialog-overlay.active{opacity:1;pointer-events:auto}.teacher-app .confirm-dialog{background:var(--panel);border-radius:var(--radius-lg);padding:var(--space-6);max-width:320px;width:calc(100% - 32px);border:1px solid var(--panel-border)}.teacher-app .confirm-dialog__title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2)}.teacher-app .confirm-dialog__message{color:var(--muted);margin-bottom:var(--space-5);font-size:var(--text-sm)}.teacher-app .confirm-dialog__actions{display:flex;gap:var(--space-3);justify-content:flex-end}.teacher-app .confirm-dialog__cancel{background:transparent;border:1px solid var(--panel-border);color:var(--muted);min-height:var(--control-height);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font);font-size:var(--text-sm);cursor:pointer;transition:border-color .2s,color .2s}.teacher-app .confirm-dialog__cancel:hover{border-color:#ffffff1f;color:var(--text)}.teacher-app .confirm-dialog__confirm{background:var(--danger);color:#fff;border:none;min-height:var(--control-height);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font);font-size:var(--text-sm);cursor:pointer;transition:opacity .2s}.teacher-app .confirm-dialog__confirm:hover{opacity:.9}.teacher-app .confirm-dialog__confirm--primary{background:var(--prime-gradient);color:var(--prime-text)}@media(min-width:900px){.teacher-app .fab-action{position:static;display:block;max-width:260px;margin:var(--space-6) 0 0 auto;z-index:auto}.teacher-app .lesson-delete-link,.teacher-app .lesson-delete-link:has(+.fab-action){position:static;display:block;max-width:260px;margin:var(--space-3) 0 0 auto;background:transparent;border:0}.teacher-app .bottom-sheet{inset:50% auto auto 50%;width:calc(100% - 48px);max-width:440px;padding:var(--space-6);border-radius:var(--radius);border:1px solid var(--panel-border);transform:translate(-50%,-50%) scale(.97);transition:opacity .2s ease-out,transform .2s ease-out,visibility 0s linear .2s;opacity:0}.teacher-app .bottom-sheet.active{transform:translate(-50%,-50%) scale(1);opacity:1;transition-delay:0s}.teacher-app .bottom-sheet__handle{display:none}}.teacher-student-groups{display:grid;gap:var(--space-6)}.teacher-student-group h2{margin:0 0 var(--space-2);font-size:18px}.teacher-person-row{width:100%;min-height:58px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--muted) 20%,transparent);background:transparent;color:inherit;text-align:left;cursor:pointer}.teacher-person-row__copy{min-width:0;display:grid;gap:3px}.teacher-person-row__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-person-row__copy small{display:flex;align-items:center;gap:var(--space-2);color:var(--muted)}.teacher-person-row__copy .teacher-student-money-flag{color:#f2c879}.teacher-student-sheet,.teacher-group-sheet{overflow-y:auto;max-height:min(88vh,760px)}.teacher-student-sheet .login-phone-input{margin-top:var(--space-3)}.teacher-money-actions{display:grid;gap:var(--space-3);margin-top:var(--space-6)}.teacher-money-actions h4{margin:0;font-size:17px}.teacher-subscription-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0}.teacher-subscription-row span{display:grid;gap:3px}.teacher-inline-form{display:grid;gap:var(--space-2);padding-top:var(--space-2)}.teacher-inline-form .secondary-button{justify-content:center}.teacher-group-grid{display:grid;gap:var(--space-3)}.teacher-group-card{position:relative;min-height:116px;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);overflow:hidden;border:0;border-radius:20px;background:var(--surface, #171722);color:inherit;text-align:left;cursor:pointer}.teacher-group-card__ribbon{position:absolute;inset:0 auto 0 0;width:7px}.teacher-group-card__copy{display:grid;gap:var(--space-2)}.teacher-group-card__copy strong{font-size:19px}.teacher-group-card__copy small{color:var(--muted)}.teacher-roster-editor{display:grid;gap:var(--space-2);margin:var(--space-4) 0;padding:0;border:0}.teacher-roster-editor legend{margin-bottom:var(--space-2);font-weight:700}.teacher-roster-section{display:grid;gap:var(--space-2)}.teacher-roster-section>strong{color:var(--muted);font-size:var(--font-size-sm)}.teacher-roster-search{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);color:var(--muted);background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-sm)}.teacher-roster-search:focus-within{border-color:var(--prime);box-shadow:0 0 0 3px color-mix(in srgb,var(--prime) 18%,transparent)}.teacher-roster-search input{width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important}.teacher-roster-search input:focus,.teacher-roster-search input:focus-visible{border:0!important;outline:none;box-shadow:none!important}.person-lookup-step{display:grid;gap:var(--space-3);margin:var(--space-3) 0}.person-lookup-step>label{font-weight:700}.person-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:stretch}.person-lookup-row .secondary-button{min-width:88px;justify-content:center}.person-lookup-results{display:grid;gap:var(--space-2)}.person-lookup-results>button{display:grid;gap:3px;width:100%;padding:var(--space-3) var(--space-3);border:1px solid transparent;border-radius:14px;background:color-mix(in srgb,var(--surface, #171722) 88%,transparent);color:inherit;text-align:left;cursor:pointer}.person-lookup-results>button:hover{background:color-mix(in srgb,var(--prime, #45b8ff) 10%,var(--surface, #171722))}.person-lookup-results>button.selected{border-color:var(--prime, #45b8ff);background:color-mix(in srgb,var(--prime, #45b8ff) 14%,var(--surface, #171722))}.person-lookup-results>button:focus-visible{outline:0;border-color:var(--prime, #45b8ff);box-shadow:var(--shadow-focus)}@media(prefers-reduced-motion:reduce){.teacher-app *,.teacher-app *:before,.teacher-app *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.person-lookup-results span,.person-lookup-results small,.person-lookup-selected span{color:var(--muted)}.person-lookup-selected{display:grid;gap:3px;margin:var(--space-3) 0 var(--space-3);padding:var(--space-3) 0}.text-action{width:max-content;padding:var(--space-1) 0;border:0;background:transparent;color:var(--prime, #45b8ff);font-weight:700;cursor:pointer}.teacher-group-hall{margin:0 0 var(--space-3)}@media(max-width:899px){.teacher-app .bottom-sheet,.teacher-app .bottom-sheet.teacher-student-sheet,.teacher-app .bottom-sheet.teacher-group-sheet{top:0;bottom:0;height:100dvh;max-height:100dvh;padding:calc(var(--space-5) + var(--safe-top, 0px)) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));border-radius:0;overscroll-behavior:contain}.teacher-app .bottom-sheet__handle{display:none}.teacher-app .bottom-sheet__title{position:sticky;z-index:3;top:calc(-20px - var(--safe-top, 0px));padding:calc(var(--space-5) + var(--safe-top, 0px)) var(--space-12) var(--space-3) 0;margin:0 0 var(--space-3);background:var(--panel)}.person-lookup-row{grid-template-columns:1fr}}.teacher-roster-option{display:flex;align-items:center;gap:var(--space-3);min-height:42px}.teacher-roster-option input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0;flex:0 0 20px;accent-color:var(--prime, #45b8ff)}.teacher-current-lesson{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4);align-items:center;margin-bottom:var(--space-6);padding:var(--space-5);border-radius:22px;color:inherit;text-decoration:none}.teacher-current-lesson>strong{font-size:22px}.teacher-current-lesson>button{grid-column:2;grid-row:1 / span 3;align-self:stretch;padding:0 var(--space-4);border:0;border-radius:14px;background:#fff;color:#211b35;font-weight:800}.teacher-month-line{width:100%;display:flex;justify-content:space-between;align-items:center;margin:var(--space-5) 0;padding:var(--space-4) 0;border:0;background:transparent;color:inherit;text-align:left}.teacher-month-line svg{transform:rotate(180deg)}.teacher-salary{display:grid;gap:var(--space-4)}.teacher-month-switcher{display:flex;justify-content:space-between;align-items:center}.teacher-month-switcher button{width:42px;height:42px;border:0;border-radius:50%;background:var(--surface, #171722);color:inherit}.teacher-month-switcher button:last-child svg{transform:rotate(180deg)}.teacher-salary-total{display:grid;gap:var(--space-2);padding:var(--space-5);border-radius:22px}.teacher-salary-total strong{font-size:clamp(30px,7vw,48px)}.teacher-salary-parts{display:grid;gap:var(--space-3);margin:0}.teacher-salary-parts div{display:flex;justify-content:space-between;gap:var(--space-4)}.teacher-salary-parts dd{margin:0;font-weight:700;text-align:right}.teacher-salary-lessons{display:grid}.teacher-salary-lessons article{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid color-mix(in srgb,var(--muted) 20%,transparent)}.teacher-salary-lessons article span{display:grid;gap:var(--space-1)}.teacher-salary-lessons article small{color:var(--muted)}@media(min-width:900px){.teacher-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-student-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.teacher-student-sheet,.teacher-group-sheet{width:min(640px,calc(100vw - 48px))}}.studio-lesson--own{box-shadow:inset 3px 0 0 var(--prime, #45b8ff)}.studio-lesson--replacement{box-shadow:inset 3px 0 0 var(--warning);background:color-mix(in srgb,var(--warning) 14%,#252545)}.studio-lesson--foreign{opacity:.5;cursor:default}.studio-lesson--foreign:focus-visible{outline:0;box-shadow:none}.replacement-card{display:grid;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);border-radius:18px;background:color-mix(in srgb,var(--warning) 10%,transparent);color:inherit;text-decoration:none}.replacement-card strong{font-size:16px}.dashboard-debtors-line{margin:0 0 var(--space-4);color:var(--muted)}.dashboard-debtors-line strong{color:var(--ink)}.teacher-week-switcher{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.teacher-week-switcher button:not(.text-button){width:42px;height:42px;border:0;border-radius:50%;background:var(--surface, #171722);color:inherit}.teacher-week-switcher strong{flex:1;text-align:center}.teacher-group-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0}.teacher-group-summary div{display:grid;gap:3px;padding:var(--space-3);border-radius:14px;background:var(--surface, #171722)}.teacher-group-summary dt{margin:0;color:var(--muted);font-size:12px}.teacher-group-summary dd{margin:0;font-weight:700;font-size:18px}.teacher-group-days{display:grid;gap:var(--space-2);margin:var(--space-4) 0}.teacher-group-days div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid color-mix(in srgb,var(--muted) 20%,transparent)}.teacher-group-days dt{margin:0}.teacher-group-days dd{margin:0;color:var(--muted)}.teacher-attendance-history{display:grid}.teacher-attendance-history article{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid color-mix(in srgb,var(--muted) 20%,transparent)}.teacher-attendance-history article span{display:grid;gap:var(--space-1)}.teacher-attendance-history article small{color:var(--muted)}.teacher-password-btn{margin-top:var(--space-6);justify-content:center}.people-view-switch__btn--label{width:auto;height:32px;padding:0 var(--space-3);font-size:13px;font-weight:600}.lesson-view-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}
