.zf-login-shell{--zf-card:#fff;--zf-border:#e2d8e8;--zf-text:#2b2030;--zf-muted:#807286;--zf-accent:#7130a0;min-height:100svh;box-sizing:border-box;background:radial-gradient(circle at 50% 0,#edddf4 0,#f8f5fa 55%,#fbf9fc 100%);color:var(--zf-text);padding:max(32px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:center}.zf-login-stack{width:min(100%,440px);display:flex;flex-direction:column;gap:18px}.zf-login-brand{display:flex;align-items:center;gap:12px;margin:0 0 6px;padding:0 4px}.zf-login-shield{width:46px;height:46px;background:#fff url(/yifei-logo.jpeg) 50%/contain no-repeat;border-radius:13px;border:1px solid var(--zf-border);flex:none}.zf-login-brand strong{font-size:22px;letter-spacing:2px}.zf-login-brand small{display:block;font-size:11px;letter-spacing:4px;color:var(--zf-muted);margin-top:4px}.zf-login-card{box-sizing:border-box;min-height:640px;border:1px solid var(--zf-border);border-radius:24px;background:var(--zf-card);padding:30px;display:flex;flex-direction:column;gap:20px;box-shadow:0 16px 44px #24062e0c}.zf-login-heading>span{font-size:12px;font-weight:700;color:var(--zf-accent);letter-spacing:2px}.zf-login-heading h1{font-size:23px;line-height:1.5;margin:10px 0}.zf-login-heading p{font-size:13px;color:var(--zf-muted);line-height:1.65;margin:0;min-height:43px}.zf-login-tabs{display:flex;border-bottom:1px solid var(--zf-border);gap:22px}.zf-login-tabs button{border:0;border-radius:0;padding:9px 0 12px;background:none;color:var(--zf-muted);font-size:14px}.zf-login-tabs button[aria-selected=true]{color:var(--zf-accent);border-bottom:2px solid var(--zf-accent);font-weight:700}.zf-login-card .parent-login-form,.zf-login-form{display:flex;flex:1;flex-direction:column;gap:16px;min-height:0;margin:0}.zf-login-card label{font-size:13px;display:grid;gap:8px;color:var(--zf-muted);margin:0}.zf-login-card input:not([type=checkbox]),.zf-login-card select{background:transparent;color:var(--zf-text);width:100%;box-sizing:border-box;border:1px solid var(--zf-border);border-radius:10px;min-height:44px;padding:11px 12px;font-size:16px}.zf-login-card input:focus-visible{outline:2px solid var(--zf-accent);outline-offset:2px}.zf-login-card .parent-primary-button,.zf-login-card .wecom-login,.zf-login-primary{min-height:46px;display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;border:0;border-radius:11px;background:linear-gradient(105deg,#934dc0,#ba77cd);color:#fff;font-weight:700;text-decoration:none;font-size:15px;gap:10px}.zf-login-submit{margin-top:auto}.zf-wecom-panel{display:flex;align-items:center;flex:1;flex-direction:column;text-align:center;gap:18px;padding-top:20px;color:var(--zf-accent)}.zf-wecom-panel p{color:var(--zf-muted);font-size:14px;line-height:1.8}.zf-wecom-panel .zf-login-submit{width:100%}.zf-login-error,.zf-login-hint{font-size:12px;line-height:1.7;margin:0;color:var(--zf-muted)}.zf-login-error{color:#c65064}.zf-login-help{display:flex;justify-content:center;gap:22px;font-size:12px;color:var(--zf-muted)}.zf-login-help a{color:inherit;text-decoration:none}.zf-login-switch{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:19px 22px;border:1px solid var(--zf-border);background:var(--zf-card);border-radius:16px;text-decoration:none;color:var(--zf-text);gap:12px}.zf-login-switch>span{font-size:12px;color:var(--zf-muted)}.zf-login-switch strong{font-size:14px}.zf-login-switch strong span{margin-left:14px}.zf-login-card .parent-consent-list{display:grid;gap:10px;margin:0}.zf-login-card .parent-consent-list label{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.6}.zf-login-card .parent-consent-list input{accent-color:var(--zf-accent);margin-top:2px;flex:none}.zf-login-card .parent-inline-link,.zf-login-other{border:0;background:none;color:var(--zf-accent);padding:0;font-size:inherit}.zf-login-other{text-align:left;font-size:12px}.zf-login-card .parent-sms-code-row{display:flex;gap:8px}.zf-login-card .parent-sms-code-row input{min-width:0}.zf-login-card .parent-sms-code-row button{flex:none;min-width:88px;color:var(--zf-accent);border:1px solid var(--zf-border);border-radius:10px;background:transparent}.zf-login-stack .app-identity-footer{margin:0;padding:2px;gap:12px;color:var(--zf-muted);font-size:11px}.zf-change-password{margin-block:18px}.zf-change-password form{display:grid;gap:12px;max-width:460px;padding-top:16px}.zf-change-password label{display:grid;gap:6px}.zf-change-password input{border:1px solid var(--line);padding:10px;border-radius:8px;background:var(--panel);color:inherit}:root[data-theme=dark] .zf-login-shell{--zf-card:#1d1720;--zf-border:#46394b;--zf-text:#f3edf6;--zf-muted:#b8adbd;--zf-accent:#c586e3;background:radial-gradient(circle at 50% 0,#2a1733 0,#100c12 48%,#0b080d 100%)}@media(max-width:480px){.zf-login-shell{align-items:flex-start;padding-top:max(30px,env(safe-area-inset-top))}.zf-login-card{padding:24px;min-height:640px}.zf-login-heading h1{font-size:22px}.zf-login-stack{gap:16px}}@media(max-height:780px){.zf-login-shell{align-items:flex-start}.zf-login-card{min-height:620px}}.zf-account-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:start;gap:14px;margin-block:22px}.zf-account-field{display:grid;grid-template-rows:auto var(--ui-control-height,42px);align-content:start;gap:8px;min-width:0;margin:0}.zf-account-field>span{color:var(--muted);font-size:var(--ui-label,13px);line-height:22px}.zf-account-field>.filter-menu>.filter-menu-trigger,.zf-account-field>input,.zf-account-form>button[type=submit]{box-sizing:border-box;height:var(--ui-control-height,42px);min-height:var(--ui-control-height,42px);margin:0;padding:0 12px;border-radius:10px;font-family:inherit;font-size:var(--ui-body,14px);line-height:1.5}.zf-account-field>input{width:100%;min-width:0;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.zf-account-field>input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.zf-account-form>button[type=submit]{grid-column:5;grid-row:1;align-self:end;white-space:nowrap;padding-inline:18px}.zf-account-parent-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}.zf-account-parent-fields fieldset{grid-column:1/-1;min-width:0;margin:0;border:1px solid var(--line);border-radius:10px;padding:16px}.zf-account-parent-fields small{display:block;margin-top:12px;color:var(--muted)}.zf-account-reset{grid-column:1/-1;margin:0}.zf-account-reset button{margin-left:12px}.zf-account-form.is-reset>button[type=submit]{grid-column:auto;grid-row:auto;justify-self:start}.zf-account-students{max-height:200px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.zf-account-students label{display:flex;align-items:center;gap:8px}.zf-account-table{overflow:auto}.zf-account-table table{width:100%;text-align:left;border-collapse:collapse}.zf-account-table td,.zf-account-table th{padding:12px;border-bottom:1px solid var(--line)}.zf-account-table button{margin:3px}.zf-account-manager .secondary-button{box-sizing:border-box;min-height:var(--ui-control-height,42px);padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-family:inherit;font-size:var(--ui-body,14px);line-height:1.5;cursor:pointer}.zf-account-table table{min-width:640px}.zf-account-table button,.zf-account-table th{white-space:nowrap}.zf-login-card .parent-login-form>.parent-primary-button{margin-top:auto;min-height:46px;font-size:15px}.zf-login-help{min-height:20px;align-items:center}.password-account-panel{margin-block:24px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.password-account-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-block:18px}.password-account-fields label{display:grid;gap:8px}.password-account-fields input{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}.password-account-panel>.checkbox-row{display:flex;align-items:flex-start;gap:8px;margin-block:20px}.setup-review-card,.zf-account-manager{margin-top:22px}.setup-review-card>.secondary-button{margin-top:18px}.setup-review-card form{margin-block:20px}.setup-review-card>.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin-block:18px;font-size:13px;line-height:1.6}.setup-review-card .muted{color:var(--muted);font-size:13px}.password-account-fields input{box-sizing:border-box;min-height:44px;font:inherit;line-height:1.5}.zf-account-table{font-size:13px}.zf-account-table .zf-account-empty{text-align:center;color:var(--muted);padding:28px 14px;line-height:1.6}.zf-account-manager>p{margin-top:16px;font-size:13px;line-height:1.6;color:var(--muted)}@media(max-width:1179px){.zf-account-form{grid-template-columns:repeat(2,minmax(0,1fr))}.zf-account-form>button[type=submit]{grid-column:1/-1;grid-row:auto;justify-self:start}}@media(max-width:767px){.zf-account-form,.zf-account-parent-fields{grid-template-columns:1fr}.zf-account-form>button[type=submit]{width:100%}.password-account-fields input,.zf-account-field>input{font-size:16px}.zf-login-shell{min-height:100svh;min-height:100dvh;align-items:center;padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.zf-login-stack{gap:clamp(8px,1.2svh,14px)}.zf-login-brand{gap:10px;margin:0}.zf-login-shield{width:36px;height:36px;border-radius:10px}.zf-login-brand strong{font-size:19px}.zf-login-brand small{font-size:10px;margin-top:2px}.zf-login-card{min-height:0;padding:clamp(14px,2.4svh,22px);gap:clamp(8px,1.2svh,14px);border-radius:20px}.zf-login-heading h1{font-size:20px;margin:5px 0;line-height:1.4}.zf-login-heading p{min-height:0;font-size:12px;line-height:1.5}.zf-login-tabs{gap:20px}.zf-login-tabs button{padding:10px 0;min-height:44px}.zf-login-card .parent-login-form,.zf-login-form{gap:clamp(8px,1.2svh,14px)}.zf-login-card label{gap:5px}.zf-login-card input:not([type=checkbox]),.zf-login-card select{padding:9px 11px}.zf-login-card .parent-consent-list{gap:8px}.zf-login-card .parent-consent-list label{line-height:1.5;font-size:11px}.zf-login-help{gap:14px;min-height:28px;flex-wrap:wrap}}@media(max-width:767px){.zf-login-help :is(a,button){padding-block:6px}.zf-login-switch{padding:12px 16px;min-height:46px}.zf-login-stack .app-identity-footer{gap:8px;line-height:1.5}.zf-wecom-panel{padding-top:4px;gap:12px}.zf-wecom-panel p{margin:0}.zf-wecom-panel>svg{width:40px;height:40px}}@media(max-width:767px) and (max-height:560px){.zf-login-shell{align-items:flex-start}.zf-login-stack{gap:8px}.zf-login-card{padding:14px;gap:8px}}.zf-login-shell .zf-login-card .parent-consent-list span{font:inherit;line-height:inherit}.zf-login-shell .zf-login-card .parent-login-form>label>span{font-size:13px;color:var(--zf-muted)}.zf-login-shell .parent-sms-code-row button,.zf-login-shell .zf-login-card .parent-login-form input:not([type=checkbox]),.zf-login-shell .zf-login-card .parent-login-form select{height:44px;min-height:44px;box-sizing:border-box}.zf-login-shell .parent-consent-list label{padding:0;background:transparent}.setup-unit-budget{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.setup-unit-budget>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.setup-unit-budget h3{margin:0;font-size:var(--ui-section-title,18px);color:var(--ink)}.setup-unit-budget-hint,.setup-unit-budget>header p{margin:8px 0 0;color:var(--muted);font-size:var(--ui-helper,13px);line-height:1.65}.setup-unit-budget>header>button{flex:none}.setup-unit-budget form{margin-top:18px}.setup-unit-budget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.setup-unit-budget-field{display:grid;grid-template-rows:auto var(--ui-control-height,42px);gap:8px;min-width:0}.setup-unit-budget-field>label,.setup-unit-budget-field>span{color:var(--muted);font-size:var(--ui-label,13px);line-height:22px;margin:0}.setup-unit-budget-field>input{height:var(--ui-control-height,42px);min-height:var(--ui-control-height,42px);box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-family:inherit;font-size:var(--ui-body,14px);line-height:1.5}.setup-unit-budget-field>input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.setup-unit-budget-value{display:flex;align-items:center;gap:12px;min-width:0;margin:0;color:var(--ink);font-size:var(--ui-body,14px);overflow-wrap:anywhere}.setup-unit-budget-value small{color:var(--muted);font-size:var(--ui-helper,13px)}.setup-unit-budget-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.setup-unit-budget-actions>button,.setup-unit-budget>header>button{height:var(--ui-control-height,42px);min-height:var(--ui-control-height,42px);box-sizing:border-box;padding:0 14px;line-height:1.5;border-radius:10px}.setup-unit-budget .secondary-button{border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:inherit;font-size:var(--ui-body,14px);cursor:pointer}.setup-unit-budget button:disabled{cursor:default;opacity:.55}@media(max-width:767px){.setup-unit-budget>header{flex-direction:column}.setup-unit-budget-fields{grid-template-columns:1fr}.setup-unit-budget-field>input{font-size:16px}.setup-unit-budget-actions{justify-content:flex-start}}