*{box-sizing:border-box}@media (max-width:980px){.team-ops-header{display:grid}.team-manager-tools{justify-content:flex-start}.team-roster-row{grid-template-columns:1fr 1fr}.team-player-main,.team-row-actions{grid-column:1/-1}.team-row-actions{justify-content:stretch}.team-row-actions .status-pill,.team-row-actions a,.team-row-actions button{flex:1 1;min-height:44px}.team-player-main strong,.team-roster-row span strong{white-space:normal}}.ai-assistant-page{display:grid;grid-gap:18px;gap:18px}.ai-assistant-grid{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr);grid-gap:18px;gap:18px}.ai-compose-panel,.ai-result-panel{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid rgba(37,70,132,.12);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 18px 40px rgba(31,44,74,.08)}.ai-language-row,.ai-provider-row{display:flex;flex-wrap:wrap;gap:8px}.ai-draft-button,.ai-language-row button,.ai-provider-row button,.ai-result-header button{border:1px solid rgba(37,70,132,.14);border-radius:12px;background:#ffffff;color:#1b2a4a;font-weight:800;cursor:pointer}.ai-language-row button,.ai-provider-row button{min-height:38px;padding:0 14px}.ai-language-row button.active,.ai-provider-row button.active{border-color:rgba(31,98,255,.36);background:#eaf1ff;color:#1f62ff}.ai-compose-panel textarea{min-height:230px;resize:vertical;border:1px solid rgba(37,70,132,.14);border-radius:14px;padding:14px;color:#1b2a4a;font:inherit;line-height:1.55;background:#ffffff}.ai-compose-panel textarea:focus{outline:3px solid rgba(31,98,255,.16);border-color:rgba(31,98,255,.42)}.ai-draft-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#1f62ff;color:#ffffff}.ai-draft-button:disabled,.ai-result-header button:disabled{cursor:not-allowed;opacity:.54}.ai-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ai-facts-panel div,.ai-result-header span{display:grid;grid-gap:5px;gap:5px}.ai-facts-panel strong,.ai-result-header strong{color:#17223b;font-size:15px}.ai-facts-panel span,.ai-result-header em{color:#6d7892;font-size:12px;font-style:normal}.ai-result-header button{min-height:38px;padding:0 14px}.ai-draft-editor{min-height:170px;resize:vertical;white-space:pre-wrap;border:1px solid rgba(37,70,132,.14);border-radius:16px;padding:16px;background:#f6f8fc;color:#20314f;font:inherit;line-height:1.65}.ai-draft-editor:focus{outline:3px solid rgba(31,98,255,.16);border-color:rgba(31,98,255,.42)}.ai-draft-output{min-height:170px;white-space:pre-wrap;border-radius:16px;padding:16px;background:#f6f8fc;color:#20314f;line-height:1.65}.ai-feedback-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ai-feedback-row button{min-height:38px;padding:0 14px;border:1px solid rgba(37,70,132,.14);border-radius:12px;background:#ffffff;color:#1b2a4a;font-weight:800;cursor:pointer}.ai-feedback-row button.active{border-color:rgba(31,98,255,.36);background:#eaf1ff;color:#1f62ff}.ai-feedback-row button:last-of-type{background:#17223b;color:#ffffff}.ai-feedback-row button:disabled{cursor:not-allowed;opacity:.54}.ai-feedback-row span{color:#b42318;font-size:12px;font-weight:800}.ai-facts-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.ai-facts-panel div{align-content:start;min-height:116px;padding:12px;border:1px solid rgba(37,70,132,.1);border-radius:14px;background:#ffffff}.ai-facts-panel span.ok{color:#0f8c54}@media (max-width:980px){.ai-assistant-grid,.ai-facts-panel{grid-template-columns:1fr}.ai-result-header{display:grid}}:root{--gd-ink:#142033;--gd-muted:#68758a;--gd-line:rgba(47,74,101,0.12);--gd-green:#14764a;--gd-green-2:#28a866;--gd-surface:rgba(255,255,255,0.84);--gd-bg:#eef4f1}body{background:#eef2f5}.admin-error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f6f8fb;color:#102033}.admin-error-page section{width:min(520px,100%);display:grid;grid-gap:12px;gap:12px;padding:24px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#ffffff;box-shadow:0 18px 44px rgba(15,23,42,.08)}.admin-error-page span{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.admin-error-page h1{margin:0;font-size:26px}.admin-error-page p{margin:0;color:#64748b;line-height:1.45}.admin-error-page button{width:-moz-fit-content;width:fit-content;min-height:42px;padding:0 16px;border:0;border-radius:8px;background:#102033;color:#ffffff;font-weight:900;cursor:pointer}.app-shell{background:linear-gradient(180deg,rgba(245,249,252,.98),rgba(236,242,248,.98))}.sidebar{background:linear-gradient(180deg,#dce8f2,#d3e1ee);border-right:1px solid rgba(58,82,112,.16)}.main-workspace{background:linear-gradient(180deg,#f8fafc,#eef3f8)}.portal-shell{background:radial-gradient(circle at 18% 0,rgba(60,173,105,.14),transparent 34%),linear-gradient(180deg,#f7faf7,#edf4f0 56%,#e7f0ea);color:var(--gd-ink);padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.portal-hero{z-index:5;gap:12px;margin:0 auto 10px;background:linear-gradient(180deg,rgba(247,250,247,.96),rgba(247,250,247,.84));padding:10px 0}.gd-logo{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;width:92px;height:54px}.gd-logo img{width:100%;height:100%;object-fit:contain;display:block}.gd-logo img:not([hidden])+.gd-logo-fallback{display:none}.gd-logo-fallback{display:inline-grid;width:100%;height:100%;place-items:center}.portal-brand-mark{background:linear-gradient(145deg,#15784c,#35ba73);color:#ffffff;box-shadow:0 10px 24px rgba(20,118,74,.24)}.portal-hero p{color:var(--gd-muted)}.portal-hero h1{font-size:24px}.portal-hero a{background:rgba(255,255,255,.74);color:var(--gd-ink);box-shadow:inset 0 0 0 1px var(--gd-line)}.portal-status-strip{grid-gap:8px;gap:8px;margin:0 auto 10px}.portal-status-strip span{min-height:58px;border-radius:18px;background:rgba(255,255,255,.68);box-shadow:inset 0 0 0 1px var(--gd-line);padding:9px 12px}.portal-status-strip strong{font-size:20px}.portal-status-strip em{color:var(--gd-muted)}.portal-panel{border:1px solid var(--gd-line);background:var(--gd-surface)}.portal-mode-switch{background:rgba(228,235,232,.82)}.portal-mode-switch button.active{background:#ffffff;color:var(--gd-green);border-color:transparent}.portal-days button{min-height:48px;background:rgba(236,241,239,.9);font-size:13px}.portal-days button.active{color:#ffffff;box-shadow:none}.portal-days button.active span,.portal-days button.active strong{color:#ffffff}.portal-class-list button{background:rgba(255,255,255,.72)}.portal-class-list button.active{box-shadow:inset 3px 0 0 var(--gd-green-2)}.portal-class-list button b{color:var(--gd-green)}.portal-form{top:72px}.portal-selected span{background:rgba(255,255,255,.82)}.portal-form-grid input,.portal-form-grid select{background:rgba(255,255,255,.8);color:var(--gd-ink)}.portal-inline-button,.portal-submit{transition:transform .12s ease,box-shadow .12s ease}.portal-class-list button:active,.portal-days button:active,.portal-inline-button:active,.portal-submit:active{transform:scale(.98)}@media (max-width:820px){.portal-shell{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.portal-hero{margin-bottom:8px}.portal-brand-mark{width:38px;height:38px;border-radius:13px}.portal-hero h1{font-size:21px}.portal-hero a{min-height:36px;font-size:13px}.portal-status-strip{gap:6px;margin-bottom:8px}.portal-status-strip span{min-height:52px;border-radius:16px;padding:8px 10px}.portal-status-strip strong{font-size:18px}.portal-grid{grid-template-columns:1fr}.portal-panel{border-radius:22px;padding:10px}.portal-form{position:static}.portal-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.portal-days button{flex:0 0 64px;min-height:46px}.portal-class-list{grid-template-columns:1fr;max-height:42svh;overflow:auto;padding-right:1px}.portal-class-list button{min-height:62px}.portal-selected h2{font-size:20px}.portal-form-grid{grid-template-columns:1fr 96px}}@media (max-width:520px){.portal-hero{padding:8px 0}.portal-hero a{width:38px;padding:0;justify-content:center;font-size:0}.portal-status-strip span{min-height:48px;padding:8px}.portal-status-strip em{font-size:11px}.portal-class-list{max-height:36svh}.portal-form-grid,.portal-form-grid button,.portal-form-grid input,.portal-form-grid select{font-size:16px}}.app-shell{background:#edf2f6}.sidebar{background:linear-gradient(180deg,rgba(218,230,241,.98),rgba(205,221,235,.98));box-shadow:inset -1px 0 0 rgba(52,76,105,.14)}.brand-mark{background:linear-gradient(145deg,#2d7cf6,#49c6a5);box-shadow:0 10px 24px rgba(45,124,246,.22)}.nav-item{border:1px solid rgba(67,91,122,.08);background:rgba(255,255,255,.55);box-shadow:0 4px 12px rgba(30,43,72,.035)}.nav-item:hover{background:rgba(255,255,255,.82)}.nav-item.active{border-color:rgba(45,124,246,.22);box-shadow:inset 3px 0 0 #2d7cf6,0 8px 18px rgba(45,124,246,.08)}.main-workspace{background:linear-gradient(180deg,#f8fafc,#eef3f7)}.top-toolbar{border:1px solid rgba(67,91,122,.08);background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(30,43,72,.06)}.global-search,.global-search input{background:rgba(248,250,252,.92)}.add-student-submit,.profile-actions a,.profile-actions button,.receive-button,.roster-heading-actions a,.roster-heading-actions button,.setup-actions a,.setup-actions button,.toolbar-actions button{transition:transform .12s ease,background .16s ease,box-shadow .16s ease}.add-student-submit:active,.class-card:active,.profile-actions a:active,.profile-actions button:active,.receive-button:active,.roster-heading-actions a:active,.roster-heading-actions button:active,.roster-row:active,.schedule-row:active,.setup-actions a:active,.setup-actions button:active,.student-index-row:active,.toolbar-actions button:active{transform:scale(.985)}.class-detail-panel,.class-list-panel,.logic-board,.schedule-setup-page,.student-list-card,.students-page,.team-panel{border-color:rgba(67,91,122,.09);background:rgba(255,255,255,.84);box-shadow:0 12px 34px rgba(30,43,72,.065)}.mobile-tabs button,.week-tabs button{background:#e9eef5;color:#62708a}.mobile-tabs button.active,.week-tabs button.active{background:#177245;color:#ffffff;box-shadow:0 8px 20px rgba(23,114,69,.2)}.class-card,.roster-row,.schedule-row,.student-index-row{border-color:rgba(67,91,122,.09);background:rgba(248,251,252,.86)}.class-card:hover,.roster-row:hover,.schedule-row:hover,.student-index-row:hover{background:#ffffff;border-color:rgba(23,114,69,.22)}.class-card.active,.roster-row.active{background:#eaf5ff;border-color:rgba(45,124,246,.34);box-shadow:inset 4px 0 0 #2d7cf6}.payment-cell{background:rgba(238,244,248,.74);border-radius:14px;padding:8px}.add-student-panel input,.add-student-panel select,.method-select,.payment-cell input,.profile-edit-grid input,.schedule-row input,.schedule-row select{border-color:rgba(67,91,122,.12);background:rgba(255,255,255,.86)}.add-student-panel input:focus,.add-student-panel select:focus,.method-select:focus,.payment-cell input:focus,.profile-edit-grid input:focus,.schedule-row input:focus,.schedule-row select:focus{border-color:rgba(45,124,246,.36);box-shadow:0 0 0 4px rgba(45,124,246,.1)}.add-student-submit,.receive-button,.setup-actions .add-class-button{background:linear-gradient(180deg,#2d7cf6,#1f62d2);box-shadow:0 8px 18px rgba(45,124,246,.18)}.makeup-cell{background:#edf8f2;color:#14764a}.makeup-cell.locked{background:#ffe6e4;color:#b72d22}.status-pill.paid,.status-pill.success{background:#e5f7ec;color:#14764a}.status-pill.warning{background:#fff2d7;color:#955d00}.status-pill.danger{background:#ffe6e4;color:#b72d22}.student-index-balance.due{color:#8a5200}.profile-modal-backdrop{background:rgba(20,29,48,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-modal{background:#f8fafc;border:1px solid rgba(67,91,122,.1)}@media (max-width:820px){.student-index-row{grid-template-columns:minmax(0,1fr) 76px;gap:8px}.student-index-row>span:nth-child(2),.student-index-row>span:nth-child(3){grid-column:1/-1}.student-index-balance{grid-column:2;grid-row:1}.student-index-makeup{grid-column:2;grid-row:2}}.portal-shell{min-height:100vh;background:#edf4ef;color:#182033;padding:18px}.portal-hero{align-items:flex-end;gap:18px;max-width:1180px;margin:0 auto 14px;border:1px solid rgba(42,91,68,.12);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,251,248,.9));padding:22px;box-shadow:0 18px 42px rgba(28,47,62,.08)}.portal-hero p,.portal-result span,.portal-selected span{margin:0;color:#69758a;font-size:13px;font-weight:800}.portal-hero h1{margin:4px 0 0;max-width:620px;font-size:32px;line-height:1.06}.portal-hero a,.portal-result a{display:inline-flex;align-items:center;gap:7px;min-height:42px;border-radius:999px;background:#177245;color:#ffffff;padding:0 16px;font-size:14px;font-weight:850;text-decoration:none}.portal-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);grid-gap:14px;max-width:1180px}.portal-mode-switch{display:flex;gap:8px;max-width:1180px;margin:0 auto 14px}.portal-mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(42,91,68,.12);border-radius:999px;background:rgba(255,255,255,.75);padding:0 18px;cursor:pointer}.portal-mode-switch button.active{background:#177245;border-color:#177245}.portal-panel{border:1px solid rgba(42,91,68,.12);padding:14px;box-shadow:0 12px 30px rgba(28,47,62,.07)}.portal-days{grid-gap:7px;gap:7px}.portal-class-list button,.portal-days button{border:1px solid rgba(42,91,68,.1);background:#eef3f1;color:#5d687c;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.portal-days button{min-height:50px;font-weight:850}.portal-days button span,.portal-days button strong{display:block}.portal-days button strong{color:#177245}.portal-class-list button.active,.portal-days button.active{border-color:rgba(23,114,69,.34);background:#def5e8;color:#11231a;box-shadow:inset 4px 0 0 #1b9b5a}.portal-class-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.portal-class-empty{display:grid;justify-items:start;grid-gap:7px;gap:7px;min-height:142px;border:1px dashed rgba(23,114,69,.24);border-radius:20px;background:#f4fbf6;color:#182033;padding:18px}.portal-class-empty svg{color:#177245}.portal-class-empty strong{font-size:19px;font-weight:900}.portal-class-empty span{max-width:360px;color:#69758a;font-size:14px;font-weight:760;line-height:1.35}.portal-class-list button{grid-gap:10px;gap:10px;min-height:76px}.portal-class-list button strong{color:#182033}.portal-class-list button em{color:#4b5668;font-weight:740}.portal-class-list button b{background:#ffffff;color:#177245;padding:7px 10px}.portal-form{grid-gap:12px}.portal-selected{border-radius:22px;background:#f1f6f3;padding:14px}.portal-selected h2{margin:6px 0 10px;font-size:24px;letter-spacing:0}.portal-selected span{background:#ffffff;padding:7px 10px}.portal-selected-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:12px 0 0;padding:0}.portal-selected-list li{display:grid;grid-template-columns:86px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;border-radius:12px;background:#ffffff;padding:9px 10px}.portal-selected-list em,.portal-selected-list span,.portal-selected-list strong{min-width:0;background:transparent;padding:0;font-size:13px;font-style:normal}.portal-selected-list span{display:block;overflow-wrap:anywhere}.portal-selected-list em{justify-self:end;font-weight:800;color:#0f766e}.portal-form-grid{grid-template-columns:1fr 110px;grid-gap:9px;gap:9px}.portal-form-grid input,.portal-form-grid select{min-height:48px;border:1px solid rgba(42,91,68,.13);background:#f8fbf9;color:#182033;font-size:15px}.portal-submit{min-height:50px;border:0;border-radius:18px;background:#177245;font-size:16px}.portal-inline-button,.portal-submit{color:#ffffff;font-weight:900;cursor:pointer}.portal-inline-button{min-height:48px;border:0;border-radius:16px;background:#1b9b5a;padding:0 14px;font-size:14px}.portal-submit:disabled{background:#a7b3aa;cursor:not-allowed}.portal-result{border-radius:20px;background:#e7f8ee;padding:14px}.portal-result strong{font-size:20px}.portal-result.warning{background:#fff4dc;color:#8a5200}.portal-makeup-pass{border-radius:20px;background:#e7f8ee;padding:14px}.portal-makeup-pass strong{font-size:20px}.portal-makeup-pass span{margin-top:3px;color:#4f6075;font-weight:800}.portal-makeup-pass b{background:#177245;color:#ffffff;padding:8px 11px}.portal-rule-note{display:inline-flex;align-items:center;gap:7px;min-height:42px;border-radius:16px;background:#f1f6f3;color:#4f6075;padding:0 13px;font-size:13px;font-weight:850}.portal-booking-list{display:grid;grid-gap:7px;gap:7px}.portal-booking-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;border-radius:18px;background:#f4f8f5;padding:10px}.portal-booking-row em,.portal-booking-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-booking-row em{color:#69758a;font-style:normal;font-size:13px;font-weight:760}.portal-booking-row button{display:inline-flex;align-items:center;gap:6px;min-height:38px;border:0;border-radius:999px;background:#fff4dc;color:#8a5200;padding:0 12px;font-size:13px;font-weight:900;cursor:pointer}.students-page{border:1px solid rgba(72,88,118,.1);border-radius:24px;background:rgba(255,255,255,.9);padding:14px;box-shadow:0 12px 30px rgba(30,43,72,.07)}.student-index-grid{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.student-directory-actions,.student-directory-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.student-directory-actions button{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid rgba(72,88,118,.12);border-radius:12px;background:#ffffff;color:#172033;padding:0 11px;font-size:12px;font-weight:900;cursor:pointer}.student-directory-actions button:disabled{opacity:.42;cursor:not-allowed}.student-directory-summary{justify-content:flex-start;margin-top:10px}.student-directory-summary span{min-width:126px;border:1px solid rgba(72,88,118,.1);border-radius:14px;background:#f8fafc;padding:8px 10px}.student-directory-summary span.review{background:#fff4dd;border-color:rgba(191,89,46,.2)}.student-directory-summary span.copied{background:#e9f8f0;border-color:rgba(18,122,75,.16)}.student-directory-summary em,.student-directory-summary strong{display:block}.student-directory-summary strong{color:#172033;font-size:16px;font-weight:950}.student-directory-summary em{margin-top:2px;color:#64728a;font-size:11px;font-style:normal;font-weight:820}.bulk-email-panel{display:grid;grid-gap:10px;gap:10px;margin-top:12px;border:1px solid rgba(37,100,214,.12);border-radius:16px;background:#f8fbff;padding:12px}.bulk-email-panel label{display:grid;grid-gap:5px;gap:5px}.bulk-email-panel em,.bulk-email-panel span{color:#64728a;font-size:12px;font-style:normal;font-weight:850}.bulk-email-panel input,.bulk-email-panel textarea{width:100%;border:1px solid rgba(72,88,118,.14);border-radius:12px;background:#ffffff;color:var(--ink);padding:10px;font:inherit;font-size:13px;font-weight:800}.bulk-email-panel textarea{resize:vertical;line-height:1.45}.bulk-email-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.bulk-email-footer button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;border-radius:999px;background:#172033;color:#ffffff;padding:0 14px;font-size:12px;font-weight:900;cursor:pointer}.bulk-email-footer button:disabled{opacity:.45;cursor:not-allowed}.bulk-email-panel em.error-text{color:#9a5a00}.student-index-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(180px,1fr) minmax(120px,.7fr) minmax(100px,.55fr) 76px;grid-gap:10px;gap:10px;align-items:center;min-height:76px;border:1px solid rgba(72,88,118,.09);border-radius:18px;background:#f8fafc;color:#182033;padding:10px 12px;text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.student-index-row:hover{transform:translateY(-1px);background:#ffffff;border-color:rgba(23,114,69,.22)}.student-index-row.needs-action{background:#fff8e8;border-color:rgba(216,151,32,.24)}.student-empty-state{display:grid;justify-items:start;grid-gap:8px;gap:8px;min-height:126px;border:1px dashed rgba(72,88,118,.2);border-radius:18px;background:#f8fafc;padding:24px}.student-empty-state strong{color:#182033;font-size:17px;font-weight:930}.student-empty-state span{max-width:560px;color:#64728a;font-size:13px;font-weight:760;line-height:1.45}.student-empty-state button{min-height:36px;border:0;border-radius:12px;background:#1f6feb;color:#fff;padding:0 13px;font-size:13px;font-weight:900}.inline-clear-button{width:-moz-fit-content;width:fit-content;min-height:32px;border:0;border-radius:11px;background:#1f6feb;color:#fff;padding:0 12px;font:inherit;font-size:12px;font-weight:900}.student-index-row em,.student-index-row span,.student-index-row strong{display:block;min-width:0}.student-index-row em,.student-index-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-index-row strong{color:#182033;font-size:14px;font-weight:900}.student-index-row em{margin-top:3px;color:#6b768b;font-size:12px;font-style:normal;font-weight:760}.student-index-person strong{font-size:16px}.student-stage-pill{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;vertical-align:middle}.student-stage-pill.stage-enrolled{background:#e3f6ec;color:#1c7a48}.student-stage-pill.stage-trial{background:#e7eefc;color:#2455c4}.student-stage-pill.stage-pending{background:#fff1d4;color:#9a6b12}.student-stage-pill.stage-none{background:#eef0f4;color:#6b768b}.student-stage-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.student-stage-filter button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(67,91,122,.16);border-radius:999px;background:#fff;color:#46536b;font-size:12px;font-weight:800;cursor:pointer}.student-stage-filter button.active{border-color:rgba(45,124,246,.5);background:#eaf2ff;color:#1f62d2}.student-stage-filter button em{font-style:normal;font-weight:700;color:#8a94a6}.data-error-banner{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fdecec;color:#9a1c1c;border-bottom:1px solid #f3c2c2;font-size:13px;font-weight:700}.data-error-actions{display:flex;gap:8px}.data-error-banner button{padding:4px 12px;border-radius:999px;border:1px solid #d98a8a;background:#fff;color:#9a1c1c;font-weight:800;cursor:pointer}.student-index-balance,.student-index-makeup{justify-self:stretch;border-radius:14px;background:#edf8f2;padding:9px;text-align:center}.student-index-balance.due{background:#fff1d4}.student-index-makeup.full{background:#ffe6e4}.logic-board{margin-top:6px;border:1px solid rgba(72,88,118,.1);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,255,.94)),#ffffff;padding:7px;box-shadow:0 6px 18px rgba(30,43,72,.06)}.ops-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.ops-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;width:100%;min-height:32px;border:0;border-radius:11px;background:#f5f8fc;padding:5px 8px;text-align:left;cursor:pointer}.ops-card:active{transform:scale(.99)}.ops-card.warm{background:#fff4dc}.ops-card span{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#59657b;font-size:11px;font-weight:800}.ops-card strong{font-size:16px;line-height:1}.ops-clear{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;min-height:34px;border-radius:999px;background:#eefaf3;color:#167244;padding:0 12px;font-size:12px;font-weight:850}.today-action-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;margin-top:6px}.today-action-row{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:6px;gap:6px;border:1px solid rgba(118,136,166,.2);border-radius:11px;background:#ffffff;padding:7px 8px;text-align:left;box-shadow:0 5px 16px rgba(30,43,72,.05)}.today-action-more{display:grid;align-content:center;grid-gap:4px;gap:4px;min-height:78px;border:1px dashed rgba(72,88,118,.26);border-radius:11px;background:#f8fafc;color:#151c2e;padding:9px;text-align:left;cursor:pointer}.today-action-more small,.today-action-more span{overflow:hidden;color:#6f7a90;font-size:10px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.today-action-more strong{color:#151c2e;font-size:13px;line-height:1.1}.today-action-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;width:100%;border:0;background:transparent;padding:0;text-align:left}.today-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:5px;gap:5px}.today-action-buttons button{min-height:28px;border:1px solid rgba(40,167,111,.26);border-radius:9px;background:rgba(241,251,246,.94);color:#14784f;font-size:10px;font-weight:900;letter-spacing:0}.today-action-buttons button:active{transform:scale(.98)}.today-action-buttons button:disabled{opacity:.45}.today-action-row.warm{border-color:rgba(231,171,58,.42);background:#fff8e8}.today-action-row.case,.today-action-row.makeup{border-color:rgba(40,167,111,.26);background:#f1fbf6}.today-action-row span{display:grid;grid-gap:2px;gap:2px;min-width:0}.today-action-row em,.today-action-row small{color:#6f7a90;font-size:10px;font-style:normal;font-weight:800}.today-action-row em,.today-action-row small,.today-action-row strong{overflow:hidden;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.today-action-row strong{color:#151c2e;font-size:12px}.today-action-row b{color:#1e6b4f;font-size:12px;white-space:nowrap}@media (max-width:900px){.ops-board,.today-action-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.logic-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.logic-heading p{margin:0;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.logic-heading h1{overflow:hidden;margin:2px 0 0;max-width:920px;font-size:18px;line-height:1.16;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.logic-heading>span{border-radius:999px;background:var(--blue-soft);color:#245ecf;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}.axis-switcher{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:8px}.axis-switcher button{display:grid;grid-template-columns:24px minmax(0,auto);grid-template-rows:auto auto;grid-column-gap:8px;column-gap:8px;grid-row-gap:2px;row-gap:2px;align-items:center;min-height:58px;border:1px solid rgba(72,88,118,.1);border-radius:20px;background:#f8f9fc;color:var(--ink);padding:10px 11px;text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,border-color .16s ease}.axis-switcher button:hover{transform:translateY(-1px);background:#ffffff}.axis-switcher button:active,.workflow-card:active{transform:scale(.97)}.axis-switcher button.active{border-color:rgba(52,120,246,.34);background:var(--blue-soft);box-shadow:inset 0 -4px 0 var(--blue)}.axis-switcher span,.axis-switcher strong{display:block}.axis-switcher svg{grid-row:1/span 2}.axis-switcher strong{font-size:14px}.axis-switcher span{color:var(--muted);font-size:11px;line-height:1.3}.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:8px}.logic-path{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.logic-step{display:inline-flex;align-items:center;gap:5px;min-height:30px;border-radius:999px;background:#eef4ff;color:#1c2942;padding:0 9px;font-size:12px;font-weight:820}.logic-step svg{color:#3478f6}.logic-step.warning{background:#fff4dc;color:#8a5200}.logic-action{display:inline-flex;align-items:center;gap:5px;min-height:30px;border:0;border-radius:999px;background:#1b1f2a;color:#ffffff;padding:0 11px;font-size:12px;font-weight:850;cursor:pointer}.workflow-card{border-radius:16px;background:#eef4ff;padding:10px;transition:transform .16s ease,background .16s ease}.workflow-card:hover{transform:translateY(-1px);background:#ffffff}.workflow-card span,.workflow-card strong{display:block}.workflow-card span{margin-top:2px;color:var(--muted);font-size:12px}.workflow-card ol{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0;padding:0;list-style:none}.workflow-card li{border-radius:999px;background:#ffffff;color:#4b5568;padding:5px 8px;font-size:11px;font-weight:750}.class-route{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.class-route span{display:inline-flex;align-items:center;gap:6px;min-height:34px;border-radius:999px;background:#f4f6fa;color:#4b5568;padding:0 11px;font-size:13px;font-weight:750}.student-workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;margin-top:10px}.student-list-card,.student-profile{border:1px solid rgba(72,88,118,.1);border-radius:18px;background:#f8faff;padding:12px}.profile-modal-backdrop{position:fixed;inset:0 0 0 226px;z-index:20;display:flex;justify-content:flex-end;background:rgba(20,29,48,.12);padding:10px 14px 10px 18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-shell.sidebar-collapsed .profile-modal-backdrop{left:66px}.profile-modal{width:min(760px,100%);max-height:calc(100vh - 20px);overflow:auto;background:#f8faff;box-shadow:-18px 0 70px rgba(20,29,48,.22);animation:detailSlideIn .18s ease-out}@keyframes detailSlideIn{0%{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}.modal-close{min-height:30px;border:0;border-radius:999px;background:#ffffff;color:var(--ink);padding:0 11px;font-size:12px;font-weight:820;cursor:pointer}.profile-delete-button{border-color:rgba(188,48,48,.22)!important;background:#fff0f0!important;color:#b42318!important}.profile-delete-button:disabled{opacity:.65;cursor:wait}@media (max-width:1040px){.axis-switcher,.workflow-grid{grid-template-columns:1fr}}@media (max-width:620px){.logic-heading{display:grid}.logic-heading>span{width:max-content}.axis-switcher{display:flex;overflow-x:auto}.axis-switcher button{flex:0 0 138px}.workflow-grid{grid-template-columns:1fr}}:root{--bg:#f5f6f8;--panel:rgba(255,255,255,0.9);--panel-strong:#ffffff;--ink:#172033;--muted:#788094;--line:rgba(28,38,58,0.1);--blue:#3478f6;--blue-soft:#eaf1ff;--warm:#fff4dc;--green:#e8f8ee;--shadow:0 18px 48px rgba(30,43,72,0.1)}body{margin:0;background:#edf2f8;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Arial,PingFang SC,Microsoft YaHei,sans-serif}button{font:inherit}.app-shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,#d5e1f2,#d5e1f2 226px,transparent 0),radial-gradient(circle at 42% -10%,rgba(255,255,255,.96),transparent 34%),linear-gradient(135deg,#f6f8fb,#e9eef7);transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:66px minmax(0,1fr);background:linear-gradient(90deg,#d5e1f2,#d5e1f2 66px,transparent 0),radial-gradient(circle at 42% -10%,rgba(255,255,255,.96),transparent 34%),linear-gradient(135deg,#f6f8fb,#e9eef7)}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:100vh;overflow:auto;border-right:1px solid rgba(52,82,128,.2);background:linear-gradient(180deg,rgba(207,221,241,.98),rgba(222,232,247,.96)),#d5e1f2;padding:12px 8px;box-shadow:inset -1px 0 0 rgba(255,255,255,.68),12px 0 30px rgba(41,61,96,.12);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.brand-row{min-height:72px;padding:4px 44px 16px 2px}.brand-mark{display:grid;width:126px;height:76px;place-items:center;color:#28287f;font-size:15px;font-weight:800}.brand-row span,.brand-row strong{display:block}.brand-row strong{font-size:18px;letter-spacing:0}.brand-row span{margin-top:2px;color:var(--muted);font-size:11px}.sidebar-toggle{top:16px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(72,88,118,.1);border-radius:999px;background:rgba(255,255,255,.76);color:#56709f;cursor:pointer;transition:transform .16s ease,background .16s ease}.sidebar-toggle:hover{background:#ffffff;transform:translateY(-1px)}.sidebar-collapsed .sidebar{overflow:visible;padding-inline:7px}.sidebar-collapsed .brand-row{display:grid;justify-items:center;grid-gap:9px;gap:9px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-copy,.sidebar-collapsed .nav-count,.sidebar-collapsed .nav-group p{display:none}.sidebar-collapsed .brand-mark{width:48px;height:44px}.sidebar-collapsed .sidebar-toggle{width:36px;height:30px}.side-nav{display:grid;grid-gap:10px;gap:10px}.nav-group p{margin:0 7px 6px;color:#5f708e;font-size:10px;font-weight:800;text-transform:uppercase}.nav-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;width:100%;min-height:42px;margin-bottom:5px;border:1px solid rgba(87,103,132,.1);border-radius:13px;background:rgba(245,248,253,.5);color:var(--ink);padding:6px;text-align:left;box-shadow:0 10px 24px rgba(24,34,56,.035);cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,border-color .16s ease}.nav-item:hover{transform:translateY(-1px);background:rgba(255,255,255,.86);box-shadow:0 16px 34px rgba(24,34,56,.08)}.hero-actions button:active,.nav-item:active,.passport-actions button:active,.row-action button:active,.toolbar-actions button:active,.wide-action:active{transform:scale(.97)}.nav-item.active{border-color:rgba(52,120,246,.22);background:#f3f7ff;box-shadow:inset 3px 0 0 var(--blue),0 8px 18px rgba(52,120,246,.08)}.nav-item.active .nav-icon{background:#ffffff;color:var(--blue)}.nav-item.active .nav-count{background:#ffffff;color:#245ecf}.sidebar-collapsed .nav-item{grid-template-columns:1fr;justify-items:center;min-height:40px;padding:6px 0}.nav-icon{display:grid;width:26px;height:26px;place-items:center;border-radius:9px;color:var(--blue)}.nav-copy em,.nav-copy strong{display:block}.nav-copy strong{font-size:13px}.nav-copy em{margin-top:2px;color:var(--muted);font-size:10px;font-style:normal}.nav-count{border-radius:999px;background:rgba(52,120,246,.1);color:#245ecf;padding:3px 7px;font-size:10px;font-weight:800}.main-workspace{min-width:0;padding:6px 14px 32px}.top-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:3;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;grid-gap:8px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.9);padding:5px;box-shadow:0 8px 22px rgba(30,43,72,.07);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.mobile-menu,.table-heading button,.toolbar-actions a,.toolbar-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid rgba(72,88,118,.12);border-radius:12px;background:#ffffff;color:var(--ink);padding:0 10px;font-weight:750;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.toolbar-actions .term3-enrol-button{min-height:38px;border:0;border-radius:14px;background:linear-gradient(180deg,#ff7a1a,#ff5f00);color:#ffffff;padding:0 18px;font-size:.9rem;font-weight:950;letter-spacing:0;text-decoration:none;box-shadow:0 10px 22px rgba(255,102,0,.25)}.toolbar-actions .term3-enrol-button:hover{background:linear-gradient(180deg,#ff8529,#ff6608);box-shadow:0 14px 26px rgba(255,102,0,.3)}.mobile-menu{display:none;width:36px;padding:0}.mobile-nav-backdrop{display:none}.global-search{display:flex;align-items:center;gap:8px;min-height:34px;border:1px solid rgba(72,88,118,.12);border-radius:12px;background:#ffffff;color:#a1a7b5;padding:0 10px}.global-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.global-search input::placeholder{color:#a1a7b5}.toolbar-actions{display:flex;gap:8px}.mobile-tabs{display:none}.hero-console{display:grid;grid-template-columns:minmax(0,1fr) 520px;grid-gap:18px;gap:18px;margin-top:14px;border-radius:24px;background:#1b1f2a;color:white;padding:18px 20px;box-shadow:0 18px 48px rgba(20,29,48,.18)}.eyebrow{margin:0 0 8px;color:rgba(255,255,255,.62);font-size:12px;font-weight:850;text-transform:uppercase}.hero-console h1{max-width:680px;margin:0;font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:0}.hero-copy{max-width:600px;margin:9px 0 0;color:rgba(255,255,255,.7);font-size:14px;line-height:1.45}.hero-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;align-content:center}.hero-actions button,.passport-actions button,.row-action button,.wide-action{min-height:44px;border:0;border-radius:999px;background:#ffffff;color:var(--ink);padding:0 16px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.1);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.hero-actions button{min-height:40px;padding:0 12px;font-size:13px}.hero-actions button:hover,.passport-actions button:hover,.row-action button:hover,.toolbar-actions button:hover,.wide-action:hover{box-shadow:0 16px 34px rgba(0,0,0,.14)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px}.class-detail-panel,.class-list-panel,.ops-panel,.stat-card,.student-passport,.table-panel,.team-panel{border:1px solid rgba(72,88,118,.1);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.stat-card{min-height:92px;padding:14px}.stat-card.warm{background:var(--warm)}.section-heading p,.stat-card p{margin:0;color:var(--muted);font-size:13px;font-weight:750}.stat-card strong{display:block;margin-top:8px;font-size:28px;line-height:1}.stat-card span{display:block;margin-top:8px;color:var(--muted);font-size:13px}.content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);grid-gap:14px;gap:14px;margin-top:16px}.ops-panel,.student-passport,.table-panel{padding:18px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.section-heading h2{margin:2px 0 0;font-size:20px;letter-spacing:0}.section-heading.compact h2{font-size:18px}.section-heading.compact p{font-size:11px}.status-pill{display:inline-flex;align-items:center;min-height:32px;border-radius:999px;background:#eef0f3;color:var(--ink);padding:0 12px;font-size:13px;font-weight:750;white-space:nowrap}.status-pill.warning{background:#fff4dc;color:#9a5a00}.status-pill.paid{background:var(--green);color:#247446}.status-pill.danger{background:#ffe8e3;color:#ad3a24}.status-pill.review{background:#eef0f3;color:#596174}.schedule-setup-page{margin-top:10px;border:1px solid rgba(21,127,79,.14);border-radius:22px;background:linear-gradient(180deg,rgba(239,248,243,.92),rgba(234,240,249,.86)),#eef6f2;padding:14px;box-shadow:0 16px 42px rgba(36,70,58,.1)}.setup-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.add-class-button,.setup-actions a,.setup-back-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:0;border-radius:999px;background:#e8f8ee;color:#157f4f;padding:0 13px;font-size:12px;font-weight:850;cursor:pointer}.add-class-button{background:#157f4f;color:#ffffff;box-shadow:0 10px 24px rgba(21,127,79,.2)}.publish-term-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:0;border-radius:999px;background:#172033;color:#ffffff;padding:0 13px;font-size:12px;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(23,32,51,.18)}.publish-term-button:disabled{background:#8c97aa;cursor:wait}.term-publish-panel{display:grid;grid-gap:10px;gap:10px;margin-top:12px;border:1px solid rgba(23,32,51,.1);border-radius:17px;background:#ffffff;padding:12px}.term-publish-fields{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));grid-gap:8px;gap:8px}.term-publish-fields label{display:grid;grid-gap:5px;gap:5px}.term-publish-fields span{color:#6d778b;font-size:11px;font-weight:850}.term-publish-fields input,.term-publish-fields select{min-height:38px;border:1px solid rgba(72,88,118,.14);border-radius:12px;background:#f8fafd;color:var(--ink);padding:0 10px;font:inherit;font-size:13px;font-weight:850}.term-publish-actions{display:flex;flex-wrap:wrap;gap:8px}.term-publish-actions button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;background:#e8f8ee;color:#157f4f;padding:0 13px;font-size:12px;font-weight:850}.term-publish-actions button.publish{background:#172033;color:#ffffff}.term-publish-panel em{color:#4f6075;font-size:12px;font-style:normal;font-weight:850}.term-publish-panel em.error-text{color:#9a5a00}.settings-module-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.settings-module-grid article{display:grid;grid-gap:6px;gap:6px;border:1px solid rgba(23,32,51,.1);border-radius:16px;background:#ffffff;padding:12px}.settings-module-grid strong{color:var(--ink);font-size:14px;font-weight:950}.settings-module-grid span{color:#64728a;font-size:12px;font-weight:800;line-height:1.35}.settings-account-list,.settings-account-panel{display:grid;grid-gap:10px;gap:10px;margin-top:12px;border:1px solid rgba(23,32,51,.1);border-radius:17px;background:#ffffff;padding:12px}.settings-account-panel{grid-template-columns:minmax(190px,1.2fr) repeat(5,minmax(120px,1fr)) auto;align-items:end}.settings-account-list span,.settings-account-list strong,.settings-account-panel em,.settings-account-panel p,.settings-account-panel strong{display:block;margin:0}.settings-account-panel p{color:#157f4f;font-size:11px;font-weight:900;text-transform:uppercase}.settings-account-list strong,.settings-account-panel strong{margin-top:3px;color:var(--ink);font-size:14px;font-weight:950}.settings-account-list span,.settings-account-panel em{margin-top:4px;color:#64728a;font-size:12px;font-style:normal;font-weight:820}.settings-account-panel em.error-text{color:#9a5a00}.settings-account-panel label{display:grid;grid-gap:5px;gap:5px}.settings-account-panel label span{color:#6d778b;font-size:11px;font-weight:850}.settings-account-panel input,.settings-account-panel select{min-height:38px;border:1px solid rgba(72,88,118,.14);border-radius:12px;background:#f8fafd;color:var(--ink);padding:0 10px;font:inherit;font-size:13px;font-weight:850}.settings-account-panel button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:999px;background:#172033;color:#ffffff;padding:0 14px;font-size:12px;font-weight:900;cursor:pointer}.settings-account-list{grid-template-columns:repeat(3,minmax(160px,1fr))}.settings-account-list article{border:1px solid rgba(72,88,118,.1);border-radius:14px;background:#f8fafc;padding:10px}.term-compare-panel{display:grid;grid-gap:10px;gap:10px;border:1px solid rgba(37,100,214,.12);border-radius:17px;background:#eef5ff;padding:12px}.term-compare-summary{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));grid-gap:8px;gap:8px}.term-compare-summary span{display:grid;grid-gap:2px;gap:2px;border-radius:12px;background:#ffffff;padding:10px}.term-compare-summary span.warning strong{color:#a65021}.term-compare-summary strong{color:var(--ink);font-size:20px}.term-compare-columns em,.term-compare-summary em{color:#6d778b;font-style:normal}.term-compare-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.term-compare-columns article{display:grid;align-content:start;grid-gap:6px;gap:6px;border-radius:12px;background:rgba(255,255,255,.82);padding:10px}.term-compare-columns h3{margin:0 0 4px;color:var(--ink);font-size:14px}.term-compare-columns span{display:grid;grid-gap:2px;gap:2px;color:var(--ink);font-size:12px;font-weight:850}.term-pricing-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid rgba(21,127,79,.16);border-radius:17px;background:linear-gradient(135deg,#e6f8ed,#edf4ff);padding:12px}.term-pricing-panel em,.term-pricing-panel p,.term-pricing-panel strong{display:block;margin:0}.term-pricing-panel p{color:#157f4f;font-size:11px;font-weight:900;text-transform:uppercase}.term-pricing-panel strong{margin-top:3px;color:var(--ink);font-size:14px}.term-pricing-panel em{margin-top:5px;color:#4f6075;font-size:12px;font-style:normal;font-weight:850}.term-pricing-panel em.error-text{color:#9a5a00}.term-pricing-panel button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;border-radius:999px;background:#157f4f;color:#ffffff;padding:0 14px;font-size:12px;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(21,127,79,.18)}.schedule-setup-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.schedule-row{display:grid;grid-template-columns:84px 142px minmax(180px,1.1fr) 90px 78px 54px 92px 88px 100px 64px 64px 96px;grid-gap:7px;gap:7px;align-items:end;border:1px solid rgba(21,127,79,.1);border-radius:16px;background:linear-gradient(180deg,#ffffff,#f2f8f5);padding:9px;box-shadow:inset 4px 0 0 rgba(47,168,102,.3),0 8px 22px rgba(35,57,48,.045)}.schedule-row .schedule-time-field input{padding-inline:10px}.schedule-row .schedule-price-field input,.schedule-row .schedule-price-field span{color:#b42318}.schedule-row .schedule-price-field input{border-color:rgba(180,35,24,.22);background:#fff7f6}.schedule-row .schedule-capacity-field input,.schedule-row .schedule-capacity-field span{color:#14764a}.schedule-row .schedule-capacity-field input{min-width:0;padding-inline:7px;text-align:center;border-color:rgba(20,118,74,.22);background:#f0fbf5}.schedule-row .schedule-portal-field{order:20}.schedule-row:nth-child(2n){background:linear-gradient(180deg,#fbfdff,#eef4fb);box-shadow:inset 4px 0 0 rgba(52,120,246,.18),0 8px 22px rgba(35,57,48,.04)}.schedule-row label{display:grid;grid-gap:5px;gap:5px}.schedule-row span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.schedule-row input,.schedule-row select{width:100%;min-height:34px;border:1px solid rgba(72,88,118,.1);border-radius:11px;outline:0;background:rgba(255,255,255,.88);color:var(--ink);padding:0 9px;font:inherit;font-size:12px;font-weight:780}.schedule-row input:focus,.schedule-row select:focus{border-color:rgba(21,127,79,.42);box-shadow:0 0 0 4px rgba(21,127,79,.1)}.schedule-save-bar{position:-webkit-sticky;position:sticky;bottom:12px;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px;padding:10px;border:1px solid rgba(20,118,74,.18);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 16px 34px rgba(15,23,42,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.schedule-save-bar span{margin-right:auto;color:#566276;font-size:13px;font-weight:800}.schedule-save-bar button{min-height:42px;border:0;border-radius:12px;background:#e8f5ee;color:#14764a;padding:0 14px;font-weight:900;cursor:pointer}.schedule-save-bar button.publish{background:#14764a;color:#ffffff}.class-workbench{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin-top:6px}.class-detail-panel,.class-list-panel,.team-panel{padding:14px}.class-list-panel{overflow:visible}.week-overview{padding:10px}.weekday-tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:5px;gap:5px;margin:0 0 8px}.weekday-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border:0;border-radius:999px;background:#eef2f7;color:#5f6b80;padding:0 8px;cursor:pointer}.weekday-tabs button.active{background:#dff6e8;color:#167244;box-shadow:inset 0 0 0 1px rgba(39,143,82,.18)}.weekday-tabs strong{font-size:11px}.weekday-tabs span{min-width:22px;border-radius:999px;background:rgba(255,255,255,.72);color:#245ecf;padding:1px 6px;font-size:10px;font-weight:850}.weekday-tabs button.active span{background:#ffffff;color:#167244}.section-heading.compact{align-items:center}.weekday-rail{display:flex;gap:5px;overflow-x:auto;margin:10px -2px 8px;padding:2px}.weekday-rail button{min-height:30px;border:0;border-radius:999px;background:#f0f2f6;color:#667085;padding:0 10px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease}.weekday-rail button.active{background:#1b1f2a;color:#ffffff}.class-item:active,.roster-actions a:active,.roster-actions button:active,.weekday-rail button:active{transform:scale(.96)}.class-list{display:grid;grid-gap:6px;gap:6px;overflow:visible;padding:1px}.rate-list{margin-top:8px}.class-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.class-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;width:100%;min-height:50px;border:1px solid rgba(72,88,118,.08);border-radius:14px;background:#f3f6fb;color:var(--ink);padding:8px 10px;text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.rate-row{grid-template-columns:92px minmax(0,1fr) 92px 74px 38px;min-height:42px;border-radius:12px;background:#f7f9fc;padding:7px 9px}.rate-badge,.rate-metric,.rate-name em,.rate-name strong,.rate-time{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rate-time{font-weight:850}.rate-name strong,.rate-time{font-size:12px}.rate-name em{margin-top:2px;color:var(--muted);font-size:10px;font-style:normal}.rate-metric{color:#5d687d;font-size:11px;font-weight:780;text-align:right}.rate-badge{min-width:28px;border-radius:999px;background:#e8f8ee;color:#247446;padding:4px 7px;font-size:11px;font-weight:850;text-align:center}.rate-badge.warn{background:#fff4dc;color:#9a5a00}.class-tile{display:block;min-height:46px;border-radius:10px;background:#f8fafd;padding:7px 8px}.class-tile em,.class-tile strong{display:block;overflow:hidden;text-overflow:ellipsis}.class-tile strong{color:#182238;font-size:12px;font-weight:900;line-height:1.15;white-space:nowrap}.class-tile em{display:-webkit-box;margin-top:2px;color:#4c586d;font-size:11px;font-weight:680;line-height:1.2;font-style:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}.class-tile-strip{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.capacity-badge{display:inline-flex;align-items:center;justify-content:center;min-height:18px;border-radius:999px;padding:0 7px;font-size:9px;font-weight:900}.capacity-badge.success{background:#e1f6e9;color:#157f4f}.capacity-badge.warning{background:#fff1d4;color:#8a5200}.capacity-badge.danger{background:#ffe2dd;color:#b42318}.selected-class-metrics{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.selected-class-metrics button,.selected-class-metrics span{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:0;border-radius:999px;background:#f4f6fa;color:#4b5568;padding:0 10px;font-size:12px;font-weight:800}.selected-class-metrics .metric-success{background:#e8f8ee;color:#157f4f}.selected-class-metrics .metric-warning{background:#fff1d4;color:#8a5200}.selected-class-metrics .metric-danger{background:#ffe8e3;color:#ad3a24}.class-item:hover{transform:translateY(-1px);background:#ffffff}.class-item.active{border-color:rgba(39,143,82,.34);background:#eefaf3;box-shadow:inset 3px 0 0 #2fa866,0 10px 22px rgba(39,143,82,.08)}.class-item em,.class-item small,.class-item strong{display:block}.class-item strong{font-size:12px;line-height:1.2}.class-item em{overflow:hidden;margin-top:2px;color:#3f485a;font-size:12px;font-style:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.class-item small{display:none}.class-item b{min-width:26px;border-radius:999px;background:#ffffff;color:#245ecf;padding:4px 7px;font-size:11px;text-align:center}.class-hover{position:absolute;left:12px;right:12px;bottom:calc(100% + 8px);z-index:6;display:none;border:1px solid rgba(72,88,118,.12);border-radius:14px;background:#ffffff;padding:10px;box-shadow:0 18px 44px rgba(25,35,55,.16);pointer-events:none}.class-hover em,.class-hover strong,.class-item:hover .class-hover{display:block}.class-hover strong{color:var(--ink);font-size:12px}.class-hover em{margin-top:4px;color:var(--muted);font-size:11px;font-style:normal}.class-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:16px}.class-edit-grid label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.class-edit-grid input,.class-edit-grid select{width:100%;min-height:42px;border:1px solid rgba(72,88,118,.12);border-radius:14px;outline:0;background:#ffffff;color:var(--ink);padding:0 12px;font:inherit;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.class-edit-grid input:focus,.class-edit-grid select:focus{border-color:rgba(52,120,246,.6);box-shadow:0 0 0 4px rgba(52,120,246,.12)}.class-edit-grid .wide-field{grid-column:span 2}.class-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.class-metrics .stat-card{min-height:96px;box-shadow:none}.roster-list{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.roster-heading-actions{display:inline-flex;align-items:center;gap:8px}.add-student-submit,.roster-heading-actions a,.roster-heading-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:0;border-radius:999px;background:#157f4f;color:#ffffff;padding:0 13px;font-size:12px;font-weight:850;cursor:pointer;box-shadow:0 10px 22px rgba(21,127,79,.18);transition:transform .15s ease,background .15s ease}.print-roster-link{text-decoration:none}.roster-heading-actions .print-roster-link,.setup-actions .print-roster-link{background:#eef4ff;color:#1f62d2;box-shadow:0 10px 22px rgba(31,98,210,.12)}.add-student-submit:active,.method-select:active,.receive-button:active,.roster-heading-actions button:active{transform:scale(.97)}.add-student-panel{display:grid;grid-template-columns:1fr .75fr 1fr;grid-gap:8px;gap:8px;margin-top:10px;border:1px solid rgba(21,127,79,.16);border-radius:18px;background:#f4fbf7;padding:10px}.add-student-panel input{min-height:38px;border:1px solid rgba(72,88,118,.12);border-radius:12px;outline:0;background:#ffffff;color:var(--ink);padding:0 11px;font:inherit;font-size:12px;font-weight:760}.add-student-submit{border-radius:13px}.add-student-submit:disabled{background:#91a39a;cursor:wait;box-shadow:none}.add-student-status{display:flex;align-items:center;min-height:38px;border-radius:12px;background:#e7f8ee;color:#157f4f;padding:0 11px;font-size:12px;font-weight:850}.add-student-status.error{background:#fff2df;color:#9a5a00}.roster-row{grid-template-columns:minmax(170px,.7fr) minmax(360px,1.1fr) 112px auto;grid-gap:8px;gap:8px;border:1px solid transparent;border-radius:14px;background:#f5f7fb;padding:9px;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.payment-cell,.roster-row{display:grid;align-items:center}.payment-cell{grid-template-columns:132px 86px minmax(120px,1fr) 86px;grid-gap:5px;gap:5px}.method-select,.payment-cell input{width:100%;min-height:30px;border:1px solid rgba(72,88,118,.12);border-radius:10px;outline:0;background:#ffffff;color:var(--ink);padding:0 8px;font:inherit;font-size:11px;font-weight:800}.method-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:#eefaf3;color:#157f4f;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(21,127,79,.12)}.add-method-select{min-height:38px;font-size:12px}.payment-state-buttons{display:grid;grid-gap:0;gap:0;overflow:hidden;border:1px solid rgba(72,88,118,.14);border-radius:13px;background:#ffffff}.receive-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:31px;border:0;border-radius:0;background:#eef5f1;color:#157f4f;padding:0 9px;font-size:10px;font-weight:850;cursor:pointer;transition:transform .15s ease,background .15s ease}.payment-state-buttons .mark-unpaid-button,.payment-state-buttons .receive-button{width:100%;min-height:31px;padding:0 8px}.payment-state-buttons .receive-button{border-bottom:1px solid rgba(72,88,118,.1)}.receive-button.active{background:#157f4f;color:#ffffff}.receive-button:disabled{opacity:.72;cursor:wait}.mark-unpaid-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:31px;border:0;border-radius:0;background:#fff5f3;color:#b42318;padding:0 9px;font-size:10px;font-weight:850;cursor:pointer}.mark-unpaid-button.active{background:#b42318;color:#ffffff}.mark-unpaid-button:disabled{opacity:.72;cursor:wait}.payment-state-select{min-height:31px;border:1px solid rgba(72,88,118,.14);border-radius:13px;padding:0 26px 0 10px;font-size:10px;font-weight:850;cursor:pointer}.payment-state-select.paid{background:#e5f7ea;color:#157f4f}.payment-state-select.danger{background:#fff5f3;color:#b42318}.payment-state-select:disabled{opacity:.72;cursor:wait}.payment-cell span{grid-column:1/-1;margin-top:0;color:var(--muted);font-size:10px}.payment-cell .payment-action-note{color:#157f4f;font-weight:850}.payment-cell .payment-action-note.error{color:#9a5a00}.roster-row:hover{transform:translateY(-1px);background:#ffffff}.roster-row.active{border-color:rgba(52,120,246,.32);background:var(--blue-soft)}.roster-row span,.roster-row strong{display:block}.roster-reference{margin-top:3px;color:#8a94a8;font-size:9px;font-weight:850}.student-status-stack{display:grid;grid-gap:5px;gap:5px;justify-items:stretch}.makeup-cell{justify-self:stretch;min-width:0;border:0;border-radius:12px;background:#eefaf3;color:#167244;padding:6px 8px;text-align:center;cursor:pointer;transition:transform .15s ease,background .15s ease}.makeup-cell:hover{transform:translateY(-1px);background:#dff6e8}.makeup-cell.saving,.makeup-cell:disabled{opacity:.72;cursor:wait;transform:none}.makeup-cell.locked{background:#fff0ed;color:#b42318}.makeup-cell strong{display:block;font-size:15px;line-height:1}.makeup-cell span{display:block;margin-top:3px;color:inherit;font-size:9px;font-weight:850;text-transform:uppercase}.absence-chip{display:grid;min-height:30px;border-radius:11px;background:#eef2f7;color:#647087;padding:5px 7px;text-align:center;font-size:9px;font-weight:900}.absence-chip.active{background:#fff1d4;color:#8a5200}.absence-chip em{margin-top:2px}.absence-chip em,.makeup-cell em{font-size:8px;font-style:normal;font-weight:850}.makeup-cell em{display:block;max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;text-transform:none}.roster-row strong{font-size:13px}.roster-row span{overflow:hidden;margin-top:3px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.roster-actions{display:grid;grid-template-columns:minmax(110px,1fr) auto;justify-content:flex-end;grid-gap:5px;gap:5px;align-items:center}.roster-actions a,.roster-actions button,.roster-move-select{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border:0;border-radius:999px;background:#ffffff;color:var(--ink);padding:0 9px;font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(25,35,55,.08);cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.roster-move-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;max-width:170px;background:#eef2f7;color:#354158}.roster-actions button{background:#1b1f2a;color:#ffffff}.roster-actions .roster-delete-button{background:#fff1ed;color:#b42318;box-shadow:none}.roster-actions .status-pill{grid-column:1/-1;justify-self:stretch;text-align:center}.roster-action-note{grid-column:1/-1;color:#157f4f;font-size:10px;font-weight:850;text-align:right}.roster-action-note.error{color:#b42318}.roster-actions a[aria-disabled=true]{opacity:.38;pointer-events:none}.profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mini-heading p,.profile-head p{margin:0;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.profile-head h3{margin:3px 0 0;font-size:20px;line-height:1.1}.profile-edit-grid,.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.profile-edit-grid{border:1px solid rgba(21,127,79,.14);border-radius:16px;background:#f4fbf7;padding:10px}.profile-edit-grid label{display:grid;grid-gap:5px;gap:5px}.profile-edit-grid em{color:#647087;font-size:11px;font-style:normal;font-weight:850}.profile-edit-grid input{width:100%;min-height:38px;border:1px solid rgba(72,88,118,.12);border-radius:12px;outline:0;background:#ffffff;color:var(--ink);padding:0 10px;font:inherit;font-size:13px;font-weight:760}.profile-edit-grid input:focus{border-color:rgba(21,127,79,.42);box-shadow:0 0 0 4px rgba(21,127,79,.1)}.profile-grid span,.transaction-row{border-radius:12px;background:#ffffff;padding:9px}.profile-grid em,.profile-grid strong,.transaction-row em,.transaction-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-grid em,.transaction-row em{color:var(--muted);font-size:11px;font-style:normal;font-weight:750}.profile-grid strong,.transaction-row strong{margin-top:3px;font-size:13px}.profile-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.profile-actions a,.profile-actions button{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:0;border-radius:999px;background:#ffffff;color:var(--ink);padding:0 11px;font-size:12px;font-weight:820;text-decoration:none;box-shadow:0 8px 20px rgba(25,35,55,.08);cursor:pointer}.profile-actions button{background:#1b1f2a;color:#ffffff}.profile-actions a[aria-disabled=true]{opacity:.38;pointer-events:none}.profile-inline-status{margin-top:8px;border-radius:14px;background:#e7f8ee;color:#157f4f;padding:10px 12px;font-size:12px;font-weight:850}.profile-inline-status.error{background:#fff2df;color:#9a5a00}.transaction-list{margin-top:12px}.mini-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.mini-heading strong{color:#245ecf;font-size:13px}.transaction-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,.36fr);grid-gap:10px;gap:10px;margin-top:7px}.team-panel{margin-top:16px}.team-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.team-task{border-radius:20px;background:#f3f6fb;padding:15px}.task-topline{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:800}.task-topline em{border-radius:999px;background:var(--blue-soft);color:#245ecf;padding:3px 8px;font-style:normal}.team-task h3,.team-task p,.team-task strong{display:block;margin:0}.team-task h3{margin-top:13px;font-size:16px}.team-task strong{margin-top:6px;font-size:14px}.team-task p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.4}.passport-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:16px}.passport-summary div{border-radius:18px;background:rgba(245,246,248,.9);padding:14px}.passport-summary span,.student-row span{display:block;color:var(--muted);font-size:13px}.passport-summary strong,.student-row strong{display:block;margin-top:5px;font-size:14px}.timeline{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.timeline div{display:flex;align-items:center;gap:9px;color:#4d5668;font-size:14px}.timeline span{width:8px;height:8px;border-radius:99px;background:var(--blue)}.passport-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.passport-actions button,.wide-action{background:#1b1f2a;color:#ffffff}.assistant-box{margin-top:16px;border-radius:20px;background:#f4f7ff;padding:16px}.assistant-box p,.assistant-box strong{display:block;margin:0}.assistant-box p{color:var(--muted);font-size:14px}.assistant-box strong{margin-top:7px;line-height:1.35}.wide-action{width:100%;margin-top:14px}.table-panel{margin-top:16px}.table-heading{align-items:center}.table-heading button{min-height:38px}.student-table{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.student-row{display:grid;grid-template-columns:1.2fr 1.2fr .9fr 1.1fr;align-items:center;grid-gap:14px;gap:14px;min-height:72px;border-radius:18px;background:rgba(248,249,252,.95);padding:13px 14px;transition:transform .16s ease,background .16s ease}.student-row:hover{transform:translateY(-1px);background:#ffffff}.row-action{display:flex;align-items:center;justify-content:flex-end;gap:9px}.row-action button{min-height:38px;background:#1b1f2a;color:#ffffff;box-shadow:none}@media (max-width:1040px){.app-shell.sidebar-collapsed .profile-modal-backdrop,.profile-modal-backdrop{inset:0;padding:10px}.profile-modal{width:min(720px,100%)}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-nav-open .mobile-nav-backdrop{position:fixed;inset:0;z-index:35;display:block;border:0;background:rgba(18,28,44,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-nav-open .sidebar{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:40;display:block;height:calc(100svh - max(20px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));border-radius:24px;padding:12px 9px;box-shadow:0 24px 70px rgba(23,38,58,.24)}.mobile-nav-open .sidebar,.mobile-nav-open.sidebar-collapsed .sidebar{width:min(286px,calc(100vw - 20px))}.mobile-nav-open.sidebar-collapsed .brand-row{display:flex;justify-items:legacy}.mobile-nav-open.sidebar-collapsed .brand-copy,.mobile-nav-open.sidebar-collapsed .nav-copy,.mobile-nav-open.sidebar-collapsed .nav-count,.mobile-nav-open.sidebar-collapsed .nav-group p{display:block}.mobile-nav-open.sidebar-collapsed .nav-item{grid-template-columns:26px minmax(0,1fr) auto;justify-items:stretch}.main-workspace{padding:12px 12px 96px}.mobile-menu{display:inline-flex}.mobile-tabs{position:-webkit-sticky;position:sticky;top:68px;z-index:2;display:flex;gap:8px;overflow-x:auto;padding:12px 2px 4px}.mobile-tabs button{min-height:38px;border:0;border-radius:999px;background:rgba(255,255,255,.88);color:var(--muted);padding:0 15px;font-weight:800;white-space:nowrap}.mobile-tabs button.active{background:#1b1f2a;color:white}.class-workbench,.content-grid,.hero-console,.student-row,.student-workspace{grid-template-columns:1fr}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.class-list-panel{position:static;max-height:none}.class-list{max-height:420px}.stat-grid,.team-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-action{justify-content:space-between}}@media (max-width:620px){.top-toolbar{grid-template-columns:auto minmax(0,1fr)}.toolbar-actions{grid-column:1/-1}.toolbar-actions button{flex:1 1}.hero-console{gap:12px;border-radius:22px;padding:16px}.class-edit-grid,.class-metrics,.passport-summary,.profile-edit-grid,.stat-grid,.team-task-grid{grid-template-columns:1fr}.schedule-setup-page{border-radius:20px;padding:12px}.term-pricing-panel{display:grid}.term-pricing-panel button{min-height:44px}.schedule-row{grid-template-columns:1fr 1fr;border-radius:18px;padding:10px}.schedule-row .wide{grid-column:1/-1}.schedule-row input,.schedule-row select{min-height:44px;font-size:15px}.class-edit-grid .wide-field{grid-column:auto}.roster-actions{justify-content:stretch}.roster-heading-actions{width:100%;justify-content:space-between}.roster-heading-actions button{min-height:40px;padding:0 14px}.add-student-panel{grid-template-columns:1fr;border-radius:20px;padding:12px}.add-method-select,.add-student-panel input,.add-student-submit{min-height:46px;font-size:15px}.roster-row{grid-template-columns:1fr 70px;gap:10px;border-radius:18px;padding:12px}.payment-cell{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr;gap:7px;border-top:1px solid rgba(72,88,118,.08);padding-top:10px}.method-select,.payment-cell input,.receive-button{min-height:42px;font-size:13px}.payment-cell span{font-size:11px}.makeup-cell{grid-column:2;grid-row:1;min-width:64px;min-height:48px}.roster-actions{grid-column:1/-1;grid-row:3;grid-template-columns:1fr 1fr}.roster-actions a,.roster-actions button,.roster-move-select{flex:1 1;max-width:none;min-height:40px}.hero-actions{display:flex;overflow-x:auto;padding-bottom:2px}.hero-actions button{flex:0 0 auto;min-width:142px}.hero-console h1{font-size:24px}.hero-copy{font-size:13px}.eyebrow{margin-bottom:6px}.portal-shell{padding:10px}.portal-hero{align-items:flex-start;border-radius:22px;padding:16px}.portal-hero h1{font-size:25px}.portal-grid{grid-template-columns:1fr}.portal-mode-switch{overflow-x:auto}.portal-mode-switch button{flex:0 0 auto}.portal-panel{border-radius:22px;padding:10px}.portal-days{display:flex;overflow-x:auto}.portal-days button{flex:0 0 76px}.portal-class-list,.portal-form-grid{grid-template-columns:1fr}.portal-form-grid input,.portal-form-grid select{grid-column:1/-1}.portal-inline-button{min-height:46px}}.portal-shell{background:radial-gradient(circle at 22% -8%,rgba(45,178,107,.18),transparent 32%),linear-gradient(180deg,#f7faf7,#edf4f0 54%,#e7f0ea);color:#142033;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.portal-hero{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;width:min(1120px,100%);max-width:none;margin:0 auto 8px;border:0;border-radius:0;background:linear-gradient(180deg,rgba(247,250,247,.98),rgba(247,250,247,.82));padding:8px 0;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.portal-brand-mark{display:inline-grid;width:40px;height:40px;place-items:center;border-radius:14px;background:linear-gradient(145deg,#12734a,#2db66d);color:#fff;font-size:15px;font-weight:950;box-shadow:0 10px 24px rgba(20,118,74,.23)}.portal-hero p{margin:0;color:#69758a;font-size:12px;font-weight:850}.portal-hero h1{margin:1px 0 0;max-width:none;color:#142033;font-size:23px;line-height:1.05}.portal-hero a{display:inline-flex;align-items:center;gap:7px;min-height:38px;border-radius:999px;background:rgba(255,255,255,.78);color:#142033;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(47,74,101,.12)}.portal-status-strip{display:grid;grid-gap:7px;gap:7px;width:min(1120px,100%);margin:0 auto 9px}.portal-status-strip span{min-height:54px;border-radius:17px;background:rgba(255,255,255,.7);padding:9px 11px;box-shadow:inset 0 0 0 1px rgba(47,74,101,.1)}.portal-status-strip em,.portal-status-strip strong{display:block}.portal-status-strip strong{color:#142033;font-size:19px;line-height:1}.portal-status-strip em{margin-top:5px;color:#69758a;font-size:12px;font-style:normal;font-weight:820}.portal-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-gap:10px;gap:10px;width:min(1120px,100%);max-width:none;margin:0 auto}.portal-panel{border:1px solid rgba(47,74,101,.12);border-radius:24px;background:rgba(255,255,255,.84);padding:12px;box-shadow:0 18px 48px rgba(27,47,65,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0;gap:0;max-width:none;margin:0 0 10px;border-radius:18px;background:rgba(228,235,232,.9);padding:4px}.portal-mode-switch button{min-height:42px;border:0;border-radius:15px;background:transparent;color:#5d687c;padding:0 10px;font-size:14px;font-weight:900}.portal-mode-switch button.active{background:#fff;color:#14764a;box-shadow:0 6px 16px rgba(24,83,54,.12)}.portal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px;margin-bottom:10px}.portal-days button{min-height:46px;border:0;border-radius:16px;background:rgba(236,241,239,.95);color:#566276;box-shadow:inset 0 0 0 1px rgba(47,74,101,.06)}.portal-days button.active{background:#162235;color:#fff}.portal-days button.active span,.portal-days button.active strong{color:#fff}.portal-class-list{display:grid;grid-gap:7px;gap:7px}.portal-class-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:68px;border:1px solid rgba(47,74,101,.09);border-radius:18px;background:rgba(255,255,255,.76);color:#142033;padding:10px;text-align:left}.portal-class-list button.active{background:#e7f7ee;border-color:rgba(20,118,74,.32);box-shadow:inset 3px 0 0 #28a866}.portal-class-list button.full{cursor:not-allowed;opacity:.54}.portal-class-list button em,.portal-class-list button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-class-list button strong{font-size:15px;font-weight:950}.portal-class-list button em{margin-top:3px;color:#566276;font-size:13px;font-style:normal;font-weight:760}.portal-class-list button b{min-width:30px;border-radius:999px;background:#fff;color:#14764a;padding:7px 8px;text-align:center;font-size:13px}.portal-form{position:-webkit-sticky;position:sticky;top:70px;align-self:start;display:grid;grid-gap:10px;gap:10px}.portal-makeup-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.portal-makeup-flow span{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:14px;background:rgba(232,238,235,.9);color:#69758a;font-size:13px;font-weight:900}.portal-makeup-flow b{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:999px;background:rgba(255,255,255,.82);color:inherit;font-size:12px}.portal-makeup-flow span.active{background:#e2f7ea;color:#14764a;box-shadow:inset 0 0 0 1px rgba(20,118,74,.14)}.portal-selected{border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(239,247,242,.92));padding:13px}.portal-selected h2{margin:8px 0 11px;color:#142033;font-size:22px;line-height:1.12}.portal-selected div{display:flex;flex-wrap:wrap;gap:7px}.portal-selected span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:rgba(255,255,255,.84);color:#566276;padding:7px 9px;font-size:13px;font-weight:830}.portal-form-grid{display:grid;grid-template-columns:1fr 104px;grid-gap:8px;gap:8px}.portal-form-grid input,.portal-form-grid select{min-height:50px;border:1px solid rgba(47,74,101,.1);border-radius:16px;background:rgba(255,255,255,.84);color:#142033;padding:0 13px;font-size:16px;font-weight:760;outline:none;box-shadow:0 1px 0 rgba(255,255,255,.8)}.portal-form-grid input:nth-child(3),.portal-form-grid input:nth-child(4),.portal-form-grid input:nth-child(5),.portal-form-grid select{grid-column:1/-1}.portal-form-grid input:focus,.portal-form-grid select:focus{border-color:rgba(20,118,74,.42);box-shadow:0 0 0 4px rgba(40,168,102,.12)}.portal-inline-button,.portal-submit{min-height:52px;border:0;border-radius:17px;background:linear-gradient(180deg,#1a8c56,#116a42);color:#fff;font-size:16px;font-weight:950;box-shadow:0 12px 24px rgba(17,106,66,.22)}.portal-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px}.portal-inline-button:disabled,.portal-submit:disabled{background:#aeb9b2;box-shadow:none}.portal-class-list button:active,.portal-days button:active,.portal-inline-button:active,.portal-submit:active{transform:scale(.985)}.portal-result{display:grid;grid-gap:6px;gap:6px;border:1px solid rgba(20,118,74,.13);border-radius:18px;background:#eaf8f0;padding:13px}.portal-result strong{color:#142033;font-size:18px;line-height:1.1}.portal-result span{color:#566276;font-size:13px;font-weight:820}.portal-result a{justify-content:center;min-height:42px;margin-top:3px;border-radius:14px}.portal-makeup-pass{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(20,118,74,.16);border-radius:18px;background:#eaf8f0;padding:13px}.portal-makeup-pass span,.portal-makeup-pass strong{display:block}.portal-makeup-pass strong{color:#142033;font-size:18px;line-height:1.1}.portal-makeup-pass span{margin-top:5px;color:#566276;font-size:13px;font-weight:820}.portal-makeup-pass b{border-radius:999px;background:#14764a;color:#fff;padding:8px 10px;font-size:13px}.portal-makeup-tags{display:flex;flex-wrap:wrap;gap:6px}.portal-makeup-tags span{border-radius:999px;background:rgba(255,255,255,.78);color:#566276;padding:7px 10px;font-size:12px;font-weight:880;box-shadow:inset 0 0 0 1px rgba(47,74,101,.1)}.portal-payment-card{display:grid;grid-gap:5px;gap:5px;border:1px solid rgba(18,122,75,.12);border-radius:15px;background:rgba(255,255,255,.78);padding:10px}.portal-payment-card strong{font-size:15px;font-weight:950}.portal-status-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.portal-payment-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.portal-payment-lookup input{min-height:48px;min-width:0;border:1px solid rgba(47,74,101,.1);border-radius:16px;background:rgba(255,255,255,.84);color:#142033;padding:0 13px;font-size:16px;font-weight:760;outline:none}.portal-payment-lookup button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:16px;background:#162235;color:#fff;padding:0 14px;font-size:14px;font-weight:900}.portal-booking-row{border:1px solid rgba(47,74,101,.08);background:rgba(255,255,255,.72)}@media (max-width:820px){.portal-shell{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.portal-brand-mark{width:38px;height:38px;border-radius:13px}.portal-hero h1{font-size:21px}.portal-hero a{min-height:36px;font-size:13px}.portal-status-strip{gap:6px;margin-bottom:8px}.portal-status-strip span{min-height:50px;border-radius:16px;padding:8px 10px}.portal-grid{grid-template-columns:1fr;gap:8px}.portal-panel{border-radius:22px;padding:10px}.portal-form{position:static}.portal-days{display:flex;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.portal-days button{flex:0 0 64px}.portal-class-list{grid-template-columns:1fr;max-height:36svh;overflow:auto;padding-right:1px}.portal-class-list button{min-height:62px}.portal-selected h2{font-size:20px}}@media (max-width:520px){.portal-hero{align-items:flex-start;flex-wrap:wrap;gap:8px}.portal-hero-actions{width:100%;justify-content:flex-start;margin-left:0}.portal-term-pill{min-height:34px;padding:0 11px;font-size:12px}.portal-hero a{width:38px;padding:0;justify-content:center;font-size:0}.portal-hero a.portal-trial-link{width:auto;padding:0 12px;font-size:13px}.portal-status-strip span{min-height:48px;padding:8px}.portal-status-strip strong{font-size:18px}.portal-status-strip em{font-size:11px}.portal-form-grid{grid-template-columns:1fr}.portal-form-grid button,.portal-form-grid input,.portal-form-grid select{grid-column:1/-1;font-size:16px}.portal-payment-lookup{grid-template-columns:1fr}.portal-payment-lookup button{min-height:50px}}.portal-shell{min-height:100svh;background:linear-gradient(180deg,#f5f8f6,#eef5f1 48%,#e7f0eb);padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.portal-grid,.portal-hero,.portal-status-strip{width:min(100%,1680px)}.portal-hero{min-height:58px;margin-bottom:10px;padding:6px 2px}.portal-term-pill{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(180deg,#ff7a1a,#ff5f00);color:#ffffff;padding:0 16px;font-size:13px;font-weight:950;box-shadow:0 12px 24px rgba(255,102,0,.22)}.portal-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;min-width:0}.portal-brand-mark{width:42px;height:42px;border-radius:16px}.portal-hero h1{font-size:clamp(22px,2vw,30px);letter-spacing:0}.portal-hero p{color:#6b7687;text-transform:uppercase;letter-spacing:.04em}.portal-hero a{min-height:42px;background:#ffffff;box-shadow:0 8px 24px rgba(24,42,62,.08),inset 0 0 0 1px rgba(49,73,99,.1)}.portal-hero a.portal-trial-link{background:#142033;color:#ffffff;box-shadow:0 12px 26px rgba(20,32,51,.18)}.portal-panel-title,.portal-workspace-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.portal-workspace-title{width:min(100%,1680px);margin:0 auto 10px}.portal-panel-title span,.portal-workspace-title span{color:#6b7687;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.portal-workspace-title strong{color:#142033;font-size:clamp(22px,2.2vw,34px);line-height:1}.portal-panel-title{margin-bottom:10px}.portal-panel-title strong{color:#142033;font-size:18px;line-height:1}.portal-identity-card,.portal-identity-message,.portal-student-picker{width:min(100%,1680px);margin:0 auto 10px}.portal-identity-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,auto);grid-gap:12px;gap:12px;align-items:center;border:1px solid rgba(20,118,74,.12);border-radius:24px;background:rgba(255,255,255,.9);padding:13px;box-shadow:0 14px 38px rgba(29,49,68,.07)}.portal-identity-card.signed-in{background:#eaf8f0}.portal-identity-card em,.portal-identity-card span,.portal-student-picker span{display:block;color:#6b7687;font-size:12px;font-style:normal;font-weight:850}.portal-identity-card strong,.portal-student-picker strong{display:block;margin-top:3px;color:#142033;font-size:20px;line-height:1.1}.portal-identity-card em{margin-top:5px}.portal-identity-form{display:grid;grid-template-columns:minmax(160px,1fr) auto;grid-gap:8px;gap:8px}.portal-identity-form input{min-height:48px;min-width:0;border:1px solid rgba(47,74,101,.1);border-radius:16px;background:#ffffff;color:#142033;padding:0 13px;font-size:16px;font-weight:760;outline:none}.portal-identity-card>button,.portal-identity-form button,.portal-student-picker button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border:0;border-radius:16px;background:#14764a;color:#ffffff;padding:0 14px;font-size:14px;font-weight:950;cursor:pointer}.portal-identity-card>button{justify-self:end;background:#ffffff;color:#14764a;box-shadow:inset 0 0 0 1px rgba(20,118,74,.18)}.portal-student-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.portal-student-picker button{display:block;min-height:68px;background:#ffffff;color:#142033;text-align:left;box-shadow:inset 0 0 0 1px rgba(47,74,101,.1)}.portal-identity-message{border-radius:16px;background:#fff4dc;color:#8a5200;padding:10px 13px;font-size:13px;font-weight:900}.portal-status-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.portal-status-strip span{min-height:62px;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 10px 28px rgba(30,50,70,.06),inset 0 0 0 1px rgba(51,76,100,.08)}.portal-status-strip strong{font-size:24px}.portal-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.34fr);gap:14px}.portal-panel{border-radius:28px;background:rgba(255,255,255,.9);padding:16px;box-shadow:0 22px 60px rgba(29,49,68,.09)}.portal-mode-switch{border-radius:20px;background:#e7eee9;padding:5px}.portal-mode-switch button{min-height:46px;border-radius:16px}.portal-mode-switch button.active{background:#14764a;color:#ffffff;box-shadow:0 10px 22px rgba(20,118,74,.22)}.portal-days{gap:8px;margin-bottom:12px}.portal-days button{min-height:54px;border-radius:18px;background:#edf3ef;color:#24406d}.portal-days button span{color:#24406d;font-size:18px;font-weight:900;line-height:1}.portal-days button.active{background:#dff4e7;color:#103d2b;box-shadow:inset 0 0 0 2px rgba(20,118,74,.2),0 10px 24px rgba(34,115,77,.12)}.portal-days button.active span,.portal-days button.active strong{color:#116a42}.portal-class-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.portal-class-list button{min-height:78px;border-radius:20px;background:#f9fbfa;padding:12px;box-shadow:inset 0 0 0 1px rgba(49,73,99,.08)}.portal-class-list button.active{background:#e7f8ee;border-color:rgba(20,118,74,.26);box-shadow:inset 0 0 0 2px rgba(20,118,74,.16),inset 4px 0 0 #28a866}.portal-class-list button strong{font-size:16px;overflow:visible;text-overflow:clip}.portal-class-list button em{color:#3f4b5f;font-size:14px}.portal-class-list button b{background:#eaf8f0;color:#116a42;font-weight:950}.portal-class-list button.full b{min-width:46px;background:#f1f5f9;color:#64748b}.portal-form{top:76px;gap:12px}.portal-selected{border-radius:23px;background:#f4faf6;padding:16px;box-shadow:inset 0 0 0 1px rgba(20,118,74,.08)}.portal-selected h2{font-size:clamp(22px,1.8vw,30px)}.portal-form-grid{gap:10px}.portal-form-grid input,.portal-form-grid select,.portal-payment-lookup input{min-height:54px;border-radius:18px;background:#ffffff}.portal-payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.portal-payment-methods button{min-height:54px;border:1px solid rgba(148,163,184,.34);border-radius:18px;background:#ffffff;color:#102033;font:inherit;font-size:16px;font-weight:900;cursor:pointer;transition:transform .12s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.portal-payment-methods button:active{transform:scale(.985)}.portal-payment-methods button.active{border-color:#f97316;background:#fff7ed;color:#9a3412;box-shadow:0 10px 22px rgba(249,115,22,.12)}@media (max-width:430px){.portal-payment-methods{gap:7px}.portal-payment-methods button{min-height:50px;border-radius:16px;padding:0 6px;font-size:13px;line-height:1.05;white-space:normal}}.portal-inline-button,.portal-payment-lookup button,.portal-submit{min-height:54px;border-radius:18px}.portal-booking-row,.portal-makeup-pass,.portal-payment-card,.portal-result,.portal-rule-note{border-radius:20px}@media (min-width:1500px){.portal-grid{grid-template-columns:minmax(0,1fr) 500px}.portal-class-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.portal-grid{grid-template-columns:1fr}.portal-form{position:static}.portal-class-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}}@media (max-width:620px){.portal-shell{background:#eef5f1;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.portal-hero{min-height:52px;margin-bottom:8px}.portal-brand-lockup{gap:8px}.portal-brand-mark{width:38px;height:38px;border-radius:14px}.portal-hero h1{font-size:21px}.portal-status-strip{gap:7px;margin-bottom:8px}.portal-workspace-title{display:grid;grid-gap:3px;gap:3px;margin-bottom:8px}.portal-workspace-title strong{font-size:24px}.portal-identity-card{grid-template-columns:1fr;border-radius:22px}.portal-identity-card>button{justify-self:stretch}.portal-identity-form,.portal-student-picker{grid-template-columns:1fr}.portal-panel-title{margin-bottom:8px}.portal-status-strip span{min-height:52px;border-radius:17px;padding:8px 9px}.portal-status-strip strong{font-size:19px}.portal-panel{border-radius:24px;padding:10px}.portal-mode-switch{position:-webkit-sticky;position:sticky;top:58px;z-index:8;margin-bottom:9px}.portal-mode-switch button{min-height:44px;padding:0 6px;font-size:13px}.portal-days{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scroll-snap-type:x proximity}.portal-days button{flex:0 0 68px;min-height:52px;scroll-snap-align:start}.portal-days button span{font-size:15px}.portal-class-list{grid-template-columns:1fr;gap:8px}.portal-class-list button{min-height:68px}.portal-form-grid,.portal-payment-lookup{grid-template-columns:1fr}.portal-form-grid button,.portal-form-grid input,.portal-form-grid select,.portal-inline-button,.portal-payment-lookup button,.portal-payment-lookup input,.portal-submit{min-height:52px;grid-column:1/-1;font-size:16px}.portal-selected{padding:13px}.portal-selected h2{font-size:21px}}.payments-page{display:grid;grid-gap:12px;gap:12px}.payment-summary-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.payment-summary-strip span{min-width:108px;border:1px solid rgba(18,122,75,.12);border-radius:16px;background:rgba(239,248,243,.86);padding:9px 12px;color:#172033}.payment-summary-strip span.due{border-color:rgba(191,89,46,.22);background:#fff4dd}.payment-summary-strip em,.payment-summary-strip strong{display:block}.payment-summary-strip strong{font-size:18px;line-height:1;font-weight:950}.payment-summary-strip em{margin-top:4px;color:#6d778b;font-size:12px;font-style:normal;font-weight:830}.payment-index-grid{display:grid;grid-gap:9px;gap:9px}.payment-index-row{display:grid;grid-template-columns:minmax(300px,1.5fr) 150px 128px 170px 238px 220px;align-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(28,54,83,.08);border-left:4px solid rgba(18,122,75,.34);border-radius:18px;background:rgba(255,255,255,.78);padding:10px;box-shadow:0 12px 28px rgba(30,46,72,.06)}.payment-index-row.needs-action{border-left-color:#db8752;background:linear-gradient(90deg,rgba(255,247,225,.95),rgba(255,255,255,.82))}.payment-main-cell{display:grid;grid-template-columns:minmax(150px,.95fr) minmax(160px,1fr);grid-gap:10px;gap:10px;border:0;background:transparent;color:inherit;padding:0;text-align:left}.payment-actions-cell a:active,.payment-actions-cell button:active,.payment-main-cell:active,.payment-method-cell button:active{transform:scale(.985)}.payment-class,.payment-money-cell,.payment-person,.payment-ref-cell{display:grid;grid-gap:3px;gap:3px;min-width:0}.payment-class strong,.payment-money-cell strong,.payment-person strong,.payment-ref-cell strong{overflow:hidden;color:#172033;font-size:15px;font-weight:920;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.payment-class em,.payment-money-cell em,.payment-person em,.payment-ref-cell em{overflow:hidden;color:#6d778b;font-size:12px;font-style:normal;font-weight:760;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.payment-money-cell em{color:#b1602f}.payment-class .payment-term{color:#127a4b}.payment-class .payment-term.archived{color:#a65021}.payment-ref-cell strong{color:#245fce}.class-match-select{min-height:38px;min-width:0;border:1px solid rgba(191,89,46,.2);border-radius:14px;background:#fff7e8;color:#9b4c1d;padding:0 10px;font-size:12px;font-weight:900;outline:none}.class-match-select:focus{border-color:rgba(18,122,75,.42);box-shadow:0 0 0 4px rgba(40,168,102,.12)}.payment-method-cell{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:14px;background:#e8edf4;padding:3px}.payment-method-cell button{min-height:35px;border:0;border-radius:12px;background:transparent;color:#66728a;font-size:12px;font-weight:900}.payment-method-cell button.active{background:#dcf7e7;color:#127a4b;box-shadow:inset 0 0 0 1px rgba(18,122,75,.16)}.payment-method-cell button:disabled{opacity:1}.payment-index-note{grid-column:1/-1;min-height:28px;align-content:center;border-radius:11px;background:#eaf8f0;color:#127a4b;padding:0 9px;font-size:11px;font-weight:880}.payment-index-note.error{background:#fff2df;color:#a65021}.payment-actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:7px}.payment-actions-cell a,.payment-actions-cell button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(37,100,214,.14);border-radius:13px;background:rgba(239,246,255,.9);color:#245fce;padding:0 10px;font-size:12px;font-weight:900;text-decoration:none}.payment-actions-cell button{border-color:rgba(191,89,46,.16);background:#fff2df;color:#a65021}.payment-actions-cell button.danger{border-color:rgba(172,43,43,.18);background:#fff1f1;color:#a32c2c}.payment-actions-cell button.mark-unpaid-button{border-color:rgba(172,43,43,.18);background:#fff5f3;color:#b42318}.payment-actions-cell button:disabled{cursor:not-allowed;opacity:.54}.invoices-page{display:grid;grid-gap:12px;gap:12px}.invoice-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.invoice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main actions" "money match";align-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(28,54,83,.08);border-left:4px solid rgba(18,122,75,.32);border-radius:18px;background:rgba(255,255,255,.78);padding:10px;box-shadow:0 12px 28px rgba(30,46,72,.06)}.invoice-card.needs-action{border-left-color:#db8752;background:linear-gradient(90deg,rgba(255,247,225,.95),rgba(255,255,255,.82))}.invoice-card-main{grid-area:main;display:grid;grid-template-columns:minmax(116px,.82fr) minmax(150px,1.18fr);grid-gap:4px 10px;gap:4px 10px;min-width:0;overflow:hidden;border:0;background:transparent;color:inherit;padding:0;text-align:left}.invoice-card-main span:nth-child(3){grid-column:1/-1}.invoice-card-main span,.invoice-card-money{display:grid;grid-gap:3px;gap:3px;min-width:0}.invoice-card-main strong,.invoice-card-money strong{overflow:hidden;color:#172033;font-size:14px;font-weight:930;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.invoice-card-main span:first-child strong{color:#245fce;font-size:15px}.invoice-card-main em,.invoice-card-money em{overflow:hidden;color:#6d778b;font-size:12px;font-style:normal;font-weight:760;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.invoice-card-money{grid-area:money}.invoice-match-select{grid-area:match;width:100%;min-width:132px;justify-self:end}.invoice-card-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:max-content}.invoice-card-actions a,.invoice-card-actions button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(37,100,214,.14);border-radius:13px;background:rgba(239,246,255,.9);color:#245fce;padding:0 10px;font-size:12px;font-weight:900;text-decoration:none}.invoice-card-actions button{border-color:rgba(191,89,46,.16);background:#fff2df;color:#a65021}.invoice-card-actions a:active,.invoice-card-actions button:active,.invoice-card-main:active{transform:scale(.985)}.teams-page{display:grid;grid-gap:12px;gap:12px}.team-boundary-strip{display:flex;align-items:center;gap:9px;border:1px solid rgba(37,100,214,.13);border-radius:16px;background:#eef5ff;color:#24406d;padding:12px 14px;font-size:13px;font-weight:850}.team-ops-list{display:grid;grid-gap:12px;gap:12px}.term-archive-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:8px;gap:8px}.term-archive-tabs button{display:grid;grid-gap:4px;gap:4px;min-height:64px;border:1px solid rgba(28,54,83,.1);border-radius:14px;background:rgba(255,255,255,.86);color:#172033;padding:10px 12px;text-align:left}.term-archive-tabs button.active{border-color:rgba(37,100,214,.28);background:#eef5ff;box-shadow:inset 0 0 0 1px rgba(37,100,214,.08)}.term-archive-tabs strong{font-size:14px;font-weight:930}.term-archive-tabs em{color:#6d778b;font-size:12px;font-style:normal;font-weight:780}.team-ops-card{display:grid;grid-gap:10px;gap:10px;border:1px solid rgba(28,54,83,.08);border-radius:18px;background:rgba(255,255,255,.8);padding:12px;box-shadow:0 14px 30px rgba(30,46,72,.06)}.team-ops-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.team-ops-header p{margin:0 0 3px;color:#6d778b;font-size:12px;font-weight:850}.team-ops-header h3{margin:0;color:#172033;font-size:20px;line-height:1.15}.team-manager-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.team-manager-tools span{display:inline-flex;min-height:34px;align-items:center;gap:6px;border-radius:999px;background:#f1f5fa;color:#43516b;padding:0 10px;font-size:12px;font-weight:900}.team-manager-tools span.warning{background:#fff2df;color:#a65021}.team-roster-table{display:grid;grid-gap:8px;gap:8px}.team-roster-row{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(160px,.9fr) minmax(180px,1fr) minmax(110px,auto);align-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(28,54,83,.08);border-left:4px solid rgba(18,122,75,.32);border-radius:16px;background:rgba(248,250,253,.86);padding:9px;color:inherit;text-align:left;width:100%}.team-roster-row.needs-action{border-left-color:#db8752;background:linear-gradient(90deg,rgba(255,247,225,.95),rgba(248,250,253,.86))}.team-player-main{border:0;background:transparent;color:inherit;padding:0;text-align:left}.team-player-main,.team-roster-row span{display:grid;grid-gap:3px;gap:3px;min-width:0}.team-player-main strong,.team-roster-row span strong{overflow:hidden;color:#172033;font-size:14px;font-weight:930;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.team-player-main em,.team-roster-row span em{overflow:hidden;color:#6d778b;font-size:12px;font-style:normal;font-weight:760;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.team-roster-row span.due strong{color:#a65021}.team-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.team-row-actions a,.team-row-actions button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(37,100,214,.14);border-radius:13px;background:rgba(239,246,255,.9);color:#245fce;padding:0 10px;font-size:12px;font-weight:900;text-decoration:none}.team-row-actions button{border-color:rgba(191,89,46,.16);background:#fff2df;color:#a65021}.team-player-main:active,.team-row-actions a:active,.team-row-actions button:active{transform:scale(.985)}.makeups-page{display:grid;grid-gap:12px;gap:12px}.makeup-index-grid,.makeup-policy-panel{display:grid;grid-gap:9px;gap:9px}.makeup-policy-panel{border:1px solid rgba(18,122,75,.12);border-radius:20px;background:linear-gradient(180deg,rgba(239,248,243,.92),rgba(255,255,255,.82));padding:10px;box-shadow:0 12px 28px rgba(30,46,72,.05)}.makeup-policy-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.makeup-policy-head em,.makeup-policy-head p,.makeup-policy-head strong{display:block;margin:0}.makeup-policy-head p{color:#6d778b;font-size:12px;font-weight:900;text-transform:uppercase}.makeup-policy-head strong{margin-top:2px;color:#172033;font-size:18px;font-weight:950}.makeup-policy-head em{margin-top:3px;color:#647086;font-size:12px;font-style:normal;font-weight:780}.makeup-policy-head div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.makeup-policy-head button,.makeup-rule-toggle{min-height:38px;border:1px solid rgba(18,122,75,.12);border-radius:13px;background:rgba(255,255,255,.82);color:#14764a;padding:0 11px;font-size:12px;font-weight:930}.makeup-policy-head button.primary,.makeup-rule-toggle.active{border-color:rgba(18,122,75,.18);background:#dcf7e7;color:#127a4b}.makeup-policy-head button:disabled{opacity:.55;cursor:wait}.makeup-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;max-height:340px;overflow:auto;padding-right:2px}.makeup-rule-row{display:grid;grid-template-columns:minmax(0,1fr) 78px 88px 54px;grid-gap:7px;gap:7px;align-items:center;border:1px solid rgba(28,54,83,.08);border-left:4px solid #d2dae4;border-radius:15px;background:rgba(255,255,255,.72);padding:8px}.makeup-rule-row.open{border-left-color:#28a866}.makeup-rule-main{min-width:0;border:0;background:transparent;padding:0;text-align:left}.makeup-rule-main em,.makeup-rule-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.makeup-rule-main strong{color:#172033;font-size:13px;font-weight:950}.makeup-rule-main em{margin-top:3px;color:#6d778b;font-size:11px;font-style:normal;font-weight:760}.makeup-rule-row select{min-height:38px;min-width:0;border:1px solid rgba(28,54,83,.1);border-radius:13px;background:rgba(255,255,255,.86);color:#172033;padding:0 8px;font-size:12px;font-weight:880}.makeup-rule-row>span{color:#647086;font-size:12px;font-weight:850;text-align:center}.makeup-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.makeup-view-tabs button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(28,54,83,.08);border-radius:15px;background:rgba(255,255,255,.78);color:#647086;font-size:13px;font-weight:930}.makeup-view-tabs button.active{border-color:rgba(18,122,75,.18);background:#dcf7e7;color:#127a4b}.makeup-view-tabs span{min-width:26px;border-radius:999px;background:rgba(255,255,255,.8);padding:3px 7px;color:inherit;font-size:12px}.makeup-date-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(140px,1.1fr) minmax(80px,.7fr) minmax(160px,1.2fr);grid-gap:7px;gap:7px}.makeup-date-filter button,.makeup-date-filter input{min-width:0;min-height:40px;border:1px solid rgba(28,54,83,.1);border-radius:13px;background:rgba(255,255,255,.84);color:#39455c;font:inherit;font-size:12px;font-weight:900;letter-spacing:0}.makeup-date-filter button.active{border-color:rgba(18,122,75,.2);background:#dcf7e7;color:#127a4b}.makeup-date-filter input{padding:0 10px}.makeup-date-filter-summary{display:inline-flex;min-width:0;min-height:40px;align-items:center;justify-content:center;border:1px solid rgba(18,122,75,.12);border-radius:13px;background:rgba(240,250,244,.78);color:#127a4b;font-size:12px;font-weight:900;text-align:center}.makeup-open-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.makeup-open-class-card{display:grid;grid-gap:8px;gap:8px;border:1px solid rgba(18,122,75,.12);border-left:4px solid #28a866;border-radius:16px;background:rgba(255,255,255,.78);padding:10px}.makeup-open-class-card button{min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.makeup-open-class-card em,.makeup-open-class-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.makeup-open-class-card strong{color:#172033;font-size:14px;font-weight:950}.makeup-open-class-card em{margin-top:3px;color:#6d778b;font-size:12px;font-style:normal;font-weight:780}.makeup-open-class-card div{display:flex;flex-wrap:wrap;gap:6px}.makeup-open-class-card span{border-radius:999px;background:#eef6f1;color:#127a4b;padding:6px 8px;font-size:11px;font-weight:900}.makeup-index-row{display:grid;grid-template-columns:minmax(320px,1fr) 118px 210px 150px;align-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(28,54,83,.08);border-left:4px solid rgba(18,122,75,.34);border-radius:18px;background:rgba(255,255,255,.78);padding:10px;box-shadow:0 12px 28px rgba(30,46,72,.06)}.makeup-index-row.full{border-left-color:#d45a45;background:linear-gradient(90deg,rgba(255,237,232,.95),rgba(255,255,255,.82))}.makeup-index-row.booking-view{grid-template-columns:minmax(320px,1fr) 118px 150px 110px;border-left-color:#28a866}.makeup-main-cell{display:grid;grid-template-columns:minmax(160px,.95fr) minmax(170px,1fr);grid-gap:10px;gap:10px;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.makeup-credit-meter,.makeup-main-cell span{display:grid;grid-gap:3px;gap:3px;min-width:0}.makeup-credit-meter strong,.makeup-main-cell strong{overflow:hidden;color:#172033;font-size:15px;font-weight:930;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.makeup-credit-meter strong{font-size:22px}.makeup-credit-meter em,.makeup-main-cell em{overflow:hidden;color:#6d778b;font-size:12px;font-style:normal;font-weight:760;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.makeup-index-row.full .makeup-credit-meter em{color:#b04734}.makeup-stepper{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:14px;background:#e8edf4;padding:3px}.makeup-stepper button{min-height:38px;border:0;border-radius:12px;background:transparent;color:#66728a;font-size:14px;font-weight:950}.makeup-stepper button.active{background:#dcf7e7;color:#127a4b;box-shadow:inset 0 0 0 1px rgba(18,122,75,.16)}.makeup-stepper.one-action{grid-template-columns:1fr;background:transparent;padding:0}.makeup-stepper.one-action button{border:1px solid rgba(191,89,46,.16);background:#fff2df;color:#a65021}.makeup-stepper button:disabled{opacity:.55;cursor:wait}.makeup-index-row.full .makeup-stepper button.active{background:#ffe1dc;color:#b04734;box-shadow:inset 0 0 0 1px rgba(176,71,52,.16)}.makeup-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#6d778b;font-size:12px;font-weight:850}.makeup-bookings-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;border-top:1px solid rgba(28,54,83,.07);padding-top:8px}.makeup-bookings-strip span{display:grid;grid-template-columns:1fr auto;grid-gap:3px 8px;gap:3px 8px;align-items:center;border:1px solid rgba(18,122,75,.1);border-radius:14px;background:rgba(239,248,243,.78);padding:8px 9px}.makeup-bookings-strip span.cancelled{background:rgba(232,237,244,.76);opacity:.72}.makeup-bookings-strip em,.makeup-bookings-strip strong{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.makeup-bookings-strip strong{color:#172033;font-size:12px;font-weight:920}.makeup-bookings-strip em{color:#6d778b;font-size:11px;font-style:normal;font-weight:760}.makeup-bookings-strip button{grid-row:1/span 2;grid-column:2;min-height:32px;border:1px solid rgba(191,89,46,.16);border-radius:11px;background:#fff2df;color:#a65021;padding:0 9px;font-size:11px;font-weight:900}.makeup-bookings-strip button:active,.makeup-main-cell:active,.makeup-stepper button:active{transform:scale(.985)}.portal-admin-page{display:grid;grid-gap:12px;gap:12px}.portal-publish-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-gap:10px;gap:10px}.portal-publish-card{display:grid;grid-gap:8px;gap:8px;align-content:start;border:1px solid rgba(28,54,83,.08);border-radius:20px;background:rgba(255,255,255,.78);padding:14px;box-shadow:0 12px 28px rgba(30,46,72,.06)}.portal-publish-card.main{grid-template-columns:auto 1fr auto;align-items:center}.portal-admin-logo{width:44px;height:44px;border-radius:15px}.portal-publish-card em,.portal-publish-card span{color:#6d778b;font-size:12px;font-style:normal;font-weight:800}.portal-publish-card strong{overflow-wrap:anywhere;color:#172033;font-size:18px;font-weight:950;line-height:1.15}.portal-publish-card a{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:6px;border-radius:14px;background:#14764a;color:#fff;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none}.portal-class-status-grid{display:grid;grid-gap:8px;gap:8px}.portal-class-status{display:grid;grid-template-columns:minmax(260px,1fr) 110px 110px;align-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(28,54,83,.08);border-left:4px solid rgba(18,122,75,.34);border-radius:17px;background:rgba(255,255,255,.76);padding:10px 12px}.portal-class-status.full{border-left-color:#d45a45;background:linear-gradient(90deg,rgba(255,237,232,.95),rgba(255,255,255,.82))}.portal-class-status span{display:grid;grid-gap:3px;gap:3px;min-width:0}.portal-class-status em,.portal-class-status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-class-status strong{color:#172033;font-size:14px;font-weight:930}.portal-class-status em{color:#6d778b;font-size:12px;font-style:normal;font-weight:760}.portal-publish-card a:active{transform:scale(.985)}.reports-page{display:grid;grid-gap:12px;gap:12px}.report-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.report-export-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.report-export-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid rgba(26,132,83,.2);border-radius:999px;background:#e7f8ee;color:#157246;font-size:12px;font-weight:890;padding:0 12px;text-decoration:none;transition:transform .14s ease,background .14s ease,border-color .14s ease;-webkit-tap-highlight-color:transparent}.report-export-actions a:hover{border-color:rgba(26,132,83,.34);background:#d9f4e5}.report-export-actions a:active{transform:scale(.972)}.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.report-kpi-grid article,.report-panel{border:1px solid rgba(28,54,83,.08);border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 12px 28px rgba(30,46,72,.06)}.report-kpi-grid article{display:grid;grid-gap:7px;gap:7px;padding:14px}.report-kpi-grid article.warm{border-color:rgba(191,89,46,.18);background:#fff6e3}.report-kpi-grid em,.report-kpi-grid span{color:#6d778b;font-size:12px;font-style:normal;font-weight:820}.report-kpi-grid strong{color:#172033;font-size:25px;font-weight:960;line-height:1}.report-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.report-columns,.report-panel{display:grid;grid-gap:10px;gap:10px}.report-panel{padding:12px}.report-class-list,.report-debt-list,.report-method-list{display:grid;grid-gap:7px;gap:7px}.report-class-list article,.report-debt-list button,.report-method-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(28,54,83,.07);border-radius:15px;background:rgba(245,248,252,.72);padding:9px 10px}.report-method-list article{grid-template-columns:minmax(0,1fr) auto auto}.report-debt-list button{border-left:4px solid #db8752;text-align:left}.report-debt-list button:active{transform:scale(.985)}.report-class-list span,.report-debt-list span,.report-method-list span{display:grid;grid-gap:3px;gap:3px;min-width:0}.report-class-list b,.report-class-list strong,.report-debt-list b,.report-debt-list strong,.report-method-list strong{color:#172033;font-size:14px;font-weight:930}.report-class-list b,.report-debt-list b,.report-method-list strong{color:#245fce}.report-class-list em,.report-debt-list em,.report-method-list em{overflow:hidden;color:#6d778b;font-size:12px;font-style:normal;font-weight:760;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1180px){.payment-index-row{grid-template-columns:1fr 148px 116px}.class-match-select,.payment-actions-cell,.payment-method-cell{grid-column:span 1}.invoice-library-grid{grid-template-columns:1fr}.makeup-index-row{grid-template-columns:1fr 92px 160px}.makeup-policy-head{grid-template-columns:1fr}.makeup-policy-head div:last-child{justify-content:stretch}.makeup-policy-head button{flex:1 1}.makeup-rule-grid{grid-template-columns:1fr}.makeup-open-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.makeup-row-meta{grid-column:1/-1;justify-content:flex-start}.portal-publish-grid{grid-template-columns:1fr}.report-columns,.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.reports-page>.table-heading{display:grid;grid-gap:10px;gap:10px}.reports-page>.table-heading h2{max-width:none;font-size:25px;line-height:1.05}.report-heading-actions{width:100%;flex-direction:column;align-items:stretch}.report-export-actions{display:grid;grid-template-columns:1fr}.report-export-actions a{min-height:44px}.payment-summary-strip{justify-content:stretch}.payment-summary-strip span{flex:1 1 96px;min-width:0}.payment-index-row{gap:8px;border-radius:20px;padding:10px}.payment-index-row,.payment-main-cell{grid-template-columns:1fr}.payment-class strong,.payment-money-cell strong,.payment-person strong,.payment-ref-cell strong{white-space:normal}.payment-money-cell,.payment-ref-cell{grid-template-columns:1fr 1fr;align-items:center}.class-match-select{min-height:44px;width:100%;font-size:13px}.payment-money-cell em,.payment-ref-cell em{text-align:right}.payment-method-cell button{min-height:44px;font-size:13px}.payment-actions-cell{justify-content:stretch}.payment-actions-cell .status-pill,.payment-actions-cell a,.payment-actions-cell button{flex:1 1;min-height:44px}.invoice-card,.invoice-card-main{grid-template-columns:1fr}.invoice-card{border-radius:20px}.invoice-card-main strong,.invoice-card-money strong{white-space:normal}.invoice-card-actions{justify-content:stretch}.invoice-card-actions .status-pill,.invoice-card-actions a,.invoice-card-actions button{flex:1 1;min-height:44px}.makeup-index-row,.makeup-main-cell,.makeup-view-tabs{grid-template-columns:1fr}.makeup-date-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.makeup-date-filter input,.makeup-date-filter-summary{grid-column:span 2}.makeup-open-class-grid{grid-template-columns:1fr}.makeup-rule-row{grid-template-columns:1fr 76px}.makeup-rule-row select,.makeup-rule-row>span{grid-column:span 1}.makeup-index-row{border-radius:20px}.makeup-main-cell strong{white-space:normal}.makeup-credit-meter{grid-template-columns:1fr 1fr;align-items:center}.makeup-credit-meter em{text-align:right}.makeup-stepper button{min-height:44px}.makeup-row-meta{justify-content:stretch}.makeup-row-meta span{flex:1 1;min-height:40px;align-content:center;text-align:center}.makeup-bookings-strip{grid-template-columns:1fr}.makeup-bookings-strip span{min-height:48px}.portal-class-status,.portal-publish-card.main{grid-template-columns:1fr}.portal-publish-card a{min-height:46px}.portal-class-status{border-radius:20px}.portal-class-status strong{white-space:normal}.report-columns,.report-kpi-grid{grid-template-columns:1fr}.report-kpi-grid strong{font-size:23px}.report-class-list article,.report-debt-list button,.report-method-list article{grid-template-columns:1fr;border-radius:18px}}.brand-row{position:relative;display:flex;align-items:center;min-height:78px;padding:2px 44px 16px 2px}.brand-mark{width:132px;height:80px;border-radius:0;background:transparent;box-shadow:none}.brand-copy{display:none}.sidebar-toggle{position:absolute;top:18px;right:4px}.sidebar-collapsed .brand-row{min-height:64px;padding:4px 0 12px}.sidebar-collapsed .brand-mark{width:52px;height:46px}.portal-brand-mark{width:86px;height:52px;border-radius:0;background:transparent;box-shadow:none}.portal-hero-actions .portal-trial-link{display:inline-flex}@media (max-width:520px){.portal-hero{display:grid;grid-template-columns:1fr}.portal-hero .portal-brand-lockup{width:100%}.portal-hero .portal-hero-actions{width:100%;justify-content:flex-start;margin-left:0}.portal-hero-actions .portal-trial-link{display:inline-flex;width:auto;padding:0 12px;font-size:13px}}