.evening-card[data-v-cf7cf5db]{border:1px solid var(--esm-line);border-radius:var(--esm-radius);background:var(--esm-card);box-shadow:var(--esm-shadow-soft);padding:calc(var(--esm-space) * 2.25)}.evening-card-head[data-v-cf7cf5db]{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--esm-space) * 1.5);margin-bottom:calc(var(--esm-space) * 1.75)}.evening-card-head div[data-v-cf7cf5db]{display:grid;gap:4px}.evening-card-head strong[data-v-cf7cf5db]{font-size:16px;line-height:1.35}.evening-card-head span[data-v-cf7cf5db]{color:var(--esm-muted);font-size:13px}.evening-card-meta[data-v-cf7cf5db]{flex:0 0 auto;min-height:26px;display:inline-flex;align-items:center;border-radius:999px;padding:0 10px;background:#eff6ff;color:var(--esm-primary);font-size:12px;font-style:normal;font-weight:900}.esm-stat-card[data-v-236221d5]{--tone-color: var(--esm-primary);min-width:0;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 16px;border:1px solid var(--esm-line);border-radius:var(--esm-radius);background:var(--esm-card);box-shadow:var(--esm-shadow-soft)}.esm-stat-copy[data-v-236221d5]{min-width:0}.esm-stat-copy>span[data-v-236221d5]{display:block;color:var(--esm-muted);font-size:12px;line-height:1.4}.esm-stat-copy>strong[data-v-236221d5]{display:block;margin-top:8px;color:var(--esm-text);font-size:27px;line-height:1;font-weight:900}.esm-stat-copy small[data-v-236221d5]{display:flex;gap:4px;margin-top:9px;color:var(--esm-muted);font-size:11px;white-space:nowrap}.esm-stat-copy small b[data-v-236221d5]{color:var(--tone-color)}.esm-stat-icon[data-v-236221d5]{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--tone-color);background:color-mix(in srgb,var(--tone-color) 13%,white)}.is-success[data-v-236221d5]{--tone-color: var(--esm-success)}.is-warning[data-v-236221d5]{--tone-color: var(--esm-warning)}.is-danger[data-v-236221d5]{--tone-color: var(--esm-danger)}.is-info[data-v-236221d5]{--tone-color: var(--esm-purple)}.status-badge[data-v-9976b58d]{min-height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 9px;font-size:12px;font-weight:900}.status-normal[data-v-9976b58d]{background:#ecfdf5;color:#059669}.status-late[data-v-9976b58d]{background:#fff7ed;color:#ea580c}.status-leave[data-v-9976b58d]{background:#f5f3ff;color:#7c3aed}.status-absent[data-v-9976b58d]{background:#fef2f2;color:#dc2626}.status-planned[data-v-9976b58d]{background:#eff6ff;color:var(--esm-primary)}.user-header[data-v-4766fb88]{display:flex;align-items:center;gap:10px}.user-header div[data-v-4766fb88]{display:grid;gap:3px}.user-header strong[data-v-4766fb88]{font-size:14px}.user-header small[data-v-4766fb88]{color:var(--esm-muted);font-size:12px}.user-role-switch select[data-v-4766fb88]{width:100%;min-width:110px;height:28px;margin-top:2px;padding:0 22px 0 7px;border:1px solid #cfdcf0;border-radius:6px;color:#243957;background:#fff;font-size:12px;font-weight:700}.user-role-error[data-v-4766fb88]{color:#c83544}.sr-only[data-v-4766fb88]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.esm-mobile-acceptance[data-v-b1ddadb8]{display:grid;gap:12px;padding:16px;border:1px solid #d8e0ea;border-radius:8px;background:#fff}.esm-mobile-acceptance__head[data-v-b1ddadb8],.esm-mobile-acceptance__final[data-v-b1ddadb8]{display:flex;align-items:center;justify-content:space-between;gap:12px}.esm-mobile-acceptance__head strong[data-v-b1ddadb8]{color:#172554;font-size:16px}.esm-mobile-acceptance__head em[data-v-b1ddadb8]{padding:4px 7px;border-radius:6px;color:#047857;background:#ecfdf5;font-size:11px;font-style:normal;font-weight:800}.esm-mobile-acceptance__head em.is-warning[data-v-b1ddadb8]{color:#b45309;background:#fffbeb}.esm-mobile-acceptance__head em.is-not-ready[data-v-b1ddadb8]{color:#dc2626;background:#fef2f2}.esm-mobile-acceptance__checks[data-v-b1ddadb8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.esm-mobile-acceptance__checks span[data-v-b1ddadb8]{min-width:0;display:grid;gap:3px}.esm-mobile-acceptance small[data-v-b1ddadb8]{color:#64748b;font-size:11px}.esm-mobile-acceptance__checks strong[data-v-b1ddadb8]{color:#334155;font-size:12px;overflow-wrap:anywhere}.esm-mobile-acceptance__final[data-v-b1ddadb8]{padding-top:10px;border-top:1px solid #edf2f7}.esm-mobile-acceptance__final strong[data-v-b1ddadb8]{color:#172554;font-size:14px}.esm-mobile-school-overview[data-v-b1ddadb8]{display:grid;gap:14px;padding:16px;border:1px solid #cfe0f5;border-radius:12px;background:#f8fbff}.esm-mobile-school-overview__head[data-v-b1ddadb8]{display:flex;align-items:center;justify-content:space-between;gap:12px}.esm-mobile-school-overview__head>div[data-v-b1ddadb8]{min-width:0;display:grid;gap:3px}.esm-mobile-school-overview__head small[data-v-b1ddadb8],.esm-mobile-school-overview__time[data-v-b1ddadb8]{color:#64748b;font-size:11px}.esm-mobile-school-overview__head strong[data-v-b1ddadb8]{color:#172554;font-size:16px}.esm-mobile-school-overview__head em[data-v-b1ddadb8]{flex:0 0 auto;padding:5px 8px;border-radius:999px;color:#047857;background:#ecfdf5;font-size:11px;font-style:normal;font-weight:800}.esm-mobile-school-overview__head em.is-attention[data-v-b1ddadb8]{color:#b45309;background:#fffbeb}.esm-mobile-school-overview__head em.is-risk[data-v-b1ddadb8]{color:#dc2626;background:#fef2f2}.esm-mobile-school-overview__stats[data-v-b1ddadb8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.esm-mobile-school-overview__stats span[data-v-b1ddadb8]{min-width:0;display:grid;gap:3px}.esm-mobile-school-overview__stats strong[data-v-b1ddadb8]{color:#1e3a8a;font-size:20px}.esm-mobile-school-overview__stats small[data-v-b1ddadb8]{color:#64748b;font-size:11px}.esm-mobile-pilot[data-v-b1ddadb8]{display:grid;gap:14px;padding:16px;border:1px solid #dbe7f7;border-radius:16px;background:#fff;box-shadow:0 8px 24px #1e40af14}.esm-mobile-pilot__head[data-v-b1ddadb8],.esm-mobile-pilot__stats[data-v-b1ddadb8],.esm-mobile-pilot__issues div[data-v-b1ddadb8]{display:flex;align-items:center}.esm-mobile-pilot__head[data-v-b1ddadb8]{justify-content:space-between;gap:12px}.esm-mobile-pilot__head>div[data-v-b1ddadb8]{min-width:0;display:grid;gap:3px}.esm-mobile-pilot small[data-v-b1ddadb8]{color:#64748b;font-size:11px}.esm-mobile-pilot__head strong[data-v-b1ddadb8]{color:#172554;font-size:16px}.esm-mobile-pilot__head em[data-v-b1ddadb8]{padding:5px 8px;border-radius:999px;color:#1d4ed8;background:#eff6ff;font-size:11px;font-style:normal;font-weight:800}.esm-mobile-pilot__stats[data-v-b1ddadb8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.esm-mobile-pilot__stats span[data-v-b1ddadb8]{min-width:0;display:grid;gap:4px}.esm-mobile-pilot__stats strong[data-v-b1ddadb8]{color:#1e3a8a;font-size:14px;overflow-wrap:anywhere}.esm-mobile-pilot__stats strong.is-healthy[data-v-b1ddadb8]{color:#047857}.esm-mobile-pilot__stats strong.is-attention[data-v-b1ddadb8]{color:#b45309}.esm-mobile-pilot__stats strong.is-risk[data-v-b1ddadb8]{color:#dc2626}.esm-mobile-pilot__issues[data-v-b1ddadb8]{display:grid;gap:8px}.esm-mobile-pilot__issues div[data-v-b1ddadb8]{min-width:0;gap:8px;padding-top:8px;border-top:1px solid #edf2f7}.esm-mobile-pilot__issues b[data-v-b1ddadb8]{color:#dc2626;font-size:11px}.esm-mobile-pilot__issues span[data-v-b1ddadb8]{min-width:0;flex:1;color:#334155;font-size:12px}.esm-workbench-frame[data-v-b1ddadb8]{min-height:calc(100dvh - 40px);margin-top:20px}.duty-import-title[data-v-6dac02aa]{align-items:flex-start}.duty-import-actions[data-v-6dac02aa]{display:flex;flex-wrap:wrap;gap:8px}.duty-import-file[data-v-6dac02aa]{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px dashed #b8c9e4;border-radius:8px;background:#f8fbff}.duty-import-file>span[data-v-6dac02aa]{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;color:#1769ef;background:#eaf2ff}.duty-import-file>div[data-v-6dac02aa]{min-width:0;display:grid;gap:4px}.duty-import-file strong[data-v-6dac02aa]{overflow:hidden;color:#26334b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.duty-import-file small[data-v-6dac02aa]{color:#75829a;font-size:11px;line-height:1.5}.duty-import-summary[data-v-6dac02aa]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.duty-import-summary span[data-v-6dac02aa]{display:grid;gap:5px;padding:12px 14px;border:1px solid #e2e9f4;border-radius:8px;background:#fff}.duty-import-summary small[data-v-6dac02aa]{color:#7a879d;font-size:11px}.duty-import-summary strong[data-v-6dac02aa]{color:#26334b;font-size:20px}.duty-import-summary .error strong[data-v-6dac02aa]{color:#d92d20}.duty-import-table[data-v-6dac02aa]{margin-top:12px;max-height:320px;overflow:auto}.duty-import-confirm[data-v-6dac02aa]{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.duty-import-confirm span[data-v-6dac02aa]{display:flex;align-items:center;gap:8px;color:#52617a;font-size:12px}.duty-session-guide[data-v-6dac02aa]{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px 14px;border:1px solid #f3d39d;border-radius:7px;background:#fff9ed;color:#805a18}.duty-session-guide span[data-v-6dac02aa]{display:flex;align-items:center;gap:8px;font-size:12px}.duty-schedule-heading[data-v-6dac02aa]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:22px 16px 0;padding-top:18px;border-top:1px solid #e5ebf4}.duty-schedule-heading h3[data-v-6dac02aa]{margin:0;color:#26334b;font-size:15px}.duty-schedule-heading p[data-v-6dac02aa]{margin:5px 0 0;color:#7a879d;font-size:11px}.duty-date-filter[data-v-6dac02aa]{display:flex;align-items:center;gap:8px}.duty-date-filter input[data-v-6dac02aa]{height:36px;padding:0 9px;border:1px solid #d9e2ef;border-radius:7px;color:#35425a;background:#fff}.duty-date-filter span[data-v-6dac02aa]{color:#7a879d;font-size:12px}.duty-schedule-table[data-v-6dac02aa]{margin-top:12px;max-height:360px;overflow:auto}@media(max-width:760px){.duty-import-actions[data-v-6dac02aa],.duty-import-actions .admin-button[data-v-6dac02aa]{width:100%}.duty-import-file[data-v-6dac02aa]{grid-template-columns:40px minmax(0,1fr)}.duty-import-file .admin-button[data-v-6dac02aa]{grid-column:1 / -1;width:100%}.duty-import-summary[data-v-6dac02aa]{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-import-confirm[data-v-6dac02aa],.duty-session-guide[data-v-6dac02aa],.duty-schedule-heading[data-v-6dac02aa]{align-items:stretch;flex-direction:column}.duty-date-filter[data-v-6dac02aa]{display:grid;grid-template-columns:1fr auto 1fr}.duty-date-filter .admin-button[data-v-6dac02aa]{grid-column:1 / -1;width:100%}}.teacher-sync-boundary[data-v-ada8bd3a]{margin:0;padding:12px 14px;border-left:3px solid #246cf1;background:#f2f7ff;color:#405571;font-size:13px}.teacher-sync-list[data-v-ada8bd3a]{list-style:none;margin:0;padding:0;border:1px solid #f0c7c7}.teacher-sync-list li[data-v-ada8bd3a]{display:grid;gap:3px;padding:10px 12px;border-bottom:1px solid #f4dada}.teacher-sync-list li[data-v-ada8bd3a]:last-child{border-bottom:0}.teacher-sync-list strong[data-v-ada8bd3a]{color:#b73535;font-size:12px}.teacher-sync-list span[data-v-ada8bd3a]{color:#5e6878;font-size:13px}.teacher-sync-missing[data-v-ada8bd3a]{color:#775c2f;font-size:13px}.teacher-sync-missing summary[data-v-ada8bd3a]{cursor:pointer;font-weight:700}.teacher-sync-missing span[data-v-ada8bd3a]{display:block;padding:5px 0 0 12px}.teacher-toolbar-title[data-v-6771c2e4]{align-items:flex-end;gap:16px}.teacher-filter-bar[data-v-6771c2e4]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-filter-bar select[data-v-6771c2e4],.teacher-search[data-v-6771c2e4]{min-height:40px;border:1px solid #d8e1ef;border-radius:6px;background:#fff;color:#243652}.teacher-filter-bar select[data-v-6771c2e4]{padding:0 32px 0 12px}.teacher-search[data-v-6771c2e4]{display:flex;align-items:center;gap:8px;padding:0 12px}.teacher-search input[data-v-6771c2e4]{width:190px;border:0;outline:0;font:inherit}.teacher-table tbody tr[data-v-6771c2e4]{cursor:pointer}.teacher-table tbody tr[data-v-6771c2e4]:hover{background:#f7faff}.teacher-inline-state[data-v-6771c2e4]{display:inline-flex;align-items:center;gap:5px;color:#a45a41;font-weight:700}.teacher-inline-state.ready[data-v-6771c2e4]{color:#168060}.teacher-row-action[data-v-6771c2e4]{width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:#5a6d89;cursor:pointer}.teacher-drawer-backdrop[data-v-6771c2e4]{position:fixed;inset:0;z-index:80;background:#13233b59;display:flex;justify-content:flex-end}.teacher-drawer[data-v-6771c2e4]{width:min(520px,100%);height:100%;overflow:auto;background:#f7f9fc;box-shadow:-18px 0 48px #162a492e}.teacher-drawer>header[data-v-6771c2e4]{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid #dce4ef;background:#fff}.teacher-drawer header span[data-v-6771c2e4],.teacher-drawer header p[data-v-6771c2e4]{color:#72829a;font-size:13px}.teacher-drawer header h2[data-v-6771c2e4]{margin:5px 0 2px;font-size:24px;color:#10213c}.teacher-drawer header button[data-v-6771c2e4]{width:40px;height:40px;display:grid;place-items:center;border:1px solid #d7e0ec;border-radius:6px;background:#fff;color:#53647d;cursor:pointer}.teacher-drawer-content[data-v-6771c2e4]{padding:16px;display:grid;gap:12px}.teacher-drawer-loading[data-v-6771c2e4]{min-height:300px;display:flex;align-items:center;justify-content:center;gap:10px;color:#60728e}.teacher-detail-section[data-v-6771c2e4]{padding:18px;border:1px solid #dfe6f0;border-radius:8px;background:#fff}.teacher-detail-heading[data-v-6771c2e4]{display:flex;gap:10px;align-items:flex-start;margin-bottom:15px;color:#246cf1}.teacher-detail-heading h3[data-v-6771c2e4]{margin:0 0 3px;color:#172943;font-size:16px}.teacher-detail-heading p[data-v-6771c2e4]{margin:0;color:#75859b;font-size:12px}.teacher-identity-grid[data-v-6771c2e4]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.teacher-identity-grid span[data-v-6771c2e4]{padding:11px 12px;background:#f5f8fc;border-radius:6px}.teacher-identity-grid small[data-v-6771c2e4],.teacher-identity-grid strong[data-v-6771c2e4]{display:block}.teacher-identity-grid small[data-v-6771c2e4]{color:#7b8ba1;margin-bottom:3px}.teacher-field[data-v-6771c2e4]{display:grid;gap:6px;margin-bottom:12px;color:#354964;font-size:13px;font-weight:700}.teacher-field input[data-v-6771c2e4],.teacher-field select[data-v-6771c2e4],.teacher-field textarea[data-v-6771c2e4]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d5dfec;border-radius:6px;background:#fff;color:#172943;font:inherit;resize:vertical}.teacher-security-note[data-v-6771c2e4]{margin:0 0 12px;padding:10px 12px;border-left:3px solid #f0a33d;background:#fff8e9;color:#76562c;font-size:12px}.teacher-exclusion-section[data-v-6771c2e4]{border-color:#f0d5d5}.teacher-exclusion-note[data-v-6771c2e4]{margin:0 0 12px;color:#6f7f95;font-size:12px;line-height:1.65}.teacher-danger-button[data-v-6771c2e4]{background:#c63f46;border-color:#c63f46}.teacher-danger-button[data-v-6771c2e4]:hover:not(:disabled){background:#aa3037;border-color:#aa3037}.teacher-bound-line[data-v-6771c2e4]{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#168060;font-weight:700}.teacher-detail-list[data-v-6771c2e4]{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid #edf1f6}.teacher-detail-list li[data-v-6771c2e4]{padding:10px 0;border-bottom:1px solid #edf1f6}.teacher-detail-list strong[data-v-6771c2e4],.teacher-detail-list small[data-v-6771c2e4]{display:block}.teacher-detail-list small[data-v-6771c2e4]{margin-top:3px;color:#75859b}.teacher-compact-empty[data-v-6771c2e4]{padding:12px 0;color:#8492a7;font-size:13px}@media(max-width:760px){.teacher-toolbar-title[data-v-6771c2e4]{align-items:stretch}.teacher-filter-bar[data-v-6771c2e4],.teacher-filter-bar select[data-v-6771c2e4],.teacher-search[data-v-6771c2e4],.teacher-search input[data-v-6771c2e4]{width:100%}.teacher-table th[data-v-6771c2e4]:nth-child(4),.teacher-table td[data-v-6771c2e4]:nth-child(4){display:none}.teacher-drawer[data-v-6771c2e4]{width:100%}}.session-management-page[data-v-f51402ba]{display:grid;gap:16px;color:#17233d}.session-page-header[data-v-f51402ba],.session-tool-band[data-v-f51402ba],.classroom-toolbar[data-v-f51402ba]{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #dce5f2;border-radius:8px;padding:20px 24px}.session-title-group[data-v-f51402ba],.session-header-actions[data-v-f51402ba],.session-date-filter[data-v-f51402ba],.with-icon[data-v-f51402ba]{display:flex;align-items:center;gap:12px}.session-title-icon[data-v-f51402ba]{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:#edf4ff;color:#1468f3}.session-title-group h1[data-v-f51402ba],.classroom-toolbar h2[data-v-f51402ba],.session-section-title h2[data-v-f51402ba]{font-size:22px;margin:0;letter-spacing:0}.session-title-group p[data-v-f51402ba],.classroom-toolbar p[data-v-f51402ba],.session-section-title p[data-v-f51402ba]{margin:4px 0 0;color:#70809c;font-size:14px}.session-button[data-v-f51402ba],.session-icon-button[data-v-f51402ba]{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;border:1px solid #1769ed;border-radius:7px;background:#1769ed;color:#fff;padding:0 17px;font-weight:700;cursor:pointer}.session-button.secondary[data-v-f51402ba],.session-icon-button[data-v-f51402ba]{background:#fff;color:#31415d;border-color:#d6e0ee}.session-icon-button[data-v-f51402ba]{width:42px;padding:0}.session-button[data-v-f51402ba]:disabled{opacity:.48;cursor:not-allowed}.session-message[data-v-f51402ba]{display:flex;align-items:center;gap:8px;border-radius:7px;padding:12px 16px;font-weight:600}.session-message.success[data-v-f51402ba]{background:#edf9f4;color:#087a55;border:1px solid #bfead9}.session-message.error[data-v-f51402ba]{background:#fff1f2;color:#c92d42;border:1px solid #ffc8cf}.session-tabs[data-v-f51402ba]{display:flex;gap:4px;border-bottom:1px solid #dbe4f0}.session-tabs button[data-v-f51402ba]{display:flex;align-items:center;gap:7px;border:0;border-bottom:3px solid transparent;background:transparent;color:#687895;padding:12px 18px;font-weight:700;cursor:pointer}.session-tabs button.active[data-v-f51402ba]{color:#1769ed;border-bottom-color:#1769ed}.session-state[data-v-f51402ba],.session-empty[data-v-f51402ba]{display:grid;place-items:center;gap:8px;min-height:240px;background:#fff;border:1px solid #dce5f2;border-radius:8px;color:#7888a3}.spin[data-v-f51402ba]{animation:spin-f51402ba 1s linear infinite}.session-metrics[data-v-f51402ba]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #dce5f2;border-radius:8px}.session-metrics div[data-v-f51402ba]{display:grid;gap:4px;padding:18px 22px;border-right:1px solid #e4ebf4}.session-metrics div[data-v-f51402ba]:last-child{border-right:0}.session-metrics small[data-v-f51402ba],.session-metrics span[data-v-f51402ba]{color:#7c8ba4}.session-metrics strong[data-v-f51402ba]{font-size:30px}.session-date-filter label[data-v-f51402ba]{display:grid;gap:5px;color:#5c6c87;font-size:13px}.session-date-filter input[data-v-f51402ba],.session-dialog input[data-v-f51402ba],.session-dialog select[data-v-f51402ba]{height:42px;border:1px solid #cfdaea;border-radius:7px;background:#fff;color:#1c2941;padding:0 12px;font:inherit}.session-table-section[data-v-f51402ba]{background:#fff;border:1px solid #dce5f2;border-radius:8px;overflow:hidden}.session-section-title[data-v-f51402ba]{padding:18px 22px;border-bottom:1px solid #e2e9f2}.session-table-wrap[data-v-f51402ba]{overflow:auto}.session-table-wrap table[data-v-f51402ba]{width:100%;border-collapse:collapse;min-width:1100px}.session-table-wrap th[data-v-f51402ba],.session-table-wrap td[data-v-f51402ba]{padding:14px 16px;border-bottom:1px solid #e8edf4;text-align:left;font-size:14px}.session-table-wrap th[data-v-f51402ba]{background:#f7f9fc;color:#53637e}.session-table-wrap td strong[data-v-f51402ba],.session-table-wrap td small[data-v-f51402ba]{display:block}.session-table-wrap td small[data-v-f51402ba]{margin-top:4px;color:#8190a7}.duty-teacher-cell[data-v-f51402ba]{min-width:132px;max-width:220px}.duty-teacher-cell strong[data-v-f51402ba]{overflow-wrap:anywhere}.session-status[data-v-f51402ba]{display:inline-flex;align-items:center;border-radius:5px;padding:5px 9px;background:#e9f7f1;color:#087a55;font-size:12px;font-weight:800}.session-status[data-status=cancelled][data-v-f51402ba],.session-status[data-status=inactive][data-v-f51402ba]{background:#f1f3f6;color:#778398}.session-text-button[data-v-f51402ba]{border:0;background:transparent;color:#1769ed;font-weight:700;cursor:pointer}.session-text-button.danger[data-v-f51402ba]{color:#c93345}.classroom-grid[data-v-f51402ba]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.classroom-item[data-v-f51402ba]{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;background:#fff;border:1px solid #dce5f2;border-radius:8px;padding:18px}.classroom-item[data-status=INACTIVE][data-v-f51402ba]{opacity:.72}.classroom-item-icon[data-v-f51402ba]{display:grid;place-items:center;width:42px;height:42px;border-radius:7px;background:#eef4ff;color:#1769ed}.classroom-item-body span[data-v-f51402ba]{color:#74839c;font-size:12px}.classroom-item-body h3[data-v-f51402ba]{font-size:17px;margin:3px 0 10px}.classroom-item-body p[data-v-f51402ba]{display:flex;align-items:center;gap:6px;margin:5px 0;color:#657590;font-size:13px}.classroom-item-action[data-v-f51402ba]{display:grid;justify-items:end;gap:10px}.session-empty.wide[data-v-f51402ba]{grid-column:1/-1}.session-dialog-backdrop[data-v-f51402ba]{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#1622396b}.session-dialog[data-v-f51402ba]{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 24px 70px #1627463d}.session-dialog.large[data-v-f51402ba]{width:min(820px,100%)}.session-dialog header[data-v-f51402ba],.session-dialog footer[data-v-f51402ba]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #e3e9f2}.session-dialog footer[data-v-f51402ba]{justify-content:flex-end;border-top:1px solid #e3e9f2;border-bottom:0}.session-dialog header h2[data-v-f51402ba]{font-size:21px;margin:0}.session-dialog header p[data-v-f51402ba]{margin:5px 0 0;color:#71809a}.session-dialog header>button[data-v-f51402ba]{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d5deeb;border-radius:7px;background:#fff;color:#51617b;cursor:pointer}.session-dialog-form[data-v-f51402ba]{padding:22px 24px}.session-dialog-form.two-columns[data-v-f51402ba]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.session-dialog-form label[data-v-f51402ba]{display:grid;gap:7px;font-weight:700;color:#465672}.session-dialog-form label.full[data-v-f51402ba],.session-dialog-form fieldset.full[data-v-f51402ba]{grid-column:1/-1}.session-dialog-form fieldset[data-v-f51402ba]{border:0;padding:0;margin:0}.session-dialog-form legend[data-v-f51402ba]{margin-bottom:8px;font-weight:700;color:#465672}.weekday-options[data-v-f51402ba]{display:flex;flex-wrap:wrap;gap:8px}.weekday-options button[data-v-f51402ba]{height:38px;border:1px solid #d0daea;border-radius:7px;background:#fff;color:#53627c;padding:0 14px;cursor:pointer}.weekday-options button.active[data-v-f51402ba]{border-color:#1769ed;background:#edf4ff;color:#1769ed;font-weight:700}@keyframes spin-f51402ba{to{transform:rotate(360deg)}}@media(max-width:1100px){.classroom-grid[data-v-f51402ba],.session-metrics[data-v-f51402ba]{grid-template-columns:repeat(2,minmax(0,1fr))}.session-metrics div[data-v-f51402ba]:nth-child(2){border-right:0}.session-metrics div[data-v-f51402ba]:nth-child(-n+2){border-bottom:1px solid #e4ebf4}}@media(max-width:700px){.session-page-header[data-v-f51402ba],.session-tool-band[data-v-f51402ba],.classroom-toolbar[data-v-f51402ba]{align-items:stretch;flex-direction:column;padding:16px}.session-header-actions[data-v-f51402ba],.session-date-filter[data-v-f51402ba]{align-items:stretch;flex-direction:column}.session-button[data-v-f51402ba]{width:100%}.session-metrics[data-v-f51402ba]{grid-template-columns:1fr 1fr}.classroom-grid[data-v-f51402ba],.session-dialog-form.two-columns[data-v-f51402ba]{grid-template-columns:1fr}.session-dialog-form label.full[data-v-f51402ba],.session-dialog-form fieldset.full[data-v-f51402ba]{grid-column:auto}.session-dialog-backdrop[data-v-f51402ba]{padding:8px}.session-dialog[data-v-f51402ba]{max-height:96vh}.session-dialog header[data-v-f51402ba],.session-dialog footer[data-v-f51402ba],.session-dialog-form[data-v-f51402ba]{padding:16px}}.family-student-switcher[data-v-03c6ada2]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.family-student-switcher label[data-v-03c6ada2]{color:#52617a;font-size:13px;font-weight:700}.family-student-switcher select[data-v-03c6ada2]{min-width:220px;height:38px;padding:0 10px;border:1px solid #d7e1ef;border-radius:7px;background:#fff}.family-enrollment-state[data-v-03c6ada2],.family-enrollment-message[data-v-03c6ada2]{display:flex;align-items:center;justify-content:center;min-height:70px;color:#52617a}.family-enrollment-state[data-v-03c6ada2]{gap:8px}.family-enrollment-message[data-v-03c6ada2]{min-height:auto;margin:12px 0 0;padding:10px 12px;border:1px solid #bfdbfe;border-radius:7px;color:#1d4ed8;background:#eff6ff}.family-enrollment-message.is-error[data-v-03c6ada2]{border-color:#fecaca;color:#b42318;background:#fff5f5}.family-enrollment-form[data-v-03c6ada2]{display:grid;gap:16px}.family-task-heading[data-v-03c6ada2]{display:flex;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #e5ebf4}.family-task-heading h3[data-v-03c6ada2],.family-task-heading p[data-v-03c6ada2]{margin:0}.family-task-heading h3[data-v-03c6ada2]{margin-top:4px;color:#172554;font-size:19px}.family-task-heading p[data-v-03c6ada2],.family-task-heading small[data-v-03c6ada2]{color:#718096}.family-task-heading p[data-v-03c6ada2]{margin-top:7px;font-size:13px;line-height:1.6}.family-deadline[data-v-03c6ada2]{min-width:180px;display:grid;grid-template-columns:20px 1fr;gap:2px 7px;align-content:center;padding:10px 12px;border:1px solid #fecaca;border-radius:7px;color:#b42318;background:#fff5f5}.family-deadline svg[data-v-03c6ada2]{grid-row:1 / 3;align-self:center}.family-deadline span[data-v-03c6ada2]{font-size:12px}.family-deadline strong[data-v-03c6ada2]{font-size:14px}.family-fixed-fields[data-v-03c6ada2]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #e5ebf4;border-radius:7px;overflow:hidden}.family-fixed-fields div[data-v-03c6ada2]{display:grid;gap:5px;min-width:0;padding:12px}.family-fixed-fields div+div[data-v-03c6ada2]{border-left:1px solid #e5ebf4}.family-fixed-fields small[data-v-03c6ada2]{color:#718096}.family-fixed-fields strong[data-v-03c6ada2]{overflow-wrap:anywhere;color:#26334b;font-size:13px}.family-form-step[data-v-03c6ada2]{display:grid;gap:12px}.family-form-step>header[data-v-03c6ada2]{display:flex;align-items:center;gap:10px}.family-form-step>header>span[data-v-03c6ada2]{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;border-radius:50%;color:#fff;font-size:13px;font-weight:800;background:#2474f5}.family-form-step header div[data-v-03c6ada2]{display:grid;gap:2px}.family-form-step header strong[data-v-03c6ada2]{color:#26334b}.family-form-step header small[data-v-03c6ada2]{color:#718096}.family-form-step textarea[data-v-03c6ada2]{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #d7e1ef;border-radius:7px;resize:vertical}.family-decision-options[data-v-03c6ada2],.family-weekday-options[data-v-03c6ada2]{display:flex;flex-wrap:wrap;gap:9px;padding-left:38px}.family-decision-options button[data-v-03c6ada2],.family-weekday-options button[data-v-03c6ada2]{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 18px;border:1px solid #d7e1ef;border-radius:7px;color:#52617a;background:#fff}.family-decision-options button.active[data-v-03c6ada2],.family-weekday-options button.active[data-v-03c6ada2]{border-color:#2474f5;color:#1769ef;background:#eaf2ff}.family-period-list[data-v-03c6ada2]{display:grid;gap:8px;padding-left:38px}.family-period-list>div[data-v-03c6ada2]{display:grid;grid-template-columns:minmax(90px,1fr) minmax(140px,1fr) minmax(120px,1fr);align-items:center;gap:10px;padding:11px 12px;border:1px solid #e5ebf4;border-radius:7px}.family-period-list strong[data-v-03c6ada2]{color:#26334b}.family-period-list label[data-v-03c6ada2]{display:flex;align-items:center;gap:7px;color:#52617a}.family-period-list .is-required[data-v-03c6ada2]{color:#1769ef}.family-enrollment-result[data-v-03c6ada2]{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #bbf7d0;border-radius:7px;color:#087443;background:#f0fdf4}.family-enrollment-result div[data-v-03c6ada2]{display:grid;gap:3px}.family-enrollment-result small[data-v-03c6ada2]{color:#4b7b67}.family-enrollment-form footer[data-v-03c6ada2]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #e5ebf4}.family-enrollment-form footer small[data-v-03c6ada2]{color:#718096}.family-enrollment-form footer button[data-v-03c6ada2]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:140px}.family-legacy-note[data-v-03c6ada2]{margin:0;padding:10px 12px;border:1px solid #fde68a;border-radius:7px;color:#8a5a00;background:#fffbeb}.is-spinning[data-v-03c6ada2]{animation:family-spin-03c6ada2 .8s linear infinite}@keyframes family-spin-03c6ada2{to{transform:rotate(360deg)}}@media(max-width:760px){.family-task-heading[data-v-03c6ada2]{display:grid}.family-deadline[data-v-03c6ada2]{min-width:0}.family-fixed-fields[data-v-03c6ada2]{grid-template-columns:repeat(2,minmax(0,1fr))}.family-fixed-fields div+div[data-v-03c6ada2]{border-left:0}.family-fixed-fields div[data-v-03c6ada2]{border-bottom:1px solid #e5ebf4}.family-decision-options[data-v-03c6ada2],.family-weekday-options[data-v-03c6ada2],.family-period-list[data-v-03c6ada2]{padding-left:0}.family-decision-options button[data-v-03c6ada2]{flex:1}.family-weekday-options button[data-v-03c6ada2]{flex:1 0 76px}.family-period-list>div[data-v-03c6ada2]{grid-template-columns:1fr}.family-enrollment-form footer[data-v-03c6ada2]{align-items:stretch;flex-direction:column}.family-enrollment-form footer button[data-v-03c6ada2]{width:100%}.family-student-switcher[data-v-03c6ada2]{align-items:stretch;flex-direction:column}.family-student-switcher select[data-v-03c6ada2]{width:100%;min-width:0}}.student-profile[data-v-f6344e28]{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px;border:1px solid #dbe7f7;border-radius:8px;background:#fff}.student-profile>span[data-v-f6344e28]{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:#1769ef;background:#eaf2ff}.student-profile div[data-v-f6344e28]{display:grid;gap:3px}.student-profile small[data-v-f6344e28],.student-profile p[data-v-f6344e28]{margin:0;color:#718096;font-size:12px}.student-profile strong[data-v-f6344e28]{color:#172554;font-size:18px}.student-profile em[data-v-f6344e28]{padding:6px 10px;border-radius:6px;color:#1769ef;font-style:normal;background:#eaf2ff}.today-session[data-v-f6344e28]{display:flex;align-items:center;gap:12px}.today-session div[data-v-f6344e28]{display:grid;gap:5px}.today-session small[data-v-f6344e28]{color:#718096}.leave-form[data-v-f6344e28]{display:grid;gap:10px}.leave-form textarea[data-v-f6344e28]{box-sizing:border-box;width:100%;padding:10px;border:1px solid #d7e1ef;border-radius:7px;resize:vertical}.operation-message[data-v-f6344e28]{padding:12px 14px;border:1px solid #bfdbfe;border-radius:7px;color:#1d4ed8;background:#eff6ff}@media(max-width:720px){.student-profile[data-v-f6344e28]{grid-template-columns:44px minmax(0,1fr)}.student-profile em[data-v-f6344e28]{grid-column:1 / -1;text-align:center}.stat-grid[data-v-f6344e28]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.attendance-overview[data-v-5b990e8e]{min-width:0;padding:18px;border:1px solid var(--esm-line);border-radius:var(--esm-radius);background:var(--esm-card);box-shadow:var(--esm-shadow-soft)}.attendance-title[data-v-5b990e8e]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.attendance-title strong[data-v-5b990e8e]{font-size:16px}.attendance-title span[data-v-5b990e8e]{color:var(--esm-muted);font-size:12px}.attendance-grid[data-v-5b990e8e]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}article[data-v-5b990e8e]{--attendance-tone: var(--esm-primary);min-width:0;min-height:82px;display:flex;align-items:center;gap:11px;padding:13px;border-radius:12px;background:color-mix(in srgb,var(--attendance-tone) 7%,white)}.attendance-icon[data-v-5b990e8e]{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;color:var(--attendance-tone);background:color-mix(in srgb,var(--attendance-tone) 13%,white)}article div[data-v-5b990e8e]{min-width:0;display:grid;gap:5px}article strong[data-v-5b990e8e]{color:var(--esm-text);font-size:22px;line-height:1}article small[data-v-5b990e8e]{color:var(--esm-muted);font-size:11px;white-space:nowrap}.is-success[data-v-5b990e8e]{--attendance-tone: var(--esm-success)}.is-warning[data-v-5b990e8e]{--attendance-tone: var(--esm-warning)}.is-leave[data-v-5b990e8e]{--attendance-tone: var(--esm-purple)}.is-danger[data-v-5b990e8e]{--attendance-tone: var(--esm-danger)}@media(max-width:620px){.attendance-grid[data-v-5b990e8e]{grid-template-columns:repeat(2,minmax(0,1fr))}}.bulk-evaluation-bar[data-v-500ce162]{position:sticky;bottom:14px;z-index:25;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #cfe0fb;border-radius:14px;background:#fffffff5;box-shadow:0 16px 38px #1f386c29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bulk-evaluation-summary[data-v-500ce162]{min-width:0;display:flex;align-items:baseline;gap:8px}.bulk-evaluation-summary span[data-v-500ce162]{color:var(--esm-muted);font-size:12px}.bulk-evaluation-summary strong[data-v-500ce162]{color:var(--esm-primary);font-size:24px;line-height:1}.bulk-evaluation-summary small[data-v-500ce162]{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.bulk-evaluation-summary small.is-success[data-v-500ce162]{color:var(--esm-success)}.bulk-evaluation-summary small.is-error[data-v-500ce162]{color:var(--esm-danger)}.bulk-evaluation-summary small.is-info[data-v-500ce162]{color:var(--esm-muted)}.bulk-evaluation-actions[data-v-500ce162]{display:flex;gap:9px}button[data-v-500ce162]{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:0 14px;font-size:13px;font-weight:900;white-space:nowrap}.draft-button[data-v-500ce162]{border:1px solid #bfdbfe;color:var(--esm-primary);background:#eff6ff}.submit-button[data-v-500ce162]{border:1px solid var(--esm-primary);color:#fff;background:var(--esm-primary)}@media(max-width:1023px){.bulk-evaluation-bar[data-v-500ce162]{position:fixed;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));left:12px;z-index:29;padding:10px 11px}}@media(max-width:430px){.bulk-evaluation-summary[data-v-500ce162]{display:grid;grid-template-columns:auto auto;gap:2px 7px}.bulk-evaluation-summary small[data-v-500ce162]{grid-column:1 / -1;max-width:125px}button[data-v-500ce162]{min-height:44px;padding:0 11px;font-size:12px}}.draft-recovery-layer[data-v-a475d29b]{position:absolute;inset:0;z-index:45;display:grid;place-items:start center;padding:96px 16px 24px;background:#0f172a47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.draft-recovery-dialog[data-v-a475d29b]{width:min(420px,100%);display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:20px;border:1px solid #dbe6f5;border-radius:16px;background:#fff;box-shadow:0 22px 60px #0f172a33}.draft-recovery-icon[data-v-a475d29b]{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;color:var(--esm-primary);background:#eaf2ff}h2[data-v-a475d29b]{margin:0;font-size:17px}p[data-v-a475d29b]{margin:7px 0 0;color:#526078;font-size:13px}small[data-v-a475d29b]{display:block;margin-top:7px;color:#8a98ad;font-size:11px}.draft-recovery-actions[data-v-a475d29b]{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}button[data-v-a475d29b]{min-height:43px;border-radius:10px;font-size:13px;font-weight:900}.discard-button[data-v-a475d29b]{border:1px solid #d7deea;color:#526078;background:#fff}.restore-button[data-v-a475d29b]{border:1px solid var(--esm-primary);color:#fff;background:var(--esm-primary)}@media(max-width:1023px){.draft-recovery-layer[data-v-a475d29b]{position:fixed;padding-top:max(90px,calc(env(safe-area-inset-top) + 76px))}}.evaluation-progress[data-v-3d9a4383]{min-width:0;padding:18px;border:1px solid var(--esm-line);border-radius:var(--esm-radius);background:var(--esm-card);box-shadow:var(--esm-shadow-soft)}.evaluation-progress-head[data-v-3d9a4383],.evaluation-progress-value[data-v-3d9a4383]{display:flex;align-items:center;justify-content:space-between;gap:16px}.evaluation-progress-head>div[data-v-3d9a4383],.evaluation-progress-value>div[data-v-3d9a4383]:first-child{min-width:0;display:grid;gap:4px}.evaluation-progress-head strong[data-v-3d9a4383]{font-size:16px}.evaluation-progress-head span[data-v-3d9a4383],.evaluation-progress-value span[data-v-3d9a4383]{color:var(--esm-muted);font-size:12px}button[data-v-3d9a4383]{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid #bfdbfe;border-radius:10px;color:var(--esm-primary);background:#eff6ff;font-size:13px;font-weight:900;white-space:nowrap}.evaluation-progress-value[data-v-3d9a4383]{margin-top:20px}.evaluation-progress-value strong[data-v-3d9a4383]{font-size:25px;line-height:1}.evaluation-progress-value strong small[data-v-3d9a4383]{color:var(--esm-muted);font-size:14px}.progress-side[data-v-3d9a4383]{display:flex;align-items:center;gap:9px}.progress-side em[data-v-3d9a4383]{min-height:26px;display:inline-flex;align-items:center;border-radius:9px;padding:0 9px;color:#b45309;background:#fff7e6;font-size:11px;font-style:normal;font-weight:900}.progress-side b[data-v-3d9a4383]{color:var(--esm-primary);font-size:18px}.evaluation-progress-track[data-v-3d9a4383]{height:9px;margin-top:12px;overflow:hidden;border-radius:999px;background:#e7edf6}.evaluation-progress-track i[data-v-3d9a4383]{display:block;height:100%;border-radius:inherit;background:var(--esm-primary);transition:width .24s ease}@media(max-width:420px){.evaluation-progress-head[data-v-3d9a4383]{align-items:flex-start}button[data-v-3d9a4383]{min-height:38px;padding:0 10px;font-size:12px}.progress-side[data-v-3d9a4383]{align-items:flex-end;flex-direction:column-reverse;gap:5px}}.discipline-panel[data-v-34729a80]{display:grid;gap:14px;padding:15px;border:1px solid #e0e7f0;border-radius:14px;background:#fff}header[data-v-34729a80]{display:flex;align-items:center;justify-content:space-between;gap:12px}header>div[data-v-34729a80]{display:grid;gap:3px}header span[data-v-34729a80],.history-title strong[data-v-34729a80]{color:#243248;font-size:13px;font-weight:900}header small[data-v-34729a80]{color:var(--esm-muted);font-size:10px}header button[data-v-34729a80],.discipline-submit button[data-v-34729a80]{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #bfd3ef;border-radius:10px;padding:0 11px;color:var(--esm-primary);background:#eff6ff;font-size:12px;font-weight:900}.discipline-form[data-v-34729a80]{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;padding:12px;border-radius:12px;background:#f6f8fc}.discipline-form label[data-v-34729a80]{display:grid;gap:6px;color:#526078;font-size:11px;font-weight:800}.discipline-description[data-v-34729a80],.discipline-submit[data-v-34729a80]{grid-column:1 / -1}select[data-v-34729a80],input[data-v-34729a80],textarea[data-v-34729a80]{width:100%;min-height:40px;border:1px solid #d3dce8;border-radius:9px;padding:8px 9px;color:var(--esm-text);background:#fff;outline:none}textarea[data-v-34729a80]{resize:vertical}.discipline-submit[data-v-34729a80]{display:flex;align-items:center;justify-content:flex-end;gap:10px}.discipline-submit>span[data-v-34729a80]{color:var(--esm-muted);font-size:11px}.discipline-submit button[data-v-34729a80]{border-color:var(--esm-primary);color:#fff;background:var(--esm-primary)}.discipline-submit button[data-v-34729a80]:disabled{border-color:#d6dee9;color:#8b98aa;background:#e9eef5}.discipline-history[data-v-34729a80]{display:grid;gap:9px}.history-title[data-v-34729a80]{display:flex;align-items:center;gap:7px;color:var(--esm-muted)}.history-title span[data-v-34729a80]{min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;color:var(--esm-primary);background:#e8f1ff;font-size:10px;font-weight:900}.discipline-records[data-v-34729a80]{display:grid}.discipline-records article[data-v-34729a80]{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-top:1px solid var(--esm-line)}.discipline-records time[data-v-34729a80]{color:var(--esm-muted);font-size:11px}.discipline-records article>div[data-v-34729a80]{min-width:0;display:grid;gap:3px}.discipline-records strong[data-v-34729a80]{font-size:12px}.discipline-records p[data-v-34729a80]{margin:0;color:var(--esm-muted);font-size:11px}.discipline-records article>span[data-v-34729a80]{color:var(--esm-success);font-size:12px;font-weight:900}.discipline-records article>span.is-negative[data-v-34729a80]{color:var(--esm-danger)}.discipline-empty[data-v-34729a80]{min-height:52px;display:grid;place-items:center;border-top:1px solid var(--esm-line);color:#98a2b3;font-size:11px}.evaluation-comment-input[data-v-e5f9e0da]{display:grid;gap:10px}.comment-label[data-v-e5f9e0da],label[data-v-e5f9e0da]{color:#344054;font-size:13px;font-weight:900}.quick-comments[data-v-e5f9e0da]{display:flex;flex-wrap:wrap;gap:8px}.quick-comments button[data-v-e5f9e0da]{min-height:34px;border:1px solid #d9e2ee;border-radius:9px;padding:0 11px;color:#526078;background:#f8faff;font-size:12px;font-weight:800}.quick-comments button.is-active[data-v-e5f9e0da]{border-color:#a9c8fb;color:var(--esm-primary);background:#edf4ff}label[data-v-e5f9e0da]{position:relative;display:grid;gap:8px}textarea[data-v-e5f9e0da]{width:100%;min-height:98px;resize:vertical;border:1px solid #d0d9e6;border-radius:11px;padding:11px 12px 28px;color:var(--esm-text);background:#fff;font-size:13px;font-weight:400;line-height:1.55;outline:none}textarea[data-v-e5f9e0da]:focus{border-color:var(--esm-primary);box-shadow:0 0 0 3px #2563eb1a}label small[data-v-e5f9e0da]{position:absolute;right:10px;bottom:8px;color:#98a2b3;font-size:10px;font-weight:500}.score-selector[data-v-76a0e163]{min-width:0;margin:0;padding:0;border:0}legend[data-v-76a0e163]{margin-bottom:9px;color:#344054;font-size:13px;font-weight:900}.score-selector>div[data-v-76a0e163]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}button[data-v-76a0e163]{min-width:0;height:42px;border:1px solid #d5deeb;border-radius:10px;color:#526078;background:#fff;font-size:14px;font-weight:900}button.is-active[data-v-76a0e163]{border-color:var(--esm-primary);color:#fff;background:var(--esm-primary);box-shadow:0 7px 16px #2563eb2e}.evaluation-drawer-layer[data-v-169838db]{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end}.evaluation-drawer-backdrop[data-v-169838db]{position:absolute;inset:0;border:0;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.evaluation-drawer[data-v-169838db]{position:relative;z-index:1;width:min(480px,100%);height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;background:#f7f9fc;box-shadow:-18px 0 50px #0f172a2e}header[data-v-169838db]{min-height:94px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 20px 13px;background:#fff}header>div[data-v-169838db]{min-width:0}header span[data-v-169838db]{color:var(--esm-primary);font-size:12px;font-weight:900}h2[data-v-169838db]{margin:5px 0 0;font-size:22px}header p[data-v-169838db]{margin:4px 0 0;color:var(--esm-muted);font-size:12px}.drawer-close[data-v-169838db]{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:10px;color:#526078;background:#f2f5f9}.evaluation-student-status[data-v-169838db]{min-height:45px;display:flex;align-items:center;gap:10px;padding:0 20px 12px;border-bottom:1px solid var(--esm-line);background:#fff}.evaluation-student-status>span[data-v-169838db]{color:var(--esm-muted);font-size:11px}.evaluation-drawer-body[data-v-169838db]{min-height:0;display:grid;align-content:start;gap:20px;overflow-y:auto;padding:18px 20px 24px}.evaluation-form-section[data-v-169838db]{display:grid;gap:20px}.drawer-section-title[data-v-169838db]{display:grid;gap:3px}.drawer-section-title strong[data-v-169838db]{color:#243248;font-size:15px}.drawer-section-title span[data-v-169838db]{color:var(--esm-muted);font-size:11px}.evaluation-not-required[data-v-169838db]{display:grid;gap:5px;padding:14px;border:1px solid #dce4ee;border-radius:12px;background:#fff}.evaluation-not-required strong[data-v-169838db]{color:#526078;font-size:13px}.evaluation-not-required span[data-v-169838db]{color:var(--esm-muted);font-size:11px;line-height:1.6}.overall-result[data-v-169838db]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #dbe7f8;border-radius:12px;background:#fff}.overall-result div[data-v-169838db]{display:grid;gap:6px}.overall-result span[data-v-169838db]{color:var(--esm-muted);font-size:11px}.overall-result strong[data-v-169838db]{font-size:22px}.overall-result small[data-v-169838db]{grid-column:1 / -1;color:#8a98ad;font-size:10px}.level-excellent[data-v-169838db]{color:var(--esm-success)}.level-good[data-v-169838db]{color:var(--esm-primary)}.level-normal[data-v-169838db]{color:var(--esm-warning)}.level-needs_improvement[data-v-169838db]{color:var(--esm-danger)}footer[data-v-169838db]{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--esm-line);background:#fff}footer button[data-v-169838db]{min-height:48px;border-radius:11px;font-size:14px;font-weight:900}.save-draft-button[data-v-169838db]{border:1px solid #bfd3ef;color:var(--esm-primary);background:#eff6ff}.confirm-button[data-v-169838db]{border:1px solid var(--esm-primary);color:#fff;background:var(--esm-primary)}@media(max-width:620px){.evaluation-drawer-layer[data-v-169838db]{align-items:flex-end}.evaluation-drawer[data-v-169838db]{width:100%;height:90dvh;border-radius:18px 18px 0 0;box-shadow:0 -20px 50px #0f172a33}}.student-evaluation-card[data-v-0ca960a2]{width:100%;min-width:0;min-height:130px;display:grid;align-content:space-between;gap:12px;padding:14px;border:1px solid #e1e8f2;border-radius:14px;color:var(--esm-text);background:#fff;text-align:left;cursor:pointer;box-shadow:0 5px 16px #1f386c0f;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.student-evaluation-card[data-v-0ca960a2]:hover{border-color:#b8cff4;box-shadow:0 10px 24px #2563eb1c;transform:translateY(-1px)}.student-evaluation-card[data-v-0ca960a2]:focus-visible{border-color:var(--esm-primary);outline:3px solid rgba(37,99,235,.16);outline-offset:2px}.student-evaluation-card[data-v-0ca960a2]:active{transform:translateY(1px)}.student-card-head[data-v-0ca960a2]{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 17px;align-items:center;gap:9px}.student-card-head>svg[data-v-0ca960a2]{color:#a7b3c3}.student-avatar[data-v-0ca960a2]{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--esm-primary);background:#e8f1ff;font-size:14px;font-weight:900}.student-identity[data-v-0ca960a2]{min-width:0;display:grid;gap:3px}.student-identity strong[data-v-0ca960a2],.student-identity small[data-v-0ca960a2]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.student-identity strong[data-v-0ca960a2]{font-size:14px}.student-identity small[data-v-0ca960a2],.student-card-status small[data-v-0ca960a2]{color:var(--esm-muted);font-size:10px}.student-card-status[data-v-0ca960a2]{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-evaluation-state[data-v-0ca960a2]{font-size:12px;font-weight:900}.student-evaluation-state.is-complete[data-v-0ca960a2]{color:var(--esm-success)}.student-evaluation-state.is-pending[data-v-0ca960a2]{color:var(--esm-warning)}.student-evaluation-state.is-attention[data-v-0ca960a2]{color:var(--esm-danger)}.student-evaluation-state.is-muted[data-v-0ca960a2]{color:#98a2b3}.student-evaluation-state.is-draft[data-v-0ca960a2]{color:var(--esm-primary)}@media(max-width:430px){.student-evaluation-card[data-v-0ca960a2]{min-height:132px;padding:11px}.student-card-head[data-v-0ca960a2]{grid-template-columns:32px minmax(0,1fr);gap:8px}.student-avatar[data-v-0ca960a2]{width:32px;height:32px}.student-card-head>svg[data-v-0ca960a2]{display:none}.student-identity strong[data-v-0ca960a2]{font-size:13px}.student-card-status[data-v-0ca960a2]{min-width:0;align-items:flex-start;flex-direction:column;gap:4px}}.student-evaluation-grid[data-v-bc8d1d0c]{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-grid-empty[data-v-bc8d1d0c]{min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;color:#91a0b5;text-align:center}.student-grid-empty strong[data-v-bc8d1d0c]{color:#526078;font-size:14px}.student-grid-empty span[data-v-bc8d1d0c]{font-size:12px}@media(max-width:1023px){.student-evaluation-grid[data-v-bc8d1d0c]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.student-evaluation-grid[data-v-bc8d1d0c]{gap:9px}}.teacher-duty-header[data-v-a4f58c12]{min-width:0;min-height:148px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;overflow:hidden;border:1px solid #dbeafe;border-radius:var(--esm-radius);background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.94),transparent 24%),linear-gradient(118deg,#fff,#f0f6ff 68%,#dceaff);box-shadow:var(--esm-shadow-soft)}.teacher-duty-copy[data-v-a4f58c12]{min-width:0}.teacher-duty-kicker[data-v-a4f58c12]{color:var(--esm-primary);font-size:13px;font-weight:900}h1[data-v-a4f58c12]{margin:7px 0 0;color:var(--esm-text);font-size:28px;line-height:1.2}p[data-v-a4f58c12]{margin:7px 0 0;color:var(--esm-muted);font-size:14px}.teacher-duty-facts[data-v-a4f58c12]{min-width:min(440px,48%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.teacher-duty-facts span[data-v-a4f58c12]{min-width:0;min-height:72px;display:grid;place-items:center;align-content:center;gap:7px;padding:10px;border:1px solid rgba(219,234,254,.9);border-radius:12px;color:var(--esm-primary);background:#ffffffc7}.teacher-duty-facts b[data-v-a4f58c12]{max-width:100%;overflow:hidden;color:#344054;font-size:12px;white-space:nowrap;text-overflow:ellipsis}@media(max-width:720px){.teacher-duty-header[data-v-a4f58c12]{min-height:auto;display:grid;gap:18px;padding:20px 18px}h1[data-v-a4f58c12]{font-size:24px}.teacher-duty-facts[data-v-a4f58c12]{min-width:0;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-duty-facts span[data-v-a4f58c12]{min-height:68px;padding:8px 5px}.teacher-duty-facts b[data-v-a4f58c12]{font-size:10px}}.teacher-duty-page[data-v-a4380601]{position:relative;width:100%;min-width:0;display:grid;gap:14px;padding-bottom:18px}.teacher-mobile-command[data-v-a4380601]{display:none}.teacher-overview-grid[data-v-a4380601]{min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}.teacher-page-message[data-v-a4380601]{min-height:42px;display:flex;align-items:center;padding:9px 13px;border:1px solid #dbe7f7;border-radius:11px;color:#526078;background:#f7faff;font-size:12px;font-weight:800}.teacher-page-message.is-success[data-v-a4380601]{border-color:#bdebd9;color:#087a57;background:#effcf7}.teacher-page-message.is-error[data-v-a4380601]{border-color:#fecaca;color:#b42318;background:#fff5f5}.teacher-loading[data-v-a4380601]{display:grid;gap:14px}.teacher-loading span[data-v-a4380601]{display:block;min-height:132px;border-radius:var(--esm-radius);background:linear-gradient(90deg,#edf2f8 25%,#f7f9fc,#edf2f8 65%);background-size:220% 100%;animation:teacher-loading-a4380601 1.3s ease-in-out infinite}.teacher-loading span[data-v-a4380601]:nth-child(2){min-height:150px}.teacher-loading span[data-v-a4380601]:nth-child(3){min-height:300px}.teacher-error[data-v-a4380601]{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid #fecaca;border-radius:var(--esm-radius);color:#b42318;background:#fff7f7}.teacher-error div[data-v-a4380601]{display:grid;gap:5px}.teacher-error strong[data-v-a4380601]{font-size:15px}.teacher-error span[data-v-a4380601]{color:#9f4a43;font-size:12px}.teacher-error button[data-v-a4380601]{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:0 15px;font-size:13px;font-weight:900;white-space:nowrap}.teacher-error button[data-v-a4380601]{border:1px solid #fecaca;color:#b42318;background:#fff}@keyframes teacher-loading-a4380601{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:900px){.teacher-overview-grid[data-v-a4380601]{grid-template-columns:1fr}}@media(max-width:620px){.teacher-mobile-command[data-v-a4380601]{display:grid;gap:14px;padding:16px;border-radius:16px;color:#fff;background:#2563eb;box-shadow:0 12px 30px #2563eb33}.teacher-mobile-command__top[data-v-a4380601]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-mobile-command__top>div[data-v-a4380601]{min-width:0;display:flex;flex-direction:column;gap:3px}.teacher-mobile-command__top span[data-v-a4380601],.teacher-mobile-command__top small[data-v-a4380601]{color:#dbeafe;font-size:12px}.teacher-mobile-command__top strong[data-v-a4380601]{font-size:20px}.teacher-mobile-command__top small[data-v-a4380601]{display:flex;align-items:center;gap:4px}.teacher-mobile-command__top em[data-v-a4380601]{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:#1d4ed8;background:#fff;font-size:12px;font-style:normal;font-weight:800}.teacher-mobile-metrics[data-v-a4380601],.teacher-mobile-actions[data-v-a4380601]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.teacher-mobile-metrics span[data-v-a4380601]{display:grid;gap:2px;text-align:center;color:#dbeafe;font-size:11px}.teacher-mobile-metrics strong[data-v-a4380601]{color:#fff;font-size:22px}.teacher-mobile-actions button[data-v-a4380601]{min-width:0;min-height:48px;display:grid;place-items:center;gap:3px;border:0;border-radius:10px;color:#1e3a8a;background:#fff;font-size:11px;font-weight:800}.teacher-mobile-actions button[data-v-a4380601]:disabled{opacity:.68}.teacher-duty-page[data-v-a4380601]{gap:12px;padding-bottom:8px}.teacher-duty-page.has-bulk-bar[data-v-a4380601]{padding-bottom:96px}.teacher-error[data-v-a4380601]{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.teacher-loading span[data-v-a4380601]{animation:none}}.duty-change-page[data-v-a326e047]{width:100%;min-width:0;display:grid;gap:14px;color:#26334b}.duty-change-header[data-v-a326e047]{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid #dce5f1;border-radius:8px;background:#fff}.duty-change-header span[data-v-a326e047]{color:#1768ef;font-size:12px;font-weight:700}.duty-change-header h1[data-v-a326e047]{margin:4px 0;color:#101c34;font-size:24px;letter-spacing:0}.duty-change-header p[data-v-a326e047]{margin:0;color:#718096;font-size:12px}.duty-change-header button[data-v-a326e047]{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d8e2ef;border-radius:7px;color:#52617a;background:#fff;cursor:pointer}.duty-change-panel[data-v-a326e047]{overflow:hidden;border:1px solid #dce5f1;border-radius:8px;background:#fff}.duty-change-title[data-v-a326e047]{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid #e8edf4}.duty-change-title>div[data-v-a326e047]{display:flex;align-items:center;gap:9px}.duty-change-title svg[data-v-a326e047]{color:#1768ef}.duty-change-title h2[data-v-a326e047]{margin:0;font-size:15px}.duty-change-title>span[data-v-a326e047]{color:#718096;font-size:11px}.duty-type-switch[data-v-a326e047]{width:220px;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:16px 18px 0;padding:4px;border-radius:7px;background:#edf2f8}.duty-type-switch button[data-v-a326e047]{height:34px;border:0;border-radius:5px;color:#647188;background:transparent;font-weight:700;cursor:pointer}.duty-type-switch button.active[data-v-a326e047]{color:#1768ef;background:#fff;box-shadow:0 1px 4px #1832551f}.duty-change-form[data-v-a326e047]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px 12px}.duty-change-form label[data-v-a326e047]{min-width:0;display:grid;gap:6px}.duty-change-form label.wide[data-v-a326e047]{grid-column:1 / -1}.duty-change-form label span[data-v-a326e047]{color:#52617a;font-size:11px;font-weight:700}.duty-change-form select[data-v-a326e047],.duty-change-form input[data-v-a326e047]{width:100%;height:40px;padding:0 11px;border:1px solid #d6e0ec;border-radius:6px;color:#26334b;background:#fff;outline:0}.duty-change-form select[data-v-a326e047]:focus,.duty-change-form input[data-v-a326e047]:focus{border-color:#1768ef;box-shadow:0 0 0 3px #1768ef1a}.duty-primary[data-v-a326e047]{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:0 18px 18px;padding:0 16px;border:0;border-radius:6px;color:#fff;background:#1768ef;font-weight:700;cursor:pointer}.duty-primary[data-v-a326e047]:disabled{opacity:.5;cursor:not-allowed}.duty-request-card[data-v-a326e047]{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid #edf1f6}.duty-request-card[data-v-a326e047]:first-of-type{border-top:0}.duty-request-card>div[data-v-a326e047]:first-child{min-width:0}.duty-request-card strong[data-v-a326e047],.duty-request-card p[data-v-a326e047],.duty-request-card small[data-v-a326e047]{display:block}.duty-request-card strong[data-v-a326e047]{margin-top:6px;font-size:13px}.duty-request-card p[data-v-a326e047]{margin:4px 0;color:#52617a;font-size:12px}.duty-request-card small[data-v-a326e047]{color:#8793a7;font-size:11px}.duty-request-type[data-v-a326e047]{display:inline-flex;padding:3px 7px;border-radius:4px;color:#1768ef;background:#edf4ff;font-size:10px;font-weight:700}.duty-request-actions[data-v-a326e047]{display:flex;flex:0 0 auto;gap:8px}.duty-request-actions button[data-v-a326e047]{min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:0 12px;border:1px solid #d6e0ec;border-radius:6px;color:#52617a;background:#fff;cursor:pointer}.duty-request-actions button.accept[data-v-a326e047]{border-color:#1768ef;color:#fff;background:#1768ef}.duty-result[data-v-a326e047]{flex:0 0 auto;color:#647188;font-size:11px;font-weight:700}.duty-result[data-status=ACCEPTED][data-v-a326e047]{color:#16805c}.duty-result[data-status=REJECTED][data-v-a326e047]{color:#c53b4a}.duty-notification[data-v-a326e047]{width:100%;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border:0;border-top:1px solid #edf1f6;color:#26334b;background:#fff;text-align:left;cursor:pointer}.duty-notification[data-v-a326e047]:first-of-type{border-top:0}.duty-notification.unread[data-v-a326e047]{box-shadow:inset 3px 0 #1768ef;background:#f5f9ff}.duty-notification strong[data-v-a326e047],.duty-notification small[data-v-a326e047]{display:block}.duty-notification small[data-v-a326e047]{margin-top:5px;color:#718096}.duty-notification time[data-v-a326e047]{flex:0 0 auto;color:#94a0b2;font-size:10px}.duty-change-empty[data-v-a326e047],.duty-change-state[data-v-a326e047]{min-height:120px;display:grid;place-items:center;padding:24px;color:#718096;font-size:12px}.duty-change-state[data-v-a326e047]{min-height:240px;border:1px solid #dce5f1;border-radius:8px;background:#fff}.duty-change-state.is-error[data-v-a326e047]{color:#c53b4a}.duty-change-message[data-v-a326e047]{margin:0;padding:10px 14px;border:1px solid #cfe0ff;border-radius:6px;color:#1759bf;background:#f3f7ff;font-size:12px}@media(max-width:720px){.duty-change-header[data-v-a326e047]{min-height:94px;padding:16px}.duty-change-header h1[data-v-a326e047]{font-size:20px}.duty-type-switch[data-v-a326e047]{width:auto;margin-right:12px;margin-left:12px}.duty-change-form[data-v-a326e047]{grid-template-columns:1fr;padding-right:12px;padding-left:12px}.duty-change-form label.wide[data-v-a326e047]{grid-column:auto}.duty-primary[data-v-a326e047]{width:calc(100% - 24px);margin-right:12px;margin-left:12px}.duty-request-card[data-v-a326e047]{align-items:stretch;flex-direction:column;padding:14px}.duty-request-actions[data-v-a326e047]{display:grid;grid-template-columns:1fr 1fr}.duty-request-actions button[data-v-a326e047]{justify-content:center}.duty-notification[data-v-a326e047]{align-items:flex-start;flex-direction:column;padding:14px}}.role-product-frame{min-height:calc(100dvh - 40px);margin-top:20px}.role-portal-content{overflow:auto}.role-portal-content>.page{max-width:none;padding:0}.role-portal-home{display:grid;gap:16px}.role-welcome{min-height:180px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 32px;border:1px solid #dce9ff;border-radius:14px;background:linear-gradient(115deg,#fff,#f1f6ff 62%,#e3edff)}.role-eyebrow{display:block;margin-bottom:10px;color:#2468d8;font-size:13px;font-weight:800}.role-welcome h1{margin:0;color:#101828;font-size:26px;line-height:1.3}.role-welcome p{max-width:660px;margin:12px 0 0;color:#65758f;font-size:14px;line-height:1.7}.role-welcome button{min-height:44px;flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;padding:0 18px;border:0;border-radius:10px;color:#fff;background:#1769ef;font-weight:800;cursor:pointer;box-shadow:0 10px 20px #1769ef33}.role-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.role-feature-card{min-width:0;min-height:130px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:start;gap:12px;padding:20px;border:1px solid #e0e8f5;border-radius:12px;background:#fff}.role-feature-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:#1769ef;background:#edf4ff}.role-feature-card h2{margin:2px 0 8px;color:#25324a;font-size:15px}.role-feature-card p{margin:0;color:#748198;font-size:12px;line-height:1.65}.role-feature-check{margin-top:4px;color:#25a56a}.role-access-note{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:18px 20px;border:1px solid #dfe8f5;border-radius:12px;color:#416084;background:#f8fbff}.role-access-note strong{color:#263b59;font-size:13px}.role-access-note p{margin:5px 0 0;color:#748198;font-size:12px;line-height:1.6}@media(max-width:1023px){.role-mobile-content>.role-portal-home,.role-mobile-content>.page{width:100%;padding:0}.role-welcome{min-height:0;display:grid;gap:20px;padding:22px 20px}.role-welcome h1{font-size:22px}.role-welcome button{width:100%;justify-content:center}.role-feature-grid{grid-template-columns:1fr}.role-feature-card{min-height:108px}}:root{--primary: #2563eb;--primary-strong: #1557e6;--bg: #f5f7fb;--surface: #ffffff;--surface-soft: #f8fbff;--border: #e5ebf5;--text: #0f172a;--muted: #64748b;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #8b5cf6;--radius: 12px;--shadow: 0 14px 34px rgba(15, 23, 42, .08);--soft-shadow: 0 8px 24px rgba(15, 23, 42, .05);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#app{min-width:320px;min-height:100dvh;margin:0}body{overflow-x:hidden;background:radial-gradient(circle at 20% 0%,#eaf2ff 0,transparent 34%),var(--bg)}button{touch-action:manipulation;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.app-loading{min-height:100dvh;display:grid;place-items:center;color:var(--muted)}.auth-error-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-error-page section{width:min(100%,420px);display:grid;gap:14px;padding:28px;border:1px solid #fecaca;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);text-align:center}.auth-error-page strong{font-size:20px}.auth-error-page p{color:var(--danger);line-height:1.6}.auth-error-page button{min-height:44px;border:0;border-radius:7px;background:var(--primary);color:#fff;font-weight:800}.desktop-layout{min-height:100dvh;display:grid;grid-template-columns:248px minmax(0,1fr)}.desktop-sidebar{position:sticky;top:0;height:100dvh;padding:22px 16px;border-right:1px solid var(--border);background:#ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px;font-weight:900;font-size:18px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff}.side-nav{display:grid;gap:8px}.nav-item{min-height:44px;display:flex;align-items:center;gap:10px;border-radius:12px;padding:0 14px;color:#334155;font-weight:800;font-size:14px}.nav-item.active{background:#eaf2ff;color:var(--primary)}.desktop-main{min-width:0}.desktop-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--border);background:#ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.desktop-content{width:100%;max-width:1320px;padding:28px 30px 34px}.mobile-layout{display:none;min-height:100dvh;padding-bottom:calc(74px + env(safe-area-inset-bottom))}.mobile-topbar{position:sticky;top:0;z-index:20;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--border);background:#f5f7fbf0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-content{max-width:720px;margin:0 auto;padding:14px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff7;box-shadow:0 -12px 28px #0f172a14}.bottom-nav .nav-item{justify-content:center;min-height:48px;padding:0 4px;font-size:12px}.page{display:grid;gap:16px}.page-header{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:var(--radius);background:linear-gradient(110deg,#fff,#eef5ff 72%,#dbeafe);box-shadow:var(--soft-shadow);overflow:hidden}.page-title{display:grid;gap:6px}.eyebrow{margin:0;color:var(--primary);font-weight:900;font-size:13px}h1,h2,h3,p{margin:0;letter-spacing:0}.page-title h1{font-size:28px;line-height:1.18}.page-title p{color:var(--muted);font-size:14px;line-height:1.55}.hero-illustration{flex:0 0 auto;width:min(260px,30vw);height:86px;position:relative}.hero-illustration:before{content:"";position:absolute;right:0;bottom:0;width:210px;height:8px;border-radius:999px;background:#3b82f6;opacity:.72}.hero-illustration:after{content:"";position:absolute;right:36px;bottom:18px;width:128px;height:62px;border-radius:18px 18px 8px 8px;background:linear-gradient(135deg,#bfdbfe,#fff);box-shadow:inset 0 -18px #dbeafe;transform:skew(-10deg)}.toolbar-user{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dbeafe;color:var(--primary);font-weight:900}.role-pill,.badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;background:#eff6ff;color:var(--primary);font-size:12px;font-weight:900;white-space:nowrap}.user-card,.card,.stat-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--soft-shadow)}.user-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.user-card strong{display:block;font-size:15px}.user-card span{color:var(--muted);font-size:12px}.card{padding:18px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head strong{font-size:16px}.card-head span{color:var(--muted);font-size:13px;line-height:1.45}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.stat-card{min-height:116px;display:grid;align-content:space-between;padding:16px;border-top:4px solid var(--primary)}.stat-card.success{border-top-color:var(--success)}.stat-card.warning{border-top-color:var(--warning)}.stat-card.danger{border-top-color:var(--danger)}.stat-card.info{border-top-color:var(--info)}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{font-size:31px;line-height:1}.grid-2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.list{display:grid;gap:10px}.row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border)}.row-main{min-width:0;display:grid;gap:4px}.row-main strong{font-size:14px}.row-main small{color:var(--muted);font-size:12px;line-height:1.35}.empty{min-height:126px;display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:var(--radius);background:var(--surface-soft);color:var(--muted);text-align:center;padding:18px}.state-line{min-height:180px;display:grid;place-items:center;color:var(--muted)}.state-line.error{color:var(--danger)}.primary-button,.secondary-button,.action-button{min-height:42px;border-radius:10px;padding:0 14px;font-weight:900;font-size:14px;white-space:nowrap}.primary-button{border:1px solid var(--primary);background:var(--primary);color:#fff}.secondary-button,.action-button{border:1px solid #cbd5e1;background:#fff;color:#1e293b}.action-row,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form{display:grid;gap:12px}.form label{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:800}.form input,.form select,.form textarea{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;background:#fff;color:var(--text)}.form textarea{resize:vertical}.form-message{color:var(--muted);font-size:13px}.trend{min-height:190px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end;padding-top:10px}.trend-item{display:grid;gap:8px;align-items:end;text-align:center;color:var(--muted);font-size:12px}.trend-item i{min-height:18px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#60a5fa,var(--primary))}.progress{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--primary)}@media(max-width:1023px){.desktop-layout{display:none}.mobile-layout{display:block}.page{gap:14px}.page-header{min-height:112px;padding:18px}.page-title h1{font-size:22px}.hero-illustration{width:120px;height:60px}.hero-illustration:before{width:112px}.hero-illustration:after{width:78px;height:42px;right:18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-2,.grid-3{grid-template-columns:1fr}.card{padding:15px}}@media(max-width:520px){.page-header{align-items:flex-start}.page-title p{font-size:13px}.stat-card{min-height:98px;padding:14px}.stat-card strong{font-size:27px}.action-row,.form-grid{grid-template-columns:1fr}.row{align-items:flex-start}}@media(min-width:1280px){.desktop-content{padding:32px}}:root{--esm-primary: #2563eb;--esm-primary-dark: #1d4ed8;--esm-success: #10b981;--esm-warning: #f59e0b;--esm-danger: #ef4444;--esm-purple: #8b5cf6;--esm-background: #f5f7fb;--esm-card: #ffffff;--esm-card-soft: #f8faff;--esm-line: #e6ebf4;--esm-line-strong: #d8e1ee;--esm-text: #101828;--esm-muted: #667085;--esm-radius: 16px;--esm-space: 8px;--esm-shadow: 0 18px 48px rgba(31, 56, 108, .1);--esm-shadow-soft: 0 8px 26px rgba(31, 56, 108, .06);font-family:Microsoft YaHei UI,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{letter-spacing:0}.esm-admin-page{min-width:320px;min-height:100dvh;overflow-x:hidden;color:var(--esm-text);background:radial-gradient(circle at 45% -20%,rgba(96,165,250,.2),transparent 38%),linear-gradient(180deg,#f3f7ff 0,var(--esm-background) 300px)}.esm-brand-header{width:min(1540px,calc(100% - 48px));min-height:112px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:36px}.esm-brand-identity{flex:0 0 auto;display:flex;align-items:center;gap:16px}.esm-brand-logo{width:56px;height:62px;display:grid;place-items:center;border-radius:17px 17px 23px 23px;color:#fff;background:linear-gradient(145deg,#1476ff,#1556db);border:5px solid rgba(255,255,255,.9);box-shadow:0 12px 26px #2563eb40}.esm-brand-identity>div,.esm-feature>div{display:grid}.esm-brand-identity strong{font-size:clamp(24px,2vw,34px);line-height:1.15;font-weight:900}.esm-brand-identity small{margin-top:7px;color:#6980a4;font-size:14px}.esm-brand-features{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:26px}.esm-feature{display:flex;align-items:center;gap:11px}.esm-feature>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--esm-primary);background:#2563eb14}.esm-feature strong{font-size:13px}.esm-feature small{margin-top:5px;color:#7b8ba6;font-size:10px;white-space:nowrap}.esm-product-frame{width:min(1540px,calc(100% - 40px));min-height:calc(100dvh - 132px);margin:0 auto 20px;display:grid;grid-template-columns:214px minmax(0,1fr);grid-template-rows:60px minmax(0,1fr);border:1px solid rgba(214,224,240,.8);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 28px 70px #1f386c1f}.esm-product-topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 22px;border-bottom:1px solid var(--esm-line);background:#fffffffa}.esm-product-name,.esm-product-user{display:flex;align-items:center;gap:16px}.esm-product-name{color:var(--esm-primary)}.esm-product-name strong{color:var(--esm-text);font-size:15px}.esm-icon-button{position:relative;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;color:#344054;background:transparent;cursor:pointer}.esm-icon-button:hover{background:#eff5ff}.esm-icon-button>span{position:absolute;top:7px;right:7px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:var(--esm-danger)}.esm-sidebar{min-width:0;display:flex;flex-direction:column;padding:16px 13px 14px;border-right:1px solid var(--esm-line);background:#fff}.esm-navigation{display:grid;gap:7px}.esm-navigation-item{width:100%;min-height:44px;display:flex;align-items:center;gap:13px;padding:0 14px;border:0;border-radius:10px;color:#44516a;background:transparent;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.esm-navigation-item:hover{color:var(--esm-primary);background:#f3f7ff}.esm-navigation-item.is-active{color:#fff;background:linear-gradient(135deg,#2781ff,#1260ee);box-shadow:0 8px 18px #2563eb38}.esm-sidebar-user{margin-top:auto;padding:12px;border:1px solid var(--esm-line);border-radius:12px}.esm-content{min-width:0;padding:16px;background:var(--esm-background)}.esm-dashboard{width:100%;display:grid;gap:14px}.esm-welcome{position:relative;min-height:112px;display:flex;align-items:center;justify-content:space-between;padding:20px 26px;overflow:hidden;border:1px solid #deebff;border-radius:var(--esm-radius);background:radial-gradient(circle at 82% 30%,rgba(255,255,255,.95),transparent 18%),linear-gradient(112deg,#f8fbff,#eef5ff 64%,#dceaff)}.esm-welcome-copy{position:relative;z-index:2}.esm-welcome h1{margin:0;font-size:22px;line-height:1.25}.esm-welcome p{margin:9px 0 0;color:#607391;font-size:13px}.esm-study-illustration{position:relative;width:260px;height:88px;flex:0 0 auto}.esm-study-illustration:after{content:"";position:absolute;right:3px;bottom:7px;width:242px;height:5px;border-radius:999px;background:#2563eb38}.esm-books{position:absolute;right:128px;bottom:14px;width:64px;height:7px;border-radius:2px;background:#2563eb;box-shadow:5px -9px #93b4ff,-2px -18px #4b7ff0}.esm-lamp{position:absolute;right:78px;bottom:14px;width:7px;height:54px;border-radius:8px;background:#164eb7;transform:rotate(17deg);transform-origin:bottom}.esm-lamp:before{content:"";position:absolute;top:-8px;left:-13px;width:34px;height:20px;border-radius:18px 18px 5px 5px;background:#1d4ed8;transform:rotate(20deg)}.esm-window{position:absolute;right:0;top:1px;width:54px;height:46px;border:5px solid #fff;border-radius:4px;background:#174cae;box-shadow:0 8px 16px #2563eb1f}.esm-window:before{content:"";position:absolute;inset:8px;background:radial-gradient(circle at 15% 20%,#ffd663 0 2px,transparent 3px),radial-gradient(circle at 76% 35%,#ffd663 0 2px,transparent 3px),radial-gradient(circle at 48% 80%,#ffd663 0 2px,transparent 3px)}.esm-plant{position:absolute;right:28px;bottom:10px;width:26px;height:24px;border-radius:5px 5px 10px 10px;background:#78c7a5}.esm-plant:before{content:"";position:absolute;left:5px;top:-22px;width:15px;height:28px;border-radius:90% 0;background:#42b883;transform:rotate(-28deg)}.state-line{min-height:56px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px solid #dbeafe;border-radius:14px;color:var(--esm-primary);background:#eff6ff;font-size:13px}.state-line.error{color:#b42318;border-color:#fecaca;background:#fef2f2}.state-line button{border:0;color:inherit;background:transparent;font-weight:800;cursor:pointer}.esm-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.esm-main-grid{display:grid;grid-template-columns:minmax(420px,1.45fr) minmax(250px,.82fr) minmax(240px,.72fr);gap:12px}.esm-lower-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr);gap:12px}.esm-trend-card,.esm-unusual-card,.esm-duty-card{min-height:268px}.esm-card-link{color:var(--esm-primary);font-size:12px;font-weight:800}.esm-chart-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;padding:20px;border-radius:12px;color:#94a3b8;background:linear-gradient(#edf1f7 1px,transparent 1px) 0 0 / 100% 38px,linear-gradient(90deg,#edf1f7 1px,transparent 1px) 0 0 / 20% 100%;text-align:center}.esm-chart-empty strong{color:#526078;font-size:13px}.esm-chart-empty span{max-width:300px;color:#8b98ac;font-size:11px;line-height:1.6}.esm-row-list{display:grid;gap:9px}.esm-person-row{min-width:0;display:flex;align-items:center;gap:9px;padding:8px 0}.esm-person-row+.esm-person-row{border-top:1px solid var(--esm-line)}.esm-student-avatar,.esm-duty-avatar{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--esm-primary);background:#e2edff;font-size:13px;font-weight:900}.esm-row-main{min-width:0;flex:1;display:grid;gap:3px}.esm-row-main strong{font-size:12px}.esm-row-main small{overflow:hidden;color:var(--esm-muted);font-size:10px;white-space:nowrap;text-overflow:ellipsis}.esm-compact-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:10px;padding:16px;color:#8a98ad;text-align:center;font-size:12px}.esm-compact-empty svg{color:#a9bddc}.esm-duty-profile{display:flex;align-items:center;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--esm-line)}.esm-duty-profile>div{min-width:0;display:grid;gap:3px}.esm-duty-profile strong,.esm-duty-profile small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.esm-duty-profile strong{font-size:12px}.esm-duty-profile small{color:var(--esm-muted);font-size:10px}.esm-duty-facts{display:grid;gap:10px;padding:15px 0}.esm-duty-facts span{display:flex;align-items:center;gap:8px;color:#526078;font-size:11px}.esm-duty-facts svg{color:var(--esm-primary)}.esm-duty-button{width:100%;min-height:38px;border:0;border-radius:9px;color:#fff;background:#9ebdf4;font-size:12px;font-weight:800}.esm-schedule-content{min-height:126px;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.45fr);gap:20px;align-items:stretch;padding:12px;border-radius:12px;background:#f3f7ff}.esm-session-time{display:grid;grid-template-columns:34px 1fr;align-content:center;column-gap:10px}.esm-session-time>span{grid-row:span 2;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--esm-primary)}.esm-session-time strong{font-size:20px;line-height:1.2}.esm-session-time small{color:var(--esm-muted);font-size:11px}.esm-session-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px}.esm-session-facts>span{display:grid;gap:8px;padding:5px 10px}.esm-session-facts small{color:var(--esm-muted);font-size:10px}.esm-session-facts strong{font-size:12px}.esm-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.esm-quick-action{min-width:0;min-height:58px;display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--esm-line);border-radius:10px;color:#344054;background:#fff;cursor:pointer}.esm-quick-action:active{transform:translateY(1px)}.esm-quick-action>span{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;color:var(--esm-primary);background:#eaf2ff}.esm-quick-action strong{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.esm-quick-action.is-warning>span{color:var(--esm-warning);background:#fff5df}.esm-quick-action.is-success>span{color:var(--esm-success);background:#e7faf3}.esm-quick-action.is-info>span{color:var(--esm-purple);background:#f1edff}.esm-mobile-shell{display:none}.esm-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 8px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--esm-line);background:#fffffffa;box-shadow:0 -8px 24px #1f386c14}.esm-bottom-nav button{min-width:0;min-height:49px;display:grid;place-items:center;gap:3px;border:0;color:#8a97aa;background:transparent}.esm-bottom-nav button.is-active{color:var(--esm-primary)}.esm-bottom-icon{position:relative;display:grid;place-items:center}.esm-bottom-icon b{position:absolute;top:-7px;right:-11px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:9px;color:#fff;background:var(--esm-danger);font-size:8px}.esm-bottom-nav small{font-size:10px}@media(max-width:1200px){.esm-brand-features{gap:14px}.esm-feature small{display:none}.esm-product-frame{grid-template-columns:190px minmax(0,1fr)}.esm-main-grid{grid-template-columns:minmax(400px,1.35fr) minmax(220px,.8fr)}.esm-duty-card{grid-column:1 / -1;min-height:auto}.esm-lower-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1023px){.esm-brand-header,.esm-product-frame{display:none}.esm-mobile-shell{display:block;min-height:100dvh;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.esm-mobile-userbar{position:sticky;top:0;z-index:20;min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 16px 10px;background:#f5f7fbf5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.esm-mobile-userbar>div{min-width:0;display:flex;align-items:center;gap:10px}.esm-mobile-userbar>div>div{min-width:0;display:grid;gap:3px}.esm-mobile-avatar{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#f1a46a,#dd7650);font-size:13px;font-weight:900}.esm-mobile-userbar strong{overflow:hidden;font-size:15px;white-space:nowrap;text-overflow:ellipsis}.esm-mobile-userbar small{color:var(--esm-muted);font-size:10px}.esm-mobile-content{width:100%;max-width:620px;margin:0 auto;display:grid;gap:12px;padding:4px 12px 16px}.esm-mobile-content>.evening-card{width:100%}.esm-mobile-hero{position:relative;min-height:178px;overflow:hidden;padding:18px;border-radius:16px;color:#fff;background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.18),transparent 30%),linear-gradient(145deg,#1677ff,#0756e8);box-shadow:0 14px 30px #2563eb42}.esm-mobile-hero:after{content:"";position:absolute;right:-35px;top:-38px;width:150px;height:150px;border:28px solid rgba(255,255,255,.08);border-radius:50%}.esm-mobile-hero>div:first-child{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px}.esm-mobile-hero>div:first-child strong{font-size:15px}.esm-mobile-hero>div:first-child small{color:#ffffffb8;font-size:10px}.esm-mobile-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.esm-mobile-stats>span{min-width:0;display:grid;gap:4px;padding:7px 8px;border-right:1px solid rgba(255,255,255,.2)}.esm-mobile-stats>span:nth-child(3),.esm-mobile-stats>span:last-child{border-right:0}.esm-mobile-stats>span:nth-child(n+4){margin-top:5px}.esm-mobile-stats strong{font-size:22px;line-height:1}.esm-mobile-stats small{overflow:hidden;color:#ffffffc7;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.esm-mobile-chart-empty{min-height:128px;display:grid;place-items:center;align-content:center;gap:8px;border-radius:10px;color:#8b98ac;background:linear-gradient(#edf1f7 1px,transparent 1px) 0 0 / 100% 32px,linear-gradient(90deg,#edf1f7 1px,transparent 1px) 0 0 / 25% 100%;font-size:11px}.esm-mobile-content .esm-compact-empty{min-height:100px}}@media(max-width:420px){.esm-admin-page,.esm-mobile-shell,.esm-mobile-content{max-width:100%;overflow-x:hidden}.esm-mobile-content{padding-right:12px;padding-left:12px}.esm-mobile-hero,.esm-mobile-content>.evening-card{min-width:0;max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.admin-subpage .admin-product-frame{min-height:calc(100dvh - 40px);margin-top:20px}.admin-content{overflow:auto}.admin-page-body{min-width:0;display:grid;gap:14px}.admin-page-header{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border:1px solid #dfe6f0;border-radius:8px;background:#fff}.admin-page-heading,.admin-page-actions,.admin-panel-title,.admin-toolbar,.admin-actions{display:flex;align-items:center}.admin-page-heading{min-width:0;gap:12px}.admin-page-actions{flex:0 0 auto;gap:8px}.admin-page-icon,.admin-large-icon{display:grid;place-items:center;color:#1768ef;background:#edf4ff}.admin-page-icon{width:42px;height:42px;flex:0 0 auto;border-radius:8px}.admin-page-heading h1,.admin-panel-title h2,.admin-notice-empty h2{margin:0;color:#15213a;letter-spacing:0}.admin-page-heading h1{font-size:20px}.admin-panel-title h2,.admin-notice-empty h2{font-size:15px}.admin-page-heading p,.admin-panel-title p,.admin-notice-empty p{margin:4px 0 0;color:#718096;font-size:12px;line-height:1.55}.admin-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid #1768ef;border-radius:6px;color:#fff;background:#1768ef;font-size:12px;font-weight:700;cursor:pointer}.admin-button.is-secondary{border-color:#d6deea;color:#34445e;background:#fff}.admin-button:disabled,.admin-actions button:disabled{opacity:.48;cursor:not-allowed}.admin-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dfe6f0;border-radius:8px;background:#fff}.admin-metric-strip.five{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-metric-strip>div{min-width:0;display:grid;gap:8px;padding:17px 20px;border-right:1px solid #e8edf4}.admin-metric-strip>div:last-child{border-right:0}.admin-metric-strip small{color:#718096;font-size:12px}.admin-metric-strip strong{color:#15213a;font-size:25px;line-height:1}.admin-metric-strip strong.small-value{overflow:hidden;font-size:16px;line-height:1.3;text-overflow:ellipsis}.admin-panel{min-width:0;border:1px solid #dfe6f0;border-radius:8px;background:#fff}.admin-panel-title{min-height:62px;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #e8edf4}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{height:40px;padding:0 14px;color:#718096;background:#f8fafc;font-weight:700;text-align:left;white-space:nowrap}.admin-table td{min-width:88px;padding:13px 14px;border-top:1px solid #edf1f6;color:#34445e;vertical-align:middle}.admin-table tbody tr:hover{background:#f8fbff}.admin-table td strong{display:block;color:#18243d;font-size:13px}.admin-table td small{display:block;margin-top:4px;color:#8793a7}.admin-table td.admin-description{min-width:260px;max-width:520px;line-height:1.5}.admin-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:5px;color:#536075;background:#eef1f5;font-size:11px;font-weight:800;white-space:nowrap}.admin-status[data-tone=success]{color:#08785a;background:#e7f7f1}.admin-status[data-tone=warning]{color:#9a5b00;background:#fff3d8}.admin-status[data-tone=danger]{color:#bd2939;background:#feecee}.admin-actions{gap:6px}.admin-actions button{height:30px;padding:0 9px;border:1px solid #cfd8e6;border-radius:5px;color:#1768ef;background:#fff;font-size:11px;font-weight:700;cursor:pointer}.admin-toolbar{gap:8px}.admin-toolbar label{height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #d6deea;border-radius:6px;color:#718096;background:#fff}.admin-toolbar input{width:150px;border:0;outline:0;color:#26334b;background:transparent;font-size:12px}.admin-state,.admin-empty{display:grid;place-items:center;text-align:center;color:#718096}.admin-state{min-height:280px;gap:8px;border:1px solid #dfe6f0;border-radius:8px;background:#fff}.admin-state.compact{min-height:230px;border:0}.admin-state strong{color:#26334b;font-size:15px}.admin-state span{font-size:12px}.admin-state.is-error svg{color:#cf3345}.admin-empty{min-height:150px;padding:24px;font-size:12px}.admin-inline-message{margin:0;padding:9px 12px;border:1px solid #cfe0ff;border-radius:6px;color:#1759bf;background:#f3f7ff;font-size:12px}.admin-student-layout{min-width:0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.admin-class-list{align-self:start;overflow:hidden}.admin-class-list>button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border:0;border-bottom:1px solid #edf1f6;color:#34445e;background:#fff;text-align:left;cursor:pointer}.admin-class-list>button.active{color:#1768ef;background:#eff5ff;box-shadow:inset 3px 0 #1768ef}.admin-class-list>button strong,.admin-class-list>button small{display:block}.admin-class-list>button strong{font-size:12px}.admin-class-list>button small{margin-top:4px;color:#8793a7;font-size:10px}.admin-class-list>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-class-list>button span{min-width:0}.admin-load-more{display:flex;justify-content:center;padding:14px;border-top:1px solid #edf1f6}.admin-two-column,.admin-settings-grid{min-width:0;display:grid;grid-template-columns:1.35fr .85fr;gap:14px}.admin-settings-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.admin-bars{display:grid;gap:16px;padding:18px 16px}.admin-bars>div{display:grid;grid-template-columns:90px minmax(80px,1fr) 48px;align-items:center;gap:10px;font-size:12px}.admin-bars>div>div{height:8px;overflow:hidden;border-radius:4px;background:#edf1f6}.admin-bars i{height:100%;display:block;border-radius:4px;background:#2475ee}.admin-bars strong{text-align:right}.admin-check-list{display:grid;padding:6px 16px}.admin-check-list>div{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1f6;color:#44516a;font-size:12px}.admin-check-list>div:last-child{border-bottom:0}.admin-notice-empty{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center}.admin-notice-empty p{max-width:520px}.admin-large-icon{width:58px;height:58px;border-radius:8px}.admin-definition-list{margin:0;padding:6px 16px}.admin-definition-list>div{min-height:48px;display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid #edf1f6;font-size:12px}.admin-definition-list>div:last-child{border-bottom:0}.admin-definition-list dt{color:#718096}.admin-definition-list dd{margin:0;overflow:hidden;color:#26334b;text-align:right;text-overflow:ellipsis;white-space:nowrap}.is-spinning{animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.enrollment-task-page{margin-bottom:16px}.enrollment-task-message{border-width:0 0 1px;border-radius:0}.enrollment-task-table{max-height:430px}.enrollment-task-table .admin-actions button{width:30px;justify-content:center;padding:0}.enrollment-dialog-backdrop{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:20px;background:#141f3375}.enrollment-dialog{width:min(920px,100%);max-height:calc(100dvh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #dfe6f0;border-radius:8px;background:#fff;box-shadow:0 22px 60px #12264838}.enrollment-detail-dialog{width:min(1120px,100%)}.enrollment-dialog>header,.enrollment-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px}.enrollment-dialog>header{border-bottom:1px solid #e8edf4}.enrollment-dialog>footer{justify-content:flex-end;border-top:1px solid #e8edf4}.enrollment-dialog>footer>span{margin-right:auto;color:#718096;font-size:11px}.enrollment-dialog header h2{margin:0;color:#15213a;font-size:18px;letter-spacing:0}.enrollment-dialog header p{margin:5px 0 0;color:#718096;font-size:12px}.enrollment-dialog header>button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d6deea;border-radius:6px;color:#536075;background:#fff}.enrollment-dialog-body,.enrollment-detail-body{min-height:0;overflow-y:auto}.enrollment-dialog-body{padding:18px 20px}.enrollment-dialog-state{min-height:320px;display:grid;place-items:center;align-content:center;gap:10px;color:#1768ef}.enrollment-form-error{display:flex;align-items:center;gap:7px;margin:0 0 14px;padding:10px 12px;border:1px solid #ffd1d6;border-radius:6px;color:#bd2939;background:#fff5f6;font-size:12px}.enrollment-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.enrollment-form-grid label{min-width:0;display:grid;gap:6px}.enrollment-form-grid .wide{grid-column:span 2}.enrollment-form-grid label>span,.enrollment-weekdays>span{color:#52617a;font-size:12px;font-weight:700}.enrollment-form-grid input,.enrollment-form-grid select,.enrollment-form-grid textarea,.enrollment-detail-toolbar select{width:100%;box-sizing:border-box;border:1px solid #d8e2ef;border-radius:6px;color:#26334b;background:#fff;font:inherit}.enrollment-form-grid input,.enrollment-form-grid select{height:38px;padding:0 10px}.enrollment-form-grid textarea{resize:vertical;padding:9px 10px}.enrollment-weekdays{display:grid;gap:8px;margin-top:14px}.enrollment-weekdays>div{display:flex;flex-wrap:wrap;gap:7px}.enrollment-weekdays button{min-height:34px;display:inline-flex;align-items:center;gap:4px;padding:0 11px;border:1px solid #d7e1ef;border-radius:6px;color:#52617a;background:#fff}.enrollment-weekdays button.active{border-color:#2474f5;color:#1769ef;background:#eaf2ff}.enrollment-fixed-rule{display:grid;gap:5px;margin-top:14px;padding:11px 12px;border-left:3px solid #1768ef;color:#52617a;background:#f3f7ff;font-size:12px}.enrollment-fixed-rule strong{color:#26334b}.enrollment-scope-section{margin-top:16px;border:1px solid #e1e7f0;border-radius:7px}.enrollment-scope-section>div:first-child{display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #e8edf4;color:#26334b;font-size:12px}.enrollment-scope-section>div:first-child span{color:#718096}.enrollment-scope-tree{padding-left:18px}.enrollment-scope-section>.enrollment-scope-tree{max-height:250px;overflow-y:auto;padding:8px 12px}.enrollment-scope-row{min-height:34px;display:flex;align-items:center}.enrollment-scope-row>label{min-width:0;display:flex;align-items:center;gap:7px;color:#34445e;font-size:12px}.enrollment-scope-row>label.disabled{opacity:.55}.enrollment-scope-row>label span{min-width:0;display:flex;gap:7px;align-items:baseline}.enrollment-scope-row>label small{color:#8a96a9;font-size:10px}.enrollment-scope-expand{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:0;background:transparent;color:#53647e;cursor:pointer}.enrollment-scope-expand:hover{color:#1769e8;background:#edf5ff}.enrollment-scope-expand-placeholder{width:28px;height:28px;flex:0 0 28px}.enrollment-progress-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #e8edf4}.enrollment-progress-strip>div{display:grid;gap:6px;padding:14px 18px;border-right:1px solid #e8edf4}.enrollment-progress-strip>div:last-child{border-right:0}.enrollment-progress-strip small{color:#718096;font-size:11px}.enrollment-progress-strip strong{color:#15213a;font-size:22px}.enrollment-detail-toolbar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #e8edf4}.enrollment-detail-toolbar label{height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #d6deea;border-radius:6px;color:#718096}.enrollment-detail-toolbar label input{width:150px;border:0;outline:0}.enrollment-detail-toolbar select{width:120px;height:36px;padding:0 8px}.enrollment-response-table td:nth-child(6){min-width:180px}@media(max-width:760px){.enrollment-dialog-backdrop{padding:0}.enrollment-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.enrollment-form-grid{grid-template-columns:1fr}.enrollment-form-grid .wide{grid-column:auto}.enrollment-progress-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-progress-strip>div:nth-child(2){border-right:0}.enrollment-detail-toolbar{align-items:stretch;flex-direction:column}.enrollment-detail-toolbar label input,.enrollment-detail-toolbar select{width:100%}}.student-sync-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#141f3375}.student-sync-dialog{width:min(720px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid #dfe6f0;border-radius:8px;background:#fff;box-shadow:0 22px 60px #12264838}.student-sync-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #e8edf4}.student-sync-header>div{min-width:0}.student-sync-header h2{margin:0;color:#15213a;font-size:18px;letter-spacing:0}.student-sync-header p{margin:5px 0 0;color:#718096;font-size:12px;line-height:1.55}.student-sync-close{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #d6deea;border-radius:6px;color:#536075;background:#fff}.student-sync-close[aria-disabled=true]{opacity:.48;cursor:not-allowed}.student-sync-state{min-height:250px;display:grid;place-items:center;align-content:center;gap:9px;padding:28px;color:#1768ef;text-align:center}.student-sync-state strong{color:#26334b;font-size:15px}.student-sync-state span{color:#718096;font-size:12px}.student-sync-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 20px 10px}.student-sync-metrics>div{min-width:0;display:grid;gap:7px;padding:13px 14px;border:1px solid #e2e8f1;border-radius:7px;background:#f8fafc}.student-sync-metrics small{color:#718096;font-size:11px}.student-sync-metrics strong{color:#15213a;font-size:23px;line-height:1}.student-sync-metrics>div[data-tone=warning]{border-color:#f0d69c;background:#fff9ec}.student-sync-metrics>div[data-tone=danger]{border-color:#f1bdc3;background:#fff3f4}.student-sync-summary{display:grid;gap:8px;padding:8px 20px 14px}.student-sync-summary p{min-width:0;display:flex;justify-content:space-between;gap:14px;margin:0;color:#718096;font-size:12px}.student-sync-summary strong{color:#34445e}.student-sync-summary span{min-width:0;text-align:right;overflow-wrap:anywhere}.student-sync-alert{display:flex;align-items:flex-start;gap:8px;margin:0 20px 10px;padding:10px 12px;border:1px solid;border-radius:6px;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.student-sync-alert svg{flex:0 0 auto;margin-top:1px}.student-sync-alert.is-warning{border-color:#efd69f;color:#875400;background:#fff8e8}.student-sync-alert.is-danger{border-color:#f1c0c6;color:#b42335;background:#fff2f3}.student-sync-review{margin:0 20px 10px;overflow:hidden;border:1px solid #dfe6f0;border-radius:6px;background:#fff}.student-sync-review.is-danger{border-color:#efc1c7}.student-sync-review.is-warning{border-color:#ecd59f}.student-sync-review>header{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid #edf1f6}.student-sync-review>header strong{color:#a52234;font-size:12px}.student-sync-review>header span{color:#8a96a8;font-size:11px}.student-sync-review ul{max-height:220px;margin:0;padding:0;overflow-y:auto;list-style:none}.student-sync-review li{display:grid;gap:5px;padding:10px 12px;border-bottom:1px solid #edf1f6}.student-sync-review li:last-child{border-bottom:0}.student-sync-review-title{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.student-sync-review-title strong{color:#26334b;font-size:12px}.student-sync-review-title span{min-width:0;color:#a52234;font-size:12px;text-align:right;overflow-wrap:anywhere}.student-sync-review code{color:#718096;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;overflow-wrap:anywhere}.student-sync-review li p{margin:0;color:#718096;font-size:11px;line-height:1.5}.student-sync-review summary{padding:10px 12px;color:#78510a;font-size:12px;font-weight:700;cursor:pointer}.student-sync-missing-list{max-height:220px;overflow-y:auto;border-top:1px solid #edf1f6}.student-sync-missing-list>div{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid #edf1f6}.student-sync-missing-list>div:last-child{border-bottom:0}.student-sync-missing-list strong{min-width:0;color:#34445e;font-size:11px;overflow-wrap:anywhere}.student-sync-missing-list span{flex:0 0 auto;color:#7c8798;font-size:11px}.student-sync-success{display:flex;align-items:center;gap:10px;margin:12px 20px;padding:13px 14px;border:1px solid #b9e6d7;border-radius:7px;color:#08785a;background:#edf9f5}.student-sync-success div{min-width:0;display:grid;gap:3px}.student-sync-success strong{font-size:14px}.student-sync-success span{font-size:12px;overflow-wrap:anywhere}.student-sync-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #e8edf4}@media(max-width:1023px){.admin-subpage .admin-product-frame{display:none}.admin-mobile-shell{display:block}.admin-mobile-shell .esm-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-mobile-content{max-width:760px;padding-top:4px}.admin-page-header{min-height:64px;padding:12px}.admin-page-heading h1{font-size:17px}.admin-page-heading p{display:none}.admin-page-icon{width:38px;height:38px}}@media(max-width:620px){.admin-mobile-content{padding-right:10px;padding-left:10px}.admin-page-body{gap:10px}.admin-page-header .admin-button{width:36px;padding:0;font-size:0}.admin-page-header{gap:8px}.admin-page-actions{gap:6px}.admin-metric-strip,.admin-metric-strip.five{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metric-strip>div{padding:14px;border-bottom:1px solid #e8edf4}.admin-metric-strip>div:nth-child(2n){border-right:0}.admin-metric-strip>div:last-child,.admin-metric-strip>div:nth-last-child(2):nth-child(odd){border-bottom:0}.admin-metric-strip strong{font-size:22px}.admin-student-layout,.admin-two-column,.admin-settings-grid{grid-template-columns:minmax(0,1fr)}.admin-class-list{display:flex;overflow-x:auto;border-radius:8px}.admin-class-list .admin-panel-title{min-width:130px;border-right:1px solid #edf1f6;border-bottom:0}.admin-class-list>button{min-width:130px;border-right:1px solid #edf1f6;border-bottom:0}.admin-class-list>.admin-empty{min-width:160px;min-height:70px}.admin-panel-title{align-items:flex-start;flex-direction:column}.admin-toolbar{width:100%}.admin-toolbar label{min-width:0;flex:1}.admin-toolbar input{min-width:0;width:100%}.admin-table th,.admin-table td{padding-right:11px;padding-left:11px}.admin-notice-empty{min-height:330px;padding:30px 20px}.student-sync-backdrop{align-items:end;padding:10px}.student-sync-dialog{max-height:calc(100dvh - 20px)}.student-sync-header{padding:15px 14px}.student-sync-header h2{font-size:16px}.student-sync-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 14px 8px}.student-sync-metrics>div{padding:12px}.student-sync-summary{padding-right:14px;padding-left:14px}.student-sync-alert,.student-sync-review,.student-sync-success{margin-right:14px;margin-left:14px}.student-sync-actions{padding:12px 14px}.student-sync-actions .admin-button{min-width:0;flex:1;padding-right:10px;padding-left:10px}}.dev-demo-marker{position:fixed;top:10px;left:50%;z-index:1000;transform:translate(-50%);padding:6px 12px;border:1px solid rgba(37,99,235,.2);border-radius:999px;background:#eff6fff5;color:#1d4ed8;box-shadow:0 6px 18px #2563eb24;font-size:12px;font-weight:700;line-height:1;letter-spacing:0;pointer-events:none}@media(max-width:620px){.dev-demo-marker{right:8px;left:auto;transform:none;padding:5px 8px;font-size:10px}}
