:root{--misi-action:#11a16f;--misi-action-strong:#087359;--misi-action-deep:#0a5f47;--misi-action-soft:#e8f6f1;--misi-action-line:#b9e2d1;color:var(--misi-ink);background:var(--misi-canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--misi-brand:#32b889;--misi-brand-strong:#239d72;--misi-primary:#007ab5;--misi-danger:#e84d4d;--misi-warning:#e6a23c;--misi-sidebar:#1e2d3d;--misi-sidebar-active:#172536;--misi-sidebar-text:#c9d2db;--misi-border:var(--misi-line);--misi-muted:var(--misi-ink-4);--misi-surface:#fff;--misi-ink:#233140;--misi-ink-2:#3f4d5b;--misi-ink-3:#5c6b7a;--misi-ink-4:#8492a0;--misi-line:#e2e8ee;--misi-line-soft:#eef1f5;--misi-canvas:#f4f6f9;--misi-raised:#fafbfc;--misi-text-xs:12px;--misi-text-sm:13px;--misi-text-base:14px;--misi-text-md:16px;--misi-text-lg:20px;--misi-text-xl:24px;--misi-text-2xl:30px;--misi-weight-regular:400;--misi-weight-medium:500;--misi-weight-semibold:600;--misi-radius-xs:4px;--misi-radius-sm:6px;--misi-radius-md:8px;--misi-radius-lg:12px;--misi-radius-pill:999px;--misi-shadow-1:0 1px 2px #172b3d0d, 0 1px 3px #172b3d0a;--misi-shadow-2:0 4px 14px #172b3d14;--misi-shadow-3:0 18px 48px #172b3d2e;--misi-space-1:4px;--misi-space-2:8px;--misi-space-3:12px;--misi-space-4:16px;--misi-space-5:20px;--misi-space-6:24px;--misi-empty-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%238fa0b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 18h9l3 5h8l3-5h9'/%3E%3Cpath d='M8 18 12.5 9h23L40 18v17a3 3 0 0 1-3 3H11a3 3 0 0 1-3-3Z'/%3E%3C/svg%3E");font-family:-apple-system,BlinkMacSystemFont,PingFang SC,HarmonyOS Sans SC,Source Han Sans SC,Noto Sans CJK SC,Segoe UI,Microsoft YaHei,system-ui,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:1180px;min-height:100%;margin:0}html.misi-admin-viewport-locked,body.misi-admin-viewport-locked{overscroll-behavior:none;height:100%;overflow:hidden}body{background:var(--misi-canvas);min-height:100vh;font-size:var(--misi-text-base);line-height:1.6}h1,h2,h3,h4{font-weight:var(--misi-weight-semibold);color:var(--misi-ink);letter-spacing:-.01em}h1{font-size:var(--misi-text-xl);line-height:1.35}h2{font-size:var(--misi-text-md);line-height:1.45}h3{font-size:var(--misi-text-base);line-height:1.5}th{font-weight:var(--misi-weight-medium);color:var(--misi-ink-3)}strong,b{font-weight:var(--misi-weight-semibold)}button,input,select,textarea{font:inherit}button{cursor:pointer}.misi-button{border-radius:var(--misi-radius-sm);color:#fff;background:var(--misi-primary);min-height:32px;font-weight:var(--misi-weight-medium);border:1px solid #0000;padding:0 14px}.misi-button--secondary{color:#44515e;border-color:var(--misi-border);background:#fff}.misi-button--brand{background:var(--misi-brand)}.misi-card{border:1px solid var(--misi-line);border-radius:var(--misi-radius-md);background:var(--misi-surface);box-shadow:var(--misi-shadow-1)}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--misi-primary);outline-offset:2px;border-radius:var(--misi-radius-xs)}button:disabled{cursor:not-allowed}input,select,textarea{accent-color:var(--misi-primary)}::selection{color:#193d50;background:#cdebf6}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ee-card-image{object-fit:contain;max-width:100%;height:auto;margin:12px 0;display:block}#app :is(.empty,.wb-empty,.teacher-empty,.report-empty,.ai-empty,.empty-side,.home-empty,.schedule-empty,.resource-empty,.tree-empty,.staging-empty,.row-empty,.basket-empty,.dw-empty,.upload-empty,.credit-log-empty,.plans__empty,.portal-progress__empty):not(td):not(th):not(.credit-chip):not(.player-empty){min-height:132px;color:var(--misi-ink-4);text-align:center;align-content:center;justify-items:center;gap:10px;padding:28px 20px;line-height:1.7;display:grid}#app td:is(.empty,.empty-cell){color:var(--misi-ink-4);text-align:center;padding:30px 16px;line-height:1.7}#app :is(.empty,.wb-empty,.teacher-empty,.report-empty,.ai-empty,.empty-side,.home-empty,.schedule-empty,.resource-empty,.tree-empty,.staging-empty,.row-empty,.basket-empty,.dw-empty,.upload-empty,.credit-log-empty,.plans__empty,.portal-progress__empty):not(td):not(th):not(.credit-chip):not(.player-empty):before,#app td:is(.empty,.empty-cell):before{opacity:.7;background:var(--misi-empty-mark) center / contain no-repeat;content:"";width:38px;height:38px;margin:0 auto;display:block}#app :is(.empty,.wb-empty,.teacher-empty,.home-empty):not(td) :is(button,a){margin-top:2px}#app{--misi-primary:#007ab5;--misi-muted:var(--misi-ink-3);--misi-border:var(--misi-line)}.shell{background:#f4f7fa}:where(.shell) .tabs{border-bottom:1px solid var(--misi-line);background:#fff}:where(.shell) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea):not(:where(.tenant-shared-assembly *)){border-radius:6px}:where(.shell) :is(input,select,textarea):focus-visible{outline-offset:2px;outline:2px solid #007ab5}:where(.shell) table th{color:#4f6875;background:#f1f6f8;font-weight:600}:where(.shell) table td{border-bottom-color:#e5ecef}:where(.shell) table tbody tr:hover{background:#f7fafc}:where(.shell) :is(.resource-empty,.access-state){border-color:var(--misi-line);border-radius:8px}:root{--misi-radius-sm:8px;--misi-radius:12px;--misi-radius-lg:16px;--misi-shadow-card:0 1px 2px #1226380a, 0 2px 10px #1226380d;--misi-shadow-pop:0 18px 44px #0f203029, 0 2px 8px #0f20300f;--misi-surface:#fff;--misi-line-soft:#e5edf1;--misi-text-1:#1f3340;--misi-text-2:#5b7180;--misi-text-3:#8b9daa}:where(.shell) .content:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){padding:22px 26px 32px}:where(.shell .content) h1:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-1);letter-spacing:-.015em;font-size:20px;font-weight:700;line-height:1.3}:where(.shell .content) h2:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-1);letter-spacing:-.01em;font-size:16px;font-weight:650}:where(.shell .content) h3:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-1);font-size:14px;font-weight:650}:where(.shell .content) :is(.page-head,.page-heading):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){align-items:flex-start;gap:20px;margin:0 0 16px}:where(.shell .content) :is(.page-head,.page-heading) h1:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){margin:4px 0 6px}:where(.shell .content) :is(.page-head,.page-heading)>div>span:first-child:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-3);letter-spacing:.02em;font-size:12px}:where(.shell .content) :is(.page-head,.page-heading) p:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-2);margin:0;font-size:13px;line-height:1.6}:where(.shell .content) :is(.toolbar,.filters):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border:1px solid var(--misi-line-soft);background:var(--misi-surface);border-radius:8px;gap:10px;margin-top:12px;padding:12px 14px}:where(.shell .content) :is(.table-wrap,.table):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border:1px solid var(--misi-line-soft);border-radius:var(--misi-radius);background:var(--misi-surface);box-shadow:var(--misi-shadow-card);margin-top:12px}:where(.shell .content) table:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-collapse:collapse;width:100%}:where(.shell .content) table thead th:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:#4d6775;letter-spacing:.03em;text-align:left;white-space:nowrap;background:#f3f7f9;border-bottom:1px solid #e2eaef;padding:11px 14px;font-size:12px;font-weight:650}:where(.shell .content) table tbody td:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-1);border-bottom:1px solid #eef3f6;padding:12px 14px;font-size:13px}:where(.shell .content) table tbody tr:last-child>td:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-bottom:0}:where(.shell .content) table tbody tr:hover>td:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){background:#f7fafc}:where(.shell .content) .table>header:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:#4d6775;letter-spacing:.03em;background:#f3f7f9;border-bottom:1px solid #e2eaef;padding:11px 14px;font-size:12px;font-weight:650}:where(.shell .content) .table>header:first-child:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-radius:12px 12px 0 0}:where(.shell .content) .table>article:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-bottom:1px solid #eef3f6;padding:12px 14px}:where(.shell .content) .table>article:last-child:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-bottom:0;border-radius:0 0 12px 12px}:where(.shell .content) .table>article:hover:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){background:#f7fafc}:where(.shell .content) :is(.resource-empty,.access-state):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-radius:var(--misi-radius);min-height:240px;color:var(--misi-text-3);background:#fbfdfe;border:1px dashed #d5e2ea;font-size:13px}#app .shell .content table tbody td:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)):is(.empty,.empty-cell){color:var(--misi-text-1);padding:12px 14px}#app .tenant-shell .content :is(.admin-page,.students-page,.class-page,.course-page,.timetable-page) table td:is(.empty,.empty-cell){padding-top:14px;padding-bottom:14px}#app .tenant-shell .wb-teachers .wb-teacher-table td:is(.empty,.empty-cell){padding:10px 12px;line-height:1.4}#app .tenant-shell .content :is(.students-page,.class-page,.course-page,.admin-page) table td:is(.empty,.empty-cell){padding:10px 12px;line-height:1.5}#app .tenant-shell .content .renewal-page td:is(.empty,.empty-cell){padding:13px 16px}#app .tenant-shell .content .renewal-page .empty{text-align:center;color:#8297ae;padding:28px}#app .tenant-shell .content .student-list-card td:is(.empty,.empty-cell){color:#223343;padding:12px 16px}#app .tenant-shell .content .student-list-card td:first-child:is(.empty,.empty-cell){padding-left:16px;padding-right:6px}#app .tenant-shell .content .course-list-table td:is(.empty,.empty-cell){color:#243547;padding:14px 16px}#app .tenant-shell .content .class-list-panel td:is(.empty,.empty-cell){padding:13px 15px}#app .tenant-shell .content .timetable-page .compact-week td:is(.empty,.empty-cell){padding:4px}#app .tenant-shell .content .assignment-list-table :is(th,td):is(.empty,.empty-cell){padding:14px 12px}:where(.shell .content) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-radius:var(--misi-radius-sm);color:var(--misi-text-1);background:#fff;border-color:#d3e0e7}:where(.shell .content) :is(input,textarea):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *))::placeholder{color:#9dacb7}:where(.shell .content) button:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-radius:var(--misi-radius-sm);font-family:inherit;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s}:where(.shell .content) button:focus-visible:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){outline:2px solid var(--misi-action);outline-offset:2px}:where(.shell .content) :where(button):focus-visible:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-radius:var(--misi-radius-sm)}:where(.shell .content) button.primary:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){font-weight:600;box-shadow:0 1px 2px #11a16f38,0 6px 14px -6px #11a16f61;border-color:var(--misi-action)!important;background:var(--misi-action)!important;color:#fff!important}:where(.shell .content) button.primary:hover:not(:disabled):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){box-shadow:0 2px 4px #0873593d,0 8px 18px -6px #0873596b;border-color:var(--misi-action-strong)!important;background:var(--misi-action-strong)!important}:where(.shell .content) button.primary:disabled:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){box-shadow:none;opacity:.5}:where(.shell .content) :is(.page-head,.toolbar,.filters) button:not(.primary):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)),:where(.shell .content) .actions button:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-2);background:#fff;border:1px solid #dde8ee}:where(.shell .content) :is(.page-head,.toolbar,.filters) button:not(.primary):hover:not(:disabled):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)),:where(.shell .content) .actions button:hover:not(:disabled):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:var(--misi-text-1);background:#f6fafc;border-color:#c6d8e2}:where(.shell .content) .actions button:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){height:30px;padding:0 10px;font-size:12px}:where(.shell .content) .actions button.warn:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:#8f6210;background:#fffaf1;border-color:#f1ddb6}:where(.shell .content) .actions button.warn:hover:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){background:#fff4e0}:where(.shell .content) .actions button.danger:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){color:#a9433d;background:#fff7f6;border-color:#f3d1cf}:where(.shell .content) .actions button.danger:hover:not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){background:#ffefee}:where(.shell .content) :is(.table,table) :is(i[data-status],i[data-state],.badge,.tag,.pill):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-radius:999px;padding:3px 10px;font-size:11px;font-style:normal;font-weight:600}:where(.shell .content) :is(.notice,.hint):not(:where(.assignment-detail,.assignment-detail *,.tenant-shared-assembly,.tenant-shared-assembly *)){border-radius:8px}:root:root [class$=-dialog],:root:root section.modal{border-radius:var(--misi-radius-lg);box-shadow:var(--misi-shadow-pop)}:root{--wb-green:#0fa47f;--wb-ink:#1d2b38;--wb-muted:#8599b0;--wb-line:#e2eaf3;--wb-bg:var(--misi-canvas)}:where(.tenant-shell .content) h1:not(:where(.assignment-detail,.assignment-detail *)){color:var(--wb-ink)}.wb-page-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.wb-page-head p{color:#536b88;margin:0;font-size:13px}.wb-page-head small{color:var(--wb-muted);font-size:12px}.wb-actions{align-items:center;gap:8px;display:flex}:where(.tenant-shell .content) .primary{background:var(--wb-green);border-color:var(--wb-green);color:#fff;border-radius:8px;box-shadow:0 2px 3px #0fa47f16}:where(.tenant-shell .content) .primary:disabled,:where(.tenant-shell .content) button.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.wb-columns{grid-template-columns:1.45fr 1fr;gap:14px;margin:14px 0;display:grid}.wb-card{border:1px solid var(--wb-line);background:#fff;border-radius:12px;min-width:0;overflow:hidden;box-shadow:0 1px 2px #162b4808}.wb-card>header{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:10px;padding:18px;display:flex}.wb-card h2{margin:0}.wb-card header p{color:var(--wb-muted);margin:6px 0 0;font-size:12px}.wb-card-body{padding:6px 18px 18px}.wb-person-row strong{font-size:13px}.wb-person-row small{color:var(--wb-muted);margin-top:4px;font-size:12px;display:block}.wb-empty{text-align:center;color:var(--wb-muted);padding:28px 10px;font-size:13px}.wb-person-row{border-bottom:1px solid #edf1f6;align-items:center;gap:10px;padding:13px 0;display:flex}.wb-person-row>div{flex:1}.wb-person-row>span:last-child{color:var(--wb-muted);font-size:12px}.wb-avatar{color:#008565;background:#e9f5f0;border-radius:50%;flex-shrink:0;place-items:center;width:31px;height:31px;display:inline-grid}progress{accent-color:var(--wb-green)}progress::-webkit-progress-bar{background:#edf2f7}progress::-webkit-progress-value{background:#0fa47f}.wb-error{color:#a7382d;background:#fff2f0;border-radius:8px;padding:12px}.wb-setting-row{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.wb-setting-row p{color:#8599b0;font-size:12px}.wb-status{color:#008565;background:#e8f7f2;border-radius:6px;padding:4px 8px;font-size:12px}@media (width<=1150px){.wb-columns{grid-template-columns:1fr}}@media (width<=760px){.wb-page-head,.wb-actions,.wb-setting-row{flex-wrap:wrap}}:where(.tenant-shell .content) :is(.list-card,.catalog-card,.students-page>.card,.class-page>.panel,.timetable-page>.panel){border:1px solid var(--wb-line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #162b4808}:where(.tenant-shell .content) :is(.list-card,.catalog-card,.students-page>.card,.class-page>.panel,.timetable-page>.panel)>.filters{border:0;border-radius:0;margin:0;padding:16px 18px}html,body,#app{min-width:0}@media (width<=760px){.wb-card>header{padding:14px}.wb-card-body{padding:6px 12px 14px}}:where(.tenant-shell) .wb-insights{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}:where(.tenant-shell) .wb-insights .wb-card{min-width:0}:where(.tenant-shell) .wb-insight-row{grid-template-columns:minmax(80px,1fr) 2fr auto;align-items:center;gap:16px;padding:10px 0;font-size:13px;display:grid}:where(.tenant-shell) .wb-insight-row progress{accent-color:#0fa47f;border:0;width:100%;height:7px}:where(.tenant-shell) .wb-insight-row small{color:#8599b0}@media (width<=800px){:where(.tenant-shell) .wb-insights{grid-template-columns:1fr}}:where(.tenant-shell .content) .page-head,:where(.tenant-shell .content) .page-heading,:where(.tenant-shell .content) .heading,:where(.tenant-shell .content) .wb-page-head{align-items:flex-end;margin-bottom:18px}:where(.tenant-shell .content) h1:not(:where(.assignment-detail,.assignment-detail *)){letter-spacing:-.2px;margin:3px 0;font-size:21px;font-weight:640;line-height:1.6}
