.login-layout[data-v-2e906029]{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr;background:#fff}.login-art[data-v-2e906029]{position:relative;background:#f1e9f8;min-height:100vh;overflow:hidden;padding:50px 56px}.login-brand[data-v-2e906029]{display:flex;gap:13px;align-items:center;position:relative;z-index:2}.login-brand img[data-v-2e906029]{width:42px;height:45px;object-fit:contain}.login-brand>span[data-v-2e906029]{font-size:21px;letter-spacing:2px;font-weight:650}.login-brand span span[data-v-2e906029]{display:block;font-size:9px;letter-spacing:2.8px;color:var(--accent);font-weight:400}.login-art-copy[data-v-2e906029]{position:relative;z-index:2;margin-top:90px;pointer-events:none}.login-art-copy h1[data-v-2e906029]{font-family:STKaiti,KaiTi,Songti SC,serif;font-size:48px;line-height:1.5;font-weight:500;margin-top:22px}.login-art-copy p[data-v-2e906029]{font-size:13px;line-height:2;color:#8b749d;margin-top:20px}.login-illustration[data-v-2e906029]{position:absolute;width:170%;max-width:none;height:65%;object-fit:cover;object-position:right bottom;right:-12%;bottom:25px;mix-blend-mode:multiply}.login-art-footer[data-v-2e906029]{position:absolute;bottom:33px;left:56px;font-size:8px;letter-spacing:2.3px;color:#9c87ad}.login-form-side[data-v-2e906029]{position:relative;display:flex;justify-content:center;align-items:center;padding:70px 50px}.login-form-wrap[data-v-2e906029]{width:340px;max-width:100%}.login-form-wrap h2[data-v-2e906029]{font-size:29px;letter-spacing:1px;margin-top:13px;font-weight:600}.login-intro[data-v-2e906029]{font-size:12px;color:var(--muted);margin-top:12px;margin-bottom:38px}.login-password[data-v-2e906029]{margin-top:23px;margin-bottom:23px}.password-wrap[data-v-2e906029]{position:relative}.password-wrap input[data-v-2e906029]{padding-right:45px}.password-wrap button[data-v-2e906029]{position:absolute;right:6px;top:5px}.field input[data-v-2e906029]{min-height:46px}.login-submit[data-v-2e906029]{width:100%;min-height:46px;justify-content:space-between;margin-top:8px;padding-inline:19px}.login-note[data-v-2e906029]{display:flex;justify-content:center;gap:7px;align-items:center;color:#9a8aa8;font-size:10px;margin-top:20px}.login-help[data-v-2e906029]{border-top:1px solid var(--line);padding-top:24px;margin-top:35px;font-size:10px;color:#a797b2;text-align:center}.login-copyright[data-v-2e906029]{position:absolute;bottom:28px;font-size:9px;letter-spacing:1.4px;color:#b2a6bb}.error-notice[data-v-2e906029]{font-size:11px}@media(max-width:900px){.login-art[data-v-2e906029]{padding:35px}.login-art-copy h1[data-v-2e906029]{font-size:37px}.login-art-copy[data-v-2e906029]{margin-top:95px}.login-illustration[data-v-2e906029]{width:220%;right:-10%}.login-form-side[data-v-2e906029]{padding-inline:35px}.login-art-footer[data-v-2e906029]{left:35px;font-size:7px}}@media(max-width:650px){.login-layout[data-v-2e906029]{grid-template-columns:1fr}.login-art[data-v-2e906029]{min-height:270px;padding:25px}.login-brand>span[data-v-2e906029]{font-size:16px}.login-brand img[data-v-2e906029]{width:32px;height:35px}.login-brand span span[data-v-2e906029]{font-size:7px}.login-art-copy[data-v-2e906029]{margin-top:24px}.login-art-copy h1[data-v-2e906029]{font-size:27px;margin-top:7px}.login-art-copy .eyebrow[data-v-2e906029]{font-size:7px}.login-art-copy p[data-v-2e906029],.login-art-footer[data-v-2e906029]{display:none}.login-illustration[data-v-2e906029]{width:115%;height:90%;right:-40%;bottom:0}.login-form-side[data-v-2e906029]{padding:40px 28px 70px;min-height:calc(100vh - 270px)}.login-form-wrap[data-v-2e906029]{width:380px}.login-form-wrap h2[data-v-2e906029]{font-size:25px}.login-intro[data-v-2e906029]{margin-bottom:28px}.login-copyright[data-v-2e906029]{font-size:7px;bottom:20px}.login-help[data-v-2e906029]{margin-top:25px;padding-top:20px}}.dashboard-view .skeleton[data-v-04ba9dbc]{min-height:0}.dashboard-view .panel+.panel[data-v-04ba9dbc]{margin-top:0}.dashboard-view .studio-note[data-v-04ba9dbc]{background:transparent;border:0;border-radius:0;margin:0}.dashboard-view .hero-art[data-v-04ba9dbc]{object-fit:contain;object-position:right center}.dashboard-view .studio-hero[data-v-04ba9dbc]{background:#f8f3fc}.dashboard-view[data-v-04ba9dbc]{--studio-purple:#7247a8;--studio-ink:#3e2c51;--studio-muted:#998ba5;--studio-line:#eee6f3}.dashboard-eyebrow[data-v-04ba9dbc]{font-size:10px;letter-spacing:1.6px;color:#9d88b1;margin:0 0 10px}.heading-tools[data-v-04ba9dbc]{display:flex;align-items:center;gap:13px}.today-label[data-v-04ba9dbc]{display:flex;align-items:center;gap:8px;font-size:12px;color:#887295;white-space:nowrap}.refresh-button[data-v-04ba9dbc]{padding:8px 11px!important}.studio-hero[data-v-04ba9dbc]{position:relative;min-height:262px;overflow:hidden;border:1px solid #eadcf3;border-radius:19px;background:#f5edf9;margin-bottom:24px}.hero-art[data-v-04ba9dbc]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy[data-v-04ba9dbc]{position:relative;z-index:1;width:58%;padding:30px 36px 27px;background:linear-gradient(90deg,#f7f2fbfa,#f7f2fbd1 65%,#f7f2fb00)}.hero-eyebrow[data-v-04ba9dbc]{font-size:11px;color:#9274aa;letter-spacing:3px}.hero-copy h2[data-v-04ba9dbc]{font-size:29px;font-weight:600;line-height:1.48;letter-spacing:2px;margin:10px 0 9px;color:#68438e}.hero-copy p[data-v-04ba9dbc]{font-size:12px;color:#9b83ab;margin:0 0 20px;line-height:1.7}.hero-copy .button[data-v-04ba9dbc]{min-height:36px;padding:9px 17px;font-size:12px;box-shadow:0 5px 13px #7247a819}.hero-signature[data-v-04ba9dbc]{position:absolute;bottom:21px;right:24px;font-size:8px;letter-spacing:2px;color:#9b7fb1}.dashboard-stats[data-v-04ba9dbc]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 25px}.dashboard-stat[data-v-04ba9dbc]{display:flex;align-items:flex-start;gap:15px;text-align:left;border:1px solid var(--studio-line);border-radius:14px;padding:20px 19px;background:#fff;min-width:0;color:inherit;font:inherit}.stat-link[data-v-04ba9dbc]{cursor:pointer;transition:transform .2s,border-color .2s}.stat-link[data-v-04ba9dbc]:hover{border-color:#d4bae9;transform:translateY(-2px)}.metric-icon[data-v-04ba9dbc]{display:flex;align-items:center;justify-content:center;flex:none;width:43px;height:43px;border-radius:12px;background:#f2eaf9;margin-top:2px}.metric-icon.pink[data-v-04ba9dbc]{background:#fcf0f6}.metric-label[data-v-04ba9dbc]{font-size:12px;color:#766783;display:block;margin-bottom:8px}.dashboard-stat p[data-v-04ba9dbc]{display:flex;align-items:baseline;gap:7px;margin:0 0 7px;line-height:1}.dashboard-stat p strong[data-v-04ba9dbc]{font-size:28px;letter-spacing:-.7px;color:#4f3669;font-weight:600;font-variant-numeric:tabular-nums}.dashboard-stat p span[data-v-04ba9dbc]{font-size:10px;color:#a08bac}.dashboard-stat small[data-v-04ba9dbc]{font-size:11px;white-space:normal;color:#85718f}.dashboard-stat small span[data-v-04ba9dbc]{margin-left:5px;color:#a27ac1}.metric-skeleton[data-v-04ba9dbc]{height:28px;width:66px;margin-bottom:8px}.dashboard-columns[data-v-04ba9dbc]{display:grid;grid-template-columns:minmax(0,1fr) 309px;gap:23px;align-items:start}.dashboard-main[data-v-04ba9dbc],.dashboard-aside[data-v-04ba9dbc]{display:flex;flex-direction:column;gap:23px;min-width:0}.dashboard-view .panel[data-v-04ba9dbc]{border:1px solid var(--studio-line);border-radius:15px;background:#fff;overflow:hidden}.dashboard-view .panel-head[data-v-04ba9dbc]{padding:22px 23px 19px;display:flex;align-items:center;justify-content:space-between;gap:14px}.dashboard-view .panel-head h2[data-v-04ba9dbc]{font-size:15px;font-weight:600;margin:0;color:#513b67;display:flex;align-items:center;gap:9px}.dashboard-view .panel-head p[data-v-04ba9dbc]{font-size:11px;margin:6px 0 0;color:#85718f}.panel-link[data-v-04ba9dbc]{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.section-count[data-v-04ba9dbc]{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;min-width:22px;padding:3px 6px;background:#f3edf9;color:#9b77b9;font-size:10px;font-weight:500}.classroom-table th[data-v-04ba9dbc]{font-size:10px!important;padding:12px 22px!important;background:#fcf9fe;color:#a492af!important;font-weight:400!important}.classroom-table td[data-v-04ba9dbc]{padding:19px 22px!important;font-size:11px;white-space:nowrap}.lesson-name[data-v-04ba9dbc]{display:flex;align-items:center;gap:11px}.lesson-icon[data-v-04ba9dbc]{display:flex;align-items:center;justify-content:center;width:34px;height:36px;flex:none;border:1px solid #f0e5f7;background:#f9f4fc;border-radius:9px}.lesson-name strong[data-v-04ba9dbc]{display:block;font-size:12px;font-weight:500;color:#5b426d}.lesson-name div>span[data-v-04ba9dbc]{display:block;font-size:10px;color:#ad9ab8;margin-top:5px}.roster-count[data-v-04ba9dbc]{color:#765e8b;font-size:12px}.classroom-table .subtle[data-v-04ba9dbc]{font-size:10px}.align-right[data-v-04ba9dbc]{text-align:right!important}.row-action[data-v-04ba9dbc]{display:inline-flex;align-items:center;gap:5px;font-size:10px!important}.classroom-table .badge[data-v-04ba9dbc]{font-size:9px;padding:5px 9px}.status-dot[data-v-04ba9dbc]{width:4px;height:4px;background:currentColor;border-radius:50%}.classroom-footer[data-v-04ba9dbc]{display:flex;align-items:center;gap:7px;padding:13px 22px;border-top:1px solid #f2eaf7;font-size:9px;color:#b19eba;background:#fefcfe}.classroom-loading[data-v-04ba9dbc]{padding:5px 23px 25px;display:grid;gap:13px}.classroom-skeleton[data-v-04ba9dbc]{height:58px;width:100%;border-radius:9px}.metadata-notice[data-v-04ba9dbc]{padding:0 22px;font-size:10px;color:#a478a2}.tiny-label[data-v-04ba9dbc]{font-size:8px;color:#bdaac8;letter-spacing:1.5px}.quick-grid[data-v-04ba9dbc]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 23px 23px}.quick-action[data-v-04ba9dbc]{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;border:1px solid #eee6f4;border-radius:11px;background:#fefcfe;padding:16px 13px 17px;font:inherit;cursor:pointer;min-width:0;transition:background .2s,border-color .2s}.quick-action[data-v-04ba9dbc]:hover{background:#f8f2fc;border-color:#d4bae9}.quick-icon[data-v-04ba9dbc]{width:39px;height:39px;border-radius:10px;background:#f0e7f8;display:flex;align-items:center;justify-content:center;margin-bottom:5px}.quick-icon.pink[data-v-04ba9dbc]{background:#fbedf5}.quick-action strong[data-v-04ba9dbc]{font-size:13px;font-weight:500;color:#664a7d}.quick-action>span[data-v-04ba9dbc]:not(.quick-icon){font-size:11px;white-space:normal;color:#85718f}.quick-chevron[data-v-04ba9dbc]{position:absolute;right:11px;top:20px;opacity:.45}.studio-note[data-v-04ba9dbc]{display:flex;align-items:center;justify-content:center;gap:12px;color:#bca9c9;font-size:10px;letter-spacing:1px;padding:7px 15px}.note-line[data-v-04ba9dbc]{height:1px;max-width:50px;flex:1;background:#e9dfee}.dashboard-view .calendar-panel .panel-head[data-v-04ba9dbc]{padding:22px 20px 17px}.calendar-today[data-v-04ba9dbc]{background:#faf6fd;border:1px solid #e9dcf3;border-radius:5px;font-size:9px;color:#9a77b7;padding:5px 7px;cursor:pointer}.calendar-navigation[data-v-04ba9dbc]{display:flex;align-items:center;justify-content:space-between;padding:0 22px 16px}.calendar-navigation strong[data-v-04ba9dbc]{font-size:12px;font-weight:500;color:#6b4c85}.calendar-navigation>div[data-v-04ba9dbc]{display:flex;gap:4px}.calendar-arrow[data-v-04ba9dbc]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;border-radius:4px;padding:3px}.calendar-arrow[data-v-04ba9dbc]:hover{background:#f5eefb}.calendar-arrow.previous img[data-v-04ba9dbc]{transform:rotate(180deg)}.calendar-weekdays[data-v-04ba9dbc],.calendar-days[data-v-04ba9dbc]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 17px}.calendar-weekdays[data-v-04ba9dbc]{padding-bottom:9px;font-size:11px;color:#85718f;text-align:center}.calendar-days[data-v-04ba9dbc]{gap:3px 1px}.calendar-day[data-v-04ba9dbc],.calendar-blank[data-v-04ba9dbc]{height:31px;width:31px;margin:auto}.calendar-day[data-v-04ba9dbc]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:8px;font-size:12px;color:#766783;font-family:inherit;font-variant-numeric:tabular-nums}.calendar-day[data-v-04ba9dbc]:hover{background:#f4ebfa}.calendar-day.today[data-v-04ba9dbc]{border-color:#dbc6eb;color:#7247a8}.calendar-day.selected[data-v-04ba9dbc]{background:#8052ae;color:#fff;border-color:#8052ae;box-shadow:0 3px 8px #7247a825}.calendar-day i[data-v-04ba9dbc]{position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:#b495cd}.calendar-day.selected i[data-v-04ba9dbc]{background:#fff}.calendar-legend[data-v-04ba9dbc]{border-top:1px solid #f1e9f6;padding:15px 21px;margin-top:16px;display:flex;justify-content:space-between;font-size:9px;color:#b09abd}.calendar-legend>span[data-v-04ba9dbc]{display:flex;align-items:center;gap:6px}.calendar-legend i[data-v-04ba9dbc]{width:4px;height:4px;display:inline-block;background:#b495cd;border-radius:50%}.pink-count[data-v-04ba9dbc]{background:#faedf5;color:#bc7ca6}.dashboard-view .warning-panel .panel-head[data-v-04ba9dbc]{padding:22px 20px 15px}.warning-list[data-v-04ba9dbc]{padding:0 20px}.warning-student[data-v-04ba9dbc]{display:flex;align-items:center;gap:9px;border-bottom:1px solid #f2eaf6;padding:14px 0}.warning-student[data-v-04ba9dbc]:last-child{border-bottom:0}.student-initial[data-v-04ba9dbc]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex:none;font-size:11px;color:#ab7fbb;background:#f4eaf9;border:3px solid #fcf9fe}.warning-student:nth-child(2n) .student-initial[data-v-04ba9dbc]{color:#b07b9e;background:#faedf3}.warning-student-copy[data-v-04ba9dbc]{min-width:0;flex:1}.warning-student-copy strong[data-v-04ba9dbc]{display:block;font-size:12px;color:#6b517d;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warning-student-copy>span[data-v-04ba9dbc]{display:block;font-size:11px;color:#85718f;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warning-balance[data-v-04ba9dbc]{display:flex;align-items:flex-end;flex-direction:column;gap:5px;flex:none}.warning-balance>span[data-v-04ba9dbc]{font-size:15px;color:#9670af;line-height:1}.warning-balance small[data-v-04ba9dbc]{font-size:9px;color:#b69bc8;font-weight:400}.warning-balance>span.exhausted[data-v-04ba9dbc]{color:#bf7eaa}.warning-balance .text-button[data-v-04ba9dbc]{font-size:11px;display:flex;align-items:center;gap:2px}.warning-all[data-v-04ba9dbc]{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 40px);margin:8px 20px 18px;padding:10px;border:1px solid #eadcf4;border-radius:7px;background:#faf6fd;color:#a480ba;font-family:inherit;font-size:10px;cursor:pointer}.warning-all[data-v-04ba9dbc]:hover{background:#f1e5f9}.warning-loading[data-v-04ba9dbc]{padding:0 20px 20px;display:grid;gap:12px}.warning-skeleton[data-v-04ba9dbc]{height:47px;border-radius:8px}.warning-unavailable[data-v-04ba9dbc]{font-size:11px;color:#a38cad;padding:0 20px 20px;line-height:1.7}.dashboard-view[data-v-04ba9dbc] .empty-state.compact{padding:23px 18px 28px}.dashboard-view[data-v-04ba9dbc] .empty-state.compact>.empty-illustration{height:77px;width:90px;object-fit:contain}.dashboard-view[data-v-04ba9dbc] .empty-state.compact h3{font-size:12px}.dashboard-view[data-v-04ba9dbc] .empty-state.compact p{font-size:10px}.dashboard-view[data-v-04ba9dbc] .empty-state .button{margin-top:7px}.dashboard-view[data-v-04ba9dbc] .error-notice{margin:0 0 18px}.classroom-panel[data-v-04ba9dbc] .error-notice{margin:0 20px 20px}@media(min-width:1450px){.studio-hero[data-v-04ba9dbc]{min-height:294px}.hero-copy[data-v-04ba9dbc]{padding:34px 43px 31px}.hero-copy h2[data-v-04ba9dbc]{font-size:33px}.dashboard-columns[data-v-04ba9dbc]{grid-template-columns:minmax(0,1fr) 334px}.calendar-day[data-v-04ba9dbc],.calendar-blank[data-v-04ba9dbc]{width:34px;height:34px}.dashboard-stat[data-v-04ba9dbc]{padding:23px}.dashboard-stat p strong[data-v-04ba9dbc]{font-size:32px}}@media(max-width:1180px){.dashboard-stat[data-v-04ba9dbc]{padding:17px 14px;gap:10px}.metric-icon[data-v-04ba9dbc]{width:36px;height:36px;border-radius:10px}.dashboard-stat small[data-v-04ba9dbc]{font-size:10px}.dashboard-columns[data-v-04ba9dbc]{gap:17px;grid-template-columns:minmax(0,1fr) 285px}.dashboard-main[data-v-04ba9dbc],.dashboard-aside[data-v-04ba9dbc]{gap:17px}.quick-grid[data-v-04ba9dbc]{gap:8px;padding:0 17px 20px}.quick-action[data-v-04ba9dbc]{padding:13px 10px}.quick-action>span[data-v-04ba9dbc]:not(.quick-icon){font-size:10px}.classroom-table th[data-v-04ba9dbc],.classroom-table td[data-v-04ba9dbc]{padding-left:16px!important;padding-right:16px!important}.today-label[data-v-04ba9dbc]{font-size:10px}.calendar-day[data-v-04ba9dbc],.calendar-blank[data-v-04ba9dbc]{width:29px;height:29px}}@media(max-width:980px){.dashboard-stats[data-v-04ba9dbc]{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns[data-v-04ba9dbc]{grid-template-columns:minmax(0,1fr)}.dashboard-aside[data-v-04ba9dbc]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.hero-copy[data-v-04ba9dbc]{width:65%;padding-left:27px}.hero-copy h2[data-v-04ba9dbc]{font-size:27px}.studio-hero[data-v-04ba9dbc]{min-height:252px}.calendar-day[data-v-04ba9dbc],.calendar-blank[data-v-04ba9dbc]{width:34px;height:34px}.studio-note[data-v-04ba9dbc]{display:none}.dashboard-main[data-v-04ba9dbc]{gap:20px}.quick-grid[data-v-04ba9dbc]{padding:0 23px 23px;gap:12px}}@media(max-width:600px){.heading-tools[data-v-04ba9dbc]{flex-direction:column;align-items:flex-end;gap:8px}.today-label[data-v-04ba9dbc]{font-size:9px;gap:4px}.refresh-button span[data-v-04ba9dbc]{display:none}.dashboard-eyebrow[data-v-04ba9dbc]{font-size:8px}.studio-hero[data-v-04ba9dbc]{min-height:247px}.hero-copy[data-v-04ba9dbc]{width:80%;padding:24px 20px;background:linear-gradient(90deg,rgba(247,242,251,.98),rgba(247,242,251,.86) 65%,transparent)}.hero-copy h2[data-v-04ba9dbc]{font-size:25px}.hero-copy p[data-v-04ba9dbc]{font-size:10px;max-width:190px}.hero-signature[data-v-04ba9dbc]{display:none}.hero-art[data-v-04ba9dbc]{object-position:62% center}.dashboard-stats[data-v-04ba9dbc]{gap:10px;margin-bottom:18px}.dashboard-stat[data-v-04ba9dbc]{padding:14px 12px;gap:9px}.metric-icon[data-v-04ba9dbc]{width:31px;height:31px}.metric-icon img[data-v-04ba9dbc]{width:18px;height:18px}.dashboard-stat p strong[data-v-04ba9dbc]{font-size:25px}.dashboard-stat small[data-v-04ba9dbc]{font-size:8px}.dashboard-stat p span[data-v-04ba9dbc]{font-size:9px}.metric-label[data-v-04ba9dbc]{font-size:10px}.dashboard-aside[data-v-04ba9dbc]{grid-template-columns:minmax(0,1fr)}.dashboard-view .panel-head[data-v-04ba9dbc]{padding:19px 17px}.quick-grid[data-v-04ba9dbc]{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 17px 17px}.quick-action>span[data-v-04ba9dbc]:not(.quick-icon){font-size:10px}.tiny-label[data-v-04ba9dbc]{font-size:7px}.classroom-table table[data-v-04ba9dbc]{min-width:545px}.classroom-footer[data-v-04ba9dbc]{font-size:8px;padding:12px 16px}.calendar-day[data-v-04ba9dbc],.calendar-blank[data-v-04ba9dbc]{height:36px;width:36px}.calendar-days[data-v-04ba9dbc],.calendar-weekdays[data-v-04ba9dbc]{padding-left:25px;padding-right:25px}.studio-hero[data-v-04ba9dbc]{margin-bottom:18px}.dashboard-view .panel-head h2[data-v-04ba9dbc]{font-size:14px}}@media(prefers-reduced-motion:reduce){.stat-link[data-v-04ba9dbc],.quick-action[data-v-04ba9dbc]{transition:none}.stat-link[data-v-04ba9dbc]:hover{transform:none}}@media(max-width:600px){.dashboard-view .hero-art[data-v-04ba9dbc]{object-fit:cover;object-position:62% center}}@media(pointer:coarse){.calendar-arrow[data-v-04ba9dbc]{width:44px;height:44px}.calendar-day[data-v-04ba9dbc],.calendar-blank[data-v-04ba9dbc]{height:40px;width:100%;max-width:40px}}.student-stats[data-v-4cfbc645]{grid-template-columns:repeat(3,minmax(0,1fr))}.student-stats .stat-card>span[data-v-4cfbc645]{display:block;font-size:11px;color:var(--muted)}.student-stats .stat-card>strong[data-v-4cfbc645]{display:block;font-family:Georgia,serif;font-size:32px;color:var(--accent);font-weight:400;line-height:1.3;margin-top:12px}.student-stats .stat-card small[data-v-4cfbc645]{font-size:10px!important;margin-left:0}@media(max-width:560px){.student-stats .stat-card[data-v-4cfbc645]{padding:14px 12px}.student-stats .stat-card>span[data-v-4cfbc645]{font-size:9px}.student-stats .stat-card small[data-v-4cfbc645]{display:none!important}.student-stats .stat-card>strong[data-v-4cfbc645]{font-size:26px}}.students-heading[data-v-4cfbc645]{display:flex;align-items:center;justify-content:space-between;gap:24px}.students-heading .row[data-v-4cfbc645]{flex-shrink:0}.student-stats[data-v-4cfbc645]{margin-bottom:26px}.student-stats .stat-card small[data-v-4cfbc645]{display:block;margin-top:8px;color:#9c8ba7;font-size:12px}.students-toolbar[data-v-4cfbc645]{gap:14px;flex-wrap:wrap;padding-bottom:18px}.students-toolbar .search-field[data-v-4cfbc645]{flex:1;min-width:240px;max-width:450px}.class-filter[data-v-4cfbc645]{min-width:215px}.students-subtoolbar[data-v-4cfbc645]{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #eee6f3;padding:0 25px}.students-subtoolbar .tabs[data-v-4cfbc645]{border-bottom:0}.tabs button span[data-v-4cfbc645]{margin-left:6px;font-size:11px;opacity:.7}.student-table td[data-v-4cfbc645]{vertical-align:middle}.student-identity[data-v-4cfbc645]{display:flex;align-items:center;gap:13px;border:0;background:none;padding:0;text-align:left;font:inherit;cursor:pointer;color:inherit}.student-identity strong[data-v-4cfbc645]{display:block;font-size:14px}.student-identity small[data-v-4cfbc645]{display:block;font-size:12px;color:#9a8aa5;margin-top:5px}.student-identity .avatar[data-v-4cfbc645]{flex-shrink:0}.hours-cell[data-v-4cfbc645]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hours-cell>strong[data-v-4cfbc645]{font-size:20px;white-space:nowrap;font-weight:600;color:#6a438e}.hours-cell>strong small[data-v-4cfbc645]{font-size:11px;font-weight:400;margin-left:5px;color:#9e8daa}.hours-cell>strong.warning-hours[data-v-4cfbc645]{color:#b56b84}.phone-cell[data-v-4cfbc645]{font-variant-numeric:tabular-nums;color:#887792}.expired-date[data-v-4cfbc645]{color:#b5627e}.date-note[data-v-4cfbc645]{display:block;font-size:10px;margin-top:4px}.action-cell[data-v-4cfbc645]{text-align:right;white-space:nowrap}.table-pagination[data-v-4cfbc645]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 25px;border-top:1px solid #eee6f3}.student-loading[data-v-4cfbc645]{padding:10px 25px 25px;display:grid;gap:15px}.student-loading .skeleton[data-v-4cfbc645]{height:58px}.student-fieldset[data-v-4cfbc645]{border:0;margin:0;padding:0;min-width:0}.full-field[data-v-4cfbc645]{grid-column:1/-1}.full-field label[data-v-4cfbc645]{display:flex;justify-content:space-between}.full-field label small[data-v-4cfbc645]{font-weight:400;color:#b09cbb}.student-fieldset textarea[data-v-4cfbc645]{width:100%;resize:vertical;box-sizing:border-box;border:1px solid #e7dced;background:#fff;border-radius:10px;padding:12px 14px;color:#513b63;font:inherit;font-size:14px;line-height:1.6}.student-fieldset[data-v-4cfbc645]:disabled{opacity:.7}.student-fieldset input[data-v-4cfbc645]:disabled,.student-fieldset select[data-v-4cfbc645]:disabled,.student-fieldset textarea[data-v-4cfbc645]:disabled{cursor:not-allowed}.form-footer-note[data-v-4cfbc645]{margin-right:auto;font-size:12px}.create-prerequisite[data-v-4cfbc645]{padding:18px 20px;background:#f8f1fc;border:1px solid #ebdef3;border-radius:12px;margin-bottom:22px;color:#76568e}.create-prerequisite p[data-v-4cfbc645]{font-size:13px;line-height:1.7;margin:6px 0 10px}.field>small[data-v-4cfbc645]{font-size:11px;line-height:1.6;margin-top:5px}.field label>span[data-v-4cfbc645]{color:#b46c97}.student-identity:hover strong[data-v-4cfbc645]{color:#7247a8}@media(max-width:900px){.students-heading[data-v-4cfbc645]{align-items:flex-start;flex-direction:column;gap:18px}.students-toolbar .search-field[data-v-4cfbc645]{max-width:none}.hours-cell[data-v-4cfbc645]{gap:5px}.students-subtoolbar[data-v-4cfbc645]{align-items:flex-start;flex-direction:column;gap:0;padding-bottom:14px}.form-footer-note[data-v-4cfbc645]{display:none}}@media(max-width:560px){.students-heading .row[data-v-4cfbc645]{width:100%;flex-wrap:wrap}.students-heading .button[data-v-4cfbc645]{flex:1}.class-filter[data-v-4cfbc645]{width:100%;min-width:0}.students-toolbar .search-field[data-v-4cfbc645]{min-width:0;width:100%}.students-subtoolbar[data-v-4cfbc645]{padding-left:15px;padding-right:15px}.table-pagination[data-v-4cfbc645]{padding:16px;flex-wrap:wrap}.student-table[data-v-4cfbc645]{min-width:850px}.students-subtoolbar .tabs[data-v-4cfbc645]{width:100%;overflow-x:auto;white-space:nowrap}.students-subtoolbar .tabs button[data-v-4cfbc645]{padding-left:10px;padding-right:10px;font-size:12px}}.back-link[data-v-eac20b30]{font-size:12px;margin-bottom:20px}.detail-heading[data-v-eac20b30]{display:flex;justify-content:space-between;align-items:center;gap:20px}.heading-caption[data-v-eac20b30]{font-weight:400;font-size:.63em;margin-left:12px;color:#a391ae}.student-overview[data-v-eac20b30]{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:25px;margin-bottom:29px}.profile-panel[data-v-eac20b30]{padding:30px}.profile-intro[data-v-eac20b30]{display:flex;align-items:center;gap:16px}.profile-avatar[data-v-eac20b30]{width:64px;height:64px;border-radius:21px;font-size:26px;background:linear-gradient(145deg,#eee2f9,#f7e3ee);color:#8d60ad}.profile-intro h2[data-v-eac20b30]{margin:0;font-size:22px;font-weight:600;color:#50355e}.profile-intro p[data-v-eac20b30]{margin:7px 0 0;color:#9f8baa;font-size:12px}.profile-intro>.badge[data-v-eac20b30]{margin-left:auto;max-width:170px}.profile-facts[data-v-eac20b30]{display:grid;grid-template-columns:1fr 1fr;gap:25px 20px;margin:31px 0 26px}.profile-facts dt[data-v-eac20b30],.profile-remark>span[data-v-eac20b30]{font-size:11px;color:#a08eac;margin-bottom:9px;letter-spacing:.03em}.profile-facts dd[data-v-eac20b30]{margin:0;font-size:13px;color:#6b537c;line-height:1.5;overflow-wrap:anywhere}.profile-facts a[data-v-eac20b30]{color:#7f5c98;text-decoration:none}.profile-facts .expiry-warning[data-v-eac20b30]{color:#b96683}.profile-remark[data-v-eac20b30]{border-top:1px solid #efe7f4;padding-top:20px}.profile-remark p[data-v-eac20b30]{margin:9px 0 0;font-size:12px;line-height:1.8;color:#9886a3;white-space:pre-wrap;overflow-wrap:anywhere}.balance-card[data-v-eac20b30]{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:31px 30px;border:1px solid #e8daf2;border-radius:20px;background:linear-gradient(132deg,#eee3f8,#f6eafa 66%,#f9eaf2)}.balance-decoration[data-v-eac20b30]{position:absolute;right:10px;top:-28px;font-size:195px;font-weight:300;color:#b391ce;opacity:.14;line-height:1}.balance-caption[data-v-eac20b30]{position:relative;font-size:12px;color:#9376a5;letter-spacing:.03em}.balance-number[data-v-eac20b30]{margin-top:12px;color:#7247a8;font-size:64px;line-height:1.15;font-weight:500;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.balance-number small[data-v-eac20b30]{font-size:13px;letter-spacing:0;color:#9c80b2;margin-left:13px}.balance-card>.badge[data-v-eac20b30]{margin-top:14px}.balance-divider[data-v-eac20b30]{height:1px;background:#e0cdeb;width:100%;margin:24px 0 5px}.balance-card>p[data-v-eac20b30]{font-size:12px;color:#a083b1;margin:12px 0 20px}.balance-card>.button[data-v-eac20b30]{width:100%;margin-top:auto;justify-content:center}.ledger-panel[data-v-eac20b30],.attendance-panel[data-v-eac20b30]{margin-bottom:27px}.panel-head h2[data-v-eac20b30]{margin:7px 0 0;font-size:19px;font-weight:600}.section-kicker[data-v-eac20b30]{font-size:10px;letter-spacing:.13em;color:#b19abe}.history-toolbar[data-v-eac20b30]{padding-top:0;padding-bottom:0}.history-toolbar .tabs[data-v-eac20b30]{width:100%}.ledger-description[data-v-eac20b30]{max-width:350px}.ledger-description>strong[data-v-eac20b30]{font-weight:500;color:#6f527f;display:inline-block;font-size:13px}.ledger-description>small[data-v-eac20b30]{display:block;font-size:11px;margin-top:7px;color:#a28eaf;white-space:pre-wrap;overflow-wrap:anywhere}.ledger-description>.badge[data-v-eac20b30]{margin-left:8px;font-size:10px}.ledger-description .ledger-classroom[data-v-eac20b30]{display:block;font-size:11px;margin-top:6px}.ledger-delta[data-v-eac20b30]{font-size:19px;color:#8c61ab;font-weight:500;font-variant-numeric:tabular-nums}.ledger-delta.negative[data-v-eac20b30]{color:#a88eac}.history-footer[data-v-eac20b30]{padding:19px 26px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #efe7f3}.history-footer>.subtle[data-v-eac20b30]{font-size:11px}.history-loading[data-v-eac20b30]{display:grid;gap:15px;padding:22px 26px}.history-loading .skeleton[data-v-eac20b30]{height:52px}.attendance-filter[data-v-eac20b30]{align-items:flex-end;gap:13px;padding-bottom:20px}.attendance-filter .field[data-v-eac20b30]{width:180px}.attendance-filter label[data-v-eac20b30]{font-size:11px}.date-separator[data-v-eac20b30]{font-size:12px;color:#b4a0bf;padding-bottom:13px}.attendance-summary[data-v-eac20b30]{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 26px;background:#fcf9fe;border-top:1px solid #f0e9f5;border-bottom:1px solid #f0e9f5}.attendance-summary>span[data-v-eac20b30]{font-size:11px}.attendance-summary>div[data-v-eac20b30]{display:flex;gap:21px;font-size:11px;color:#aa96b6}.attendance-summary b[data-v-eac20b30]{font-size:14px;font-weight:500;color:#87669d;margin-right:4px}.correction-note[data-v-eac20b30]{display:block;font-size:10px;color:#aa95b5;margin-top:6px}.course-name[data-v-eac20b30]{font-size:13px;font-weight:500}.right-align[data-v-eac20b30]{text-align:right}.nowrap[data-v-eac20b30]{white-space:nowrap}.detail-loading[data-v-eac20b30]{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;margin-bottom:28px}.detail-loading>.skeleton[data-v-eac20b30]{height:320px;border-radius:20px}.detail-fieldset[data-v-eac20b30]{border:0;padding:0;margin:0;min-width:0}.detail-full[data-v-eac20b30]{grid-column:1/-1}.detail-full label[data-v-eac20b30]{display:flex;justify-content:space-between}.detail-full label small[data-v-eac20b30]{font-weight:400;color:#ae9bb9}.detail-fieldset textarea[data-v-eac20b30]{width:100%;box-sizing:border-box;border:1px solid #e7dced;border-radius:10px;padding:12px 14px;resize:vertical;font:inherit;font-size:14px;line-height:1.6;color:#624b75;background:#fff}.detail-fieldset[data-v-eac20b30]:disabled{opacity:.65}.detail-fieldset .field>small[data-v-eac20b30]{font-size:11px;line-height:1.6;margin-top:6px}.expiry-clear[data-v-eac20b30]{justify-content:center;align-items:flex-start}.edit-footer-note[data-v-eac20b30]{margin-right:auto;font-size:11px}@media(max-width:1080px){.profile-panel[data-v-eac20b30]{padding:25px}.balance-card[data-v-eac20b30]{padding:28px 24px}.student-overview[data-v-eac20b30]{grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:20px}.profile-intro>.badge[data-v-eac20b30]{display:none}.attendance-summary[data-v-eac20b30]{align-items:flex-start;flex-direction:column;gap:9px}}@media(max-width:760px){.student-overview[data-v-eac20b30]{grid-template-columns:1fr}.balance-card[data-v-eac20b30]{min-height:280px}.balance-card .balance-number[data-v-eac20b30]{font-size:56px}.detail-loading[data-v-eac20b30]{grid-template-columns:1fr}.detail-heading[data-v-eac20b30]{align-items:flex-start}.heading-caption[data-v-eac20b30]{display:block;margin:8px 0 0;font-size:14px}.detail-heading>.button[data-v-eac20b30]{flex-shrink:0}.attendance-filter[data-v-eac20b30]{flex-wrap:wrap}.attendance-filter .field[data-v-eac20b30]{width:calc(50% - 22px)}.attendance-filter>.button[data-v-eac20b30]{width:100%;justify-content:center;margin-top:5px}.history-toolbar .tabs[data-v-eac20b30]{overflow-x:auto;white-space:nowrap}.edit-footer-note[data-v-eac20b30]{display:none}.attendance-summary>div[data-v-eac20b30]{flex-wrap:wrap;gap:12px}.history-footer[data-v-eac20b30]{flex-wrap:wrap}.profile-facts[data-v-eac20b30]{column-gap:12px}.panel-head>.text-button[data-v-eac20b30]{font-size:11px}}@media(max-width:480px){.profile-panel[data-v-eac20b30]{padding:22px}.profile-facts[data-v-eac20b30]{grid-template-columns:1fr;gap:19px}.profile-intro h2[data-v-eac20b30]{font-size:20px}.student-detail-view .table-wrap>table[data-v-eac20b30]{min-width:650px}.history-footer[data-v-eac20b30]{padding:17px}.attendance-summary[data-v-eac20b30]{padding:15px 18px}}.back-link[data-v-b9fe160a]{font-size:12px;margin-bottom:20px}.import-heading[data-v-b9fe160a]{display:flex;justify-content:space-between;align-items:center;gap:20px}.import-heading>.button[data-v-b9fe160a]{flex-shrink:0}.import-steps[data-v-b9fe160a]{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:30px 0 33px;padding:0 12px}.import-step[data-v-b9fe160a]{display:flex;align-items:center;gap:13px;flex-shrink:0}.import-step>span[data-v-b9fe160a]{width:40px;height:40px;border-radius:14px;background:#f0e7f6;color:#ae92c3;display:grid;place-items:center;font-size:13px;letter-spacing:.04em}.import-step strong[data-v-b9fe160a]{font-size:12px;font-weight:500;color:#8e739f}.import-step small[data-v-b9fe160a]{display:block;font-size:10px;color:#b19cbd;margin-top:6px}.import-step.done>span[data-v-b9fe160a],.import-step.current>span[data-v-b9fe160a]{color:#fff;background:#a180bb}.import-step.current strong[data-v-b9fe160a]{color:#7247a8}.step-line[data-v-b9fe160a]{height:1px;flex:1;max-width:100px;background:#e9deef}.import-layout[data-v-b9fe160a]{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:28px;margin-bottom:30px}.upload-panel .panel-head h2[data-v-b9fe160a],.preview-panel .panel-head h2[data-v-b9fe160a]{font-size:19px;font-weight:600;margin:7px 0 0}.section-kicker[data-v-b9fe160a]{font-size:10px;letter-spacing:.12em;color:#b19abe}.upload-content[data-v-b9fe160a]{padding:0 27px 24px}.default-class[data-v-b9fe160a]{max-width:440px}.default-class>small[data-v-b9fe160a]{font-size:11px;line-height:1.7;color:#a48db3;margin-top:8px}.file-input[data-v-b9fe160a]{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;opacity:0}.upload-zone[data-v-b9fe160a]{width:100%;margin-top:24px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1.5px dashed #d9c4e8;border-radius:15px;background:linear-gradient(130deg,#fcf9fe,#fcf6fa);padding:29px 22px 25px;font:inherit;cursor:pointer;transition:border-color .2s,background .2s}.upload-zone[data-v-b9fe160a]:hover:not(:disabled){border-color:#a47bbb;background:#f6edf9}.upload-zone[data-v-b9fe160a]:disabled{cursor:not-allowed;opacity:.65}.upload-icon[data-v-b9fe160a]{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:#efe4f7;margin-bottom:16px}.upload-zone>strong[data-v-b9fe160a]{font-size:14px;font-weight:500;color:#8b659f;overflow-wrap:anywhere;max-width:100%;line-height:1.6}.upload-zone>span[data-v-b9fe160a]:not(.upload-icon){font-size:11px;color:#a48bb4;margin-top:8px}.upload-zone>small[data-v-b9fe160a]{font-size:10px;color:#bca8c7;margin-top:10px}.template-note[data-v-b9fe160a]{display:flex;align-items:flex-start;gap:9px;color:#ac98b7;margin-top:17px}.template-note .app-icon[data-v-b9fe160a]{margin-top:3px;flex-shrink:0}.template-note p[data-v-b9fe160a]{font-size:10px;line-height:1.8;margin:0}.import-guide[data-v-b9fe160a]{border:1px solid #eadff0;border-radius:20px;background:linear-gradient(150deg,#f2e9f9,#f8edf4);padding:22px 26px 26px}.guide-illustration[data-v-b9fe160a]{position:relative;height:130px;display:flex;justify-content:center;overflow:hidden}.guide-illustration img[data-v-b9fe160a]{height:165px;width:165px;object-fit:contain;opacity:.75;margin-top:-19px}.guide-illustration>span[data-v-b9fe160a]{position:absolute;right:15px;top:-19px;color:#c5abd7;font-size:84px;opacity:.4}.import-guide h2[data-v-b9fe160a]{text-align:center;font-size:14px;color:#9471a5;font-weight:500;margin:8px 0 22px}.import-guide ul[data-v-b9fe160a]{padding:0;margin:0;list-style:none;display:grid;gap:21px}.import-guide li[data-v-b9fe160a]{display:flex;gap:12px;align-items:flex-start}.import-guide li>span[data-v-b9fe160a]{border:1px solid #dfcfe9;width:22px;height:22px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#aa89be;background:#fbf5fd}.import-guide li p[data-v-b9fe160a]{margin:1px 0 0}.import-guide li strong[data-v-b9fe160a]{font-weight:500;font-size:11px;color:#9474a5}.import-guide li small[data-v-b9fe160a]{font-size:10px;display:block;color:#b09abb;margin-top:7px;line-height:1.8}.preview-count[data-v-b9fe160a]{margin-left:12px;color:#b09abb;font-size:12px;font-weight:400}.preview-summary[data-v-b9fe160a]{padding:14px 27px;background:#fcf9fe;border-top:1px solid #f0e8f5;border-bottom:1px solid #f0e8f5;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#a48db3}.preview-summary b[data-v-b9fe160a]{color:#8d64a4;font-weight:500;font-size:17px;margin:0 5px}.validation-warning[data-v-b9fe160a],.replacement-warning[data-v-b9fe160a]{color:#bc788f}.validation-ready[data-v-b9fe160a],.locked-caption[data-v-b9fe160a]{color:#9c79ad}.preview-table .row-number[data-v-b9fe160a]{width:60px;text-align:center;color:#b5a2c0;font-size:11px}.preview-table td>strong[data-v-b9fe160a]{font-weight:500;font-size:13px;color:#765b86}.row-class[data-v-b9fe160a]{min-width:180px;max-width:250px}.row-class select[data-v-b9fe160a]{font-size:11px;padding:8px 10px;min-height:35px}.source-class[data-v-b9fe160a]{display:block;font-size:9px;color:#b19cbd;margin-top:6px;overflow-wrap:anywhere;max-width:250px}.import-hours[data-v-b9fe160a]{font-size:18px;color:#976fb0;font-weight:500;white-space:nowrap}.import-hours small[data-v-b9fe160a]{font-size:10px;color:#b49cc3;margin-left:5px;font-weight:400}.import-notes[data-v-b9fe160a]{max-width:210px;color:#957ca4;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.import-notes small[data-v-b9fe160a]{font-size:10px;color:#b49fc0;display:block;margin-top:5px}.row-validation[data-v-b9fe160a]{min-width:130px;max-width:240px}.row-validation-error[data-v-b9fe160a]{font-size:10px;color:#b76783;line-height:1.7;display:block}.invalid-row[data-v-b9fe160a]{background:#fffafb}.preview-pagination[data-v-b9fe160a]{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 27px;border-top:1px solid #efe7f4}.preview-pagination>.subtle[data-v-b9fe160a]{font-size:11px}.import-submit[data-v-b9fe160a]{padding:23px 27px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(110deg,#faf6fd,#fcf8fb);border-top:1px solid #eee4f4;border-radius:0 0 20px 20px}.import-submit>div>strong[data-v-b9fe160a]{font-size:13px;font-weight:500;color:#88669c}.import-submit p[data-v-b9fe160a]{font-size:10px;color:#b19bbf;line-height:1.8;margin:7px 0 0}.import-submit>.button[data-v-b9fe160a]{flex-shrink:0}.replacement-warning[data-v-b9fe160a]{font-size:12px;margin:0;padding:14px 27px;border-bottom:1px solid #f4e5ed;line-height:1.7}.import-prerequisite[data-v-b9fe160a]{background:#f8f1fc;border:1px solid #e9dbf2;border-radius:12px;padding:17px 19px;margin-bottom:19px;color:#9470a6}.import-prerequisite>strong[data-v-b9fe160a]{font-size:13px;font-weight:500}.import-prerequisite p[data-v-b9fe160a]{font-size:11px;line-height:1.8}.import-prerequisite>.text-button[data-v-b9fe160a]{font-size:11px}.import-success[data-v-b9fe160a]{display:flex;align-items:center;gap:18px;padding:22px 26px;border-radius:15px;background:#f1e8f8;border:1px solid #e1cdeb;margin-bottom:25px}.success-flower[data-v-b9fe160a]{font-size:48px;line-height:1;color:#ad8dc3}.import-success h2[data-v-b9fe160a]{font-size:15px;font-weight:500;color:#81569c;margin:0 0 8px}.import-success p[data-v-b9fe160a]{font-size:11px;color:#a183b2;line-height:1.8;margin:0}.import-success>.button[data-v-b9fe160a]{margin-left:auto;flex-shrink:0}.import-confirm-summary[data-v-b9fe160a]{display:flex;align-items:center;justify-content:space-between;padding:23px;background:#f5edf9;border-radius:12px;margin:2px 0 20px}.import-confirm-summary>span[data-v-b9fe160a]{font-size:13px;color:#9d7daf}.import-confirm-summary>strong[data-v-b9fe160a]{font-size:36px;font-weight:500;color:#8b63a5}.import-confirm-summary small[data-v-b9fe160a]{font-size:12px;font-weight:400;color:#a489b5;margin-left:8px}.confirm-class-list[data-v-b9fe160a]{display:grid;gap:13px;font-size:12px;color:#a28aaf}.confirm-class-list>div[data-v-b9fe160a]{display:flex;justify-content:space-between;gap:16px}.confirm-class-list b[data-v-b9fe160a]{font-weight:500;color:#8b6b9e;white-space:nowrap}.confirm-explanation[data-v-b9fe160a]{padding-top:18px;margin:20px 0 0;border-top:1px solid #eee5f3;font-size:11px;color:#b09abd;line-height:1.9}.legacy-pending[data-v-b9fe160a]{padding:22px 27px;color:#aa92b8;font-size:12px}@media(max-width:1100px){.import-layout[data-v-b9fe160a]{grid-template-columns:minmax(0,1.45fr) minmax(230px,1fr);gap:20px}.import-guide[data-v-b9fe160a]{padding:22px 20px}.import-steps[data-v-b9fe160a]{gap:12px;padding:0}.import-step[data-v-b9fe160a]{gap:9px}.import-step>span[data-v-b9fe160a]{width:34px;height:34px;border-radius:12px}.import-step strong[data-v-b9fe160a]{font-size:11px}.import-step small[data-v-b9fe160a]{font-size:9px}.step-line[data-v-b9fe160a]{max-width:50px}}@media(max-width:800px){.import-layout[data-v-b9fe160a]{grid-template-columns:1fr}.import-guide[data-v-b9fe160a]{display:none}.import-steps[data-v-b9fe160a]{margin:24px 0}.import-step small[data-v-b9fe160a]{display:none}.import-step>span[data-v-b9fe160a]{width:30px;height:30px;font-size:10px;border-radius:10px}.step-line[data-v-b9fe160a]{max-width:30px;min-width:10px}.import-step[data-v-b9fe160a]{flex-shrink:1}.import-step strong[data-v-b9fe160a]{line-height:1.6;font-size:10px}.import-submit[data-v-b9fe160a]{align-items:flex-start;flex-direction:column;gap:17px}.import-submit>.button[data-v-b9fe160a]{align-self:flex-end}.import-success[data-v-b9fe160a]{flex-wrap:wrap}.import-success>.button[data-v-b9fe160a]{margin-left:0}.import-heading[data-v-b9fe160a]{align-items:flex-start;flex-direction:column}.preview-summary[data-v-b9fe160a]{flex-wrap:wrap}.preview-panel .panel-head[data-v-b9fe160a]{align-items:flex-start}.preview-count[data-v-b9fe160a]{display:block;margin:9px 0 0}.import-guide h2[data-v-b9fe160a]{font-size:13px}}@media(max-width:500px){.import-steps[data-v-b9fe160a]{gap:5px}.import-step[data-v-b9fe160a]{gap:6px}.import-step>span[data-v-b9fe160a]{width:24px;height:24px;border-radius:8px;font-size:9px;flex-shrink:0}.step-line[data-v-b9fe160a]{min-width:4px}.import-step strong[data-v-b9fe160a]{font-size:9px}.upload-content[data-v-b9fe160a]{padding:0 18px 21px}.preview-pagination[data-v-b9fe160a]{padding:15px;flex-wrap:wrap}.import-submit[data-v-b9fe160a]{padding:20px 18px}.import-submit>.button[data-v-b9fe160a]{width:100%;justify-content:center}.preview-summary[data-v-b9fe160a]{padding:14px 18px}.import-success[data-v-b9fe160a]{padding:20px}.import-heading>.button[data-v-b9fe160a]{width:100%;justify-content:center}}.class-grid[data-v-3c4f8b1b]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 23px 23px}.class-card[data-v-3c4f8b1b]{border:1px solid var(--line);border-radius:10px;padding:21px;background:#fff}.class-symbol[data-v-3c4f8b1b]{width:46px;height:46px;background:#f0e7fa;border-radius:12px;display:flex;align-items:center;justify-content:center}.symbol-1[data-v-3c4f8b1b]{background:#fbeaf2}.symbol-2[data-v-3c4f8b1b]{background:#f2edf9}.class-eyebrow[data-v-3c4f8b1b]{display:block;font-size:9px;letter-spacing:1.6px;color:#a895b8;margin-top:23px}.class-card h3[data-v-3c4f8b1b]{font-size:19px;margin-top:6px}.class-schedule[data-v-3c4f8b1b]{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;margin-top:13px;white-space:normal;min-height:25px}.class-stats[data-v-3c4f8b1b]{display:grid;grid-template-columns:1fr 1fr;padding:21px 0 15px}.class-stats strong[data-v-3c4f8b1b]{display:block;font-family:Georgia,serif;font-size:27px;line-height:1.2;font-weight:400}.class-stats span[data-v-3c4f8b1b]{font-size:10px;color:var(--muted)}.class-stats>div+div[data-v-3c4f8b1b]{padding-left:20px;border-left:1px solid var(--line)}.campus-line[data-v-3c4f8b1b]{display:flex;align-items:center;gap:6px;font-size:10px;color:#9e8bac;padding-bottom:15px}.class-actions[data-v-3c4f8b1b]{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin-top:8px;gap:10px}.class-actions .text-button[data-v-3c4f8b1b]{font-size:10px}.toggle-action[data-v-3c4f8b1b]{color:#a391b0}.panel-head .segmented[data-v-3c4f8b1b]{flex-shrink:0}@media(max-width:1180px){.class-grid[data-v-3c4f8b1b]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.class-grid[data-v-3c4f8b1b]{grid-template-columns:1fr;padding:0 18px 18px}.panel-head[data-v-3c4f8b1b]{flex-wrap:wrap}.class-card[data-v-3c4f8b1b]{padding:21px}.class-stats[data-v-3c4f8b1b]{padding-top:14px}.class-eyebrow[data-v-3c4f8b1b]{margin-top:17px}}.attendance-create-layout[data-v-5b27820a]{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:30px;align-items:start}.plain-fieldset[data-v-5b27820a]{border:0;padding:0;margin:0;min-width:0}.panel-body[data-v-5b27820a]{padding:10px 28px 30px}.panel-head[data-v-5b27820a]{padding:25px 28px}.step-tag[data-v-5b27820a]{font-family:Georgia,serif;font-size:17px;color:#bbabc9;letter-spacing:2px}.selected-class-note[data-v-5b27820a]{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:10px;color:var(--muted)}.attendance-date-fields[data-v-5b27820a]{margin-top:22px}.attendance-start-footer[data-v-5b27820a]{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;display:flex;align-items:flex-start;flex-direction:column;gap:25px}.attendance-start-footer p[data-v-5b27820a]{font-size:10px;color:var(--muted)}.attendance-start-footer .button[data-v-5b27820a]{width:100%}.attendance-explainer[data-v-5b27820a]{padding:26px;border:1px solid var(--accent-line);border-radius:15px;background:linear-gradient(155deg,#f7f2fbf2,#f7f2fbdc),url(/assets/studio-paper-bg.png) right bottom/cover}.attendance-explainer h2[data-v-5b27820a]{font-family:STKaiti,KaiTi,serif;font-size:32px;line-height:1.6;font-weight:400;margin-top:13px}.attendance-explainer>img[data-v-5b27820a]{height:130px;width:170px;object-fit:contain;margin:15px auto 20px}.explain-row[data-v-5b27820a]{display:flex;gap:14px;margin-top:23px}.explain-row>span[data-v-5b27820a]{color:#b8a1cb;font-family:Georgia,serif;font-size:20px;line-height:1.4}.explain-row h3[data-v-5b27820a]{font-size:12px}.explain-row p[data-v-5b27820a]{font-size:11px;color:var(--muted);margin-top:4px;max-width:230px}@media(max-width:1000px){.attendance-create-layout[data-v-5b27820a]{grid-template-columns:1fr}.attendance-explainer[data-v-5b27820a]{display:none}}@media(max-width:700px){.panel-body[data-v-5b27820a],.panel-head[data-v-5b27820a]{padding-inline:20px}}.attendance-summary[data-v-0e837e09]{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;border:1px solid #e9dff1;border-radius:10px;background:#f0e8f8;padding:19px 23px}.attendance-summary>div[data-v-0e837e09]:first-child{display:flex;gap:15px;align-items:center}.attendance-summary .subtle[data-v-0e837e09]{font-size:11px}.summary-counts[data-v-0e837e09]{display:flex;gap:24px;white-space:nowrap;font-size:11px;color:var(--muted)}.summary-counts strong[data-v-0e837e09]{font-size:20px;color:var(--accent);font-family:Georgia,serif;font-weight:400;margin-right:4px}.roster-index[data-v-0e837e09]{font-size:10px;color:#b3a3bf;margin-right:8px}.attendance-status[data-v-0e837e09]{display:inline-flex;gap:5px}.attendance-status button[data-v-0e837e09]{font-size:11px;min-height:30px;min-width:47px;border-radius:5px;border:1px solid var(--line);background:#fff;color:#a090ac}.attendance-status button.selected[data-v-0e837e09]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.attendance-status button.leave.selected[data-v-0e837e09]{background:var(--warn-bg);border-color:#f1d7a7;color:var(--warn)}.attendance-status button.absent.selected[data-v-0e837e09]{background:#f0edf4;border-color:#dcd4e4;color:#766783}.classroom-submit-bar[data-v-0e837e09]{border-top:1px solid var(--line);padding:23px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fdfbff}.classroom-submit-bar strong[data-v-0e837e09]{font-size:12px;font-weight:550}.classroom-submit-bar p[data-v-0e837e09]{font-size:10px;color:var(--muted);margin-top:4px}@media(max-width:1000px){.attendance-summary[data-v-0e837e09],.classroom-submit-bar[data-v-0e837e09]{flex-wrap:wrap}.attendance-summary>div[data-v-0e837e09]:first-child{flex-wrap:wrap}.summary-counts[data-v-0e837e09]{width:100%}}@media(max-width:700px){.classroom-submit-bar[data-v-0e837e09]{padding:20px}.classroom-submit-bar>.row[data-v-0e837e09]{width:100%;justify-content:flex-end}.attendance-summary[data-v-0e837e09]{padding:17px}}.finance-tabs[data-v-8b4cd13c]{display:flex;gap:28px;border-bottom:1px solid #e7dcef;margin-bottom:25px}.finance-tabs button[data-v-8b4cd13c]{font-size:12px;background:none;border:0;padding:0 2px 13px;color:var(--muted);position:relative}.finance-tabs button.active[data-v-8b4cd13c]{color:var(--accent);font-weight:600}.finance-tabs button.active[data-v-8b4cd13c]:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent)}.finance-form-layout[data-v-8b4cd13c]{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:25px;align-items:start}.panel-body[data-v-8b4cd13c]{padding:5px 27px 27px}.balance-preview[data-v-8b4cd13c]{background:#f3ebfa url(/assets/studio-paper-bg.png) center bottom/cover no-repeat;border:1px solid #e1d2ec;border-radius:15px;padding:28px 28px 125px;min-height:475px;overflow:hidden}.balance-preview h2[data-v-8b4cd13c]{font-family:STKaiti,KaiTi,serif;font-weight:400;font-size:31px;line-height:1.6;margin-top:12px}.preview-person[data-v-8b4cd13c]{display:flex;gap:12px;align-items:center;margin-top:30px}.preview-person .avatar[data-v-8b4cd13c]{background:#fff9}.preview-person strong[data-v-8b4cd13c]{font-size:12px}.preview-person p[data-v-8b4cd13c]{font-size:11px;color:var(--muted)}.balance-comparison[data-v-8b4cd13c]{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #decbea;margin-top:23px;padding-top:20px}.balance-comparison span[data-v-8b4cd13c]{display:block;font-size:12px;color:var(--muted)}.balance-comparison strong[data-v-8b4cd13c]{display:block;font-family:Georgia,serif;font-size:34px;color:var(--accent);font-weight:400}.finance-tip[data-v-8b4cd13c]{font-size:12px;color:var(--muted);line-height:1.9;margin:17px 10px}.reverse-details[data-v-8b4cd13c]{background:var(--control);border-radius:8px;padding:15px;margin-bottom:20px}.reverse-details>div[data-v-8b4cd13c]{display:flex;justify-content:space-between;font-size:12px;padding:5px}.reverse-details span[data-v-8b4cd13c]{color:var(--muted)}.reverse-details strong[data-v-8b4cd13c]{font-weight:550}@media(max-width:1000px){.finance-form-layout[data-v-8b4cd13c]{grid-template-columns:1fr}.finance-form-layout>aside[data-v-8b4cd13c]{display:none}}@media(max-width:700px){.panel-body[data-v-8b4cd13c]{padding:2px 20px 22px}.form-actions[data-v-8b4cd13c]{flex-wrap:wrap}.form-actions>.subtle[data-v-8b4cd13c]{width:100%}}.reports-view[data-v-85662a61]{--report-line:#eee5f4;--report-muted:#a58faf;--report-ink:#59416f}.reports-view .page-heading h1[data-v-85662a61]{color:#49315e}.reports-view .eyebrow[data-v-85662a61]{font-size:9px;color:#a58ab9;font-weight:400;letter-spacing:1.5px}.reports-view .page-heading p[data-v-85662a61]{font-size:11px;color:#a18eaf}.export-button[data-v-85662a61]{font-size:11px;padding:9px 16px;min-height:37px}.report-filter[data-v-85662a61]{margin-bottom:22px}.report-filter form[data-v-85662a61]{display:flex;align-items:center;gap:20px;padding:21px 23px;flex-wrap:wrap}.filter-title[data-v-85662a61]{display:flex;align-items:center;gap:9px}.filter-title strong[data-v-85662a61]{font-size:12px;color:#6e5188;font-weight:500}.filter-icon[data-v-85662a61]{display:flex;align-items:center;justify-content:center}.filter-timezone[data-v-85662a61]{font-size:9px;color:#b7a2c4;white-space:nowrap}.range-shortcuts[data-v-85662a61]{display:flex;align-items:center;gap:4px;background:#f8f3fc;border:1px solid #f0e7f7;border-radius:7px;padding:3px}.range-shortcuts button[data-v-85662a61]{font:inherit;font-size:10px;background:transparent;border:0;padding:6px 11px;color:#aa91bd;white-space:nowrap;border-radius:4px;cursor:pointer}.range-shortcuts button.active[data-v-85662a61]{background:#fff;color:#8056a2;box-shadow:0 2px 6px #7247a80c}.range-fields[data-v-85662a61]{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end}.range-fields label[data-v-85662a61]{display:flex;align-items:center;min-width:0}.range-fields input[data-v-85662a61]{min-height:35px;width:137px;border:1px solid #eadef3;border-radius:6px;padding:7px 9px;background:#fefcfe;color:#8c709f;font:inherit;font-size:10px;outline:0}.range-fields input[data-v-85662a61]:focus{border-color:#d4bae9;box-shadow:0 0 0 3px #f4eafa}.range-divider[data-v-85662a61]{font-size:10px;color:#bfa7cb}.query-button[data-v-85662a61]{font-size:10px;min-height:35px;padding:7px 12px;margin-left:4px}.range-summary[data-v-85662a61]{border-top:1px solid #f2eaf6;padding:11px 23px;background:#fefcfe;display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:9px;color:#b098c0}.range-summary>span[data-v-85662a61]{display:flex;align-items:center;gap:6px}.range-summary .range-dirty[data-v-85662a61]{color:#b27b9e}.stale-notice[data-v-85662a61]{font-size:11px;color:#af88a1;margin:-8px 0 18px}.report-stats[data-v-85662a61]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.report-stat[data-v-85662a61]{border:1px solid var(--report-line);border-radius:13px;background:#fff;padding:19px 22px 18px;min-width:0}.report-stat-head[data-v-85662a61]{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-stat-head>span[data-v-85662a61]:first-child{font-size:11px;color:#9a83aa}.report-stat-icon[data-v-85662a61]{display:flex;align-items:center;justify-content:center;background:#f5eefb;border-radius:8px;width:33px;height:33px}.report-stat-icon.pink[data-v-85662a61]{background:#fbf0f6}.report-stat-value[data-v-85662a61]{display:flex;align-items:baseline;gap:8px;margin:12px 0 10px;min-height:36px}.report-stat-value strong[data-v-85662a61]{font-size:31px;line-height:1.2;font-weight:500;color:#624181;font-variant-numeric:tabular-nums;letter-spacing:-1px}.report-stat-value strong.amount-value[data-v-85662a61]{font-size:28px;letter-spacing:-.8px}.report-stat-value>span[data-v-85662a61]{font-size:10px;color:#b7a0c7}.report-stat-note[data-v-85662a61]{font-size:9px;color:#b39dbf;margin:0}.report-value-skeleton[data-v-85662a61]{height:35px;min-height:0;width:85%;margin:12px 0 11px}.reports-view .panel[data-v-85662a61]{border:1px solid var(--report-line);border-radius:14px}.reports-view .panel-head[data-v-85662a61]{padding:22px 23px 20px}.reports-view .panel-head h2[data-v-85662a61]{font-size:14px;color:var(--report-ink);font-weight:600;display:flex;align-items:center;gap:8px}.reports-view .panel-head p[data-v-85662a61]{font-size:10px;color:#ae96be;margin-top:6px}.chart-legend[data-v-85662a61]{display:flex;align-items:center;gap:6px;color:#a185b4;font-size:9px;white-space:nowrap}.chart-legend i[data-v-85662a61]{display:inline-block;flex:none;width:6px;height:6px;background:#b794d5;border-radius:2px}.chart-legend>span[data-v-85662a61]{display:inline-flex;align-items:center;gap:5px;margin-left:9px}.chart-legend i.negative-dot[data-v-85662a61]{background:#e5b5d0}.trend-summary[data-v-85662a61]{display:flex;align-items:center;gap:16px;padding:0 24px 9px}.trend-summary strong[data-v-85662a61]{color:#745193;font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.trend-summary strong small[data-v-85662a61]{font-size:10px;color:#ad90be;font-weight:400;margin-left:4px}.trend-summary>span[data-v-85662a61]{font-size:10px;color:#b59dc3}.chart-scroll[data-v-85662a61]{overflow-x:auto;margin:0 18px;scrollbar-width:thin;scrollbar-color:#e7d6f2 #fcf9fe}.consumption-chart[data-v-85662a61]{display:block;width:100%;height:228px;overflow:visible}.chart-grid line[data-v-85662a61]{stroke:#f0e9f6;stroke-width:1;stroke-dasharray:3 5}.chart-grid line.baseline[data-v-85662a61]{stroke:#e9ddef;stroke-dasharray:none}.chart-grid text[data-v-85662a61],.chart-date[data-v-85662a61]{font-size:9px;fill:#b39bc3;font-family:inherit}.chart-date[data-v-85662a61]{font-size:9px}.bar-value[data-v-85662a61]{font-size:9px;fill:#aa89bd;font-family:inherit}.chart-bar-group rect[data-v-85662a61]{transition:fill .18s}.chart-bar-group:hover rect[data-v-85662a61]{fill:#8b5cb2}.chart-caption[data-v-85662a61]{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #f3ecf7;padding:13px 24px;font-size:9px;color:#b39dc2;background:#fefcfe}.report-chart-loading[data-v-85662a61]{padding:5px 24px 24px}.chart-skeleton[data-v-85662a61]{height:224px;min-height:0}.table-loading[data-v-85662a61]{display:grid;gap:11px;padding:5px 23px 25px}.row-skeleton[data-v-85662a61]{height:43px;min-height:0;border-radius:7px}.table-caption[data-v-85662a61]{font-size:9px;color:#b49ec2;white-space:nowrap}.reports-view table th[data-v-85662a61]{font-size:10px;padding:12px 23px;color:#a28bab;font-weight:400;background:#fcf9fe;border-color:#f0e7f5}.reports-view table td[data-v-85662a61]{font-size:11px;padding:17px 23px;color:#8a719a;border-color:#f4edf8;font-variant-numeric:tabular-nums}.numeric[data-v-85662a61]{text-align:right}.class-cell[data-v-85662a61]{display:flex;align-items:center;gap:13px}.class-cell strong[data-v-85662a61]{font-size:12px;font-weight:500;color:#705184}.class-rank[data-v-85662a61]{font-size:10px;color:#c1aace;width:18px}.reports-view td.hours-cell[data-v-85662a61]{color:#9871b5;font-size:12px;font-weight:500}.hours-cell small[data-v-85662a61]{font-size:9px;color:#bea5cd;font-weight:400;margin-left:3px}.reports-view td.muted-number[data-v-85662a61]{color:#b39fc0}.attendance-cell[data-v-85662a61]{display:flex;align-items:center;gap:12px;min-width:125px}.attendance-cell>span[data-v-85662a61]{width:42px;color:#a085b5;font-size:10px;font-variant-numeric:tabular-nums}.attendance-track[data-v-85662a61]{height:4px;width:75px;border-radius:8px;background:#f4edf9;overflow:hidden}.attendance-track i[data-v-85662a61]{height:100%;display:block;background:#c5a6dd;border-radius:8px}.report-count[data-v-85662a61]{display:inline-flex;padding:3px 6px;align-items:center;justify-content:center;min-width:22px;background:#f3ebfa;border-radius:5px;color:#ac8bc3;font-size:9px;font-weight:400}.student-toolbar[data-v-85662a61]{display:flex;align-items:center;gap:11px;padding:0 23px 18px}.student-search[data-v-85662a61]{display:flex;align-items:center;gap:8px;border:1px solid #eadef2;border-radius:6px;padding:0 11px;background:#fff}.student-search input[data-v-85662a61]{border:0;outline:0;background:transparent;min-height:33px;font-family:inherit;color:#886b9c;font-size:10px;width:175px}.student-search input[data-v-85662a61]::placeholder{color:#bca7ca}.student-toolbar select[data-v-85662a61]{border:1px solid #eadef2;border-radius:6px;min-height:35px;font-family:inherit;color:#a186b2;background:#fff;font-size:10px;padding:7px 27px 7px 10px;max-width:210px}.student-toolbar>span[data-v-85662a61]{margin-left:auto;font-size:9px;color:#b59dc4}.student-name[data-v-85662a61]{display:flex;align-items:center;gap:10px}.student-name strong[data-v-85662a61]{font-size:11px;font-weight:500;color:#77578d}.student-avatar[data-v-85662a61]{display:flex;align-items:center;justify-content:center;flex:none;width:29px;height:29px;border-radius:50%;font-size:10px;color:#a27cb8;background:#f1e8f9}.student-avatar.pink[data-v-85662a61]{background:#faedf5;color:#c394af}.class-tag[data-v-85662a61]{font-size:10px;color:#a78bb7;background:#f7f1fc;border:1px solid #f1e7f8;padding:4px 7px;border-radius:5px}.student-report-table table[data-v-85662a61]{min-width:920px}.reports-view .student-report-table td[data-v-85662a61],.reports-view .student-report-table th[data-v-85662a61]{padding-left:18px;padding-right:18px}.reports-view td.money-cell[data-v-85662a61]{font-size:11px;color:#aa8bbd}.reports-view td.rate-cell[data-v-85662a61]{color:#a580bf;font-size:10px}.student-pagination[data-v-85662a61]{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-top:1px solid #f1e7f6;font-size:9px;color:#b39bc2}.student-pagination>div[data-v-85662a61]{display:flex;align-items:center;gap:14px}.student-pagination>div>span[data-v-85662a61]{font-size:10px;color:#a387b7}.pagination-arrow[data-v-85662a61]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #eee4f5;border-radius:5px;background:#fff;cursor:pointer}.pagination-arrow[data-v-85662a61]:hover:enabled{background:#f6eefa;border-color:#d4bae9}.pagination-arrow[data-v-85662a61]:disabled{opacity:.35;cursor:default}.pagination-arrow.previous img[data-v-85662a61]{transform:rotate(180deg)}.report-footnote[data-v-85662a61]{display:flex;align-items:flex-start;gap:7px;color:#b7a3c2;font-size:9px;line-height:1.9;margin:17px 3px 0}.report-footnote img[data-v-85662a61]{margin-top:2px;opacity:.7}.unavailable-state[data-v-85662a61]{font-size:11px;color:#b398c1;text-align:center;padding:45px 20px}.reports-view[data-v-85662a61] .empty-state.compact{padding:24px 20px 30px}.reports-view[data-v-85662a61] .empty-state.compact h3{font-size:12px}.reports-view[data-v-85662a61] .empty-state.compact p{font-size:10px}.sr-only[data-v-85662a61]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(min-width:1450px){.report-stat[data-v-85662a61]{padding:21px 24px}.report-stat-value strong[data-v-85662a61]{font-size:35px}.report-stat-value strong.amount-value[data-v-85662a61]{font-size:32px}.report-filter form[data-v-85662a61]{gap:26px}.range-fields input[data-v-85662a61]{width:150px}.range-fields[data-v-85662a61]{gap:14px}.range-shortcuts button[data-v-85662a61]{padding:7px 14px}.consumption-chart[data-v-85662a61]{height:247px}}@media(max-width:1180px){.report-filter form[data-v-85662a61]{gap:15px}.range-fields[data-v-85662a61]{flex-basis:100%;justify-content:flex-start}.range-fields input[data-v-85662a61]{width:175px}.filter-title[data-v-85662a61]{margin-right:5px}.range-shortcuts[data-v-85662a61]{margin-left:auto}.report-stat[data-v-85662a61]{padding:17px}.report-stat-value strong[data-v-85662a61]{font-size:28px}.report-stat-value strong.amount-value[data-v-85662a61]{font-size:24px}.report-stats[data-v-85662a61]{gap:12px}.reports-view table td[data-v-85662a61],.reports-view table th[data-v-85662a61]{padding-left:18px;padding-right:18px}.report-stat-note[data-v-85662a61]{font-size:8px}}@media(max-width:820px){.report-stats[data-v-85662a61]{grid-template-columns:repeat(2,minmax(0,1fr))}.report-stat-value strong[data-v-85662a61]{font-size:30px}.report-stat-value strong.amount-value[data-v-85662a61]{font-size:28px}.class-report-table table[data-v-85662a61]{min-width:650px}.reports-view .panel-head[data-v-85662a61]{padding:20px}.report-filter form[data-v-85662a61]{padding:19px 20px}.chart-caption[data-v-85662a61]{flex-wrap:wrap;gap:6px;padding:12px 20px}.report-stat-note[data-v-85662a61]{font-size:9px}.student-toolbar[data-v-85662a61]{flex-wrap:wrap}.student-toolbar>span[data-v-85662a61]{margin-left:0}.chart-legend[data-v-85662a61]{font-size:8px}.chart-legend>span[data-v-85662a61]{margin-left:3px}.table-caption[data-v-85662a61]{font-size:8px}}@media(max-width:540px){.reports-view .page-heading[data-v-85662a61]{align-items:flex-start;gap:10px}.export-button[data-v-85662a61]{font-size:10px;padding:7px 10px;min-height:34px}.reports-view .page-heading p[data-v-85662a61]{font-size:10px;max-width:210px;line-height:1.7}.reports-view .eyebrow[data-v-85662a61]{font-size:8px;letter-spacing:.6px}.report-filter form[data-v-85662a61]{padding:16px;gap:14px}.filter-title[data-v-85662a61]{gap:6px}.filter-title strong[data-v-85662a61]{font-size:11px}.filter-timezone[data-v-85662a61]{font-size:8px}.range-shortcuts[data-v-85662a61]{margin-left:0}.range-shortcuts button[data-v-85662a61]{font-size:9px;padding:5px 8px}.range-fields[data-v-85662a61]{gap:7px;flex-wrap:wrap}.range-fields label[data-v-85662a61]{flex:1}.range-fields input[data-v-85662a61]{width:100%;font-size:10px;min-width:105px}.range-fields .query-button[data-v-85662a61]{flex-basis:100%;margin:4px 0 0}.range-summary[data-v-85662a61]{padding:10px 16px;gap:7px;line-height:1.6;font-size:8px}.report-stats[data-v-85662a61]{gap:10px;margin-bottom:18px}.report-stat[data-v-85662a61]{padding:15px}.report-stat-head>span[data-v-85662a61]:first-child{font-size:10px}.report-stat-icon[data-v-85662a61]{width:27px;height:27px}.report-stat-icon img[data-v-85662a61]{width:16px;height:16px}.report-stat-value[data-v-85662a61]{margin-top:9px;margin-bottom:7px;gap:5px}.report-stat-value strong[data-v-85662a61]{font-size:27px}.report-stat-value strong.amount-value[data-v-85662a61]{font-size:23px}.report-stat-note[data-v-85662a61]{font-size:8px;line-height:1.6}.reports-view .panel-head[data-v-85662a61]{padding:18px 16px}.reports-view .panel-head h2[data-v-85662a61]{font-size:13px}.reports-view .panel-head p[data-v-85662a61]{font-size:9px}.chart-legend[data-v-85662a61]{flex-wrap:wrap;max-width:92px;justify-content:flex-end;gap:3px}.chart-legend>span[data-v-85662a61]{margin-left:0}.trend-summary[data-v-85662a61]{padding:0 17px 6px;gap:10px}.trend-summary strong[data-v-85662a61]{font-size:20px}.trend-summary>span[data-v-85662a61]{font-size:8px}.chart-scroll[data-v-85662a61]{margin:0 9px}.chart-caption[data-v-85662a61]{font-size:8px;padding:12px 16px}.table-caption[data-v-85662a61]{max-width:90px;white-space:normal;line-height:1.8;text-align:right}.student-toolbar[data-v-85662a61]{padding:0 16px 16px;gap:9px}.student-search[data-v-85662a61]{flex:1;min-width:0}.student-search input[data-v-85662a61]{width:100%;min-width:115px}.student-toolbar select[data-v-85662a61]{max-width:130px;font-size:9px}.student-toolbar>span[data-v-85662a61]{width:100%;font-size:8px}.student-pagination[data-v-85662a61]{padding:12px 16px;font-size:8px}.report-footnote[data-v-85662a61]{font-size:8px}.report-chart-loading[data-v-85662a61],.table-loading[data-v-85662a61]{padding:0 16px 20px}}@media(prefers-reduced-motion:reduce){.chart-bar-group rect[data-v-85662a61]{transition:none}}.settings-grid[data-v-bc5fbee9]{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.settings-body[data-v-bc5fbee9]{padding:0 25px 18px}.setting-row[data-v-bc5fbee9]{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.setting-row label[data-v-bc5fbee9],.setting-row strong[data-v-bc5fbee9]{font-size:12px;font-weight:550}.setting-row p[data-v-bc5fbee9]{font-size:10px;color:var(--muted);margin-top:5px}.threshold-input[data-v-bc5fbee9]{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.threshold-input input[data-v-bc5fbee9]{width:60px;border:1px solid var(--line);border-radius:6px;background:var(--control);padding:7px 9px;outline:none;color:var(--accent)}.switch[data-v-bc5fbee9]{appearance:none;width:34px;height:20px;background:#ded5e7;border-radius:12px;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s;border:0}.switch[data-v-bc5fbee9]:after{content:"";position:absolute;width:14px;height:14px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px #26173a15}.switch[data-v-bc5fbee9]:checked{background:var(--accent)}.switch[data-v-bc5fbee9]:checked:after{transform:translate(14px)}.switch[data-v-bc5fbee9]:disabled{opacity:.45;cursor:not-allowed}.wechat-status[data-v-bc5fbee9]{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#9b88aa;padding-top:16px;flex-wrap:wrap}.wechat-status>span[data-v-bc5fbee9]{display:flex;align-items:center;gap:6px}.wechat-status .text-button[data-v-bc5fbee9]{font-size:10px}.backup-list[data-v-bc5fbee9]{padding:0 25px 20px}.backup-item[data-v-bc5fbee9]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.backup-item strong[data-v-bc5fbee9]{font-weight:500;font-size:11px}.backup-item p[data-v-bc5fbee9]{font-size:9px;color:#a08cae;overflow-wrap:anywhere}.backup-note[data-v-bc5fbee9]{font-size:10px;color:#a38caf;margin-top:17px}.account-visual[data-v-bc5fbee9]{text-align:center;padding:32px 20px 24px;background:linear-gradient(180deg,#f6f0fc,#fff)}.account-visual .avatar[data-v-bc5fbee9]{margin:auto;width:58px;height:58px;border:4px solid #fff;border-radius:50%;font-size:20px}.account-visual h3[data-v-bc5fbee9]{margin-top:12px;font-size:15px}.account-visual .eyebrow[data-v-bc5fbee9]{font-size:7px;letter-spacing:1.8px;margin-top:6px;color:#a896b8}.account-detail[data-v-bc5fbee9]{display:flex;align-items:center;justify-content:space-between;margin:0 23px;padding:14px 0;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.account-detail strong[data-v-bc5fbee9]{font-size:11px;font-weight:500;color:var(--ink-soft)}.account-actions[data-v-bc5fbee9]{display:flex;flex-direction:column;gap:16px;padding:24px}.account-actions>.text-button[data-v-bc5fbee9]{font-size:10px;color:#9a85a9}.settings-art-note[data-v-bc5fbee9]{text-align:center;margin-top:35px}.settings-art-note img[data-v-bc5fbee9]{width:135px;height:100px;object-fit:contain;margin:auto}.settings-art-note p[data-v-bc5fbee9]{font-family:STKaiti,KaiTi,serif;color:#a48cb8;font-size:19px;line-height:1.9;margin-top:10px}.password-form[data-v-bc5fbee9]{display:flex;flex-direction:column;gap:18px}@media(max-width:1000px){.settings-grid[data-v-bc5fbee9]{grid-template-columns:1fr}.settings-grid>aside[data-v-bc5fbee9]{display:grid;grid-template-columns:1fr 1fr;gap:25px}}@media(max-width:700px){.settings-grid>aside[data-v-bc5fbee9]{display:block}.settings-art-note[data-v-bc5fbee9]{display:none}.settings-body[data-v-bc5fbee9],.backup-list[data-v-bc5fbee9]{padding-inline:20px}.setting-row[data-v-bc5fbee9]{gap:13px}.backup-item[data-v-bc5fbee9]{gap:12px}.backup-item .avatar[data-v-bc5fbee9]{display:none}}.notification-guide[data-v-6dece71b]{background:#f0e7f9;border:1px solid #e5d8ef;border-radius:10px;padding:18px 22px;margin-bottom:22px;display:flex;gap:15px;align-items:center}.notification-guide strong[data-v-6dece71b]{font-size:12px;font-weight:550}.notification-guide p[data-v-6dece71b]{font-size:10px;color:var(--muted);margin-top:5px}.notification-guide .text-button[data-v-6dece71b]{margin-left:auto;font-size:11px}.notification-error[data-v-6dece71b]{max-width:290px;white-space:normal;font-size:10px;color:var(--muted)}.log-summary[data-v-6dece71b]{max-width:360px;white-space:normal}.log-detail>p[data-v-6dece71b]{font-size:12px;color:var(--muted);margin-bottom:20px}.log-detail>div[data-v-6dece71b]{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.log-detail span[data-v-6dece71b]{color:var(--muted);flex-shrink:0}.log-detail strong[data-v-6dece71b]{font-weight:500;text-align:right;overflow-wrap:anywhere}@media(max-width:700px){.notification-guide[data-v-6dece71b]{flex-wrap:wrap;padding:17px}.notification-guide .app-icon[data-v-6dece71b]{display:none}.notification-guide .text-button[data-v-6dece71b]{margin-left:0}.notification-guide>div[data-v-6dece71b]{flex:1 1 100%}}.heading-actions[data-v-f8141194]{display:flex;align-items:center;gap:10px}.isolation-note[data-v-f8141194]{display:flex;align-items:center;gap:15px;padding:20px 23px;margin-bottom:22px;border:1px solid var(--accent-line);border-radius:12px;background:linear-gradient(110deg,#f3eafa,#fcf9ff)}.isolation-note .avatar[data-v-f8141194]{width:43px;height:43px;border-radius:12px;background:#fff9}.isolation-note strong[data-v-f8141194]{font-size:13px;font-weight:550;color:var(--ink-soft)}.isolation-note p[data-v-f8141194]{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.8}.accounts-table td[data-v-f8141194]:first-child{min-width:220px}.account-username[data-v-f8141194]{overflow-wrap:anywhere;white-space:normal;max-width:290px}.self-label[data-v-f8141194]{display:inline-block;margin-left:8px;font-size:9px;color:var(--accent);font-weight:400}.created-at[data-v-f8141194]{color:var(--muted);font-size:11px}.row-actions[data-v-f8141194]{gap:15px}.deactivate-action[data-v-f8141194]{color:var(--danger)}.deactivate-action[data-v-f8141194]:hover{color:#9f1239}.account-form[data-v-f8141194]{display:flex;flex-direction:column;gap:17px}.form-note[data-v-f8141194]{display:flex;align-items:flex-start;gap:9px;background:var(--control);border:1px solid var(--line);border-radius:8px;padding:13px;margin-bottom:20px}.form-note p[data-v-f8141194]{font-size:11px;color:var(--muted);line-height:1.8}.form-note .app-icon[data-v-f8141194]{margin-top:1px}.pending-notice p[data-v-f8141194]:first-child{margin-top:0}@media(max-width:900px){.heading-actions[data-v-f8141194]{align-items:flex-end;flex-direction:column;gap:8px}}@media(max-width:700px){.heading-actions .button[data-v-f8141194]{min-height:34px;padding:6px 10px;font-size:11px}.isolation-note[data-v-f8141194]{padding:16px;gap:12px;align-items:flex-start}.isolation-note .avatar[data-v-f8141194]{width:34px;height:34px;border-radius:9px}.isolation-note strong[data-v-f8141194]{font-size:12px}.isolation-note p[data-v-f8141194]{font-size:10px}.table-footer[data-v-f8141194]{gap:12px;flex-wrap:wrap}.table-footer span[data-v-f8141194]{font-size:10px}.accounts-table td[data-v-f8141194]:first-child{min-width:195px}}.sync-status[data-v-6f141abc]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:12px 16px;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-soft);color:var(--ink-soft);font-size:12px;line-height:1.7}.sync-status button[data-v-6f141abc]{flex-shrink:0}.mobile-nav-close[data-v-6f141abc]{align-self:flex-end;margin-bottom:4px}:root{--ink:#26173a;--ink-soft:#453151;--muted:#766783;--label:#6b4d85;--accent:#7247a8;--accent-deep:#5e3594;--accent-soft:#eee4f8;--accent-line:#d4bae9;--paper:#f7f2fb;--surface:#fff;--control:#f6f3fa;--line:#eee8f3;--warn:#b45309;--warn-bg:#fffbeb;--danger:#be123c;--danger-bg:#fff1f2;--shadow:0 4px 22px #60409606;font-family:Microsoft YaHei,PingFang SC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent);text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:650;letter-spacing:.4px;line-height:1.45}h2{font-size:18px;font-weight:650}h3{font-size:15px;font-weight:600}button{color:inherit}input,select,textarea{min-width:0}input[type=checkbox]{accent-color:var(--accent)}:focus-visible{outline:3px solid #d4bae9;outline-offset:3px}::selection{background:#e6d6f5}::placeholder{color:#a39aaf}button{transition:background .15s,box-shadow .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}.app-icon{display:inline-block;object-fit:contain;flex:none;max-width:none;vertical-align:middle;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0}.app-layout{min-height:100vh;padding-left:226px}.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;position:fixed;inset:0 auto 0 0;z-index:20;width:226px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 18px}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 30px;border:0;background:transparent;text-align:left}.brand-mark{width:36px;height:40px;object-fit:contain}.brand-title{display:block;font-size:18px;letter-spacing:1px;font-weight:650;white-space:nowrap}.brand-sub{display:block;font-size:9px;letter-spacing:2.3px;color:var(--muted);margin-top:2px}.nav-label{font-size:10px;letter-spacing:1.8px;color:#aaa0b5;padding:12px 16px 8px}.nav-item{width:100%;min-height:44px;display:flex;align-items:center;gap:13px;border:0;background:transparent;padding:11px 16px;margin:2px 0;border-radius:9px;text-align:left;color:#796a88;font-size:13px;position:relative}.nav-item:hover{background:#faf7fd;color:var(--accent)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item.active:after{content:"";position:absolute;right:12px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.nav-spacer{flex:1;min-height:20px}.studio-note{background:#f8f4fc;border:1px solid var(--line);border-radius:12px;padding:15px;margin:14px 6px}.studio-note .tiny-star{color:var(--accent);font-size:23px;line-height:1}.studio-note p{font-size:12px;color:#8a789b;margin-top:7px;line-height:1.9}.sidebar-foot{font-size:9px;color:#a99db3;letter-spacing:1.7px;text-align:center;margin-top:10px}.topbar{height:78px;position:relative;z-index:10;background:#ffffffd9;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.breadcrumb strong{font-weight:500;color:var(--ink-soft)}.topbar-actions{display:flex;align-items:center;gap:19px}.top-search{display:flex;align-items:center;gap:8px}.top-search input{width:165px;font-size:11px;background:transparent;border:0;outline:0;color:var(--ink)}.search-key{border:1px solid var(--line);border-radius:4px;font-size:10px;padding:0 5px;color:#a99db3}.topbar-divider{height:23px;width:1px;background:var(--line)}.account{display:flex;align-items:center;gap:10px;font-size:12px}.account strong{font-size:12px;font-weight:550;display:block}.account small{font-size:9px;color:var(--muted);letter-spacing:1px}.account .avatar{width:35px;height:35px;border-radius:50%;font-size:13px}.mobile-toggle{display:none}.page-content{padding:29px 34px 22px;max-width:1610px;margin:0 auto;min-height:calc(100vh - 120px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.page-heading p{color:var(--muted);font-size:12px;margin-top:6px}.eyebrow{display:block;font-size:9px;letter-spacing:2.2px;font-weight:600;color:var(--accent);margin-bottom:6px}.page-footer{display:flex;align-items:center;justify-content:space-between;padding:6px 34px 22px;max-width:1610px;margin:auto;color:#a69aae;font-size:10px;letter-spacing:.5px}.page-footer span:first-child{letter-spacing:1.5px;font-size:9px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel+.panel{margin-top:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;gap:14px}.panel-head h2{font-size:15px}.panel-head p{font-size:11px;color:var(--muted);margin-top:3px}.panel-body{padding:22px}.button{border:1px solid var(--accent-line);border-radius:8px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:550;background:#fff;white-space:nowrap}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 10px #7247a812}.button.primary:hover{background:var(--accent-deep)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink-soft)}.button.secondary:hover{border-color:var(--accent-line);background:#fcfaff}.button.danger{background:var(--danger-bg);border-color:#fecdd3;color:var(--danger)}.button.small{min-height:34px;padding:6px 12px;font-size:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:7px;min-width:36px;min-height:36px}.icon-button:hover{background:var(--accent-soft)}.text-button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;white-space:nowrap;background:none;border:0;padding:4px;color:var(--accent);font-weight:500}.text-button:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:4px}.subtle{color:var(--muted);font-size:12px}.row{display:flex;align-items:center;gap:12px}.row.gap{gap:16px}.row.between{justify-content:space-between}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:0 23px 20px}.toolbar input,.toolbar select{min-height:40px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 10px;color:var(--ink-soft);font-size:12px}.search-field{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff}.search-field input{border:0;background:transparent;outline:0;min-height:36px;padding:7px 0;min-width:140px;font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{font-weight:500;background:#fcfafd;color:#95859f;font-size:10px;letter-spacing:.4px;padding:12px 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:17px 23px;border-bottom:1px solid #f3edf7;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fdfbff}td strong{font-weight:550}td .subtle{font-size:10px;margin-top:2px}td .button{margin:0}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 23px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.table-footer button{min-width:30px}.avatar{width:34px;height:34px;border-radius:10px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:600}.avatar.soft-pink{background:#faeaf2;color:#bd7e9f}.badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 9px;font-size:10px;border-radius:5px;color:var(--accent);background:#f1e9f9;white-space:nowrap}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.danger{color:var(--danger);background:var(--danger-bg)}.badge.neutral{color:#8c7b98;background:#f2eef6}.dot{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 23px;margin-bottom:20px}.tabs button{position:relative;border:0;background:none;font-size:12px;color:var(--muted);padding:14px 0}.tabs button.active{color:var(--accent);font-weight:600}.tabs button.active:after{content:"";height:2px;background:var(--accent);position:absolute;inset:auto 0 -1px}.segmented{display:inline-flex;gap:3px;padding:3px;background:var(--control);border:1px solid var(--line);border-radius:7px}.segmented button{border:0;background:none;color:#8e7d9d;padding:5px 11px;border-radius:5px;font-size:11px}.segmented button.active{background:#fff;box-shadow:0 1px 5px #60409612;color:var(--accent)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:13px;color:var(--ink-soft);font-weight:550}.field input,.field select,.field textarea{width:100%;border:1px solid #e7deed;background:#fcfafd;color:var(--ink);border-radius:7px;padding:10px 12px;outline:0;min-height:44px;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--accent-line);box-shadow:0 0 0 3px #eee4f866}.field :disabled{background:#f3eef7;color:#9b8caa;cursor:not-allowed}.field textarea{resize:vertical;min-height:85px}.field small{color:var(--muted);font-size:10px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:23px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 23px;min-width:0}.stat-card .stat-label{font-size:11px;color:var(--muted)}.stat-card .stat-value{font-family:Georgia,Microsoft YaHei,serif;font-size:34px;line-height:1.25;color:var(--ink);margin-top:13px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stat-card small{color:var(--muted);font-size:10px;margin-left:5px;font-family:Microsoft YaHei,sans-serif;letter-spacing:0}.empty-state{text-align:center;padding:38px 20px;display:flex;align-items:center;flex-direction:column}.empty-state>.empty-illustration{width:130px;height:112px;object-fit:contain;margin-bottom:12px}.empty-state h3{font-size:14px;color:var(--ink-soft)}.empty-state p{font-size:12px;color:var(--muted);margin-top:7px;margin-bottom:15px;max-width:340px}.empty-state.compact{padding:23px}.empty-state.compact>.empty-illustration{width:90px;height:75px}.error-notice{background:var(--danger-bg);border:1px solid #f6dce5;color:var(--danger);font-size:12px;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.pending-notice{background:var(--warn-bg);color:var(--warn);padding:14px 16px;border:1px solid #f5e6b7;border-radius:8px;margin-bottom:19px;font-size:12px}.pending-notice p{font-size:11px;margin-top:5px}.pending-notice .text-button{font-size:10px;color:var(--warn);margin-top:6px}.skeleton{background:linear-gradient(100deg,#f7f2fb 20%,#eee4f8,#f7f2fb 80%);background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:7px;min-height:100px}.loading-state{padding:45px;text-align:center;color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#2a193c45;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:510px;max-width:100%;max-height:90vh;display:flex;flex-direction:column;border-radius:17px;background:#fff;box-shadow:0 24px 100px #26173a30;overflow:hidden}.modal.wide{width:780px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:25px 28px 20px}.modal-header h2{font-size:22px}.modal-header p{font-size:11px;color:var(--muted);margin-top:5px}.modal-body{padding:4px 28px 25px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 28px;background:#fcfafd;border-top:1px solid var(--line)}.toast{position:fixed;z-index:200;left:50%;bottom:32px;transform:translate(-50%);background:#453151f2;color:#fff;padding:12px 22px;border-radius:9px;box-shadow:0 6px 30px #26173a25;font-size:12px;max-width:90vw;text-align:center}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}.review-banner{padding:8px 25px;background:#fff8e8;color:var(--warn);font-size:11px;text-align:center}.content-grid{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}.number{font-variant-numeric:tabular-nums}.positive{color:var(--accent)}.negative{color:var(--danger)}.icon-button.mobile-toggle{display:none}@media(max-width:700px){.icon-button.mobile-toggle{display:flex}}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:1800px){.page-content{padding-top:40px}.topbar{padding-inline:50px}}@media(max-width:1180px){.sidebar{width:200px;padding-inline:12px}.app-layout{padding-left:200px}.brand-title{font-size:16px}.topbar{padding-inline:24px}.page-content{padding:25px 24px}.page-footer{padding-inline:24px}.content-grid{grid-template-columns:1fr 285px}.stat-card{padding:18px}.stat-row{gap:12px}th,td{padding-inline:18px}.top-search input{width:120px}}@media(max-width:900px){.content-grid{grid-template-columns:1fr}.top-search{display:none}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.stat-row{grid-template-columns:1fr 1fr}.account small{display:none}}@media(max-width:700px){.app-layout{padding-left:0}.sidebar{transform:translate(-100%);transition:transform .2s;width:226px}.sidebar.open{transform:translate(0)}.mobile-mask{position:fixed;inset:0;background:#26173a44;z-index:19}.mobile-toggle{display:flex}.topbar{height:64px;padding-inline:17px;gap:10px}.topbar-actions{gap:12px}.breadcrumb{font-size:11px;gap:7px}.breadcrumb>.app-icon{display:none}.breadcrumb>span{display:none}.page-content{padding:23px 17px}.page-heading{margin-bottom:20px;gap:13px}.page-heading h1{font-size:23px}.page-heading>.button{min-height:36px;padding-inline:11px;font-size:11px}.page-heading p{font-size:11px;max-width:220px}.panel-head{padding:18px}.toolbar{padding:0 18px 17px;gap:10px}.toolbar>*{max-width:100%}.table-footer{padding-inline:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-backdrop{padding:12px}.modal-header{padding:22px}.modal-body{padding:0 22px 22px}.modal-footer{padding:15px 22px}.page-footer{padding:10px 18px 22px;font-size:9px;gap:10px}.studio-note{display:none}.stat-card{padding:17px}.stat-card .stat-value{font-size:29px}.stat-row{gap:11px}.account strong,.topbar-divider{display:none}.stat-card .stat-label{font-size:10px}.row{gap:8px}.empty-state{padding:28px 16px}.review-banner{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body{background:radial-gradient(ellipse at 100% 0,#eee3f84d,transparent 46%),var(--paper)}.sidebar .studio-note{background:linear-gradient(100deg,#f8f4fcf2,#f8f4fca6),url(/assets/studio-paper-bg.png) right bottom/cover}.panel-head>.avatar{width:40px;height:40px;border-radius:12px}.table-wrap{scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent;overscroll-behavior-x:contain}.modal-footer .button{min-width:92px}@media(max-height:820px){.sidebar{padding-top:19px}.brand{padding-bottom:16px}.nav-label{padding-top:8px;padding-bottom:6px}.nav-spacer{min-height:8px}.sidebar .studio-note,.sidebar-foot{display:none}}@media(max-width:700px){.field input,.field select,.field textarea{font-size:14px}.icon-button{min-width:44px;min-height:44px}.page-heading>.button{min-height:42px;font-size:12px}.modal{max-height:calc(100dvh - 24px)}.modal-footer{flex-wrap:wrap}.modal-footer .button{flex:1}.error-notice{align-items:flex-start;flex-wrap:wrap}}@media(pointer:coarse){.button,.button.small,.icon-button,.text-button{min-height:44px}.icon-button{min-width:44px}.segmented button{min-height:40px}}
