.evening-card[data-v-295fac4b]{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-295fac4b]{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-295fac4b]{display:grid;gap:4px}.evening-card-head strong[data-v-295fac4b]{font-size:16px;line-height:1.35}.evening-card-head span[data-v-295fac4b]{color:var(--esm-muted);font-size:13px}.evening-card-meta[data-v-295fac4b]{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-ed89a4dd]{--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-ed89a4dd]{min-width:0}.esm-stat-copy>span[data-v-ed89a4dd]{display:block;color:var(--esm-muted);font-size:12px;line-height:1.4}.esm-stat-copy>strong[data-v-ed89a4dd]{display:block;margin-top:8px;color:var(--esm-text);font-size:27px;line-height:1;font-weight:900}.esm-stat-copy small[data-v-ed89a4dd]{display:flex;gap:4px;margin-top:9px;color:var(--esm-muted);font-size:11px;white-space:nowrap}.esm-stat-copy small b[data-v-ed89a4dd]{color:var(--tone-color)}.esm-stat-icon[data-v-ed89a4dd]{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-ed89a4dd]{--tone-color: var(--esm-success)}.is-warning[data-v-ed89a4dd]{--tone-color: var(--esm-warning)}.is-danger[data-v-ed89a4dd]{--tone-color: var(--esm-danger)}.is-info[data-v-ed89a4dd]{--tone-color: var(--esm-purple)}.status-badge[data-v-58590f72]{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-58590f72]{background:#ecfdf5;color:#059669}.status-late[data-v-58590f72]{background:#fff7ed;color:#ea580c}.status-leave[data-v-58590f72]{background:#f5f3ff;color:#7c3aed}.status-absent[data-v-58590f72]{background:#fef2f2;color:#dc2626}.status-not_checked[data-v-58590f72]{background:#eff6ff;color:#2563eb}.status-planned[data-v-58590f72]{background:#eff6ff;color:var(--esm-primary)}.user-header[data-v-8affcff9]{display:flex;align-items:center;gap:10px;min-width:0;max-width:260px}.esm-avatar[data-v-8affcff9]{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;color:var(--esm-primary);background:#eff5ff;font-size:15px;font-weight:800;line-height:1}.user-header-body[data-v-8affcff9]{display:grid;align-content:center;gap:2px;min-width:0}.user-header.has-role-switch[data-v-8affcff9]{max-width:390px}.user-header.has-role-switch .user-header-body[data-v-8affcff9]{grid-template-columns:minmax(48px,max-content) minmax(126px,180px);grid-template-areas:"name switch" "role switch" "error error";align-items:center;column-gap:10px;row-gap:0}.user-header strong[data-v-8affcff9]{font-size:14px;line-height:18px}.user-header small[data-v-8affcff9]{color:var(--esm-muted);font-size:12px;line-height:16px}.user-header.has-role-switch strong[data-v-8affcff9]{grid-area:name}.user-header.has-role-switch small[data-v-8affcff9]{grid-area:role}.user-header strong[data-v-8affcff9],.user-header small[data-v-8affcff9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-switch[data-v-8affcff9]{grid-area:switch;display:block;min-width:0}.user-role-switch select[data-v-8affcff9]{width:100%;min-width:110px;max-width:180px;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-header.has-role-switch .user-role-switch select[data-v-8affcff9]{margin-top:0}.user-role-error[data-v-8affcff9]{grid-area:error;color:#c83544}.sr-only[data-v-8affcff9]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.esm-attendance-trend[data-v-75cc17af]{display:flex;align-items:stretch;gap:14px;min-height:230px;padding:20px 18px 10px;overflow-x:auto}.esm-attendance-trend__point[data-v-75cc17af]{flex:1 0 46px;min-width:46px;display:grid;grid-template-rows:24px 1fr 20px;justify-items:center;gap:7px}.esm-attendance-trend__point strong[data-v-75cc17af]{color:#1e3a8a;font-size:13px}.esm-attendance-trend__point>span[data-v-75cc17af]{width:18px;height:150px;display:flex;align-items:flex-end;border-radius:4px 4px 2px 2px;background:#edf4ff;overflow:hidden}.esm-attendance-trend__point i[data-v-75cc17af]{width:100%;display:block;border-radius:4px 4px 2px 2px;background:#2672f3}.esm-attendance-trend__point small[data-v-75cc17af]{color:#64748b;font-size:11px;white-space:nowrap}.esm-attendance-trend.is-mobile[data-v-75cc17af]{min-height:180px;padding-inline:4px}.esm-attendance-trend.is-mobile .esm-attendance-trend__point>span[data-v-75cc17af]{height:110px}.esm-weekly-attendance-trend[data-v-75cc17af]{display:grid;grid-template-columns:repeat(7,minmax(52px,1fr));align-items:end;gap:10px;min-height:230px;padding:20px 18px 10px}.esm-weekly-attendance-trend__point[data-v-75cc17af]{min-width:0;display:grid;grid-template-rows:24px 1fr 20px 18px 16px;justify-items:center;gap:6px}.esm-weekly-attendance-trend__point strong[data-v-75cc17af]{color:#1e3a8a;font-size:13px;white-space:nowrap}.esm-weekly-attendance-trend__point>span[data-v-75cc17af]{width:22px;height:150px;display:flex;align-items:flex-end;border-radius:4px 4px 2px 2px;background:#edf4ff;overflow:hidden}.esm-weekly-attendance-trend__point i[data-v-75cc17af]{width:100%;display:block;border-radius:4px 4px 2px 2px;background:#2672f3}.esm-weekly-attendance-trend__point small[data-v-75cc17af],.esm-weekly-attendance-trend__point em[data-v-75cc17af],.esm-weekly-attendance-trend__point b[data-v-75cc17af]{color:#64748b;font-size:11px;font-style:normal;font-weight:500;white-space:nowrap}.esm-weekly-attendance-trend__point em[data-v-75cc17af]{color:#2563eb}.esm-weekly-attendance-trend__point b[data-v-75cc17af]{color:#94a3b8;font-weight:400}.esm-weekly-attendance-trend.is-mobile[data-v-75cc17af]{min-height:190px;grid-template-columns:repeat(7,minmax(32px,1fr));gap:4px;padding-inline:0;overflow-x:auto}.esm-weekly-attendance-trend.is-mobile .esm-weekly-attendance-trend__point>span[data-v-75cc17af]{height:110px}.esm-dashboard-person-list[data-v-75cc17af]{max-height:274px;overflow-y:auto}.esm-duty-teacher-list[data-v-75cc17af]{display:grid;gap:10px}.esm-mobile-acceptance[data-v-75cc17af]{display:grid;gap:12px;padding:16px;border:1px solid #d8e0ea;border-radius:8px;background:#fff}.esm-mobile-acceptance__head[data-v-75cc17af],.esm-mobile-acceptance__final[data-v-75cc17af]{display:flex;align-items:center;justify-content:space-between;gap:12px}.esm-mobile-acceptance__head strong[data-v-75cc17af]{color:#172554;font-size:16px}.esm-mobile-acceptance__head em[data-v-75cc17af]{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-75cc17af]{color:#b45309;background:#fffbeb}.esm-mobile-acceptance__head em.is-not-ready[data-v-75cc17af]{color:#dc2626;background:#fef2f2}.esm-mobile-acceptance__checks[data-v-75cc17af]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.esm-mobile-acceptance__checks span[data-v-75cc17af]{min-width:0;display:grid;gap:3px}.esm-mobile-acceptance small[data-v-75cc17af]{color:#64748b;font-size:11px}.esm-mobile-acceptance__checks strong[data-v-75cc17af]{color:#334155;font-size:12px;overflow-wrap:anywhere}.esm-mobile-acceptance__final[data-v-75cc17af]{padding-top:10px;border-top:1px solid #edf2f7}.esm-mobile-acceptance__final strong[data-v-75cc17af]{color:#172554;font-size:14px}.esm-mobile-school-overview[data-v-75cc17af]{display:grid;gap:14px;padding:16px;border:1px solid #cfe0f5;border-radius:12px;background:#f8fbff}.esm-mobile-school-overview__head[data-v-75cc17af]{display:flex;align-items:center;justify-content:space-between;gap:12px}.esm-mobile-school-overview__head>div[data-v-75cc17af]{min-width:0;display:grid;gap:3px}.esm-mobile-school-overview__head small[data-v-75cc17af],.esm-mobile-school-overview__time[data-v-75cc17af]{color:#64748b;font-size:11px}.esm-mobile-school-overview__head strong[data-v-75cc17af]{color:#172554;font-size:16px}.esm-mobile-school-overview__head em[data-v-75cc17af]{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-75cc17af]{color:#b45309;background:#fffbeb}.esm-mobile-school-overview__head em.is-risk[data-v-75cc17af]{color:#dc2626;background:#fef2f2}.esm-mobile-school-overview__stats[data-v-75cc17af]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.esm-mobile-school-overview__stats span[data-v-75cc17af]{min-width:0;display:grid;gap:3px}.esm-mobile-school-overview__stats strong[data-v-75cc17af]{color:#1e3a8a;font-size:20px}.esm-mobile-school-overview__stats small[data-v-75cc17af]{color:#64748b;font-size:11px}.esm-mobile-pilot[data-v-75cc17af]{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-75cc17af],.esm-mobile-pilot__stats[data-v-75cc17af],.esm-mobile-pilot__issues div[data-v-75cc17af]{display:flex;align-items:center}.esm-mobile-pilot__head[data-v-75cc17af]{justify-content:space-between;gap:12px}.esm-mobile-pilot__head>div[data-v-75cc17af]{min-width:0;display:grid;gap:3px}.esm-mobile-pilot small[data-v-75cc17af]{color:#64748b;font-size:11px}.esm-mobile-pilot__head strong[data-v-75cc17af]{color:#172554;font-size:16px}.esm-mobile-pilot__head em[data-v-75cc17af]{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-75cc17af]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.esm-mobile-pilot__stats span[data-v-75cc17af]{min-width:0;display:grid;gap:4px}.esm-mobile-pilot__stats strong[data-v-75cc17af]{color:#1e3a8a;font-size:14px;overflow-wrap:anywhere}.esm-mobile-pilot__stats strong.is-healthy[data-v-75cc17af]{color:#047857}.esm-mobile-pilot__stats strong.is-attention[data-v-75cc17af]{color:#b45309}.esm-mobile-pilot__stats strong.is-risk[data-v-75cc17af]{color:#dc2626}.esm-mobile-pilot__issues[data-v-75cc17af]{display:grid;gap:8px}.esm-mobile-pilot__issues div[data-v-75cc17af]{min-width:0;gap:8px;padding-top:8px;border-top:1px solid #edf2f7}.esm-mobile-pilot__issues b[data-v-75cc17af]{color:#dc2626;font-size:11px}.esm-mobile-pilot__issues span[data-v-75cc17af]{min-width:0;flex:1;color:#334155;font-size:12px}.esm-workbench-frame[data-v-75cc17af]{min-height:calc(100dvh - 40px);margin-top:20px}.duty-import-title[data-v-a8396e79]{align-items:flex-start}.duty-import-actions[data-v-a8396e79]{display:flex;flex-wrap:wrap;gap:8px}.duty-import-file[data-v-a8396e79]{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-a8396e79]{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;color:#1769ef;background:#eaf2ff}.duty-import-file>div[data-v-a8396e79]{min-width:0;display:grid;gap:4px}.duty-import-file strong[data-v-a8396e79]{overflow:hidden;color:#26334b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.duty-import-file small[data-v-a8396e79]{color:#75829a;font-size:11px;line-height:1.5}.duty-import-summary[data-v-a8396e79]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.duty-import-summary span[data-v-a8396e79]{display:grid;gap:5px;padding:12px 14px;border:1px solid #e2e9f4;border-radius:8px;background:#fff}.duty-import-summary small[data-v-a8396e79]{color:#7a879d;font-size:11px}.duty-import-summary strong[data-v-a8396e79]{color:#26334b;font-size:20px}.duty-import-summary .error strong[data-v-a8396e79]{color:#d92d20}.duty-import-table[data-v-a8396e79]{margin-top:12px;max-height:320px;overflow:auto}.duty-import-confirm[data-v-a8396e79]{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.duty-import-confirm span[data-v-a8396e79]{display:flex;align-items:center;gap:8px;color:#52617a;font-size:12px}.duty-session-guide[data-v-a8396e79]{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-a8396e79]{display:flex;align-items:center;gap:8px;font-size:12px}.duty-schedule-heading[data-v-a8396e79]{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-a8396e79]{margin:0;color:#26334b;font-size:15px}.duty-schedule-heading p[data-v-a8396e79]{margin:5px 0 0;color:#7a879d;font-size:11px}.duty-date-filter[data-v-a8396e79]{display:flex;align-items:center;gap:8px}.duty-date-filter input[data-v-a8396e79]{height:36px;padding:0 9px;border:1px solid #d9e2ef;border-radius:7px;color:#35425a;background:#fff}.duty-date-filter span[data-v-a8396e79]{color:#7a879d;font-size:12px}.duty-schedule-table[data-v-a8396e79]{margin-top:12px;max-height:360px;overflow:auto}@media(max-width:760px){.duty-import-actions[data-v-a8396e79],.duty-import-actions .admin-button[data-v-a8396e79]{width:100%}.duty-import-file[data-v-a8396e79]{grid-template-columns:40px minmax(0,1fr)}.duty-import-file .admin-button[data-v-a8396e79]{grid-column:1 / -1;width:100%}.duty-import-summary[data-v-a8396e79]{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-import-confirm[data-v-a8396e79],.duty-session-guide[data-v-a8396e79],.duty-schedule-heading[data-v-a8396e79]{align-items:stretch;flex-direction:column}.duty-date-filter[data-v-a8396e79]{display:grid;grid-template-columns:1fr auto 1fr}.duty-date-filter .admin-button[data-v-a8396e79]{grid-column:1 / -1;width:100%}}.teacher-sync-boundary[data-v-4c2bdab9]{margin:0;padding:12px 14px;border-left:3px solid #246cf1;background:#f2f7ff;color:#405571;font-size:13px}.teacher-sync-list[data-v-4c2bdab9]{list-style:none;margin:0;padding:0;border:1px solid #f0c7c7}.teacher-sync-list li[data-v-4c2bdab9]{display:grid;gap:3px;padding:10px 12px;border-bottom:1px solid #f4dada}.teacher-sync-list li[data-v-4c2bdab9]:last-child{border-bottom:0}.teacher-sync-list strong[data-v-4c2bdab9]{color:#b73535;font-size:12px}.teacher-sync-list span[data-v-4c2bdab9]{color:#5e6878;font-size:13px}.teacher-sync-missing[data-v-4c2bdab9]{color:#775c2f;font-size:13px}.teacher-sync-missing summary[data-v-4c2bdab9]{cursor:pointer;font-weight:700}.teacher-sync-missing span[data-v-4c2bdab9]{display:block;padding:5px 0 0 12px}.teacher-toolbar-title[data-v-dfdaed9a]{align-items:flex-end;gap:16px}.teacher-filter-bar[data-v-dfdaed9a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-filter-bar select[data-v-dfdaed9a],.teacher-search[data-v-dfdaed9a]{min-height:40px;border:1px solid #d8e1ef;border-radius:6px;background:#fff;color:#243652}.teacher-filter-bar select[data-v-dfdaed9a]{padding:0 32px 0 12px}.teacher-search[data-v-dfdaed9a]{display:flex;align-items:center;gap:8px;padding:0 12px}.teacher-search input[data-v-dfdaed9a]{width:190px;border:0;outline:0;font:inherit}.teacher-table tbody tr[data-v-dfdaed9a]{cursor:pointer}.teacher-table tbody tr[data-v-dfdaed9a]:hover{background:#f7faff}.teacher-inline-state[data-v-dfdaed9a]{display:inline-flex;align-items:center;gap:5px;color:#a45a41;font-weight:700}.teacher-inline-state.ready[data-v-dfdaed9a]{color:#168060}.teacher-academic-cell strong[data-v-dfdaed9a],.teacher-academic-cell small[data-v-dfdaed9a]{display:block}.teacher-academic-cell strong[data-v-dfdaed9a]{color:#243652}.teacher-academic-cell small[data-v-dfdaed9a]{color:#72829a;margin-top:3px}.teacher-row-action[data-v-dfdaed9a]{width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:#5a6d89;cursor:pointer}.teacher-drawer-backdrop[data-v-dfdaed9a]{position:fixed;inset:0;z-index:80;background:#13233b59;display:flex;justify-content:flex-end}.teacher-drawer[data-v-dfdaed9a]{width:min(520px,100%);height:100%;overflow:auto;background:#f7f9fc;box-shadow:-18px 0 48px #162a492e}.teacher-drawer>header[data-v-dfdaed9a]{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-dfdaed9a],.teacher-drawer header p[data-v-dfdaed9a]{color:#72829a;font-size:13px}.teacher-drawer header h2[data-v-dfdaed9a]{margin:5px 0 2px;font-size:24px;color:#10213c}.teacher-drawer header button[data-v-dfdaed9a]{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-dfdaed9a]{padding:16px;display:grid;gap:12px}.teacher-drawer-loading[data-v-dfdaed9a]{min-height:300px;display:flex;align-items:center;justify-content:center;gap:10px;color:#60728e}.teacher-detail-section[data-v-dfdaed9a]{padding:18px;border:1px solid #dfe6f0;border-radius:8px;background:#fff}.teacher-detail-heading[data-v-dfdaed9a]{display:flex;gap:10px;align-items:flex-start;margin-bottom:15px;color:#246cf1}.teacher-detail-heading h3[data-v-dfdaed9a]{margin:0 0 3px;color:#172943;font-size:16px}.teacher-detail-heading p[data-v-dfdaed9a]{margin:0;color:#75859b;font-size:12px}.teacher-identity-grid[data-v-dfdaed9a]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.teacher-identity-grid span[data-v-dfdaed9a]{padding:11px 12px;background:#f5f8fc;border-radius:6px}.teacher-identity-grid small[data-v-dfdaed9a],.teacher-identity-grid strong[data-v-dfdaed9a]{display:block}.teacher-identity-grid small[data-v-dfdaed9a]{color:#7b8ba1;margin-bottom:3px}.teacher-academic-summary-grid[data-v-dfdaed9a]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.teacher-academic-summary-grid span[data-v-dfdaed9a]{min-width:0;padding:11px 12px;background:#f5f8fc;border-radius:6px}.teacher-academic-summary-grid small[data-v-dfdaed9a],.teacher-academic-summary-grid strong[data-v-dfdaed9a]{display:block}.teacher-academic-summary-grid small[data-v-dfdaed9a]{color:#7b8ba1;margin-bottom:3px}.teacher-academic-summary-grid strong[data-v-dfdaed9a]{color:#243652;line-height:1.45;overflow-wrap:anywhere}.teacher-field[data-v-dfdaed9a]{display:grid;gap:6px;margin-bottom:12px;color:#354964;font-size:13px;font-weight:700}.teacher-field input[data-v-dfdaed9a],.teacher-field select[data-v-dfdaed9a],.teacher-field textarea[data-v-dfdaed9a]{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-dfdaed9a]{margin:0 0 12px;padding:10px 12px;border-left:3px solid #f0a33d;background:#fff8e9;color:#76562c;font-size:12px}.teacher-exclusion-section[data-v-dfdaed9a]{border-color:#f0d5d5}.teacher-exclusion-note[data-v-dfdaed9a]{margin:0 0 12px;color:#6f7f95;font-size:12px;line-height:1.65}.teacher-danger-button[data-v-dfdaed9a]{background:#c63f46;border-color:#c63f46}.teacher-danger-button[data-v-dfdaed9a]:hover:not(:disabled){background:#aa3037;border-color:#aa3037}.teacher-bound-line[data-v-dfdaed9a]{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#168060;font-weight:700}.teacher-detail-list[data-v-dfdaed9a]{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid #edf1f6}.teacher-detail-list li[data-v-dfdaed9a]{padding:10px 0;border-bottom:1px solid #edf1f6}.teacher-detail-list strong[data-v-dfdaed9a],.teacher-detail-list small[data-v-dfdaed9a]{display:block}.teacher-detail-list small[data-v-dfdaed9a]{margin-top:3px;color:#75859b}.teacher-compact-empty[data-v-dfdaed9a]{padding:12px 0;color:#8492a7;font-size:13px}@media(max-width:760px){.teacher-toolbar-title[data-v-dfdaed9a]{align-items:stretch}.teacher-filter-bar[data-v-dfdaed9a],.teacher-filter-bar select[data-v-dfdaed9a],.teacher-search[data-v-dfdaed9a],.teacher-search input[data-v-dfdaed9a]{width:100%}.teacher-table th[data-v-dfdaed9a]:nth-child(5),.teacher-table td[data-v-dfdaed9a]:nth-child(5){display:none}.teacher-academic-summary-grid[data-v-dfdaed9a]{grid-template-columns:1fr}.teacher-drawer[data-v-dfdaed9a]{width:100%}}.class-enrollment-panel[data-v-fab045b2]{background:#fff;border:1px solid #dce4ed;border-radius:16px;overflow:hidden}.class-enrollment-heading[data-v-fab045b2]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}small[data-v-fab045b2]{display:block;margin-top:5px;color:#64748b;font-size:13px}.class-enrollment-body[data-v-fab045b2]{padding:0 20px 20px}.class-enrollment-filters[data-v-fab045b2]{display:flex;flex-wrap:wrap;gap:12px;align-items:end}label[data-v-fab045b2]{display:grid;gap:6px}input[data-v-fab045b2],select[data-v-fab045b2],button[data-v-fab045b2]{font:inherit}input[data-v-fab045b2],select[data-v-fab045b2],.class-enrollment-body button[data-v-fab045b2]{padding:9px 12px;border:1px solid #dce4ed;border-radius:8px;background:#fff}.class-enrollment-row[data-v-fab045b2]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 0;border-top:1px solid #e8edf3}.class-enrollment-body button[data-v-fab045b2]{color:#1769ed;cursor:pointer}button[data-v-fab045b2]:disabled{opacity:.45;cursor:default}@media(max-width:600px){.class-enrollment-filters label[data-v-fab045b2]{width:100%}.class-enrollment-row[data-v-fab045b2]{gap:8px;font-size:14px}}.approval-list[data-v-fc1b11b9]{display:grid;gap:12px}.teacher-preview-readonly-banner[data-v-fc1b11b9]{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #cfe0f8;border-radius:8px;color:#1d4ed8;background:#eff6ff;font-size:12px;font-weight:800}.approval-row[data-v-fc1b11b9]{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e5edf7}.approval-student[data-v-fc1b11b9]{min-width:0;display:grid;gap:4px}.approval-student strong[data-v-fc1b11b9]{color:#172554}.approval-student strong small[data-v-fc1b11b9],.approval-student span[data-v-fc1b11b9]{color:#718096;font-weight:500}.approval-student p[data-v-fc1b11b9]{margin:3px 0 0;color:#334155}.approval-row textarea[data-v-fc1b11b9]{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #cbd8ea;border-radius:7px;resize:vertical}.approval-actions[data-v-fc1b11b9]{display:flex;gap:8px}.approval-actions .reject[data-v-fc1b11b9]{color:#b42318}.operation-message[data-v-fc1b11b9]{margin:12px 0 0;padding:10px 12px;border-radius:7px;color:#1d4ed8;background:#eff6ff}.class-status-toolbar[data-v-fc1b11b9]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:#64748b;font-size:12px}.class-status-toolbar time[data-v-fc1b11b9]{color:#94a3b8}.class-status-sessions[data-v-fc1b11b9]{display:grid;gap:14px}.class-status-session[data-v-fc1b11b9]{overflow:hidden;border:1px solid #e1e9f4;border-radius:8px;background:#fbfdff}.class-status-session-head[data-v-fc1b11b9]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e5edf7;background:#fff}.class-status-session-head div[data-v-fc1b11b9]{min-width:0;display:grid;gap:4px}.class-status-session-head strong[data-v-fc1b11b9]{color:#172554}.class-status-session-head small[data-v-fc1b11b9]{overflow:hidden;color:#718096;text-overflow:ellipsis;white-space:nowrap}.class-status-summary[data-v-fc1b11b9]{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 16px;color:#52627a;font-size:13px;background:#f8fbff}.class-status-summary strong[data-v-fc1b11b9]{color:#172554;font-size:15px}.status-success-text[data-v-fc1b11b9]{color:#15803d}.status-warning-text[data-v-fc1b11b9]{color:#b45309}.status-info-text[data-v-fc1b11b9]{color:#2563eb}.status-danger-text[data-v-fc1b11b9]{color:#b42318}.class-status-students[data-v-fc1b11b9]{max-height:360px;overflow-y:auto;padding:0 16px}.class-status-student[data-v-fc1b11b9]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:54px;border-bottom:1px solid #edf2f8}.class-status-student[data-v-fc1b11b9]:last-child{border-bottom:0}.class-status-student time[data-v-fc1b11b9]{min-width:46px;color:#64748b;font-size:12px;text-align:right}.proxy-leave-card[data-v-fc1b11b9]{overflow:hidden;border:1px solid #e1e9f4;border-radius:8px;background:#fff;box-shadow:var(--esm-shadow-soft)}.proxy-leave-toggle[data-v-fc1b11b9]{width:100%;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:0;color:inherit;text-align:left;background:#fff;cursor:pointer}.proxy-leave-toggle[data-v-fc1b11b9]:hover{background:#f8fbff}.proxy-leave-title[data-v-fc1b11b9]{min-width:0;display:grid;gap:4px}.proxy-leave-title strong[data-v-fc1b11b9]{color:#172554;font-size:16px}.proxy-leave-title small[data-v-fc1b11b9]{color:#718096;font-size:13px}.proxy-leave-toggle-meta[data-v-fc1b11b9]{display:flex;align-items:center;gap:10px;flex:0 0 auto}.proxy-leave-toggle-meta svg[data-v-fc1b11b9]{color:#64748b;transition:transform .2s ease}.proxy-leave-toggle-meta svg.is-expanded[data-v-fc1b11b9]{transform:rotate(180deg)}.proxy-leave-content[data-v-fc1b11b9]{padding:16px 18px 18px;border-top:1px solid #e5edf7}.proxy-leave-form[data-v-fc1b11b9]{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,.7fr);gap:14px}.proxy-field[data-v-fc1b11b9]{display:grid;gap:6px}.proxy-field span[data-v-fc1b11b9]{color:#334155;font-weight:700}.proxy-field select[data-v-fc1b11b9],.proxy-field textarea[data-v-fc1b11b9]{box-sizing:border-box;width:100%;min-height:42px;padding:9px 10px;border:1px solid #cbd8ea;border-radius:7px;background:#fff}.proxy-reason[data-v-fc1b11b9],.proxy-students[data-v-fc1b11b9]{grid-column:1 / -1}.proxy-students[data-v-fc1b11b9]{border:1px solid #e1e9f4;border-radius:7px;overflow:hidden}.proxy-students-head[data-v-fc1b11b9]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fbff;border-bottom:1px solid #e1e9f4}.proxy-student-grid[data-v-fc1b11b9]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px;overflow-y:auto}.proxy-student[data-v-fc1b11b9]{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 12px;border-right:1px solid #edf2f8;border-bottom:1px solid #edf2f8}.proxy-student span[data-v-fc1b11b9]{display:grid;min-width:0}.proxy-student strong[data-v-fc1b11b9],.proxy-student small[data-v-fc1b11b9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proxy-student small[data-v-fc1b11b9]{color:#718096}.proxy-submit[data-v-fc1b11b9]{justify-self:end}@media(max-width:820px){.approval-row[data-v-fc1b11b9],.proxy-leave-form[data-v-fc1b11b9]{grid-template-columns:1fr}.proxy-reason[data-v-fc1b11b9],.proxy-students[data-v-fc1b11b9]{grid-column:auto}.proxy-student-grid[data-v-fc1b11b9]{grid-template-columns:1fr 1fr}.proxy-submit[data-v-fc1b11b9]{width:100%}.approval-actions[data-v-fc1b11b9]{justify-content:stretch}.approval-actions button[data-v-fc1b11b9]{flex:1}.class-status-session-head[data-v-fc1b11b9]{align-items:flex-start;flex-direction:column}.class-status-student[data-v-fc1b11b9]{grid-template-columns:minmax(0,1fr) auto}.class-status-student .badge[data-v-fc1b11b9]{grid-column:2;grid-row:1}.class-status-student time[data-v-fc1b11b9]{grid-column:1;grid-row:2;text-align:left}}@media(max-width:480px){.proxy-leave-toggle[data-v-fc1b11b9]{align-items:flex-start;padding:14px}.proxy-leave-title small[data-v-fc1b11b9]{line-height:1.45}.proxy-leave-toggle-meta .badge[data-v-fc1b11b9]{display:none}.proxy-leave-content[data-v-fc1b11b9]{padding:14px}.proxy-student-grid[data-v-fc1b11b9]{grid-template-columns:1fr}.proxy-students-head[data-v-fc1b11b9]{align-items:stretch;flex-direction:column}}.attendance-overview[data-v-7b314a0d]{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-7b314a0d]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.attendance-title strong[data-v-7b314a0d]{font-size:16px}.attendance-title span[data-v-7b314a0d]{color:var(--esm-muted);font-size:12px}.attendance-grid[data-v-7b314a0d]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}article[data-v-7b314a0d]{--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-7b314a0d]{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-7b314a0d]{min-width:0;display:grid;gap:5px}article strong[data-v-7b314a0d]{color:var(--esm-text);font-size:22px;line-height:1}article small[data-v-7b314a0d]{color:var(--esm-muted);font-size:11px;white-space:nowrap}.is-success[data-v-7b314a0d]{--attendance-tone: var(--esm-success)}.is-warning[data-v-7b314a0d]{--attendance-tone: var(--esm-warning)}.is-leave[data-v-7b314a0d]{--attendance-tone: var(--esm-purple)}.is-danger[data-v-7b314a0d]{--attendance-tone: var(--esm-danger)}@media(max-width:620px){.attendance-grid[data-v-7b314a0d]{grid-template-columns:repeat(2,minmax(0,1fr))}}.bulk-evaluation-bar[data-v-b5ef4fef]{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-b5ef4fef]{min-width:0;display:flex;align-items:baseline;gap:8px}.bulk-evaluation-summary span[data-v-b5ef4fef]{color:var(--esm-muted);font-size:12px}.bulk-evaluation-summary strong[data-v-b5ef4fef]{color:var(--esm-primary);font-size:24px;line-height:1}.bulk-evaluation-summary small[data-v-b5ef4fef]{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.bulk-evaluation-summary small.is-success[data-v-b5ef4fef]{color:var(--esm-success)}.bulk-evaluation-summary small.is-error[data-v-b5ef4fef]{color:var(--esm-danger)}.bulk-evaluation-summary small.is-info[data-v-b5ef4fef]{color:var(--esm-muted)}.bulk-evaluation-actions[data-v-b5ef4fef]{display:flex;gap:9px}button[data-v-b5ef4fef]{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-b5ef4fef]{border:1px solid #bfdbfe;color:var(--esm-primary);background:#eff6ff}.submit-button[data-v-b5ef4fef]{border:1px solid var(--esm-primary);color:#fff;background:var(--esm-primary)}@media(max-width:1023px){.bulk-evaluation-bar[data-v-b5ef4fef]{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-b5ef4fef]{display:grid;grid-template-columns:auto auto;gap:2px 7px}.bulk-evaluation-summary small[data-v-b5ef4fef]{grid-column:1 / -1;max-width:125px}button[data-v-b5ef4fef]{min-height:44px;padding:0 11px;font-size:12px}}.draft-recovery-layer[data-v-6bc19f08]{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-6bc19f08]{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-6bc19f08]{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;color:var(--esm-primary);background:#eaf2ff}h2[data-v-6bc19f08]{margin:0;font-size:17px}p[data-v-6bc19f08]{margin:7px 0 0;color:#526078;font-size:13px}small[data-v-6bc19f08]{display:block;margin-top:7px;color:#8a98ad;font-size:11px}.draft-recovery-actions[data-v-6bc19f08]{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}button[data-v-6bc19f08]{min-height:43px;border-radius:10px;font-size:13px;font-weight:900}.discard-button[data-v-6bc19f08]{border:1px solid #d7deea;color:#526078;background:#fff}.restore-button[data-v-6bc19f08]{border:1px solid var(--esm-primary);color:#fff;background:var(--esm-primary)}@media(max-width:1023px){.draft-recovery-layer[data-v-6bc19f08]{position:fixed;padding-top:max(90px,calc(env(safe-area-inset-top) + 76px))}}.evaluation-progress[data-v-970df828]{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-970df828],.evaluation-progress-value[data-v-970df828]{display:flex;align-items:center;justify-content:space-between;gap:16px}.evaluation-progress-head>div[data-v-970df828],.evaluation-progress-value>div[data-v-970df828]:first-child{min-width:0;display:grid;gap:4px}.evaluation-progress-head strong[data-v-970df828]{font-size:16px}.evaluation-progress-head span[data-v-970df828],.evaluation-progress-value span[data-v-970df828]{color:var(--esm-muted);font-size:12px}button[data-v-970df828]{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-970df828]{margin-top:20px}.evaluation-progress-value strong[data-v-970df828]{font-size:25px;line-height:1}.evaluation-progress-value strong small[data-v-970df828]{color:var(--esm-muted);font-size:14px}.progress-side[data-v-970df828]{display:flex;align-items:center;gap:9px}.progress-side em[data-v-970df828]{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-970df828]{color:var(--esm-primary);font-size:18px}.evaluation-progress-track[data-v-970df828]{height:9px;margin-top:12px;overflow:hidden;border-radius:999px;background:#e7edf6}.evaluation-progress-track i[data-v-970df828]{display:block;height:100%;border-radius:inherit;background:var(--esm-primary);transition:width .24s ease}@media(max-width:420px){.evaluation-progress-head[data-v-970df828]{align-items:flex-start}button[data-v-970df828]{min-height:38px;padding:0 10px;font-size:12px}.progress-side[data-v-970df828]{align-items:flex-end;flex-direction:column-reverse;gap:5px}}.discipline-panel[data-v-b07f2314]{display:grid;gap:14px;padding:15px;border:1px solid #e0e7f0;border-radius:14px;background:#fff}header[data-v-b07f2314]{display:flex;align-items:center;justify-content:space-between;gap:12px}header>div[data-v-b07f2314]{display:grid;gap:3px}header span[data-v-b07f2314],.history-title strong[data-v-b07f2314]{color:#243248;font-size:13px;font-weight:900}header small[data-v-b07f2314]{color:var(--esm-muted);font-size:10px}header button[data-v-b07f2314],.discipline-submit button[data-v-b07f2314]{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-b07f2314]{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;padding:12px;border-radius:12px;background:#f6f8fc}.discipline-form label[data-v-b07f2314]{display:grid;gap:6px;color:#526078;font-size:11px;font-weight:800}.discipline-description[data-v-b07f2314],.discipline-submit[data-v-b07f2314]{grid-column:1 / -1}select[data-v-b07f2314],input[data-v-b07f2314],textarea[data-v-b07f2314]{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-b07f2314]{resize:vertical}.discipline-submit[data-v-b07f2314]{display:flex;align-items:center;justify-content:flex-end;gap:10px}.discipline-submit>span[data-v-b07f2314]{color:var(--esm-muted);font-size:11px}.discipline-submit button[data-v-b07f2314]{border-color:var(--esm-primary);color:#fff;background:var(--esm-primary)}.discipline-submit button[data-v-b07f2314]:disabled{border-color:#d6dee9;color:#8b98aa;background:#e9eef5}.discipline-history[data-v-b07f2314]{display:grid;gap:9px}.history-title[data-v-b07f2314]{display:flex;align-items:center;gap:7px;color:var(--esm-muted)}.history-title span[data-v-b07f2314]{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-b07f2314]{display:grid}.discipline-records article[data-v-b07f2314]{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-b07f2314]{color:var(--esm-muted);font-size:11px}.discipline-records article>div[data-v-b07f2314]{min-width:0;display:grid;gap:3px}.discipline-records strong[data-v-b07f2314]{font-size:12px}.discipline-records p[data-v-b07f2314]{margin:0;color:var(--esm-muted);font-size:11px}.discipline-records article>span[data-v-b07f2314]{color:var(--esm-success);font-size:12px;font-weight:900}.discipline-records article>span.is-negative[data-v-b07f2314]{color:var(--esm-danger)}.discipline-empty[data-v-b07f2314]{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-2142fa07]{display:grid;gap:10px}.comment-label[data-v-2142fa07],label[data-v-2142fa07]{color:#344054;font-size:13px;font-weight:900}.quick-comments[data-v-2142fa07]{display:flex;flex-wrap:wrap;gap:8px}.quick-comments button[data-v-2142fa07]{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-2142fa07]{border-color:#a9c8fb;color:var(--esm-primary);background:#edf4ff}label[data-v-2142fa07]{position:relative;display:grid;gap:8px}textarea[data-v-2142fa07]{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-2142fa07]:focus{border-color:var(--esm-primary);box-shadow:0 0 0 3px #2563eb1a}label small[data-v-2142fa07]{position:absolute;right:10px;bottom:8px;color:#98a2b3;font-size:10px;font-weight:500}.score-selector[data-v-d46b0680]{min-width:0;margin:0;padding:0;border:0}legend[data-v-d46b0680]{margin-bottom:9px;color:#344054;font-size:13px;font-weight:900}.score-selector>div[data-v-d46b0680]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}button[data-v-d46b0680]{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-d46b0680]{border-color:var(--esm-primary);color:#fff;background:var(--esm-primary);box-shadow:0 7px 16px #2563eb2e}.attendance-confirmation-panel[data-v-f1d365fc]{display:grid;gap:13px;padding:15px;border:1px solid #cfe0f8;border-radius:12px;background:#fff}.panel-title[data-v-f1d365fc]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel-title>span[data-v-f1d365fc]{display:grid;gap:3px}.panel-title strong[data-v-f1d365fc]{color:#243248;font-size:15px}.panel-title small[data-v-f1d365fc]{color:var(--esm-muted);font-size:11px}.panel-title em[data-v-f1d365fc]{flex:0 0 auto;padding:4px 7px;border-radius:6px;color:#087f5b;background:#e7f8f1;font-size:10px;font-style:normal;font-weight:800}.status-options[data-v-f1d365fc]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.status-options button[data-v-f1d365fc]{min-height:42px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d8e1ed;border-radius:9px;color:#526078;background:#f7f9fc;font-weight:800}.status-options button.active[data-v-f1d365fc]{border-color:var(--esm-primary);color:var(--esm-primary);background:#edf5ff;box-shadow:inset 0 0 0 1px var(--esm-primary)}label[data-v-f1d365fc]{display:grid;gap:6px;color:#526078;font-size:11px;font-weight:800}input[data-v-f1d365fc]{width:100%;min-height:42px;box-sizing:border-box;border:1px solid #d8e1ed;border-radius:9px;padding:0 11px;color:var(--esm-text);background:#fff;font-size:13px}input[data-v-f1d365fc]:focus{border-color:var(--esm-primary);outline:3px solid rgba(37,99,235,.12)}.current-confirmation[data-v-f1d365fc],.confirmation-message[data-v-f1d365fc],.leave-locked[data-v-f1d365fc]{margin:0;color:#65758b;font-size:11px;line-height:1.6}.leave-locked[data-v-f1d365fc]{padding:11px;border-radius:9px;color:#76551d;background:#fff8e8}.confirmation-message[data-v-f1d365fc]{color:var(--esm-danger)}.confirmation-actions[data-v-f1d365fc]{display:flex;justify-content:flex-end;gap:8px}.confirmation-actions button[data-v-f1d365fc]{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:9px;padding:0 13px;font-weight:900}.restore-button[data-v-f1d365fc]{border:1px solid #c8d5e5;color:#526078;background:#fff}.confirm-button[data-v-f1d365fc]{border:1px solid var(--esm-primary);color:#fff;background:var(--esm-primary)}button[data-v-f1d365fc]:disabled{cursor:not-allowed;opacity:.55}@media(max-width:430px){.status-options button[data-v-f1d365fc]{min-height:46px;flex-direction:column;font-size:11px}.confirmation-actions[data-v-f1d365fc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.evaluation-drawer-layer[data-v-0e8ee18d]{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end}.evaluation-drawer-backdrop[data-v-0e8ee18d]{position:absolute;inset:0;border:0;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.evaluation-drawer[data-v-0e8ee18d]{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-0e8ee18d]{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-0e8ee18d]{min-width:0}header span[data-v-0e8ee18d]{color:var(--esm-primary);font-size:12px;font-weight:900}h2[data-v-0e8ee18d]{margin:5px 0 0;font-size:22px}header p[data-v-0e8ee18d]{margin:4px 0 0;color:var(--esm-muted);font-size:12px}.drawer-close[data-v-0e8ee18d]{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:10px;color:#526078;background:#f2f5f9}.evaluation-student-status[data-v-0e8ee18d]{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-0e8ee18d]{color:var(--esm-muted);font-size:11px}.evaluation-drawer-body[data-v-0e8ee18d]{min-height:0;display:grid;align-content:start;gap:20px;overflow-y:auto;padding:18px 20px 24px}.evaluation-form-section[data-v-0e8ee18d]{display:grid;gap:20px}.drawer-section-title[data-v-0e8ee18d]{display:grid;gap:3px}.drawer-section-title strong[data-v-0e8ee18d]{color:#243248;font-size:15px}.drawer-section-title span[data-v-0e8ee18d]{color:var(--esm-muted);font-size:11px}.evaluation-not-required[data-v-0e8ee18d]{display:grid;gap:5px;padding:14px;border:1px solid #dce4ee;border-radius:12px;background:#fff}.evaluation-readonly[data-v-0e8ee18d]{display:grid;gap:7px;padding:14px;border:1px solid #dbe7f8;border-radius:12px;color:var(--esm-muted);background:#fff;font-size:12px}.evaluation-readonly strong[data-v-0e8ee18d]{color:#243248;font-size:14px}.evaluation-not-required strong[data-v-0e8ee18d]{color:#526078;font-size:13px}.evaluation-not-required span[data-v-0e8ee18d]{color:var(--esm-muted);font-size:11px;line-height:1.6}.overall-result[data-v-0e8ee18d]{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-0e8ee18d]{display:grid;gap:6px}.overall-result span[data-v-0e8ee18d]{color:var(--esm-muted);font-size:11px}.overall-result strong[data-v-0e8ee18d]{font-size:22px}.overall-result small[data-v-0e8ee18d]{grid-column:1 / -1;color:#8a98ad;font-size:10px}.level-excellent[data-v-0e8ee18d]{color:var(--esm-success)}.level-good[data-v-0e8ee18d]{color:var(--esm-primary)}.level-normal[data-v-0e8ee18d]{color:var(--esm-warning)}.level-needs_improvement[data-v-0e8ee18d]{color:var(--esm-danger)}footer[data-v-0e8ee18d]{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-0e8ee18d]{min-height:48px;border-radius:11px;font-size:14px;font-weight:900}.save-draft-button[data-v-0e8ee18d]{border:1px solid #bfd3ef;color:var(--esm-primary);background:#eff6ff}.confirm-button[data-v-0e8ee18d]{border:1px solid var(--esm-primary);color:#fff;background:var(--esm-primary)}@media(max-width:620px){.evaluation-drawer-layer[data-v-0e8ee18d]{align-items:flex-end}.evaluation-drawer[data-v-0e8ee18d]{width:100%;height:90dvh;border-radius:18px 18px 0 0;box-shadow:0 -20px 50px #0f172a33}}.student-evaluation-card[data-v-16a442cd]{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-16a442cd]:hover{border-color:#b8cff4;box-shadow:0 10px 24px #2563eb1c;transform:translateY(-1px)}.student-evaluation-card[data-v-16a442cd]:focus-visible{border-color:var(--esm-primary);outline:3px solid rgba(37,99,235,.16);outline-offset:2px}.student-evaluation-card[data-v-16a442cd]:active{transform:translateY(1px)}.student-evaluation-card.is-read-only[data-v-16a442cd]{cursor:default}.student-card-head[data-v-16a442cd]{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 17px;align-items:center;gap:9px}.student-card-head>svg[data-v-16a442cd]{color:#a7b3c3}.student-avatar[data-v-16a442cd]{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-16a442cd]{min-width:0;display:grid;gap:3px}.student-identity strong[data-v-16a442cd],.student-identity small[data-v-16a442cd]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.student-identity strong[data-v-16a442cd]{font-size:14px}.student-identity small[data-v-16a442cd],.student-card-status small[data-v-16a442cd]{color:var(--esm-muted);font-size:10px}.student-card-status .manual-status[data-v-16a442cd]{margin-left:auto;color:#087f5b;font-weight:800}.student-seat[data-v-16a442cd]{min-width:0;display:flex;align-items:baseline;gap:6px;color:#55708f;font-size:11px}.student-seat span[data-v-16a442cd]{color:var(--esm-muted)}.student-seat strong[data-v-16a442cd]{color:var(--esm-primary);font-size:13px;letter-spacing:0}.student-card-status[data-v-16a442cd]{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-evaluation-state[data-v-16a442cd]{font-size:12px;font-weight:900}.student-evaluation-state.is-complete[data-v-16a442cd]{color:var(--esm-success)}.student-evaluation-state.is-pending[data-v-16a442cd]{color:var(--esm-warning)}.student-evaluation-state.is-attention[data-v-16a442cd]{color:var(--esm-danger)}.student-evaluation-state.is-muted[data-v-16a442cd]{color:#98a2b3}.student-evaluation-state.is-draft[data-v-16a442cd]{color:var(--esm-primary)}@media(max-width:430px){.student-evaluation-card[data-v-16a442cd]{min-height:148px;padding:11px}.student-card-head[data-v-16a442cd]{grid-template-columns:32px minmax(0,1fr);gap:8px}.student-avatar[data-v-16a442cd]{width:32px;height:32px}.student-card-head>svg[data-v-16a442cd]{display:none}.student-identity strong[data-v-16a442cd]{font-size:13px}.student-card-status[data-v-16a442cd]{min-width:0;align-items:flex-start;flex-direction:column;gap:4px}}.student-seating-summary[data-v-2c995062]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;padding:9px 11px;border:1px solid #d9e8ff;border-radius:10px;color:#315a93;background:#f5f9ff;font-size:11px}.student-seating-summary strong[data-v-2c995062]{font-size:12px}.student-seating-summary.is-warning[data-v-2c995062]{border-color:#f1d79c;color:#8e5a00;background:#fff9eb}.student-evaluation-grid[data-v-2c995062]{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-attendance-filter[data-v-2c995062]{flex-wrap:wrap;min-width:0;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:5px 7px 5px 9px;border:1px solid #dce5f2;border-radius:8px;background:#f8fafc}.student-attendance-filter label[data-v-2c995062]{min-width:0;display:flex;align-items:center;gap:7px;color:#60718a}.student-attendance-filter select[data-v-2c995062]{width:142px;max-width:100%;min-height:32px;border:1px solid #ccd8e8;border-radius:6px;padding:0 28px 0 9px;color:#243652;background:#fff;font:inherit;font-size:12px;font-weight:800}.student-attendance-filter select[data-v-2c995062]:focus-visible{outline:3px solid rgba(37,99,235,.16);outline-offset:1px}.student-attendance-filter small[data-v-2c995062]{flex:0 0 auto;color:var(--esm-muted);font-size:11px;white-space:nowrap}.student-grid-empty[data-v-2c995062]{min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;color:#91a0b5;text-align:center}.student-grid-empty strong[data-v-2c995062]{color:#526078;font-size:14px}.student-grid-empty span[data-v-2c995062]{font-size:12px}.student-grid-empty button[data-v-2c995062]{min-height:34px;border:1px solid #c9d8ed;border-radius:7px;padding:0 12px;color:var(--esm-primary);background:#fff;font-size:12px;font-weight:800;cursor:pointer}.student-grid-empty button[data-v-2c995062]:focus-visible{outline:3px solid rgba(37,99,235,.16);outline-offset:2px}@media(max-width:1023px){.student-evaluation-grid[data-v-2c995062]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.student-attendance-filter[data-v-2c995062]{gap:7px;margin-bottom:9px}.student-attendance-filter label[data-v-2c995062]{flex:1 1 auto}.student-attendance-filter select[data-v-2c995062]{width:100%}.student-evaluation-grid[data-v-2c995062]{gap:9px}}.teacher-duty-page[data-v-1593a3de]{position:relative;width:100%;min-width:0;display:grid;gap:14px;padding-bottom:18px}.teacher-preview-readonly-banner[data-v-1593a3de]{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #cfe0f8;border-radius:8px;color:#1d4ed8;background:#eff6ff;font-size:12px;font-weight:800}.teacher-mobile-command[data-v-1593a3de]{display:none}.teacher-session-switcher[data-v-1593a3de]{display:flex;gap:8px;min-width:0;overflow-x:auto;padding:2px}.teacher-session-switcher button[data-v-1593a3de]{flex:1 0 180px;min-height:58px;display:grid;gap:3px;align-content:center;border:1px solid #d9e3f2;border-radius:10px;background:#fff;color:#1f2f49;text-align:left;padding:10px 12px;cursor:pointer}.teacher-session-switcher button.active[data-v-1593a3de]{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.teacher-session-switcher strong[data-v-1593a3de],.teacher-session-switcher small[data-v-1593a3de]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-session-switcher small[data-v-1593a3de]{color:#64748b;font-size:12px}.teacher-overview-grid[data-v-1593a3de]{min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}.teacher-page-message[data-v-1593a3de]{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-1593a3de]{border-color:#bdebd9;color:#087a57;background:#effcf7}.teacher-page-message.is-error[data-v-1593a3de]{border-color:#fecaca;color:#b42318;background:#fff5f5}.teacher-roster-pending[data-v-1593a3de]{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid #f5cf82;border-radius:var(--esm-radius);color:#8a4b08;background:#fff8e8}.teacher-roster-pending svg[data-v-1593a3de]{flex:0 0 auto;margin-top:2px}.teacher-roster-pending div[data-v-1593a3de]{display:grid;gap:3px}.teacher-roster-pending span[data-v-1593a3de]{color:#9a641f;font-size:13px}.teacher-loading[data-v-1593a3de]{display:grid;gap:14px}.teacher-loading span[data-v-1593a3de]{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-1593a3de 1.3s ease-in-out infinite}.teacher-loading span[data-v-1593a3de]:nth-child(2){min-height:150px}.teacher-loading span[data-v-1593a3de]:nth-child(3){min-height:300px}.teacher-error[data-v-1593a3de]{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-1593a3de]{display:grid;gap:5px}.teacher-error strong[data-v-1593a3de]{font-size:15px}.teacher-error span[data-v-1593a3de]{color:#9f4a43;font-size:12px}.teacher-error button[data-v-1593a3de]{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-1593a3de]{border:1px solid #fecaca;color:#b42318;background:#fff}@keyframes teacher-loading-1593a3de{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:900px){.teacher-overview-grid[data-v-1593a3de]{grid-template-columns:1fr}}@media(max-width:620px){.teacher-mobile-command[data-v-1593a3de]{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-1593a3de]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-mobile-command__top>div[data-v-1593a3de]{min-width:0;display:flex;flex-direction:column;gap:3px}.teacher-mobile-command__top span[data-v-1593a3de],.teacher-mobile-command__top small[data-v-1593a3de]{color:#dbeafe;font-size:12px}.teacher-mobile-command__top strong[data-v-1593a3de]{font-size:20px}.teacher-mobile-command__top small[data-v-1593a3de]{display:flex;align-items:center;gap:4px}.teacher-mobile-command__top em[data-v-1593a3de]{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-1593a3de],.teacher-mobile-actions[data-v-1593a3de]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.teacher-mobile-metrics span[data-v-1593a3de]{display:grid;gap:2px;text-align:center;color:#dbeafe;font-size:11px}.teacher-mobile-metrics strong[data-v-1593a3de]{color:#fff;font-size:22px}.teacher-mobile-actions button[data-v-1593a3de]{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-1593a3de]:disabled{opacity:.68}.teacher-duty-page[data-v-1593a3de]{gap:12px;padding-bottom:8px}.teacher-duty-page.has-bulk-bar[data-v-1593a3de]{padding-bottom:96px}.teacher-error[data-v-1593a3de]{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.teacher-loading span[data-v-1593a3de]{animation:none}}.teacher-preview-page[data-v-c933c354]{min-width:0}.teacher-preview-toolbar[data-v-c933c354]{display:flex;align-items:flex-end;gap:12px;padding:14px;border:1px solid #dfe7f2;border-radius:8px;background:#fff}.teacher-preview-role-switch[data-v-c933c354]{display:flex;gap:6px;padding:4px;border:1px solid #dbe5f1;border-radius:7px;background:#f6f9fd}.teacher-preview-role-switch button[data-v-c933c354]{min-height:38px;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:5px;padding:0 12px;color:#64748b;background:transparent;font-size:13px;font-weight:800;cursor:pointer}.teacher-preview-role-switch button.active[data-v-c933c354]{border-color:#bfd5f8;color:#1d4ed8;background:#fff;box-shadow:0 2px 7px #27549114}.teacher-preview-select[data-v-c933c354]{min-width:min(360px,100%);display:grid;gap:5px;color:#526078;font-size:12px;font-weight:800}.teacher-preview-select select[data-v-c933c354]{min-height:40px;border:1px solid #d5dfeb;border-radius:6px;padding:0 11px;color:#172943;background:#fff;font:inherit}.teacher-preview-refresh[data-v-c933c354]{flex:0 0 auto}.teacher-preview-notice[data-v-c933c354]{min-height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #cfe0f8;border-radius:7px;color:#1d4ed8;background:#eff6ff}.teacher-preview-notice span[data-v-c933c354]{min-width:0}.teacher-preview-notice small[data-v-c933c354]{margin-left:auto;color:#5b79a7;font-size:11px}.teacher-preview-surface[data-v-c933c354]{min-width:0;padding-top:2px}@media(max-width:760px){.teacher-preview-toolbar[data-v-c933c354]{align-items:stretch;flex-direction:column}.teacher-preview-role-switch[data-v-c933c354]{width:100%}.teacher-preview-role-switch button[data-v-c933c354]{flex:1 1 0;justify-content:center}.teacher-preview-select[data-v-c933c354],.teacher-preview-refresh[data-v-c933c354]{width:100%}.teacher-preview-notice[data-v-c933c354]{align-items:flex-start;padding:11px 13px}.teacher-preview-notice small[data-v-c933c354]{display:none}}.duty-month-calendar[data-v-4430e1f6]{padding:20px;border:1px solid #e3eaf5;border-radius:10px;background:#fff;margin-bottom:16px;min-width:0}.duty-month-heading[data-v-4430e1f6],.duty-month-toolbar[data-v-4430e1f6],.duty-month-switch[data-v-4430e1f6]{display:flex;align-items:center;justify-content:space-between;gap:12px}.duty-month-heading h2[data-v-4430e1f6]{margin:0;font-size:18px;color:#1c2941}.duty-month-heading p[data-v-4430e1f6]{margin:6px 0;color:#71809a;font-size:13px}.duty-month-heading>span[data-v-4430e1f6]{font-size:13px;color:#4c67ff;white-space:nowrap}.duty-month-toolbar[data-v-4430e1f6]{margin:18px 0}.duty-month-switch h3[data-v-4430e1f6]{margin:0;min-width:115px;text-align:center;font-size:18px}.duty-month-calendar button[data-v-4430e1f6]{font:inherit;cursor:pointer;border:1px solid #dce5f2;border-radius:7px;background:#fff;color:#4059dc;padding:8px 12px;min-height:36px}.duty-month-calendar button[data-v-4430e1f6]:focus-visible{outline:3px solid #9abafa;outline-offset:2px}.duty-month-switch button[data-v-4430e1f6]{display:flex;padding:8px}.duty-month-calendar button[data-v-4430e1f6]:disabled{cursor:default}.duty-month-grid[data-v-4430e1f6]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e3eaf5;border-left:1px solid #e3eaf5}.duty-month-weekday[data-v-4430e1f6]{padding:10px 4px;text-align:center;color:#64748b;background:#f7f9fd;font-size:12px;border-right:1px solid #e3eaf5;border-bottom:1px solid #e3eaf5}.duty-month-day[data-v-4430e1f6]{min-height:140px;padding:7px;border-right:1px solid #e3eaf5;border-bottom:1px solid #e3eaf5;min-width:0}.duty-month-day.is-outside[data-v-4430e1f6]{background:#fafbfd;color:#b7c1d0}.duty-month-day.is-selected[data-v-4430e1f6]{background:#f3f7ff;box-shadow:inset 0 0 0 2px #708bfa}.duty-month-calendar .duty-month-date[data-v-4430e1f6]{width:100%;padding:2px 5px;border:0;background:transparent;display:flex;gap:5px;align-items:center;color:#34425a;text-align:left}.is-outside .duty-month-date[data-v-4430e1f6]{color:#b7c1d0}.is-today .duty-month-date>span[data-v-4430e1f6]{background:#4965ee;color:#fff;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.duty-month-date small[data-v-4430e1f6]{font-size:10px;color:#4965ee}.duty-month-mobile-count[data-v-4430e1f6]{display:none}.duty-month-events[data-v-4430e1f6]{display:grid;gap:5px;margin-top:4px}.duty-month-calendar .duty-month-event[data-v-4430e1f6]{width:100%;padding:7px;text-align:left;display:grid;gap:3px;border:0;border-left:3px solid #7293fa;border-radius:5px;background:#edf3ff;color:#365080;font-size:11px;line-height:1.5}.duty-month-event strong[data-v-4430e1f6],.duty-month-event span[data-v-4430e1f6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duty-month-calendar .duty-month-event.is-unassigned[data-v-4430e1f6]{border-left-color:#d7a139;background:#fff7e6;color:#916624}.duty-month-calendar .duty-month-event.is-cancelled[data-v-4430e1f6]{background:#f1f3f6;border-left-color:#b2bdcb;color:#8994a6}.duty-month-calendar .duty-month-more[data-v-4430e1f6]{border:0;padding:4px;font-size:11px;background:transparent}.duty-month-detail[data-v-4430e1f6]{margin-top:18px}.duty-month-detail h3[data-v-4430e1f6]{font-size:15px;margin:0 0 10px}.duty-month-detail h3 small[data-v-4430e1f6]{font-weight:400;color:#71809a;margin-left:8px}.duty-month-detail p[data-v-4430e1f6]{color:#71809a;font-size:13px}.duty-month-detail-row[data-v-4430e1f6]{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,auto) auto;gap:15px;align-items:center;padding:12px 0;border-top:1px solid #edf1f7;font-size:13px}.duty-month-detail-row>div small[data-v-4430e1f6]{display:block;color:#71809a;margin-top:5px}.duty-month-detail-row>small[data-v-4430e1f6]{color:#8994a6}.duty-month-error[data-v-4430e1f6]{padding:12px;color:#ad3434}@media(max-width:760px){.duty-month-calendar[data-v-4430e1f6]{padding:12px}.duty-month-heading[data-v-4430e1f6]{align-items:flex-start;flex-direction:column;gap:4px}.duty-month-day[data-v-4430e1f6]{min-height:72px;padding:3px}.duty-month-events[data-v-4430e1f6]{display:none}.duty-month-calendar .duty-month-date[data-v-4430e1f6]{min-height:62px;flex-direction:column;justify-content:center;padding:2px;gap:2px;font-size:13px}.duty-month-date small[data-v-4430e1f6]{display:none}.duty-month-mobile-count[data-v-4430e1f6]{display:block;font-size:10px;font-style:normal;color:#5a76bf}.duty-month-detail-row[data-v-4430e1f6]{grid-template-columns:minmax(0,1fr) auto;gap:8px}.duty-month-detail-row>div[data-v-4430e1f6]{grid-column:1/-1}.duty-month-detail-row>button[data-v-4430e1f6]{justify-self:end}.duty-month-switch h3[data-v-4430e1f6]{font-size:16px;min-width:96px}}.scope-adjustment-backdrop[data-v-72ec1cd0]{position:fixed;inset:0;z-index:1320;display:grid;place-items:center;padding:20px;background:#141f3375}.scope-adjustment-dialog[data-v-72ec1cd0]{width:min(1080px,100%);max-height:calc(100dvh - 40px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #dfe6f0;border-radius:8px;color:#26334b;background:#fff;box-shadow:0 22px 60px #12264838;font-family:Microsoft YaHei,Segoe UI,system-ui,sans-serif;font-size:13px}.scope-adjustment-header[data-v-72ec1cd0]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid #e8edf4}.scope-adjustment-header>div[data-v-72ec1cd0]{min-width:0}.scope-adjustment-header h2[data-v-72ec1cd0]{margin:0;color:#15213a;font-size:19px;letter-spacing:0}.scope-adjustment-header p[data-v-72ec1cd0]{margin:5px 0 0;color:#63728a;font-size:12px;line-height:1.55}.scope-adjustment-header>button[data-v-72ec1cd0],.icon-button[data-v-72ec1cd0]{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #d6deea;border-radius:6px;color:#536075;background:#fff;cursor:pointer}.scope-adjustment-tabs[data-v-72ec1cd0]{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid #e4eaf2}.scope-adjustment-tabs button[data-v-72ec1cd0]{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:0;border-bottom:3px solid transparent;color:#687895;background:transparent;font:inherit;font-weight:700;cursor:pointer}.scope-adjustment-tabs button.active[data-v-72ec1cd0]{border-bottom-color:#1769ed;color:#1769ed}.scope-adjustment-body[data-v-72ec1cd0],.scope-history-body[data-v-72ec1cd0]{min-height:0;overflow-y:auto;padding:16px 20px}.scope-adjustment-columns[data-v-72ec1cd0]{display:grid;grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr);gap:16px}.scope-adjustment-form[data-v-72ec1cd0],.scope-form-grid[data-v-72ec1cd0]{display:grid;gap:13px}.scope-form-grid[data-v-72ec1cd0]{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-form-grid>label[data-v-72ec1cd0],.undo-panel label[data-v-72ec1cd0]{min-width:0;display:grid;gap:6px;color:#465672;font-weight:700}.scope-form-grid>.full[data-v-72ec1cd0],.scope-fieldset.full[data-v-72ec1cd0]{grid-column:1 / -1}.scope-form-grid input[data-v-72ec1cd0],.scope-form-grid select[data-v-72ec1cd0],.scope-form-grid textarea[data-v-72ec1cd0],.undo-panel input[data-v-72ec1cd0]{width:100%;box-sizing:border-box;border:1px solid #cfdaea;border-radius:7px;color:#1c2941;background:#fff;font:inherit}.scope-form-grid input[data-v-72ec1cd0],.scope-form-grid select[data-v-72ec1cd0],.undo-panel input[data-v-72ec1cd0]{height:40px;padding:0 11px}.scope-form-grid textarea[data-v-72ec1cd0]{min-height:74px;padding:9px 11px;resize:vertical}.scope-form-grid textarea[data-v-72ec1cd0]::placeholder,.undo-panel input[data-v-72ec1cd0]::placeholder{color:#65738a;opacity:1}.scope-form-grid label>small[data-v-72ec1cd0]{color:#65738a;font-size:11px;font-weight:400;line-height:1.45}.scope-fieldset[data-v-72ec1cd0]{min-width:0;margin:0;padding:0;border:0}.scope-fieldset legend[data-v-72ec1cd0]{margin-bottom:8px;color:#465672;font-weight:700}.scope-fieldset.compact[data-v-72ec1cd0]{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px}.scope-fieldset.compact legend[data-v-72ec1cd0]{margin:0}.action-fieldset[data-v-72ec1cd0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.action-fieldset legend[data-v-72ec1cd0]{grid-column:1 / -1}.action-option[data-v-72ec1cd0]{min-width:0;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #dce4ef;border-radius:7px;color:#34445e;background:#fbfcfe;cursor:pointer}.action-option.active[data-v-72ec1cd0]{border-color:#72a7f8;background:#edf4ff}.action-option input[data-v-72ec1cd0]{margin:2px 0 0;accent-color:#1769ed}.action-option span[data-v-72ec1cd0]{min-width:0;display:grid;gap:3px}.action-option strong[data-v-72ec1cd0]{color:#26334b;font-size:12px}.action-option small[data-v-72ec1cd0]{color:#65738a;font-size:10px;font-weight:400;line-height:1.4}.date-mode-options[data-v-72ec1cd0],.weekday-options[data-v-72ec1cd0]{display:flex;flex-wrap:wrap;gap:7px}.date-mode-options button[data-v-72ec1cd0],.weekday-options button[data-v-72ec1cd0]{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 10px;border:1px solid #d0daea;border-radius:6px;color:#53627c;background:#fff;font:inherit;cursor:pointer}.date-mode-options button.active[data-v-72ec1cd0],.weekday-options button.active[data-v-72ec1cd0]{border-color:#1769ed;color:#1769ed;background:#edf4ff;font-weight:700}.field-help[data-v-72ec1cd0]{margin:-3px 0 8px;color:#65738a;font-size:11px;line-height:1.5}.field-error[data-v-72ec1cd0]{margin:8px 0 0;color:#b42335;font-size:11px;font-weight:700}.scope-tree[data-v-72ec1cd0]{max-height:230px;overflow-y:auto;border:1px solid #dfe6f0;border-radius:7px}.scope-grade+.scope-grade[data-v-72ec1cd0]{border-top:1px solid #edf1f6}.scope-grade-row[data-v-72ec1cd0]{min-height:38px;display:flex;align-items:center;gap:3px;padding:0 10px 0 5px;background:#fbfcfe}.scope-expand[data-v-72ec1cd0]{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:6px;color:#53647e;background:transparent;cursor:pointer}.scope-grade-row label[data-v-72ec1cd0],.scope-classes label[data-v-72ec1cd0]{min-width:0;display:flex;align-items:center;gap:7px;color:#34445e;cursor:pointer}.scope-grade-row label[data-v-72ec1cd0]{flex:1}.scope-grade-row input[data-v-72ec1cd0],.scope-classes input[data-v-72ec1cd0],.history-day input[data-v-72ec1cd0]{width:15px;height:15px;accent-color:#1769ed}.scope-grade-row small[data-v-72ec1cd0]{margin-left:auto;color:#65738a;font-size:10px;font-weight:400}.scope-classes[data-v-72ec1cd0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;padding:7px 12px 9px 43px}.scope-classes label[data-v-72ec1cd0]{min-height:30px;font-size:12px}.scope-empty-inline[data-v-72ec1cd0]{grid-column:1 / -1;margin:8px;color:#65738a;font-size:11px;font-weight:400}.scope-preview[data-v-72ec1cd0]{min-width:0;align-self:start;overflow:hidden;border:1px solid #dfe6f0;border-radius:8px;background:#fff}.scope-preview>header[data-v-72ec1cd0]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #e8edf4;background:#fbfcfe}.scope-preview h3[data-v-72ec1cd0]{margin:0;color:#26334b;font-size:14px}.scope-preview header p[data-v-72ec1cd0]{margin:4px 0 0;color:#65738a;font-size:11px;line-height:1.5}.preview-loading[data-v-72ec1cd0],.history-loading[data-v-72ec1cd0]{display:grid;gap:9px;padding:14px}.scope-adjustment-skeleton[data-v-72ec1cd0]{display:grid;gap:8px;padding:12px;border:1px solid #e7ecf3;border-radius:7px}.scope-adjustment-skeleton span[data-v-72ec1cd0]{height:11px;border-radius:6px;background:#edf1f6}.scope-adjustment-skeleton span[data-v-72ec1cd0]:nth-child(2){width:72%}.scope-adjustment-skeleton span[data-v-72ec1cd0]:nth-child(3){width:46%}.preview-metrics[data-v-72ec1cd0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e8edf4}.preview-metrics>div[data-v-72ec1cd0]{display:grid;gap:4px;padding:10px 12px;border-right:1px solid #e8edf4}.preview-metrics>div[data-v-72ec1cd0]:last-child{border-right:0}.preview-metrics small[data-v-72ec1cd0]{color:#65738a;font-size:10px}.preview-metrics strong[data-v-72ec1cd0]{color:#26334b;font-size:20px;line-height:1}.preview-metrics [data-tone=success] strong[data-v-72ec1cd0]{color:#08785a}.preview-metrics [data-tone=warning] strong[data-v-72ec1cd0]{color:#9a6200}.preview-metrics [data-tone=danger] strong[data-v-72ec1cd0]{color:#b42335}.preview-list[data-v-72ec1cd0]{max-height:475px;overflow-y:auto}.preview-row[data-v-72ec1cd0]{padding:12px 14px;border-bottom:1px solid #edf1f6}.preview-row[data-v-72ec1cd0]:last-child{border-bottom:0}.preview-row[data-tone=danger][data-v-72ec1cd0]{background:#fff7f7}.preview-row-heading[data-v-72ec1cd0]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.preview-row-heading>div[data-v-72ec1cd0]{min-width:0;display:grid;gap:3px}.preview-row-heading strong[data-v-72ec1cd0]{color:#26334b}.preview-row-heading span[data-v-72ec1cd0]:not(.status-badge){color:#63728a;font-size:11px;overflow-wrap:anywhere}.status-badge[data-v-72ec1cd0]{flex:0 0 auto;padding:4px 7px;border-radius:5px;color:#536075;background:#f0f2f5;font-size:10px;font-weight:800}.status-badge[data-tone=success][data-v-72ec1cd0]{color:#08785a;background:#e9f7f1}.status-badge[data-tone=warning][data-v-72ec1cd0]{color:#8b5a00;background:#fff5dc}.status-badge[data-tone=danger][data-v-72ec1cd0]{color:#b42335;background:#fff0f1}.preview-row dl[data-v-72ec1cd0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:10px 0 0}.preview-row dl>div[data-v-72ec1cd0]{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);gap:6px}.preview-row dt[data-v-72ec1cd0]{color:#65738a;font-size:10px}.preview-row dd[data-v-72ec1cd0]{margin:0;color:#44516a;font-size:11px;overflow-wrap:anywhere}.preview-row>p[data-v-72ec1cd0]{margin:9px 0 0;color:#63728a;font-size:11px;line-height:1.5}.preview-decision[data-v-72ec1cd0]{display:flex;align-items:flex-start;gap:7px;margin:0;padding:10px 13px;border-top:1px solid;font-size:11px;line-height:1.5}.preview-decision.danger[data-v-72ec1cd0]{border-color:#f1c0c6;color:#a52234;background:#fff2f3}.preview-decision.warning[data-v-72ec1cd0]{border-color:#efd69f;color:#78510a;background:#fff8e8}.preview-empty[data-v-72ec1cd0],.history-empty[data-v-72ec1cd0]{min-height:260px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;color:#1769ed;text-align:center}.preview-empty strong[data-v-72ec1cd0],.history-empty strong[data-v-72ec1cd0]{color:#34445e;font-size:13px}.preview-empty span[data-v-72ec1cd0],.history-empty span[data-v-72ec1cd0]{max-width:360px;color:#65738a;font-size:11px;line-height:1.55}.scope-adjustment-alert[data-v-72ec1cd0]{display:flex;align-items:flex-start;gap:7px;margin:0 0 12px;padding:9px 11px;border:1px solid;border-radius:6px;font-size:12px;line-height:1.5}.scope-adjustment-alert svg[data-v-72ec1cd0]{flex:0 0 auto;margin-top:1px}.scope-adjustment-alert.danger[data-v-72ec1cd0]{border-color:#f1c0c6;color:#a52234;background:#fff2f3}.scope-adjustment-alert.success[data-v-72ec1cd0]{border-color:#b9e6d7;color:#08785a;background:#edf9f5}.history-toolbar[data-v-72ec1cd0]{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.history-toolbar>div[data-v-72ec1cd0]{min-width:0;display:grid;gap:4px}.history-toolbar strong[data-v-72ec1cd0]{color:#26334b;font-size:14px}.history-toolbar span[data-v-72ec1cd0]{color:#65738a;font-size:11px}.history-list[data-v-72ec1cd0]{display:grid;gap:8px}.history-batch[data-v-72ec1cd0]{overflow:hidden;border:1px solid #dfe6f0;border-radius:7px}.history-batch-heading[data-v-72ec1cd0]{width:100%;min-height:54px;display:grid;grid-template-columns:28px minmax(150px,.8fr) minmax(135px,.7fr) minmax(180px,1.5fr);align-items:center;gap:10px;padding:8px 12px;border:0;color:#34445e;background:#fbfcfe;text-align:left;cursor:pointer}.history-batch-heading>span[data-v-72ec1cd0]:not(.history-chevron){min-width:0;display:grid;gap:3px}.history-batch-heading strong[data-v-72ec1cd0]{font-size:12px}.history-batch-heading small[data-v-72ec1cd0]{color:#65738a;font-size:10px;font-weight:400}.history-chevron[data-v-72ec1cd0]{display:grid;place-items:center;color:#53647e}.history-reason[data-v-72ec1cd0]{color:#536075;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.history-days[data-v-72ec1cd0]{border-top:1px solid #e8edf4}.history-day[data-v-72ec1cd0]{min-height:48px;display:grid;grid-template-columns:20px minmax(170px,1fr) minmax(150px,.7fr) auto;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid #edf1f6;cursor:pointer}.history-day[data-v-72ec1cd0]:last-child{border-bottom:0}.history-day>span[data-v-72ec1cd0]:not(.status-badge){min-width:0;display:grid;gap:3px}.history-day strong[data-v-72ec1cd0]{color:#34445e;font-size:11px}.history-day small[data-v-72ec1cd0]{display:flex;align-items:center;gap:4px;color:#65738a;font-size:10px}.history-day .undo-blocked-reason[data-v-72ec1cd0]{color:#a52234}.history-day.disabled[data-v-72ec1cd0]{cursor:not-allowed;opacity:.62}.undo-panel[data-v-72ec1cd0]{display:grid;grid-template-columns:minmax(230px,1fr) minmax(260px,1.2fr) auto;align-items:end;gap:12px;margin-top:12px;padding:12px;border:1px solid #dfe6f0;border-radius:7px;background:#fbfcfe}.undo-panel>div[data-v-72ec1cd0]{display:grid;gap:4px;align-self:center}.undo-panel>div span[data-v-72ec1cd0]{color:#65738a;font-size:10px;line-height:1.45}.undo-panel label>span[data-v-72ec1cd0]{font-size:11px}.scope-adjustment-footer[data-v-72ec1cd0]{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:11px 20px;border-top:1px solid #e8edf4;background:#fff}.scope-adjustment-footer>span[data-v-72ec1cd0]{min-width:0;margin-right:auto;color:#65738a;font-size:10px;line-height:1.45}.primary-button[data-v-72ec1cd0],.secondary-button[data-v-72ec1cd0],.danger-button[data-v-72ec1cd0]{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border:1px solid;border-radius:7px;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.primary-button[data-v-72ec1cd0]{border-color:#1769ed;color:#fff;background:#1769ed}.secondary-button[data-v-72ec1cd0]{border-color:#d2dce9;color:#34445e;background:#fff}.danger-button[data-v-72ec1cd0]{border-color:#bd2939;color:#fff;background:#bd2939}button[data-v-72ec1cd0]:disabled,fieldset[data-v-72ec1cd0]:disabled{cursor:not-allowed;opacity:.52}button[data-v-72ec1cd0]:not(:disabled):active{transform:translateY(1px)}button[data-v-72ec1cd0]:not(:disabled):hover{border-color:#8fb8f7}button[data-v-72ec1cd0]:focus-visible,input[data-v-72ec1cd0]:focus-visible,select[data-v-72ec1cd0]:focus-visible,textarea[data-v-72ec1cd0]:focus-visible{outline:2px solid #1769ed;outline-offset:2px}@media(max-width:900px){.scope-adjustment-columns[data-v-72ec1cd0]{grid-template-columns:minmax(0,1fr)}.scope-preview[data-v-72ec1cd0]{align-self:stretch}.preview-list[data-v-72ec1cd0]{max-height:420px}}@media(max-width:720px){.scope-adjustment-backdrop[data-v-72ec1cd0]{padding:0}.scope-adjustment-dialog[data-v-72ec1cd0]{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.scope-adjustment-header[data-v-72ec1cd0]{padding:14px}.scope-adjustment-header h2[data-v-72ec1cd0]{font-size:17px}.scope-adjustment-tabs[data-v-72ec1cd0]{padding:0 14px}.scope-adjustment-tabs button[data-v-72ec1cd0]{flex:1;justify-content:center}.scope-adjustment-body[data-v-72ec1cd0],.scope-history-body[data-v-72ec1cd0]{padding:12px 14px}.scope-form-grid[data-v-72ec1cd0],.action-fieldset[data-v-72ec1cd0],.scope-classes[data-v-72ec1cd0],.preview-row dl[data-v-72ec1cd0]{grid-template-columns:minmax(0,1fr)}.scope-form-grid>.full[data-v-72ec1cd0],.scope-fieldset.full[data-v-72ec1cd0]{grid-column:auto}.scope-fieldset.compact[data-v-72ec1cd0]{grid-template-columns:minmax(0,1fr)}.action-option[data-v-72ec1cd0]{min-height:50px}.scope-classes[data-v-72ec1cd0]{padding-left:43px}.history-toolbar[data-v-72ec1cd0]{align-items:stretch;flex-direction:column}.history-toolbar .secondary-button[data-v-72ec1cd0]{align-self:flex-start}.history-batch-heading[data-v-72ec1cd0]{grid-template-columns:28px minmax(0,1fr) auto}.history-batch-heading .history-reason[data-v-72ec1cd0]{grid-column:2 / -1}.history-day[data-v-72ec1cd0]{grid-template-columns:20px minmax(0,1fr) auto}.history-day>span[data-v-72ec1cd0]:nth-of-type(2){grid-column:2 / -1}.undo-panel[data-v-72ec1cd0]{grid-template-columns:minmax(0,1fr);align-items:stretch}.scope-adjustment-footer[data-v-72ec1cd0]{flex-wrap:wrap;padding:10px 14px}.scope-adjustment-footer>span[data-v-72ec1cd0]{width:100%;flex-basis:100%}.scope-adjustment-footer button[data-v-72ec1cd0]{flex:1;padding:0 9px}}@media(prefers-reduced-motion:reduce){.scope-adjustment-dialog[data-v-72ec1cd0] *,.scope-adjustment-dialog[data-v-72ec1cd0] *:before,.scope-adjustment-dialog[data-v-72ec1cd0] *:after{scroll-behavior:auto!important;transition:none!important}}.session-management-page[data-v-39ce6a9f]{display:grid;gap:16px;color:#17233d}.session-page-header[data-v-39ce6a9f],.session-tool-band[data-v-39ce6a9f],.classroom-toolbar[data-v-39ce6a9f]{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-39ce6a9f],.session-header-actions[data-v-39ce6a9f],.session-date-filter[data-v-39ce6a9f],.with-icon[data-v-39ce6a9f]{display:flex;align-items:center;gap:12px}.session-title-icon[data-v-39ce6a9f]{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:#edf4ff;color:#1468f3}.session-title-group h1[data-v-39ce6a9f],.classroom-toolbar h2[data-v-39ce6a9f],.session-section-title h2[data-v-39ce6a9f]{font-size:22px;margin:0;letter-spacing:0}.session-title-group p[data-v-39ce6a9f],.classroom-toolbar p[data-v-39ce6a9f],.session-section-title p[data-v-39ce6a9f]{margin:4px 0 0;color:#70809c;font-size:14px}.session-button[data-v-39ce6a9f],.session-icon-button[data-v-39ce6a9f]{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-39ce6a9f],.session-icon-button[data-v-39ce6a9f]{background:#fff;color:#31415d;border-color:#d6e0ee}.session-icon-button[data-v-39ce6a9f]{width:42px;padding:0}.session-button[data-v-39ce6a9f]:disabled{opacity:.48;cursor:not-allowed}.session-message[data-v-39ce6a9f]{display:flex;align-items:center;gap:8px;border-radius:7px;padding:12px 16px;font-weight:600}.session-message.success[data-v-39ce6a9f]{background:#edf9f4;color:#087a55;border:1px solid #bfead9}.session-message.error[data-v-39ce6a9f]{background:#fff1f2;color:#c92d42;border:1px solid #ffc8cf}.session-tabs[data-v-39ce6a9f]{display:flex;gap:4px;border-bottom:1px solid #dbe4f0}.session-tabs button[data-v-39ce6a9f]{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-39ce6a9f]{color:#1769ed;border-bottom-color:#1769ed}.session-state[data-v-39ce6a9f],.session-empty[data-v-39ce6a9f]{display:grid;place-items:center;gap:8px;min-height:240px;background:#fff;border:1px solid #dce5f2;border-radius:8px;color:#7888a3}.spin[data-v-39ce6a9f]{animation:spin-39ce6a9f 1s linear infinite}.session-metrics[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #dce5f2;border-radius:8px}.session-metrics div[data-v-39ce6a9f]{display:grid;gap:4px;padding:18px 22px;border-right:1px solid #e4ebf4}.session-metrics div[data-v-39ce6a9f]:last-child{border-right:0}.session-metrics small[data-v-39ce6a9f],.session-metrics span[data-v-39ce6a9f]{color:#7c8ba4}.session-metrics strong[data-v-39ce6a9f]{font-size:30px}.session-date-filter label[data-v-39ce6a9f]{display:grid;gap:5px;color:#5c6c87;font-size:13px}.session-date-filter input[data-v-39ce6a9f],.session-dialog input[data-v-39ce6a9f],.session-dialog select[data-v-39ce6a9f]{height:42px;border:1px solid #cfdaea;border-radius:7px;background:#fff;color:#1c2941;padding:0 12px;font:inherit}.session-table-section[data-v-39ce6a9f]{background:#fff;border:1px solid #dce5f2;border-radius:8px;overflow:hidden}.session-section-title[data-v-39ce6a9f]{padding:18px 22px;border-bottom:1px solid #e2e9f2}.session-table-wrap[data-v-39ce6a9f]{overflow:auto}.session-table-wrap table[data-v-39ce6a9f]{width:100%;border-collapse:collapse;min-width:1100px}.session-table-wrap th[data-v-39ce6a9f],.session-table-wrap td[data-v-39ce6a9f]{padding:14px 16px;border-bottom:1px solid #e8edf4;text-align:left;font-size:14px}.session-table-wrap th[data-v-39ce6a9f]{background:#f7f9fc;color:#53637e}.session-table-wrap td strong[data-v-39ce6a9f],.session-table-wrap td small[data-v-39ce6a9f]{display:block}.session-table-wrap td small[data-v-39ce6a9f]{margin-top:4px;color:#8190a7}.duty-teacher-cell[data-v-39ce6a9f]{min-width:132px;max-width:220px}.duty-teacher-cell strong[data-v-39ce6a9f]{overflow-wrap:anywhere}.session-status[data-v-39ce6a9f]{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-39ce6a9f],.session-status[data-status=inactive][data-v-39ce6a9f]{background:#f1f3f6;color:#778398}.session-text-button[data-v-39ce6a9f]{border:0;background:transparent;color:#1769ed;font-weight:700;cursor:pointer}.session-text-button.danger[data-v-39ce6a9f]{color:#c93345}.classroom-grid[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.classroom-item[data-v-39ce6a9f]{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-39ce6a9f]{opacity:.72}.classroom-item-icon[data-v-39ce6a9f]{display:grid;place-items:center;width:42px;height:42px;border-radius:7px;background:#eef4ff;color:#1769ed}.classroom-item-body span[data-v-39ce6a9f]{color:#74839c;font-size:12px}.classroom-item-body h3[data-v-39ce6a9f]{font-size:17px;margin:3px 0 10px}.classroom-item-body p[data-v-39ce6a9f]{display:flex;align-items:center;gap:6px;margin:5px 0;color:#657590;font-size:13px}.classroom-item-action[data-v-39ce6a9f]{display:grid;justify-items:end;gap:10px}.session-empty.wide[data-v-39ce6a9f]{grid-column:1/-1}.session-dialog-backdrop[data-v-39ce6a9f]{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#1622396b}.session-dialog[data-v-39ce6a9f]{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-39ce6a9f]{width:min(820px,100%)}.session-dialog header[data-v-39ce6a9f],.session-dialog footer[data-v-39ce6a9f]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #e3e9f2}.session-dialog footer[data-v-39ce6a9f]{justify-content:flex-end;border-top:1px solid #e3e9f2;border-bottom:0}.session-dialog header h2[data-v-39ce6a9f]{font-size:21px;margin:0}.session-dialog header p[data-v-39ce6a9f]{margin:5px 0 0;color:#71809a}.session-dialog header>button[data-v-39ce6a9f]{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-39ce6a9f]{padding:22px 24px}.session-dialog-form.two-columns[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.session-dialog-form label[data-v-39ce6a9f]{display:grid;gap:7px;font-weight:700;color:#465672}.session-dialog-form label.full[data-v-39ce6a9f],.session-dialog-form fieldset.full[data-v-39ce6a9f]{grid-column:1/-1}.session-dialog-form fieldset[data-v-39ce6a9f]{border:0;padding:0;margin:0}.session-dialog-form legend[data-v-39ce6a9f]{margin-bottom:8px;font-weight:700;color:#465672}.weekday-options[data-v-39ce6a9f]{display:flex;flex-wrap:wrap;gap:8px}.weekday-options button[data-v-39ce6a9f]{height:38px;border:1px solid #d0daea;border-radius:7px;background:#fff;color:#53627c;padding:0 14px;cursor:pointer}.weekday-options button.active[data-v-39ce6a9f]{border-color:#1769ed;background:#edf4ff;color:#1769ed;font-weight:700}@keyframes spin-39ce6a9f{to{transform:rotate(360deg)}}.session-section-title[data-v-39ce6a9f]{display:flex;align-items:center;justify-content:space-between;gap:16px}.session-cancelled-toggle[data-v-39ce6a9f]{flex:0 0 auto}.session-table-wrap table[data-v-39ce6a9f]{min-width:1320px}.session-scope-cell[data-v-39ce6a9f]{min-width:210px;max-width:310px}.session-scope-chips[data-v-39ce6a9f],.session-adjustment-labels[data-v-39ce6a9f]{display:flex;flex-wrap:wrap;gap:5px}.session-scope-chip[data-v-39ce6a9f],.session-adjustment-chip[data-v-39ce6a9f]{display:inline-flex;align-items:center;min-height:25px;border-radius:5px;padding:3px 8px;font-size:12px;font-weight:700}.session-scope-chip[data-v-39ce6a9f]{background:#edf4ff;color:#245da8}.session-adjustment-labels[data-v-39ce6a9f]{margin-top:7px}.session-adjustment-chip[data-v-39ce6a9f]{background:#fff4dc;color:#956006}.session-tabs[data-v-39ce6a9f]{overflow-x:auto}.session-tabs button[data-v-39ce6a9f]{white-space:nowrap}.session-table-wrap table.assignment-table[data-v-39ce6a9f]{min-width:820px}.assignment-summary[data-v-39ce6a9f]{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #dce5f2;border-radius:8px;padding:18px 22px}.assignment-summary div[data-v-39ce6a9f]{display:flex;align-items:baseline;gap:8px}.assignment-summary strong[data-v-39ce6a9f]{font-size:28px}.assignment-summary small[data-v-39ce6a9f],.assignment-summary span[data-v-39ce6a9f]{color:#77869e}.assignment-summary p[data-v-39ce6a9f]{display:flex;align-items:center;gap:8px;margin:0;color:#52627c}.duty-control-section[data-v-39ce6a9f]{background:#fff;border:1px solid #dce5f2;border-radius:8px;padding:18px 22px}.duty-control-heading[data-v-39ce6a9f]{display:flex;align-items:center;justify-content:space-between;gap:16px}.duty-control-heading h2[data-v-39ce6a9f]{font-size:18px;margin:0}.duty-control-heading p[data-v-39ce6a9f]{margin:5px 0 0;color:#71809a;font-size:13px}.duty-control-count[data-v-39ce6a9f]{color:#1769ed;font-weight:700}.duty-session-list[data-v-39ce6a9f]{display:grid;gap:8px;margin-top:15px;max-height:260px;overflow:auto}.duty-session-item[data-v-39ce6a9f]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #e1e8f2;border-radius:7px}.duty-session-item small[data-v-39ce6a9f]{display:block;margin-top:4px;color:#7b8ba5}.duty-session-current[data-v-39ce6a9f]{display:flex;align-items:center;gap:12px;color:#52627c;white-space:nowrap}.duty-session-current button[data-v-39ce6a9f]{display:inline-flex;align-items:center;gap:5px}.duty-control-empty[data-v-39ce6a9f]{color:#8090a8;padding:12px 0}.duty-auto-summary[data-v-39ce6a9f]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border:1px solid #dce5f2;border-radius:7px;color:#71809a}.duty-auto-summary strong[data-v-39ce6a9f]{color:#1769ed;font-size:20px}.duty-grade-group-picker[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.duty-grade-group-option[data-v-39ce6a9f]{display:flex!important;align-items:center!important;grid-template-columns:none!important;gap:8px!important;min-height:42px;padding:9px 11px;border:1px solid #dce5f2;border-radius:7px;background:#fbfcfe;font-weight:700!important;cursor:pointer}.duty-grade-group-option[data-state=all][data-v-39ce6a9f]{border-color:#1769ed;background:#edf4ff;color:#1769ed}.duty-grade-group-option[data-state=partial][data-v-39ce6a9f]{border-color:#8db8fa;background:#f5f9ff}.duty-grade-group-option input[data-v-39ce6a9f]{width:16px;height:16px}.duty-grade-group-option small[data-v-39ce6a9f]{margin-left:auto;color:#71809a;font-size:11px}.duty-teacher-picker[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:190px;overflow:auto;padding:2px}.duty-teacher-option[data-v-39ce6a9f]{display:flex!important;align-items:center!important;grid-template-columns:none!important;gap:7px!important;padding:9px 10px;border:1px solid #dce5f2;border-radius:7px;background:#fbfcfe;font-weight:600!important;cursor:pointer}.duty-teacher-option input[data-v-39ce6a9f]{width:16px;height:16px}.duty-teacher-option small[data-v-39ce6a9f]{margin-left:auto;color:#8290a7;font-size:11px}.duty-preview[data-v-39ce6a9f]{border:1px solid #dce5f2;border-radius:7px;padding:12px}.duty-preview-summary[data-v-39ce6a9f]{display:flex;align-items:center;gap:16px;margin-bottom:8px}.duty-preview-summary strong[data-v-39ce6a9f]{margin-right:auto}.duty-preview-list[data-v-39ce6a9f]{display:grid;gap:5px;max-height:170px;overflow:auto}.duty-preview-item[data-v-39ce6a9f]{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;background:#f7f9fc;border-radius:5px;font-size:13px}.duty-preview-item strong[data-state=SKIPPED][data-v-39ce6a9f]{color:#be6a13}.duty-preview-item strong[data-state=READY][data-v-39ce6a9f]{color:#087a55}.duty-warning[data-v-39ce6a9f],.duty-dialog-note[data-v-39ce6a9f]{margin:10px 0 0;color:#a66912;font-size:13px}.duty-reason-field[data-v-39ce6a9f]{margin-top:16px}.session-dialog textarea[data-v-39ce6a9f]{resize:vertical;border:1px solid #cfdaea;border-radius:7px;background:#fff;color:#1c2941;padding:10px 12px;font:inherit}.session-dialog textarea[data-v-39ce6a9f]:focus,.session-dialog input[data-v-39ce6a9f]:focus,.session-dialog select[data-v-39ce6a9f]:focus{outline:2px solid #c9ddff;outline-offset:1px}.session-row-actions[data-v-39ce6a9f]{display:flex;align-items:center;gap:12px}.session-row-actions button[data-v-39ce6a9f]{display:inline-flex;align-items:center;gap:5px}.session-status[data-status=warning][data-v-39ce6a9f]{background:#fff7e6;color:#b76a00}.session-status[data-status=normal][data-v-39ce6a9f]{background:#e9f7f1;color:#087a55}.session-state.compact[data-v-39ce6a9f],.session-empty.compact[data-v-39ce6a9f]{min-height:120px}.session-preview-body[data-v-39ce6a9f]{padding:18px 22px}.session-preview-summary[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #dce5f2;border-radius:8px;overflow:hidden;margin-bottom:14px}.session-preview-summary div[data-v-39ce6a9f]{display:grid;gap:4px;padding:14px 16px;border-right:1px solid #e4ebf4;background:#fbfcfe}.session-preview-summary div[data-v-39ce6a9f]:last-child{border-right:0}.session-preview-summary small[data-v-39ce6a9f]{color:#71809a}.session-preview-summary strong[data-v-39ce6a9f]{font-size:22px}.session-preview-table[data-v-39ce6a9f]{border:1px solid #dce5f2;border-radius:8px;overflow:auto}.session-preview-table table[data-v-39ce6a9f]{width:100%;border-collapse:collapse;min-width:720px}.session-preview-table th[data-v-39ce6a9f],.session-preview-table td[data-v-39ce6a9f]{padding:12px 14px;border-bottom:1px solid #e8edf4;text-align:left}.session-preview-table th[data-v-39ce6a9f]{background:#f7f9fc;color:#53637e}.session-preview-table td strong[data-v-39ce6a9f],.session-preview-table td small[data-v-39ce6a9f]{display:block}.session-preview-table td small[data-v-39ce6a9f]{margin-top:4px;color:#8190a7}.dialog-message[data-v-39ce6a9f]{grid-column:1/-1;flex-wrap:wrap}.dialog-message .session-text-button[data-v-39ce6a9f]{margin-left:auto}.session-dialog header>button[data-v-39ce6a9f]:disabled,.session-dialog input[data-v-39ce6a9f]:disabled,.session-dialog select[data-v-39ce6a9f]:disabled,.session-dialog textarea[data-v-39ce6a9f]:disabled{opacity:.58;cursor:not-allowed}.session-text-button[data-v-39ce6a9f]:disabled{opacity:.46;cursor:not-allowed}.seating-layout-total[data-v-39ce6a9f]{display:flex;align-items:baseline;gap:12px;padding:13px 15px;border:1px solid #dce5f2;border-radius:7px;background:#f7f9fc;color:#667792}.seating-layout-total strong[data-v-39ce6a9f]{color:#1769ed;font-size:24px}.seating-layout-total small[data-v-39ce6a9f]{color:#8090a8;font-size:12px}.seating-layout-preview[data-v-39ce6a9f]{border:1px solid #dce5f2;border-radius:7px;padding:14px}.seating-layout-preview-heading[data-v-39ce6a9f]{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:#52627c}.seating-layout-preview-heading span[data-v-39ce6a9f]{color:#8090a8;font-size:12px}.seating-layout-table-list[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.seating-layout-table[data-v-39ce6a9f]{display:grid;gap:4px;padding:9px 10px;border:1px solid #e1e8f2;border-radius:6px;background:#fbfcfe}.seating-layout-table strong[data-v-39ce6a9f]{color:#1769ed}.seating-layout-table span[data-v-39ce6a9f]{color:#71809a;font-size:12px;line-height:1.5}.classroom-item-action button[data-v-39ce6a9f]{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}@media(max-width:1100px){.classroom-grid[data-v-39ce6a9f],.session-metrics[data-v-39ce6a9f]{grid-template-columns:repeat(2,minmax(0,1fr))}.session-metrics div[data-v-39ce6a9f]:nth-child(2){border-right:0}.session-metrics div[data-v-39ce6a9f]:nth-child(-n+2){border-bottom:1px solid #e4ebf4}}.column-row-editor[data-v-39ce6a9f]{display:grid;gap:10px;padding:14px;border:1px solid #dce5f2;border-radius:7px;background:#fbfcfe}.column-row-editor-heading[data-v-39ce6a9f]{display:flex;align-items:center;justify-content:space-between;gap:12px}.column-row-editor-heading span[data-v-39ce6a9f]{color:#8090a8;font-size:12px}.column-row-grid[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.column-row-grid label[data-v-39ce6a9f]{min-width:0}.column-row-grid input[data-v-39ce6a9f]{width:100%}@media(max-width:700px){.session-page-header[data-v-39ce6a9f],.session-tool-band[data-v-39ce6a9f],.classroom-toolbar[data-v-39ce6a9f],.assignment-summary[data-v-39ce6a9f]{align-items:stretch;flex-direction:column;padding:16px}.session-header-actions[data-v-39ce6a9f],.session-date-filter[data-v-39ce6a9f]{align-items:stretch;flex-direction:column}.session-button[data-v-39ce6a9f]{width:100%}.session-metrics[data-v-39ce6a9f]{grid-template-columns:1fr 1fr}.classroom-grid[data-v-39ce6a9f],.session-dialog-form.two-columns[data-v-39ce6a9f]{grid-template-columns:1fr}.session-dialog-form label.full[data-v-39ce6a9f],.session-dialog-form fieldset.full[data-v-39ce6a9f]{grid-column:auto}.session-dialog-backdrop[data-v-39ce6a9f]{padding:8px}.session-dialog[data-v-39ce6a9f]{max-height:96vh}.session-dialog header[data-v-39ce6a9f],.session-dialog footer[data-v-39ce6a9f],.session-dialog-form[data-v-39ce6a9f]{padding:16px}}@media(max-width:1000px){.column-row-grid[data-v-39ce6a9f]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.column-row-grid[data-v-39ce6a9f]{grid-template-columns:repeat(2,minmax(0,1fr))}.seating-layout-table-list[data-v-39ce6a9f]{grid-template-columns:1fr}.seating-layout-total[data-v-39ce6a9f]{align-items:flex-start;flex-direction:column;gap:4px}.duty-control-heading[data-v-39ce6a9f],.duty-session-item[data-v-39ce6a9f]{align-items:stretch;flex-direction:column}.duty-session-current[data-v-39ce6a9f]{justify-content:space-between}.duty-grade-group-picker[data-v-39ce6a9f],.duty-teacher-picker[data-v-39ce6a9f]{grid-template-columns:1fr}.duty-auto-summary[data-v-39ce6a9f]{min-height:42px}.duty-preview-item[data-v-39ce6a9f]{align-items:flex-start;flex-direction:column}.session-preview-summary[data-v-39ce6a9f]{grid-template-columns:1fr 1fr}.session-preview-summary div[data-v-39ce6a9f]{border-bottom:1px solid #e4ebf4}.session-preview-body[data-v-39ce6a9f]{padding:14px}}.semester-seating-actions[data-v-39ce6a9f]{display:flex;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end;gap:10px}.semester-seating-actions label[data-v-39ce6a9f]{display:grid;gap:5px;color:#5c6c87;font-size:13px}.semester-seating-actions select[data-v-39ce6a9f]{min-width:210px;height:42px;border:1px solid #cfdaea;border-radius:7px;background:#fff;color:#1c2941;padding:0 12px;font:inherit}.semester-seating-policy[data-v-39ce6a9f],.semester-seating-warning[data-v-39ce6a9f]{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid #cfe0f8;border-radius:8px;background:#f5f9ff;color:#315a93}.semester-seating-policy div[data-v-39ce6a9f],.semester-seating-warning div[data-v-39ce6a9f]{display:grid;gap:4px}.semester-seating-policy span[data-v-39ce6a9f],.semester-seating-warning span[data-v-39ce6a9f]{line-height:1.6}.semester-seating-warning[data-v-39ce6a9f]{border-color:#f1d79c;background:#fff9eb;color:#8e5a00}.semester-seating-metrics[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid #dce5f2;border-radius:8px;overflow:hidden}.semester-seating-metrics div[data-v-39ce6a9f]{display:grid;gap:4px;padding:18px 20px;border-right:1px solid #e4ebf4}.semester-seating-metrics div[data-v-39ce6a9f]:last-child{border-right:0}.semester-seating-metrics small[data-v-39ce6a9f],.semester-seating-metrics span[data-v-39ce6a9f]{color:#7c8ba4}.semester-seating-metrics strong[data-v-39ce6a9f]{font-size:28px}.session-table-wrap table.semester-seating-table[data-v-39ce6a9f]{min-width:980px}.capacity-overflow[data-v-39ce6a9f]{color:#c93345!important}.semester-seating-detail-summary[data-v-39ce6a9f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dce5f2;border-radius:8px;overflow:hidden;margin-bottom:14px}.semester-seating-detail-summary div[data-v-39ce6a9f]{display:grid;gap:4px;padding:14px 16px;border-right:1px solid #e4ebf4;background:#fbfcfe}.semester-seating-detail-summary div[data-v-39ce6a9f]:last-child{border-right:0}.semester-seating-detail-summary small[data-v-39ce6a9f]{color:#71809a}.semester-seating-detail-summary strong[data-v-39ce6a9f]{font-size:21px}.semester-seating-detail-table table[data-v-39ce6a9f]{min-width:620px}.semester-seating-detail-body+.session-dialog footer span[data-v-39ce6a9f]{margin-right:auto;color:#71809a}@media(max-width:1100px){.semester-seating-toolbar[data-v-39ce6a9f]{align-items:stretch;flex-direction:column}.semester-seating-actions[data-v-39ce6a9f]{justify-content:flex-start}.semester-seating-metrics[data-v-39ce6a9f]{grid-template-columns:repeat(3,minmax(0,1fr))}.semester-seating-metrics div[data-v-39ce6a9f]{border-bottom:1px solid #e4ebf4}}@media(max-width:700px){.semester-seating-actions[data-v-39ce6a9f]{align-items:stretch;flex-direction:column}.semester-seating-actions select[data-v-39ce6a9f]{width:100%}.semester-seating-metrics[data-v-39ce6a9f],.semester-seating-detail-summary[data-v-39ce6a9f]{grid-template-columns:1fr 1fr}.semester-seating-policy[data-v-39ce6a9f],.semester-seating-warning[data-v-39ce6a9f]{padding:14px}.semester-seating-detail-summary div[data-v-39ce6a9f]{border-bottom:1px solid #e4ebf4}}.session-table-wrap td[data-v-39ce6a9f]{vertical-align:top}.session-row-actions[data-v-39ce6a9f]{display:table-cell;vertical-align:top;min-width:210px;white-space:normal}.session-row-actions-inner[data-v-39ce6a9f]{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;min-height:25px}.session-row-actions button[data-v-39ce6a9f]{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.session-row-actions span[data-v-39ce6a9f]{display:inline-flex;align-items:center;min-height:25px;color:#8190a7}.session-scope-disclosure[data-v-39ce6a9f]{display:grid;gap:7px;min-width:0}.session-scope-chips[data-v-39ce6a9f]{min-width:0}.session-scope-chips.is-collapsed[data-v-39ce6a9f]{max-height:31px;overflow:hidden}.session-scope-chip[data-v-39ce6a9f]{white-space:nowrap}.session-scope-toggle[data-v-39ce6a9f]{display:inline-flex;align-items:center;justify-self:start;gap:4px;border:0;background:transparent;color:#1769ed;padding:0;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.session-scope-toggle[data-v-39ce6a9f]:focus-visible{outline:2px solid #1769ed;outline-offset:3px;border-radius:3px}.duty-constraint-toolbar[data-v-c98e8896]{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.duty-constraint-toolbar label[data-v-c98e8896]{display:grid;gap:6px;min-width:180px;color:#40516d;font-size:12px;font-weight:700}.duty-constraint-toolbar select[data-v-c98e8896]{height:38px;padding:0 10px;border:1px solid #d5dfec;border-radius:6px;background:#fff;color:#1c2b45}.duty-constraint-summary[data-v-c98e8896]{display:flex;align-items:baseline;gap:6px;margin-left:auto;color:#76869d}.duty-constraint-summary strong[data-v-c98e8896]{color:#1769ed;font-size:26px}.duty-constraint-table td strong[data-v-c98e8896],.duty-constraint-table td small[data-v-c98e8896]{display:block}.duty-constraint-table td small[data-v-c98e8896]{margin-top:4px;color:#7b8aa0}.duty-rule-actions[data-v-c98e8896]{display:flex;gap:6px;flex-wrap:wrap}.duty-rule-actions .admin-button[data-v-c98e8896]{display:inline-flex;align-items:center;gap:4px}.admin-button.is-small[data-v-c98e8896]{min-height:32px;padding:0 10px;font-size:12px}.duty-constraint-backdrop[data-v-c98e8896]{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px;background:#14233a6b}.duty-constraint-dialog[data-v-c98e8896]{width:min(680px,100%);max-height:92vh;overflow:auto;border-radius:8px;background:#fff;box-shadow:0 24px 70px #16274640}.duty-constraint-dialog header[data-v-c98e8896],.duty-constraint-dialog footer[data-v-c98e8896]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #e2e9f2}.duty-constraint-dialog header h2[data-v-c98e8896]{margin:0;color:#182941;font-size:20px}.duty-constraint-dialog header p[data-v-c98e8896]{margin:5px 0 0;color:#74849b;font-size:12px}.duty-constraint-dialog header>button[data-v-c98e8896]{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d5dfec;border-radius:6px;background:#fff;color:#52637b;cursor:pointer}.duty-constraint-dialog footer[data-v-c98e8896]{justify-content:flex-end;border-top:1px solid #e2e9f2;border-bottom:0}.duty-constraint-form[data-v-c98e8896]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:22px}.duty-constraint-form label[data-v-c98e8896]{display:grid;gap:7px;color:#40516d;font-size:13px;font-weight:700}.duty-constraint-form label.full[data-v-c98e8896]{grid-column:1 / -1}.duty-constraint-form input[data-v-c98e8896],.duty-constraint-form select[data-v-c98e8896]{box-sizing:border-box;width:100%;height:40px;padding:0 11px;border:1px solid #d5dfec;border-radius:6px;background:#fff;color:#1c2b45;font:inherit}.duty-constraint-form input[data-v-c98e8896]:disabled{background:#f3f6fa;color:#7b8aa0;cursor:not-allowed}.duty-all-day-field[data-v-c98e8896]{align-content:start}.duty-checkbox-control[data-v-c98e8896]{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:40px;padding:7px 11px;border:1px solid #d5dfec;border-radius:6px;background:#fff}.duty-checkbox-control input[data-v-c98e8896]{grid-row:1 / span 2;width:16px;height:16px;margin:0;accent-color:#1769ed}.duty-checkbox-control strong[data-v-c98e8896]{color:#1c2b45;font-size:13px}.duty-checkbox-control small[data-v-c98e8896]{color:#7b8aa0;font-size:11px;font-weight:400;line-height:1.4}.duty-choice-grid[data-v-c98e8896]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:190px;overflow:auto;padding:2px}.duty-choice-option[data-v-c98e8896]{display:grid!important;grid-template-columns:18px 1fr auto;align-items:center;gap:8px!important;min-width:0;padding:9px 10px;border:1px solid #d5dfec;border-radius:6px;background:#fbfcfe;cursor:pointer}.duty-choice-option[data-v-c98e8896]:has(input:checked){border-color:#1769ed;background:#edf4ff}.duty-choice-option input[data-v-c98e8896]{width:16px;height:16px;margin:0;accent-color:#1769ed}.duty-choice-option span[data-v-c98e8896]{overflow:hidden;color:#1c2b45;text-overflow:ellipsis;white-space:nowrap}.duty-choice-option small[data-v-c98e8896]{color:#7b8aa0;font-size:11px;font-weight:400}.duty-form-help[data-v-c98e8896]{color:#7b8aa0;font-size:12px;font-weight:400;line-height:1.5}@media(max-width:760px){.duty-constraint-toolbar[data-v-c98e8896]{align-items:stretch;flex-direction:column}.duty-constraint-toolbar label[data-v-c98e8896],.duty-constraint-toolbar select[data-v-c98e8896]{width:100%}.duty-constraint-summary[data-v-c98e8896]{margin-left:0}.duty-constraint-form[data-v-c98e8896]{grid-template-columns:1fr;padding:16px}.duty-constraint-form label.full[data-v-c98e8896]{grid-column:auto}.duty-constraint-dialog header[data-v-c98e8896],.duty-constraint-dialog footer[data-v-c98e8896]{padding:16px}.duty-choice-grid[data-v-c98e8896]{grid-template-columns:1fr}}.duty-auto-page[data-v-e993b0a5]{display:grid;gap:16px}.auto-form-grid[data-v-e993b0a5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auto-form-grid label[data-v-e993b0a5]{display:grid;gap:6px;color:#40516d;font-size:12px;font-weight:700}.auto-form-grid input[data-v-e993b0a5],.auto-form-grid select[data-v-e993b0a5],.draft-table select[data-v-e993b0a5]{box-sizing:border-box;width:100%;height:40px;padding:0 10px;border:1px solid #d5dfec;border-radius:6px;background:#fff;color:#1c2b45}.auto-fieldset[data-v-e993b0a5]{margin:18px 0 0;padding:14px;border:1px solid #dfe7f1;border-radius:7px}.auto-fieldset legend[data-v-e993b0a5]{padding:0 6px;color:#40516d;font-size:13px;font-weight:700}.grade-group-grid[data-v-e993b0a5],.teacher-grid[data-v-e993b0a5]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.session-group-grid[data-v-e993b0a5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.session-group-grid button[data-v-e993b0a5]{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:10px 12px;border:1px solid #d5dfec;border-radius:7px;background:#fbfcfe;color:#263a58;text-align:left;cursor:pointer}.session-group-grid button>span[data-v-e993b0a5]:first-child{display:grid;gap:4px;min-width:0}.session-group-grid button strong[data-v-e993b0a5],.session-group-grid button small[data-v-e993b0a5]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-group-grid button small[data-v-e993b0a5]{color:#71809a;font-size:11px}.session-group-grid button.active[data-v-e993b0a5]{border-color:#1769ed;box-shadow:0 0 0 1px #1769ed inset}.session-group-grid button.configured[data-v-e993b0a5]{background:#f3f8ff}.session-group-count[data-v-e993b0a5]{flex:0 0 auto;margin-left:10px;color:#1769ed;font-size:11px;font-weight:700}.duty-inline-loading[data-v-e993b0a5]{display:flex;align-items:center;gap:8px;min-height:48px;color:#60718a}.grade-group-grid button[data-v-e993b0a5]{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 12px;border:1px solid #d5dfec;border-radius:7px;background:#fbfcfe;color:#263a58;cursor:pointer}.grade-group-grid button.active[data-v-e993b0a5]{border-color:#1769ed;background:#edf4ff;color:#1769ed}.grade-group-grid span[data-v-e993b0a5],.teacher-grid small[data-v-e993b0a5]{color:#71809a;font-size:11px}.teacher-grid label[data-v-e993b0a5]{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid #dce5f2;border-radius:6px;background:#fbfcfe}.teacher-grid input[data-v-e993b0a5]{width:16px;height:16px;accent-color:#1769ed}.teacher-name[data-v-e993b0a5]{display:flex;min-width:0;align-items:baseline;gap:8px}.teacher-name>span[data-v-e993b0a5]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-name strong[data-v-e993b0a5]{flex:0 0 auto;color:#1769ed;font-size:12px}.auto-config-actions[data-v-e993b0a5],.draft-actions[data-v-e993b0a5]{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.auto-config-actions span[data-v-e993b0a5]{margin-right:auto;color:#60718a;font-weight:700}.draft-summary[data-v-e993b0a5]{display:flex;gap:20px;margin-bottom:12px;color:#62738b}.draft-summary strong[data-v-e993b0a5]{color:#1769ed;font-size:20px}.draft-summary .is-dirty[data-v-e993b0a5]{color:#b86a00;font-weight:700}.draft-error[data-v-e993b0a5]{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid #efb7b7;border-radius:6px;background:#fff5f5;color:#b4232c}.draft-error>div[data-v-e993b0a5]{display:grid;gap:3px}.draft-error span[data-v-e993b0a5],.draft-error small[data-v-e993b0a5]{color:#8f2630}.draft-table tr.has-conflict td[data-v-e993b0a5]{background:#fff7f7}.draft-table tr.has-conflict select[data-v-e993b0a5]{border-color:#d84b55;box-shadow:0 0 0 1px #d84b55 inset}.draft-empty[data-v-e993b0a5]{min-height:150px}.draft-table td strong[data-v-e993b0a5],.draft-table td small[data-v-e993b0a5]{display:block}.draft-table td small[data-v-e993b0a5]{margin-top:3px;color:#7b8aa0}.duty-empty-note[data-v-e993b0a5]{margin:0;color:#7b8aa0;font-size:12px}@media(max-width:900px){.auto-form-grid[data-v-e993b0a5],.session-group-grid[data-v-e993b0a5],.grade-group-grid[data-v-e993b0a5],.teacher-grid[data-v-e993b0a5]{grid-template-columns:1fr}.draft-actions[data-v-e993b0a5]{align-items:stretch;flex-direction:column}}.duty-management-tabs[data-v-d909d377]{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #dfe7f1}.duty-management-tabs button[data-v-d909d377]{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#66768d;font-weight:700;cursor:pointer}.duty-management-tabs button.active[data-v-d909d377]{border-bottom-color:#1769ed;color:#1769ed}header[data-v-46f5449e],form[data-v-46f5449e],button[data-v-46f5449e]{display:flex;align-items:center;gap:12px}header[data-v-46f5449e]{justify-content:space-between}h2[data-v-46f5449e]{font-size:18px}form[data-v-46f5449e]{flex-wrap:wrap;align-items:end;margin-bottom:16px}label[data-v-46f5449e]{display:grid;gap:6px;font-size:13px}input[data-v-46f5449e],button[data-v-46f5449e]{min-height:40px;padding:8px;border:1px solid #b9c9d5;border-radius:4px;background:#fff;color:#234}button[data-v-46f5449e]:disabled{opacity:.5}input[type=checkbox][data-v-46f5449e]{width:24px}table[data-v-46f5449e]{width:100%;border-collapse:collapse}td[data-v-46f5449e],th[data-v-46f5449e]{padding:12px;text-align:left;border-bottom:1px solid #dde4e9;font-size:14px}.table-scroll[data-v-46f5449e]{overflow-x:auto}table[data-v-46f5449e]{min-width:680px}[data-state=ONLINE][data-v-46f5449e]{color:#147044}[data-state=OFFLINE][data-v-46f5449e]{color:#b42333}[data-state=PENDING][data-v-46f5449e]{color:#8a6014}section[data-v-46f5449e]{padding:20px 0;border-bottom:1px solid #ccd6df}.terminals[data-v-59c751a8]{padding:24px;color:#234;background:#f8fafb;min-height:100%}header[data-v-59c751a8],h1[data-v-59c751a8],form[data-v-59c751a8],button[data-v-59c751a8]{display:flex;align-items:center;gap:12px}header[data-v-59c751a8]{justify-content:space-between}h1[data-v-59c751a8]{font-size:24px;margin:0}h2[data-v-59c751a8]{font-size:18px}section[data-v-59c751a8]{padding:20px 0;border-bottom:1px solid #ccd6df}form[data-v-59c751a8]{flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}label[data-v-59c751a8]{display:grid;gap:6px;font-size:13px}input[data-v-59c751a8],select[data-v-59c751a8],button[data-v-59c751a8]{min-height:40px;padding:8px;border:1px solid #b9c9d5;border-radius:4px;background:#fff;color:#234}button[data-v-59c751a8]{cursor:pointer}input[type=checkbox][data-v-59c751a8]{width:24px}table[data-v-59c751a8]{width:100%;border-collapse:collapse}td[data-v-59c751a8],th[data-v-59c751a8]{padding:12px;text-align:left;border-bottom:1px solid #dde4e9;font-size:14px}small[data-v-59c751a8]{display:block;color:#627586;margin-top:4px}.credential[data-v-59c751a8]{background:#eaf5ef;padding:20px;overflow-wrap:anywhere}code[data-v-59c751a8]{display:block;margin:12px 0}.error[data-v-59c751a8]{color:#b42333}button[data-v-59c751a8]:disabled{opacity:.5}.terminals[data-v-59c751a8]{min-width:0}.terminals>section[data-v-59c751a8]{overflow-x:auto}.terminals>header[data-v-59c751a8]{flex-wrap:wrap}.terminals input[data-v-59c751a8],.terminals select[data-v-59c751a8]{max-width:100%}@media(max-width:600px){.terminals[data-v-59c751a8]{padding:12px}.terminals h1[data-v-59c751a8]{font-size:20px}.terminals form label[data-v-59c751a8]{max-width:100%}}.monitor-board-page[data-v-9cc07065]{min-height:100dvh;padding:24px 30px 20px;background:#f3f7fc;color:#16243e;box-sizing:border-box}.monitor-board-header[data-v-9cc07065]{display:flex;align-items:center;gap:18px;min-height:68px;padding:0 4px 20px;border-bottom:1px solid #d9e4f1}.monitor-board-brand[data-v-9cc07065]{display:flex;align-items:center;gap:14px;min-width:255px}.monitor-board-brand__icon[data-v-9cc07065]{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#1769ed;color:#fff;box-shadow:0 8px 20px #1769ed33}.monitor-board-brand strong[data-v-9cc07065]{display:block;font-size:24px;line-height:1.25;letter-spacing:.02em}.monitor-board-brand span[data-v-9cc07065]:not(.monitor-board-brand__icon){display:block;margin-top:3px;color:#70809a;font-size:13px}.monitor-board-header__date[data-v-9cc07065]{flex:1;text-align:center}.monitor-board-header__date strong[data-v-9cc07065]{display:block;font-size:20px}.monitor-board-header__date span[data-v-9cc07065]{display:block;margin-top:4px;color:#667895;font-variant-numeric:tabular-nums;font-size:15px}.monitor-board-actions[data-v-9cc07065]{display:flex;align-items:center;justify-content:flex-end;gap:10px}.monitor-connection[data-v-9cc07065]{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}.monitor-connection.is-online[data-v-9cc07065]{color:#087a55;background:#e9f8f1}.monitor-connection.is-offline[data-v-9cc07065]{color:#bd3047;background:#fff0f2}.monitor-icon-button[data-v-9cc07065],.monitor-back-button[data-v-9cc07065],.monitor-close-button[data-v-9cc07065]{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ccd9e8;background:#fff;color:#31415d;cursor:pointer}.monitor-icon-button[data-v-9cc07065]{width:46px;height:46px;border-radius:10px}.monitor-back-button[data-v-9cc07065]{height:46px;gap:6px;padding:0 14px;border-radius:10px;font-weight:700}.monitor-icon-button[data-v-9cc07065]:disabled{opacity:.55;cursor:wait}.is-spinning[data-v-9cc07065]{animation:monitor-spin-9cc07065 1s linear infinite}@keyframes monitor-spin-9cc07065{to{transform:rotate(360deg)}}.monitor-screen-select[data-v-9cc07065]{display:flex;align-items:center;gap:7px;min-height:46px;padding:0 10px;border:1px solid #ccd9e8;border-radius:10px;background:#fff;color:#1769ed;white-space:nowrap}.monitor-screen-select span[data-v-9cc07065]{color:#687995;font-size:12px;font-weight:700}.monitor-screen-select select[data-v-9cc07065]{max-width:170px;height:34px;border:0;outline:0;background:transparent;color:#21385f;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.monitor-screen-select select[data-v-9cc07065]:disabled{cursor:wait;opacity:.65}.monitor-screen-bound[data-v-9cc07065]{display:flex;align-items:center;gap:7px;min-height:46px;padding:0 12px;border:1px solid #b9d7ff;border-radius:10px;background:#edf5ff;color:#1769ed;white-space:nowrap}.monitor-screen-bound span[data-v-9cc07065]{color:#3f5e89;font-size:13px;font-weight:700}.monitor-screen-bound strong[data-v-9cc07065]{color:#173c78}.monitor-summary[data-v-9cc07065]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:22px 0}.monitor-summary-card[data-v-9cc07065]{display:flex;align-items:center;gap:12px;min-height:88px;padding:16px 18px;border:1px solid #dce6f2;border-radius:14px;background:#fff;box-shadow:0 5px 15px #31598c0d}.monitor-summary-card>svg[data-v-9cc07065]{flex:0 0 auto}.monitor-summary-card span[data-v-9cc07065]{display:grid;gap:3px;min-width:0}.monitor-summary-card small[data-v-9cc07065]{color:#6d7d96;font-size:13px}.monitor-summary-card strong[data-v-9cc07065]{font-size:29px;line-height:1.1}.monitor-summary-card em[data-v-9cc07065]{margin-left:auto;color:#6c7d96;font-size:13px;font-style:normal;font-weight:700}.monitor-summary-card.is-room>svg[data-v-9cc07065]{color:#1769ed}.monitor-summary-card.is-total>svg[data-v-9cc07065]{color:#7758dc}.monitor-summary-card.is-checked>svg[data-v-9cc07065]{color:#087a55}.monitor-summary-card.is-pending>svg[data-v-9cc07065]{color:#d68014}.monitor-summary-card.is-leave>svg[data-v-9cc07065]{color:#bd5b9e}.monitor-room-grid[data-v-9cc07065]{display:grid;grid-template-columns:repeat(auto-fit,minmax(370px,1fr));gap:18px;align-items:stretch}.monitor-room-card[data-v-9cc07065]{display:grid;gap:14px;min-width:0;padding:22px;text-align:left;border:1px solid #d5e1ee;border-radius:16px;background:#fff;color:inherit;box-shadow:0 8px 22px #31598c0d;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.monitor-room-card[data-v-9cc07065]:hover,.monitor-room-card[data-v-9cc07065]:focus-visible{transform:translateY(-2px);border-color:#78aaf1;box-shadow:0 12px 28px #31598c1a;outline:none}.monitor-room-card__head[data-v-9cc07065]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.monitor-room-card__eyebrow[data-v-9cc07065]{display:block;color:#71819a;font-size:12px}.monitor-room-card h2[data-v-9cc07065]{margin:4px 0;color:#142954;font-size:24px;line-height:1.2}.monitor-room-card p[data-v-9cc07065]{margin:0;color:#5d708e;font-size:14px}.monitor-session-state[data-v-9cc07065]{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.monitor-session-state.is-running[data-v-9cc07065]{color:#087a55;background:#e8f8f0}.monitor-session-state.is-pending[data-v-9cc07065]{color:#a7650d;background:#fff6dd}.monitor-session-state.is-cancelled[data-v-9cc07065]{color:#697890;background:#f0f3f7}.monitor-room-card__date[data-v-9cc07065]{display:flex;align-items:center;gap:6px;color:#607493;font-size:13px}.monitor-room-metrics[data-v-9cc07065]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 0;border-top:1px solid #e8eef6;border-bottom:1px solid #e8eef6}.monitor-room-metrics span[data-v-9cc07065]{display:grid;gap:3px;text-align:center}.monitor-room-metrics b[data-v-9cc07065]{font-size:23px;line-height:1.1}.monitor-room-metrics small[data-v-9cc07065]{color:#73839a;font-size:12px}.monitor-room-metrics .is-checked b[data-v-9cc07065]{color:#087a55}.monitor-room-metrics .is-late b[data-v-9cc07065]{color:#bf7a12}.monitor-room-metrics .is-pending b[data-v-9cc07065]{color:#c36d13}.monitor-room-metrics .is-leave b[data-v-9cc07065]{color:#a54c8c}.monitor-room-card__people[data-v-9cc07065]{display:grid;gap:9px}.monitor-room-card__people>div[data-v-9cc07065]{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;font-size:13px}.monitor-room-card__people strong[data-v-9cc07065]{font-size:12px}.monitor-room-card__people span[data-v-9cc07065]{overflow:hidden;color:#617492;text-overflow:ellipsis;white-space:nowrap}.monitor-room-card__people em[data-v-9cc07065]{color:#8795a9;font-size:12px;font-style:normal;white-space:nowrap}.monitor-room-card__people>div:first-child strong[data-v-9cc07065]{color:#087a55}.monitor-room-card__people>div:nth-child(2) strong[data-v-9cc07065]{color:#c36d13}.monitor-room-card__people>div:nth-child(3) strong[data-v-9cc07065]{color:#a54c8c}.monitor-room-card footer[data-v-9cc07065]{display:flex;align-items:center;justify-content:flex-end;gap:4px;color:#1769ed;font-size:13px;font-weight:700}.monitor-state[data-v-9cc07065]{display:grid;place-items:center;gap:10px;min-height:300px;padding:36px;border:1px dashed #bdcfe2;border-radius:16px;background:#fff;color:#7485a0;text-align:center}.monitor-state strong[data-v-9cc07065]{color:#31415d;font-size:18px}.monitor-state span[data-v-9cc07065]{font-size:13px}.monitor-error[data-v-9cc07065]{color:#bd3047}.monitor-error strong[data-v-9cc07065]{color:#a9263e}.monitor-primary-button[data-v-9cc07065]{height:46px;margin-top:7px;padding:0 18px;border:0;border-radius:9px;background:#1769ed;color:#fff;font-weight:700;cursor:pointer}.monitor-board-footer[data-v-9cc07065]{display:flex;align-items:center;justify-content:center;gap:20px;min-height:42px;margin-top:14px;color:#7889a1;font-size:12px}.monitor-live-dot[data-v-9cc07065]{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#13a66b;box-shadow:0 0 0 3px #13a66b22}.monitor-stale-hint[data-v-9cc07065]{color:#bd3047}.monitor-detail-backdrop[data-v-9cc07065]{position:fixed;inset:0;z-index:1100;display:flex;justify-content:flex-end;background:#12213d66}.monitor-detail-panel[data-v-9cc07065]{display:flex;flex-direction:column;width:min(690px,100%);height:100%;background:#fff;box-shadow:-14px 0 45px #10284a33}.monitor-detail-header[data-v-9cc07065]{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:25px 28px 18px;border-bottom:1px solid #e2e9f2}.monitor-detail-header>div[data-v-9cc07065]{min-width:0}.monitor-detail-header span[data-v-9cc07065]{color:#71819a;font-size:13px}.monitor-detail-header h2[data-v-9cc07065]{margin:5px 0 3px;color:#142954;font-size:26px}.monitor-detail-header p[data-v-9cc07065]{margin:0;color:#617492}.monitor-close-button[data-v-9cc07065]{flex:0 0 auto;width:46px;height:46px;border-radius:10px}.monitor-detail-summary[data-v-9cc07065]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 28px;background:#f6f9fd}.monitor-detail-summary span[data-v-9cc07065]{display:grid;gap:4px;text-align:center}.monitor-detail-summary b[data-v-9cc07065]{color:#1b3c78;font-size:24px}.monitor-detail-summary small[data-v-9cc07065]{color:#71819a;font-size:12px}.monitor-detail-toolbar[data-v-9cc07065]{display:grid;gap:12px;padding:16px 28px 12px;border-bottom:1px solid #e2e9f2}.monitor-status-tabs[data-v-9cc07065]{display:flex;gap:7px;overflow:auto}.monitor-status-tabs button[data-v-9cc07065]{height:42px;padding:0 15px;border:1px solid #d1dce9;border-radius:9px;background:#fff;color:#62738e;font-weight:700;white-space:nowrap;cursor:pointer}.monitor-status-tabs button.active[data-v-9cc07065]{border-color:#1769ed;background:#edf4ff;color:#1769ed}.monitor-search[data-v-9cc07065]{display:flex;align-items:center;gap:8px;height:46px;padding:0 12px;border:1px solid #cfdae8;border-radius:9px;color:#73839a}.monitor-search input[data-v-9cc07065]{width:100%;border:0;outline:0;color:#253654;font:inherit}.monitor-detail-list[data-v-9cc07065]{flex:1;overflow:auto;padding:4px 28px 20px}.monitor-detail-empty[data-v-9cc07065]{display:grid;place-items:center;min-height:180px;color:#8292a8}.monitor-student-row[data-v-9cc07065]{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:72px;border-bottom:1px solid #edf1f6}.monitor-student-avatar[data-v-9cc07065]{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eaf2ff;color:#1769ed;font-size:16px;font-weight:800}.monitor-student-row>div[data-v-9cc07065]{min-width:0}.monitor-student-row strong[data-v-9cc07065],.monitor-student-row small[data-v-9cc07065]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-student-row strong[data-v-9cc07065]{color:#233758;font-size:15px}.monitor-student-row small[data-v-9cc07065],.monitor-student-row time[data-v-9cc07065]{margin-top:4px;color:#8290a4;font-size:12px}.monitor-student-status[data-v-9cc07065]{padding:5px 8px;border-radius:6px;font-size:12px;font-weight:800;white-space:nowrap}.monitor-status-checked[data-v-9cc07065]{color:#087a55;background:#e9f8f1}.monitor-status-late[data-v-9cc07065]{color:#a7650d;background:#fff5dc}.monitor-status-pending[data-v-9cc07065],.monitor-status-absent[data-v-9cc07065]{color:#bd6a0b;background:#fff3df}.monitor-status-leave[data-v-9cc07065]{color:#a54c8c;background:#f8edf6}.monitor-status-unknown[data-v-9cc07065]{color:#63738c;background:#f0f3f7}.monitor-student-row time[data-v-9cc07065]{min-width:108px;text-align:right}@media(max-width:1000px){.monitor-board-page[data-v-9cc07065]{padding:18px}.monitor-board-header[data-v-9cc07065]{flex-wrap:wrap;gap:12px}.monitor-board-header__date[data-v-9cc07065]{order:3;flex:1 0 100%;text-align:left}.monitor-screen-select[data-v-9cc07065],.monitor-screen-bound[data-v-9cc07065],.monitor-board-actions[data-v-9cc07065]{margin-left:auto}.monitor-summary[data-v-9cc07065]{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-summary-card[data-v-9cc07065]{min-height:72px;padding:12px}.monitor-summary-card strong[data-v-9cc07065]{font-size:24px}.monitor-room-grid[data-v-9cc07065]{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}}@media(max-width:620px){.monitor-board-page[data-v-9cc07065]{padding:12px}.monitor-board-brand[data-v-9cc07065]{min-width:0}.monitor-board-brand__icon[data-v-9cc07065]{width:44px;height:44px}.monitor-board-brand strong[data-v-9cc07065]{font-size:19px}.monitor-board-brand span[data-v-9cc07065]:not(.monitor-board-brand__icon){font-size:11px}.monitor-screen-select[data-v-9cc07065],.monitor-screen-bound[data-v-9cc07065]{width:100%;justify-content:space-between;margin-left:0}.monitor-screen-select select[data-v-9cc07065]{max-width:none;flex:1;text-align:right}.monitor-board-actions[data-v-9cc07065]{width:100%;justify-content:stretch}.monitor-connection[data-v-9cc07065]{flex:1;justify-content:center}.monitor-back-button[data-v-9cc07065]{font-size:12px}.monitor-summary[data-v-9cc07065]{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.monitor-summary-card[data-v-9cc07065]{gap:8px;min-height:64px;padding:10px}.monitor-summary-card>svg[data-v-9cc07065]{width:20px}.monitor-summary-card strong[data-v-9cc07065]{font-size:22px}.monitor-summary-card small[data-v-9cc07065],.monitor-summary-card em[data-v-9cc07065]{font-size:11px}.monitor-room-grid[data-v-9cc07065]{grid-template-columns:1fr;gap:12px}.monitor-room-card[data-v-9cc07065]{padding:17px}.monitor-room-card h2[data-v-9cc07065]{font-size:21px}.monitor-board-footer[data-v-9cc07065]{flex-wrap:wrap;gap:4px 14px}.monitor-detail-header[data-v-9cc07065],.monitor-detail-toolbar[data-v-9cc07065],.monitor-detail-list[data-v-9cc07065]{padding-left:16px;padding-right:16px}.monitor-detail-header h2[data-v-9cc07065]{font-size:22px}.monitor-detail-summary[data-v-9cc07065]{padding-left:16px;padding-right:16px}.monitor-student-row[data-v-9cc07065]{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.monitor-student-row time[data-v-9cc07065]{grid-column:2 / span 2;margin-top:-8px;text-align:left}.monitor-student-status[data-v-9cc07065]{font-size:11px}}.student-switcher[data-v-8707a574]{display:grid;gap:6px;padding:14px 16px;border:1px solid #dbe7f7;border-radius:8px;background:#fff}.student-switcher span[data-v-8707a574]{color:#52637d;font-size:12px;font-weight:700}.student-switcher select[data-v-8707a574]{min-height:42px;padding:0 12px;border:1px solid #cfdced;border-radius:7px;color:#172554;background:#fff;font:inherit}.student-profile[data-v-8707a574]{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-8707a574]{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:#1769ef;background:#eaf2ff}.student-profile div[data-v-8707a574]{display:grid;gap:3px}.student-profile small[data-v-8707a574],.student-profile p[data-v-8707a574]{margin:0;color:#718096;font-size:12px}.student-profile strong[data-v-8707a574]{color:#172554;font-size:18px}.student-profile em[data-v-8707a574]{padding:6px 10px;border-radius:6px;color:#1769ef;font-style:normal;background:#eaf2ff}.today-session-list[data-v-8707a574]{display:grid;gap:0}.today-session-row[data-v-8707a574]{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;border-bottom:1px solid #edf2f7}.today-session-row[data-v-8707a574]:last-child{border-bottom:0}.today-session-row>svg[data-v-8707a574]{color:#1769ef}.today-session-row div[data-v-8707a574]{display:grid;gap:5px}.today-session-row small[data-v-8707a574]{color:#718096}.session-status[data-v-8707a574]{padding:5px 8px;border-radius:5px;font-size:12px;font-style:normal;font-weight:700}.session-status[data-tone=success][data-v-8707a574]{color:#047857;background:#ecfdf5}.session-status[data-tone=warning][data-v-8707a574]{color:#b45309;background:#fff7ed}.session-status[data-tone=info][data-v-8707a574]{color:#1d4ed8;background:#eff6ff}.session-status[data-tone=neutral][data-v-8707a574]{color:#64748b;background:#f1f5f9}@media(max-width:720px){.student-profile[data-v-8707a574]{grid-template-columns:44px minmax(0,1fr)}.student-profile em[data-v-8707a574]{grid-column:1 / -1;text-align:center}}.duty-change-page[data-v-07042cca]{width:100%;min-width:0;display:grid;gap:14px;color:#26334b}.duty-change-header[data-v-07042cca]{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-07042cca]{color:#1768ef;font-size:12px;font-weight:700}.duty-change-header h1[data-v-07042cca]{margin:4px 0;color:#101c34;font-size:24px;letter-spacing:0}.duty-change-header p[data-v-07042cca]{margin:0;color:#718096;font-size:12px}.duty-change-header button[data-v-07042cca]{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-07042cca]{overflow:hidden;border:1px solid #dce5f1;border-radius:8px;background:#fff}.duty-change-title[data-v-07042cca]{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-07042cca]{display:flex;align-items:center;gap:9px}.duty-change-title svg[data-v-07042cca]{color:#1768ef}.duty-change-title h2[data-v-07042cca]{margin:0;font-size:15px}.duty-change-title>span[data-v-07042cca]{color:#718096;font-size:11px}.duty-type-switch[data-v-07042cca]{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-07042cca]{height:34px;border:0;border-radius:5px;color:#647188;background:transparent;font-weight:700;cursor:pointer}.duty-type-switch button.active[data-v-07042cca]{color:#1768ef;background:#fff;box-shadow:0 1px 4px #1832551f}.duty-change-form[data-v-07042cca]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px 12px}.duty-change-form label[data-v-07042cca]{min-width:0;display:grid;gap:6px}.duty-change-form label.wide[data-v-07042cca]{grid-column:1 / -1}.duty-change-form label span[data-v-07042cca]{color:#52617a;font-size:11px;font-weight:700}.duty-change-form select[data-v-07042cca],.duty-change-form input[data-v-07042cca]{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-07042cca]:focus,.duty-change-form input[data-v-07042cca]:focus{border-color:#1768ef;box-shadow:0 0 0 3px #1768ef1a}.duty-primary[data-v-07042cca]{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-07042cca]:disabled{opacity:.5;cursor:not-allowed}.duty-request-card[data-v-07042cca]{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-07042cca]:first-of-type{border-top:0}.duty-request-card>div[data-v-07042cca]:first-child{min-width:0}.duty-request-card strong[data-v-07042cca],.duty-request-card p[data-v-07042cca],.duty-request-card small[data-v-07042cca]{display:block}.duty-request-card strong[data-v-07042cca]{margin-top:6px;font-size:13px}.duty-request-card p[data-v-07042cca]{margin:4px 0;color:#52617a;font-size:12px}.duty-request-card small[data-v-07042cca]{color:#8793a7;font-size:11px}.duty-request-type[data-v-07042cca]{display:inline-flex;padding:3px 7px;border-radius:4px;color:#1768ef;background:#edf4ff;font-size:10px;font-weight:700}.duty-request-actions[data-v-07042cca]{display:flex;flex:0 0 auto;gap:8px}.duty-request-actions button[data-v-07042cca]{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-07042cca]{border-color:#1768ef;color:#fff;background:#1768ef}.duty-expired-actions[data-v-07042cca]{display:flex;flex:0 0 auto;align-items:center;gap:10px}.duty-expired-actions button[data-v-07042cca]{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-result[data-v-07042cca]{flex:0 0 auto;color:#647188;font-size:11px;font-weight:700}.duty-result[data-status=ACCEPTED][data-v-07042cca]{color:#16805c}.duty-result[data-status=REJECTED][data-v-07042cca]{color:#c53b4a}.duty-result[data-status=CANCELLED][data-v-07042cca],.duty-result[data-status=EXPIRED][data-v-07042cca]{color:#8793a7}.duty-notification[data-v-07042cca]{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-07042cca]:first-of-type{border-top:0}.duty-notification.unread[data-v-07042cca]{box-shadow:inset 3px 0 #1768ef;background:#f5f9ff}.duty-notification strong[data-v-07042cca],.duty-notification small[data-v-07042cca]{display:block}.duty-notification small[data-v-07042cca]{margin-top:5px;color:#718096}.duty-notification time[data-v-07042cca]{flex:0 0 auto;color:#94a0b2;font-size:10px}.duty-change-empty[data-v-07042cca],.duty-change-state[data-v-07042cca]{min-height:120px;display:grid;place-items:center;padding:24px;color:#718096;font-size:12px}.duty-change-state[data-v-07042cca]{min-height:240px;border:1px solid #dce5f1;border-radius:8px;background:#fff}.duty-change-state.is-error[data-v-07042cca]{color:#c53b4a}.duty-change-message[data-v-07042cca]{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-07042cca]{min-height:94px;padding:16px}.duty-change-header h1[data-v-07042cca]{font-size:20px}.duty-type-switch[data-v-07042cca]{width:auto;margin-right:12px;margin-left:12px}.duty-change-form[data-v-07042cca]{grid-template-columns:1fr;padding-right:12px;padding-left:12px}.duty-change-form label.wide[data-v-07042cca]{grid-column:auto}.duty-primary[data-v-07042cca]{width:calc(100% - 24px);margin-right:12px;margin-left:12px}.duty-request-card[data-v-07042cca]{align-items:stretch;flex-direction:column;padding:14px}.duty-request-actions[data-v-07042cca]{display:grid;grid-template-columns:1fr 1fr}.duty-request-actions button[data-v-07042cca]{justify-content:center}.duty-notification[data-v-07042cca]{align-items:flex-start;flex-direction:column;padding:14px}}.family-student-switcher[data-v-bb93cf8b]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.family-student-switcher label[data-v-bb93cf8b]{color:#52617a;font-size:13px;font-weight:700}.family-student-switcher select[data-v-bb93cf8b]{min-width:220px;height:38px;padding:0 10px;border:1px solid #d7e1ef;border-radius:7px;background:#fff}.family-enrollment-state[data-v-bb93cf8b],.family-enrollment-message[data-v-bb93cf8b]{display:flex;align-items:center;justify-content:center;min-height:70px;color:#52617a}.family-enrollment-state[data-v-bb93cf8b]{gap:8px}.family-enrollment-message[data-v-bb93cf8b]{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-bb93cf8b]{border-color:#fecaca;color:#b42318;background:#fff5f5}.family-enrollment-collapsed[data-v-bb93cf8b]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #dbe5f1;border-radius:8px;background:#f8fbff}.family-enrollment-collapsed>div[data-v-bb93cf8b]{min-width:0;display:grid;gap:3px}.family-enrollment-collapsed small[data-v-bb93cf8b],.family-enrollment-collapsed em[data-v-bb93cf8b]{color:#718096;font-size:12px;font-style:normal}.family-enrollment-collapsed strong[data-v-bb93cf8b]{overflow-wrap:anywhere;color:#26334b;font-size:16px}.family-enrollment-collapsed span[data-v-bb93cf8b]{color:#1769ef;font-size:12px}.family-enrollment-collapsed span.is-complete[data-v-bb93cf8b]{color:#087443}.family-enrollment-collapsed button[data-v-bb93cf8b]{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 12px;border:1px solid #c9dafa;border-radius:7px;color:#1769ef;background:#fff;font-weight:700;cursor:pointer}.family-enrollment-form[data-v-bb93cf8b]{display:grid;gap:16px;margin-top:16px}.family-task-heading[data-v-bb93cf8b]{display:flex;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #e5ebf4}.family-task-heading h3[data-v-bb93cf8b],.family-task-heading p[data-v-bb93cf8b]{margin:0}.family-task-heading h3[data-v-bb93cf8b]{margin-top:4px;color:#172554;font-size:19px}.family-task-heading p[data-v-bb93cf8b],.family-task-heading small[data-v-bb93cf8b]{color:#718096}.family-task-heading p[data-v-bb93cf8b]{margin-top:7px;font-size:13px;line-height:1.6}.family-deadline[data-v-bb93cf8b]{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-bb93cf8b]{grid-row:1 / 3;align-self:center}.family-deadline span[data-v-bb93cf8b]{font-size:12px}.family-deadline strong[data-v-bb93cf8b]{font-size:14px}.family-enrollment-overview[data-v-bb93cf8b]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;border-top:1px solid #dbe5f1;border-bottom:1px solid #dbe5f1}.family-enrollment-overview>div[data-v-bb93cf8b]{min-width:0;display:grid;align-content:start;gap:5px;padding:13px 14px}.family-enrollment-overview>div+div[data-v-bb93cf8b]{border-left:1px solid #e5ebf4}.family-enrollment-overview small[data-v-bb93cf8b],.family-enrollment-overview span[data-v-bb93cf8b]{color:#718096;font-size:12px}.family-enrollment-overview strong[data-v-bb93cf8b]{overflow-wrap:anywhere;color:#26334b;font-size:14px;line-height:1.5}.family-enrollment-overview>div:first-child strong[data-v-bb93cf8b]{color:#087443}.family-enrollment-overview>div:last-child strong[data-v-bb93cf8b]{color:#1769ef;font-size:17px}.family-fixed-fields[data-v-bb93cf8b]{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-bb93cf8b]{display:grid;gap:5px;min-width:0;padding:12px}.family-fixed-fields div+div[data-v-bb93cf8b]{border-left:1px solid #e5ebf4}.family-fixed-fields small[data-v-bb93cf8b]{color:#718096}.family-fixed-fields strong[data-v-bb93cf8b]{overflow-wrap:anywhere;color:#26334b;font-size:13px}.family-form-step[data-v-bb93cf8b]{display:grid;gap:12px}.family-form-step>header[data-v-bb93cf8b]{display:flex;align-items:center;gap:10px}.family-form-step>header>span[data-v-bb93cf8b]{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-bb93cf8b]{display:grid;gap:2px}.family-form-step header strong[data-v-bb93cf8b]{color:#26334b}.family-form-step header small[data-v-bb93cf8b]{color:#718096}.family-form-step textarea[data-v-bb93cf8b]{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #d7e1ef;border-radius:7px;resize:vertical}.family-decision-options[data-v-bb93cf8b],.family-weekday-options[data-v-bb93cf8b]{display:flex;flex-wrap:wrap;gap:9px;padding-left:38px}.family-decision-options button[data-v-bb93cf8b],.family-weekday-options button[data-v-bb93cf8b]{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-bb93cf8b],.family-weekday-options button.active[data-v-bb93cf8b]{border-color:#2474f5;color:#1769ef;background:#eaf2ff}.family-period-list[data-v-bb93cf8b]{display:grid;gap:8px;padding-left:38px}.family-period-list>div[data-v-bb93cf8b]{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-bb93cf8b]{color:#26334b}.family-period-list label[data-v-bb93cf8b]{display:flex;align-items:center;gap:7px;color:#52617a}.family-period-list .is-required[data-v-bb93cf8b]{color:#1769ef}.family-enrollment-result[data-v-bb93cf8b]{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-bb93cf8b]{display:grid;gap:3px}.family-enrollment-result small[data-v-bb93cf8b]{color:#4b7b67}.family-enrollment-form footer[data-v-bb93cf8b]{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-bb93cf8b]{color:#718096}.family-enrollment-form footer button[data-v-bb93cf8b]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:140px}.family-legacy-note[data-v-bb93cf8b]{margin:0;padding:10px 12px;border:1px solid #fde68a;border-radius:7px;color:#8a5a00;background:#fffbeb}.is-spinning[data-v-bb93cf8b]{animation:family-spin-bb93cf8b .8s linear infinite}@keyframes family-spin-bb93cf8b{to{transform:rotate(360deg)}}@media(max-width:760px){.family-enrollment-collapsed[data-v-bb93cf8b]{align-items:stretch;flex-direction:column}.family-enrollment-collapsed button[data-v-bb93cf8b]{justify-content:center}.family-enrollment-overview[data-v-bb93cf8b]{grid-template-columns:1fr}.family-enrollment-overview>div+div[data-v-bb93cf8b]{border-top:1px solid #e5ebf4;border-left:0}.family-task-heading[data-v-bb93cf8b]{display:grid}.family-deadline[data-v-bb93cf8b]{min-width:0}.family-fixed-fields[data-v-bb93cf8b]{grid-template-columns:repeat(2,minmax(0,1fr))}.family-fixed-fields div+div[data-v-bb93cf8b]{border-left:0}.family-fixed-fields div[data-v-bb93cf8b]{border-bottom:1px solid #e5ebf4}.family-decision-options[data-v-bb93cf8b],.family-weekday-options[data-v-bb93cf8b],.family-period-list[data-v-bb93cf8b]{padding-left:0}.family-decision-options button[data-v-bb93cf8b]{flex:1}.family-weekday-options[data-v-bb93cf8b]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.family-weekday-options button[data-v-bb93cf8b]{width:100%;min-width:0;padding:0 4px}.family-period-list>div[data-v-bb93cf8b]{grid-template-columns:1fr}.family-enrollment-form footer[data-v-bb93cf8b]{align-items:stretch;flex-direction:column}.family-enrollment-form footer button[data-v-bb93cf8b]{width:100%}.family-student-switcher[data-v-bb93cf8b]{align-items:stretch;flex-direction:column}.family-student-switcher select[data-v-bb93cf8b]{width:100%;min-width:0}}.temporary-panel[data-v-8a9c3120]{display:grid;gap:14px}.field-label[data-v-8a9c3120]{display:grid;gap:7px;color:#334155;font-weight:800}.field-label select[data-v-8a9c3120],.field-label textarea[data-v-8a9c3120]{box-sizing:border-box;width:100%;border:1px solid #cbd8ea;border-radius:7px;padding:10px 12px;color:#172554;background:#fff}.field-label textarea[data-v-8a9c3120]{resize:vertical}.student-line[data-v-8a9c3120]{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;padding:10px 12px;border-left:3px solid #2474f5;background:#f4f8ff}.student-line span[data-v-8a9c3120],.request-row small[data-v-8a9c3120]{color:#718096}.session-list[data-v-8a9c3120]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-option[data-v-8a9c3120]{min-width:0;display:grid;grid-template-columns:auto 22px minmax(0,1fr);align-items:center;gap:9px;padding:12px;border:1px solid #d7e1ef;border-radius:7px;cursor:pointer;background:#fff}.session-option.selected[data-v-8a9c3120]{border-color:#2474f5;background:#eff6ff}.session-option>span[data-v-8a9c3120],.request-row>span[data-v-8a9c3120]{min-width:0;display:grid;gap:5px}.session-option small[data-v-8a9c3120]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:#64748b}.request-form[data-v-8a9c3120]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.feedback[data-v-8a9c3120]{margin:0;padding:10px 12px;border-radius:7px}.feedback.error[data-v-8a9c3120]{color:#b42318;background:#fff1f2}.feedback.success[data-v-8a9c3120]{color:#047857;background:#ecfdf5}.request-history[data-v-8a9c3120]{display:grid;gap:8px;padding-top:4px;border-top:1px solid #e2e8f0}.request-history h3[data-v-8a9c3120]{margin:0;font-size:15px}.request-row[data-v-8a9c3120]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f7}.request-row em[data-v-8a9c3120]{padding:5px 8px;border-radius:5px;font-style:normal;font-size:12px;font-weight:800;background:#f1f5f9}.request-row .status-approved[data-v-8a9c3120]{color:#047857;background:#ecfdf5}.request-row .status-rejected[data-v-8a9c3120],.request-row .status-cancelled[data-v-8a9c3120],.request-row .status-expired[data-v-8a9c3120]{color:#b42318;background:#fff1f2}.request-row .status-pending[data-v-8a9c3120]{color:#b45309;background:#fff7ed}.icon-action[data-v-8a9c3120]{display:inline-flex;align-items:center;gap:5px;border:0;color:#1d4ed8;background:transparent;cursor:pointer}.compact-state[data-v-8a9c3120]{padding:16px;text-align:center;color:#718096}@media(max-width:720px){.session-list[data-v-8a9c3120],.request-form[data-v-8a9c3120]{grid-template-columns:1fr}.request-row[data-v-8a9c3120]{grid-template-columns:minmax(0,1fr) auto}.request-row .icon-action[data-v-8a9c3120]{grid-column:1 / -1;justify-self:start;min-height:36px}}.leave-panel[data-v-444602e4],.history[data-v-444602e4]{display:grid;gap:14px}.leave-panel label[data-v-444602e4]{display:grid;gap:7px;font-weight:800}.leave-panel select[data-v-444602e4],.leave-panel textarea[data-v-444602e4]{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #cbd8ea;border-radius:7px;background:#fff}.student-line[data-v-444602e4]{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 12px;border-left:3px solid #2474f5;background:#f4f8ff}.student-line span[data-v-444602e4],.session-option small[data-v-444602e4],.history-row small[data-v-444602e4]{color:#718096}.session-list[data-v-444602e4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-option[data-v-444602e4]{grid-template-columns:auto 22px minmax(0,1fr)!important;align-items:center;gap:9px!important;padding:12px;border:1px solid #d7e1ef;border-radius:7px;cursor:pointer}.session-option.selected[data-v-444602e4]{border-color:#2474f5;background:#eff6ff}.session-option>span[data-v-444602e4]{display:grid;gap:5px}.session-option small[data-v-444602e4]{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.request-form[data-v-444602e4]{display:grid;grid-template-columns:160px minmax(0,1fr) auto;align-items:end;gap:12px}.feedback[data-v-444602e4]{margin:0;padding:10px 12px;border-radius:7px}.feedback.error[data-v-444602e4]{color:#b42318;background:#fff1f2}.feedback.success[data-v-444602e4]{color:#047857;background:#ecfdf5}.history[data-v-444602e4]{border-top:1px solid #e2e8f0;padding-top:12px}.history h3[data-v-444602e4]{margin:0}.history-row[data-v-444602e4]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f7}.history-row>span[data-v-444602e4]{display:grid}.history-row em[data-v-444602e4]{padding:5px 8px;border-radius:5px;font-style:normal;background:#f1f5f9}.history-row button[data-v-444602e4]{display:flex;align-items:center;gap:5px;border:0;color:#1d4ed8;background:transparent}.compact-state[data-v-444602e4]{padding:16px;text-align:center;color:#718096}@media(max-width:720px){.session-list[data-v-444602e4],.request-form[data-v-444602e4]{grid-template-columns:1fr}.history-row[data-v-444602e4]{grid-template-columns:minmax(0,1fr) auto}.history-row button[data-v-444602e4]{grid-column:1/-1}}.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;color:inherit;text-align:left;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.role-feature-card:hover{border-color:#b9d1fb;box-shadow:0 8px 20px #1769ef17;transform:translateY(-1px)}.role-feature-card:focus-visible{outline:3px solid rgba(23,105,239,.22);outline-offset:2px}.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-arrow{margin-top:4px;color:#1769ef}.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-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-action-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px 16px;border:1px solid #dfe8f5;border-radius:8px;color:#263b59;text-align:left;background:#fff;cursor:pointer}.role-action-list>button>span:nth-child(2){display:grid;gap:4px}.role-action-list strong{font-size:15px}.role-action-list small{color:#748198;font-size:12px}.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}.role-action-list{grid-template-columns:repeat(2,minmax(0,1fr))}.role-action-enrollment{grid-column:1 / -1}.role-action-list>button{min-width:0;grid-template-columns:38px minmax(0,1fr) 16px;padding:12px}.role-action-list small{display:none}}: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:flex-start;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--esm-line)}.esm-duty-profile>div{flex:1;min-width:0;display:grid;gap:4px}.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-profile__facts{min-width:0;display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:2px}.esm-duty-profile__facts em{min-width:0;display:inline-flex;align-items:center;gap:5px;color:#526078;font-size:10px;font-style:normal;line-height:1.4}.esm-duty-profile__facts svg{flex:0 0 auto;color:var(--esm-primary)}.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-list{display:grid;gap:10px}.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:1px solid #e2eaf7;border-radius:8px;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-session-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding:14px 16px;border-bottom:1px solid #e8edf4;background:#f8fafc}.admin-session-summary>div,.admin-session-summary>button{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:11px 12px;border:1px solid #dfe6f0;border-radius:6px;background:#fff;color:inherit;font:inherit;text-align:left}.admin-session-summary>button{cursor:pointer}.admin-session-summary>button.active{border-color:#1769ed;background:#edf4ff}.admin-session-summary strong,.admin-session-summary small{overflow-wrap:anywhere}.admin-session-summary strong{color:#18243d;font-size:13px}.admin-session-summary small{color:#718096;font-size:11px}.admin-session-summary .admin-status{grid-row:1 / span 2;grid-column:2}.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-attendance-toolbar{flex-wrap:wrap;justify-content:flex-end}.admin-evaluation-panel .admin-panel-title{align-items:flex-start;flex-wrap:wrap}.admin-evaluation-toolbar{flex:1 1 760px;flex-wrap:wrap;justify-content:flex-end}.admin-evaluation-toolbar label{flex:0 1 auto}.admin-evaluation-toolbar .admin-evaluation-search{flex:1 1 220px;min-width:220px}.admin-evaluation-toolbar .admin-filter-select.is-session{width:180px}.admin-evaluation-toolbar .admin-filter-select.is-teacher{width:110px}.admin-evaluation-score{width:54px;color:#18243d!important;font-size:15px;font-weight:800;text-align:center}.admin-evaluation-table .admin-description{min-width:220px}.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-announcement-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:14px;padding:16px}.admin-announcement-form label{min-width:0;display:grid;gap:7px}.admin-announcement-form label>span{color:#34445e;font-size:12px;font-weight:700}.admin-announcement-form input,.admin-announcement-form select,.admin-announcement-form textarea{width:100%;border:1px solid #d6deea;border-radius:6px;color:#18243d;background:#fff;font:inherit;outline:none}.admin-announcement-form input,.admin-announcement-form select{height:38px;padding:0 11px}.admin-announcement-form textarea{min-height:92px;padding:10px 11px;resize:vertical;line-height:1.55}.admin-announcement-form input:focus,.admin-announcement-form select:focus,.admin-announcement-form textarea:focus{border-color:#1768ef;box-shadow:0 0 0 3px #1768ef14}.admin-announcement-form .is-wide{grid-column:1 / -1}.admin-announcement-form small{color:#8793a7;font-size:11px;text-align:right}.admin-form-actions{display:flex;justify-content:flex-end}.admin-toolbar input{width:150px;border:0;outline:0;color:#26334b;background:transparent;font-size:12px}.admin-filter-select{width:88px;min-width:0;border:0;outline:0;color:#26334b;background:transparent;font:inherit;cursor:pointer}.admin-filter-select.is-class{width:124px}.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}.admin-scope-tags{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 16px}.admin-scope-tags span{max-width:100%;padding:6px 9px;overflow:hidden;border:1px solid #dce7f7;border-radius:6px;color:#315780;background:#f4f8fe;font-size:11px;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-archive-toggle{display:inline-flex;align-items:center;gap:7px;color:#5c6c87;font-size:12px;cursor:pointer}.enrollment-archive-toggle input{width:15px;height:15px;accent-color:#1769ed}.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}.enrollment-manual-backdrop{z-index:1310}.enrollment-manual-dialog{width:min(680px,100%)}.enrollment-manual-form{display:grid;gap:16px}.enrollment-manual-form>label{display:grid;gap:7px;color:#34425a;font-size:12px;font-weight:700}.enrollment-manual-form select,.enrollment-manual-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8e2ef;border-radius:6px;padding:10px 12px;color:#26334b;background:#fff;font:inherit}.enrollment-manual-form fieldset{margin:0;padding:12px;border:1px solid #d8e2ef;border-radius:6px}.enrollment-manual-form legend{padding:0 5px;color:#34425a;font-size:12px;font-weight:700}.enrollment-manual-weekdays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.enrollment-manual-weekdays>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:0 9px;border:1px solid #e4eaf2;border-radius:6px}.enrollment-manual-weekdays label{display:flex;align-items:center;gap:5px;color:#26334b;font-size:12px}.enrollment-manual-weekdays label.is-secondary{color:#68758a}@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%}.enrollment-manual-weekdays{grid-template-columns:1fr}}.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-rebind{display:grid;gap:8px;margin-top:3px;padding:9px;border:1px solid #dce5f0;border-radius:6px;background:#f8fafc}.student-sync-rebind>div:not(.student-sync-rebind-actions){display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center}.student-sync-rebind>div>span{color:#718096;font-size:10px}.student-sync-rebind code{color:#34445e}.student-sync-rebind-actions{display:flex;justify-content:flex-end;gap:7px}.student-sync-rebind .admin-button{min-height:30px;padding:5px 9px;font-size:11px}.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-attendance-toolbar label{flex:1 1 140px}.admin-attendance-toolbar .admin-attendance-search{flex-basis:100%}.admin-attendance-toolbar .admin-filter-select{width:100%}.admin-attendance-toolbar .admin-button{flex:1 1 100%}.admin-evaluation-toolbar{flex-basis:100%;justify-content:stretch}.admin-evaluation-toolbar label{flex:1 1 140px}.admin-evaluation-toolbar .admin-evaluation-search{flex-basis:100%;min-width:0}.admin-evaluation-toolbar .admin-filter-select{width:100%}.admin-evaluation-toolbar .admin-button{flex:1 1 100%}.admin-announcement-form{grid-template-columns:minmax(0,1fr)}.admin-announcement-form .is-wide{grid-column:auto}.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}}
