.language-switcher{z-index:9999;border:1px solid var(--line);direction:ltr;background:#fffffff2;border-radius:999px;gap:6px;padding:6px;display:flex;position:fixed;top:14px;left:14px;box-shadow:0 8px 24px #0000001a}.language-switcher button{color:#0f172a;background:#f8fafc;border:1px solid #d9dee8;border-radius:999px;min-width:42px;padding:7px 9px;font-size:12px;font-weight:800}.language-switcher button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.skip-link{inset-inline-start:16px;z-index:10000;color:#fff;background:#0f172a;border:2px solid #60a5fa;border-radius:999px;padding:10px 14px;font-weight:800;transition:transform .18s,box-shadow .18s;position:fixed;top:16px;transform:translateY(-180%);box-shadow:0 10px 28px #0f172a47}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);box-shadow:0 12px 30px #0f172a52}.mobile-appbar,.mobile-sidebar-backdrop,.mobile-sidebar-close{display:none}html[dir=ltr] .shell{direction:ltr}html[dir=rtl] .shell{direction:rtl}html[dir=ltr] table,html[dir=ltr] th,html[dir=ltr] td{text-align:center}.shell{isolation:isolate;flex-direction:row;align-items:flex-start;width:100%;min-height:100vh;display:flex}.sidebar{color:#fff;z-index:20;background:#0f172a;flex:0 0 260px;align-self:start;width:260px;height:100vh;padding:24px;position:sticky;top:0;overflow:hidden auto}.sidebar h1{margin:0;font-size:clamp(24px,4vw,34px);line-height:1.1}.sidebar p{color:#cbd5e1;margin-top:4px}.shell-connection-status{background:#0f172a47;border:1px solid #94a3b833;border-radius:8px;gap:4px;margin-top:14px;padding:10px 12px;display:grid}.shell-connection-status span{color:#cbd5e1;font-size:12px;font-weight:700}.shell-connection-status strong{font-size:14px}.shell-status-online{color:#86efac}.shell-status-offline{color:#fca5a5}.sidebar nav{flex-direction:column;gap:8px;margin-top:24px;display:flex}.sidebar button{color:#e2e8f0;text-align:inherit;background:0 0;align-items:center;gap:10px;min-width:0;display:flex}.sidebar button.active{background:#2563eb}.content{z-index:1;flex:auto;min-width:0;padding:24px;position:relative}.page h2{margin-top:0}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:1.25fr .75fr}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 18px #0000000a}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-header h2{margin:0;font-size:20px}.sidebar button.nav-disabled,.sidebar button.nav-disabled:hover,.sidebar button.nav-disabled:disabled{opacity:.34;cursor:not-allowed;box-shadow:none;color:#94a3b8;background:0 0}.sidebar button.nav-disabled svg{opacity:.55}.sidebar-group{gap:8px;display:grid}.sidebar-group-header{color:#fff;background:#94a3b81f;border:1px solid #94a3b82e;justify-content:space-between;align-items:center;width:100%;padding-inline:12px;font-weight:900}.sidebar-group-header:hover{background:#2563eb42}.sidebar-group-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.sidebar-group-title span,.sidebar button span{white-space:normal;line-height:1.45}.sidebar-group-header svg{flex:none;transition:transform .16s}.sidebar-group-header .chevron-open{transform:rotate(180deg)}.sidebar-group-body{gap:6px;padding-inline-start:8px;display:grid}.sidebar-subitem{background:#ffffff0a;border:1px solid #94a3b824;min-width:0;padding-inline:14px;font-size:14px}.sidebar-subitem.active{background:#2563eb;border-color:#2563eb}.sidebar-mainitem{min-width:0;padding-inline:12px}.daily-section{scroll-margin-top:16px}.daily-section-shell{gap:14px;display:grid}.daily-section-shell-header{background:linear-gradient(180deg, var(--daily-accent-soft,#f8fbff), #fff);border:1px solid var(--daily-accent-border,#d7deea);border-inline-start:5px solid var(--daily-accent,#2563eb);border-radius:10px;padding:14px 16px;box-shadow:0 6px 16px #0f172a0d}.daily-section-shell-kicker{color:var(--daily-accent-ink,#1e3a8a);margin-bottom:6px;font-size:17px;font-weight:900;display:inline-flex}.daily-section-shell-header p{color:#475569;margin:0;line-height:1.7}.daily-section-shell-body{gap:14px;display:grid}.daily-page-banner{border:1px solid #d7deea;border-inline-start:6px solid var(--daily-accent,#2563eb);background:linear-gradient(#fff,#f8fbff);border-radius:8px;justify-content:space-between;align-items:stretch;gap:16px;padding:18px 20px;display:flex;box-shadow:0 8px 20px #0f172a14}.daily-page-kicker{color:#2563eb;letter-spacing:.2px;margin-bottom:8px;font-weight:900;display:inline-flex}.daily-page-banner h2{margin:0;font-size:26px}.daily-page-banner p{color:#475569;max-width:860px;margin:8px 0 0;line-height:1.7}.daily-page-summary{justify-content:flex-end;align-items:center;min-width:min(340px,100%);display:flex}.daily-page-summary span{background:var(--daily-accent-soft,#eff6ff);color:var(--daily-accent,#1d4ed8);border:1px solid var(--daily-accent-border,#bfdbfe);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;font-weight:800;line-height:1.6;display:inline-flex}.daily-page .system-note{border-color:var(--daily-accent-border,#bfdbfe);background:var(--daily-accent-soft,#eff6ff);color:var(--daily-accent-ink,#1e3a8a)}.daily-page .card{border-color:var(--daily-accent-border,#cfd7e6)}.daily-page .card-header{border-bottom-color:var(--daily-accent-border,#e7ebf3)}.daily-page--statusInput{--daily-accent:#2563eb;--daily-accent-soft:#eff6ff;--daily-accent-border:#bfdbfe;--daily-accent-ink:#1e3a8a}.daily-page--fullSchedule{--daily-accent:#7c3aed;--daily-accent-soft:#f5f3ff;--daily-accent-border:#ddd6fe;--daily-accent-ink:#5b21b6}.daily-page--duties{--daily-accent:#0f766e;--daily-accent-soft:#f0fdfa;--daily-accent-border:#99f6e4;--daily-accent-ink:#115e59}.daily-page--freeTeachers{--daily-accent:#d97706;--daily-accent-soft:#fffbeb;--daily-accent-border:#fde68a;--daily-accent-ink:#92400e}.daily-page--substitutions{--daily-accent:#dc2626;--daily-accent-soft:#fef2f2;--daily-accent-border:#fecaca;--daily-accent-ink:#991b1b}.daily-page--teacherPrograms{--daily-accent:#0891b2;--daily-accent-soft:#ecfeff;--daily-accent-border:#a5f3fc;--daily-accent-ink:#155e75}.daily-page--events{--daily-accent:#16a34a;--daily-accent-soft:#f0fdf4;--daily-accent-border:#bbf7d0;--daily-accent-ink:#166534}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto}table{border-collapse:collapse;table-layout:auto;background:#fff;width:100%}th,td{border:1px solid var(--line);text-align:center;white-space:normal;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;padding:10px}th{background:#eef4ff}tr.selected{background:#dbeafe}button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px}button{background:var(--primary);color:#fff;cursor:pointer;border:none;font-weight:700}button.danger{background:var(--danger)}.form{gap:10px;display:grid}.form label{gap:6px;font-weight:700;display:grid}.form-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.actions{gap:10px;display:flex}@media print{@page{size:A4 portrait;margin:0}body{background:#fff}.language-switcher,.sidebar,.no-print,.daily-page>h2,.daily-page>.card:not(:last-child),.card-header button,.teacher-program-controls,.student-certificates-page>h2,.student-certificates-page>.card:first-of-type,.student-certificates-page>.card:last-of-type,.certificate-controls-column,.certificate-top-actions,.certificate-saving-row,.certificate-table button{display:none!important}.student-certificates-page,.certificate-layout{display:block}.certificate-preview-column{width:100%;display:block}.certificate-preview{width:100%;box-shadow:none;border:1px solid #cbd5e1}.certificate-preview-header{break-inside:avoid}.certificate-print-sheet{break-after:page;page-break-after:always;width:210mm!important;min-height:297mm!important;box-shadow:none!important;margin:0 auto!important}.certificate-print-header,.certificate-student-data,.certificate-result-panel,.certificate-attendance-cards,.certificate-print-notes,.certificate-print-signatures{break-inside:avoid;page-break-inside:avoid}.certificate-print-table{break-inside:auto;page-break-inside:auto}.certificate-print-table tr{break-inside:avoid;page-break-inside:avoid}.card{box-shadow:none;border:none;padding:0}.card-header{margin-bottom:8px;display:block}.card-header h2{text-align:center;font-size:18px}.teacher-programs-print-area{display:block}.teacher-program-card{border-radius:8px;margin-bottom:10px;padding:10px}.teacher-program-header h3{font-size:16px}.teacher-program-summary span{padding:4px 6px;font-size:11px}.compact-table th,.compact-table td{min-width:auto;padding:4px;font-size:10px}.sidebar,.language-switcher,.no-print,.actions,button,input,select,.card-header>div{display:none!important}.shell{display:block}.content{padding:0}.card{box-shadow:none;border:none}.teacher-program-card{break-inside:avoid}}:root{--bg:#f6f7fb;--card:#fff;--ink:#1f2937;--muted:#64748b;--line:#d9dee8;--primary:#2563eb;--danger:#dc2626}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);direction:inherit;margin:0;font-family:Tahoma,Arial,sans-serif}.alert{color:#7f1d1d;background:#fee2e2;border-radius:12px;margin:12px 0;padding:12px}.report-text{white-space:pre-wrap;background:#f8fafc;border-radius:12px;padding:16px;line-height:1.8}@media (width<=900px){.shell{flex-direction:column;min-height:100svh;padding-top:64px}.mobile-appbar{z-index:60;color:#fff;background:#0f172af5;border-bottom:1px solid #94a3b852;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex;position:fixed;inset-block-start:0;inset-inline:0;box-shadow:0 10px 26px #0f172a4d}.mobile-appbar strong{letter-spacing:0;font-size:16px}.mobile-menu-button,.mobile-sidebar-close{color:#fff;background:#1d4ed8;border:1px solid #bfdbfe73;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-weight:900;display:inline-flex;box-shadow:0 8px 18px #2563eb47}.mobile-sidebar-backdrop{z-index:48;opacity:0;pointer-events:none;background:#0f172a85;border:0;width:100%;height:100%;padding:0;transition:opacity .18s;display:block;position:fixed;inset:0}.shell.mobile-sidebar-open .mobile-sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{z-index:55;width:min(86vw,360px);height:100svh;max-height:none;padding:14px;padding-top:max(14px, env(safe-area-inset-top));overscroll-behavior:contain;border-inline-start:1px solid #94a3b847;flex-basis:auto;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(110%);box-shadow:-18px 0 42px #0f172a61}html[dir=ltr] .sidebar{border-inline-start:0;border-inline-end:1px solid #94a3b847;left:0;right:auto;transform:translate(-110%);box-shadow:18px 0 42px #0f172a61}.shell.mobile-sidebar-open .sidebar{transform:translate(0)}.mobile-sidebar-close{width:100%;box-shadow:none;background:#334155;border-color:#cbd5e157;margin-bottom:12px}.sidebar nav{flex-direction:column;gap:6px;margin-top:12px;overflow:visible}.sidebar-group-body{padding-inline-start:0}.sidebar button{align-items:flex-start;width:100%}.sidebar button span{white-space:normal;line-height:1.4}.sidebar-group-header,.sidebar-subitem,.sidebar-mainitem{width:100%;min-width:0}.content{width:100%;min-width:0;max-width:100vw;padding:12px;overflow-x:hidden}.language-switcher{z-index:40;transform-origin:0 0;top:64px;left:12px;transform:scale(.92)}.grid.two{grid-template-columns:1fr}.daily-page-banner{flex-direction:column}.daily-page-summary{justify-content:flex-start;min-width:0}.students-page .student-list-toolbar{flex-direction:column;align-items:stretch}.students-page .student-filter{flex-direction:column;align-items:stretch;width:100%;min-width:0}.students-page .student-filter span{white-space:normal}.students-page .student-list-tools{justify-content:stretch;width:100%}.students-page .student-list-tools button{width:100%}.students-page .students-table-wrap,.students-page .attendance-table-wrap{max-width:100%;overflow-x:auto}.students-page .students-table,.students-page .student-attendance-table{table-layout:fixed;min-width:100%}.students-page .students-table th,.students-page .students-table td,.students-page .student-attendance-table th,.students-page .student-attendance-table td,.students-page .student-phone-cell{min-width:0}.students-page .row-actions{flex-direction:column;align-items:stretch}.students-page .row-actions button{width:100%}}.kpis{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}.kpis div{border:1px solid var(--line);text-align:center;background:#f8fafc;border-radius:14px;padding:12px}.kpis b{color:var(--primary);font-size:24px;display:block}.kpis span{color:var(--muted);font-size:13px}.search{width:100%;margin-bottom:12px}.mini-list{border-top:1px solid var(--line);max-height:240px;margin-top:16px;padding-top:12px;overflow:auto}.mini-list p{border:1px solid var(--line);background:#f8fafc;border-radius:10px;margin:6px 0;padding:8px}.chips{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.chip{color:#075985;background:#e0f2fe;border:1px solid #bae6fd;padding:8px 10px}td.sub{background:#fff7ed;font-weight:700}button:disabled{opacity:.6;cursor:not-allowed}.success{color:#14532d;background:#dcfce7;border-radius:12px;margin:12px 0;padding:12px}.days-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0;display:grid}.day{border:1px solid var(--line);cursor:pointer;background:#f8fafc;border-radius:12px;align-items:center;gap:8px;padding:10px;display:flex}.day input{width:auto}.selected-day{background:#dbeafe;border-color:#93c5fd;font-weight:700}.light{padding:6px 10px}.pill{border:1px solid var(--line);color:#1e40af;background:#eef4ff;border-radius:999px;align-items:center;padding:8px 12px;font-weight:700;display:inline-flex}.empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#f8fafc;border-radius:14px;padding:20px}.teacher-program-controls input{min-width:220px}.inline-check{align-items:center;gap:8px;font-weight:700;display:inline-flex}.inline-check input{width:auto}.teacher-programs-print-area{gap:14px;display:grid}.teacher-program-card{border:1px solid var(--line);break-inside:avoid;page-break-inside:avoid;background:#fff;border-radius:16px;padding:14px}.teacher-program-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.teacher-program-header h3{margin:0;font-size:20px}.teacher-program-header p{color:var(--muted);margin:4px 0 0}.teacher-program-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.teacher-program-summary span{border:1px solid var(--line);background:#f1f5f9;border-radius:10px;padding:7px 10px;font-size:13px;font-weight:700}.teacher-status-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;margin-bottom:10px;padding:10px;font-weight:700}.compact-table th,.compact-table td{white-space:normal;vertical-align:top;min-width:110px;padding:8px}.teacher-lesson-cell{gap:4px;line-height:1.35;display:grid}.teacher-lesson-cell span{color:#334155}.teacher-lesson-cell em{color:#475569;font-size:12px;font-style:normal}.substitution-period{background:#dcfce7;border-color:#86efac}.unavailable-original-period{background:#fee2e2;border-color:#fecaca}.hero-panel{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:22px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:24px;display:flex;box-shadow:0 12px 28px #0002}.hero-panel h1{margin:6px 0;font-size:30px}.eyebrow{color:#111827;background:#f59e0b;border-radius:999px;padding:4px 10px;font-weight:700;display:inline-block}.date-box{text-align:center;background:#ffffff1f;border:1px solid #ffffff3d;border-radius:18px;min-width:150px;padding:16px}.date-box strong{font-size:24px;display:block}.date-box span{color:#e5e7eb;font-size:15px}.stats-grid,.details-grid,.teacher-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0;display:grid}.metric-card,.mini-metric{border:1px solid var(--line);background:#f8fafc;border-radius:16px;gap:8px;padding:14px;display:grid}.metric-card span,.mini-metric span{color:var(--muted);font-size:14px}.metric-card strong,.mini-metric strong{font-size:28px}.metric-card-button{appearance:none;text-align:start;width:100%;font:inherit;color:inherit;cursor:pointer}.metric-card-button:focus-visible{outline-offset:3px;outline:3px solid #60a5fa}.danger-metric{background:#fef2f2;border-color:#fecaca}.danger-metric strong{color:#dc2626}.warning-metric{background:#fffbeb;border-color:#fde68a}.warning-metric strong{color:#d97706}.big-answer{text-align:center;background:#eef4ff;border:1px solid #bfdbfe;border-radius:16px;padding:12px 20px;display:grid}.big-answer strong{color:#1d4ed8;font-size:34px}.wide-input{min-width:320px}.wide-table{min-width:1500px}.teachers-table-wrap{max-height:520px}.row-actions{justify-content:center;gap:6px;display:flex}.button-group{flex-wrap:wrap;gap:8px;display:flex}.teacher-profile-form textarea{min-height:74px}.small-table table{font-size:14px}.top-space{margin-top:14px}.bulk-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:14px}.daily-schedule-wrap{max-height:560px}.daily-grid-table{min-width:1100px}.daily-grid-table th:first-child{z-index:2;background:#eef4ff;position:sticky;right:0}.daily-cell{vertical-align:top;min-width:125px}.daily-cell strong{margin-bottom:6px;display:block}.daily-cell span{font-size:12px;line-height:1.5;display:block}.substitution-cell{cursor:pointer;background:#fff7ed!important;border:2px solid #fb923c!important}.substitution-cell:hover,.clickable-cell:hover{outline:3px solid #fdba74}.old-teacher{color:#991b1b;text-decoration:line-through}.new-teacher{color:#166534;font-weight:700}.clickable-cell{cursor:pointer;background:#fef3c7}.cell-button{width:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0}.cell-button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.modal-backdrop{z-index:2000;background:#0008;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:22px;width:100%;max-width:560px;max-height:82vh;padding:20px;overflow:auto;box-shadow:0 24px 80px #0005}html[dir=rtl] .lesson-modal-backdrop,html[dir=ltr] .lesson-modal-backdrop,html[dir=rtl] .behavior-modal-backdrop,html[dir=ltr] .behavior-modal-backdrop{padding-inline:20px}@media (width>=901px){.lesson-modal-backdrop{inset-inline-start:260px}.lesson-modal-backdrop .lesson-modal{width:min(1180px,100vw - 300px)}.lesson-modal-backdrop .exam-modal,.lesson-modal-backdrop .homework-submissions-modal{width:min(1320px,100vw - 300px)}.lesson-modal-backdrop .homework-modal{width:min(1240px,100vw - 300px)}.behavior-modal-backdrop{inset-inline-start:260px}.behavior-modal-backdrop .behavior-modal{width:min(1180px,100vw - 300px)}}.candidate-list{gap:8px;margin:14px 0;display:grid}.candidate-button{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;justify-content:space-between;align-items:center;display:flex}.candidate-button span{color:#475569;font-weight:400}.full-width{width:100%}.secondary{background:#64748b}.light{padding:6px 10px;font-size:13px}.success{color:#166534;background:#dcfce7;border-radius:12px;margin-top:10px;padding:10px}.empty-state{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:22px}.muted{color:var(--muted)}.pill{color:#075985;background:#e0f2fe;border-radius:999px;padding:8px 12px;font-weight:700}.inline-check{align-items:center;gap:8px;display:flex!important}.teacher-program-controls{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.teacher-program-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin:14px 0;padding:14px}.teacher-program-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-program-summary{flex-wrap:wrap;gap:8px;display:flex}.teacher-program-summary span{background:#f1f5f9;border-radius:999px;padding:8px 10px}.compact-table td{min-width:120px}.teacher-lesson-cell{gap:4px;display:grid}.original-period{background:#f0fdf4}.substitution-period{background:#fff7ed}.unavailable-original-period{background:#fee2e2}.free-period{color:#94a3b8;background:#f8fafc}.teacher-status-note{color:#991b1b;background:#fef2f2;border-radius:12px;margin:8px 0;padding:10px}.teacher-compact-table,.teachers-table-wrap table,.teachers-page .wide-table{font-size:12px}.teachers-page .wide-table th,.teachers-page .wide-table td{white-space:normal;padding:6px 7px;line-height:1.35}.teachers-page .wide-table{min-width:1280px}.teachers-page .card,.teachers-page input,.teachers-page textarea,.teachers-page button{font-size:13px}.teachers-page .search.wide-input{background:#fff;border:2px solid #94a3b8;box-shadow:0 8px 18px #0f172a14,inset 0 1px 2px #0f172a0d}.teachers-page .search.wide-input:hover{border-color:#64748b}.teachers-page .search.wide-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29,0 10px 22px #0f172a1a}.teacher-profile-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.mini-period-counts{grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;min-width:min(100%,560px);display:grid}.school-info-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.flipped-daily-grid{min-width:1450px}.flipped-daily-grid th,.flipped-daily-grid td{white-space:normal;min-width:118px;padding:7px;font-size:12px}.flipped-daily-grid thead th{z-index:3;position:sticky;top:0}.flipped-daily-grid th:first-child,.flipped-daily-grid .period-time-header{z-index:4;background:#eef4ff;min-width:145px;position:sticky;right:0}.period-time-header span{color:#64748b;margin-top:3px;font-size:11px;display:block}.flipped-daily-grid .daily-cell strong{font-size:12px}.flipped-daily-grid .daily-cell span{font-size:11px}html[dir=ltr] .flipped-daily-grid th:first-child,html[dir=ltr] .flipped-daily-grid .period-time-header,html[dir=ltr] .daily-grid-table th:first-child{left:0;right:auto}@media (width<=900px){.mini-period-counts{grid-template-columns:repeat(2,1fr)}}.clickable-metric{cursor:pointer;transition:transform .15s,box-shadow .15s}.clickable-metric:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.dashboard-footer-contact{text-align:center;color:#0f172a;gap:8px;width:100%;margin:28px auto 6px;display:grid}.dashboard-footer-contact-row{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:18px 72px;padding:12px 18px;display:flex;overflow-x:auto;box-shadow:0 8px 20px #0f172a14}.dashboard-footer-contact-row span{color:#475569;white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:800;display:inline-flex}.dashboard-footer-contact strong{color:#0f172a;font-size:14px}.dashboard-footer-contact p{color:#64748b;margin:0;font-weight:800}.report-chart{gap:10px;margin-top:12px;display:grid}.chart-row{grid-template-columns:minmax(160px,260px) 1fr 50px;align-items:center;gap:10px;display:grid}.chart-row span{font-weight:700}.bar{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;height:20px;overflow:hidden}.bar b{background:#2563eb;border-radius:999px;height:100%;display:block}.daily-page .card-header .secondary,.page .card-header .secondary{padding:8px 10px;font-size:12px}.settings-school-note{color:#64748b;font-size:13px}.schedule-print-title{text-align:center;font-weight:700}.teachers-page .wide-table th,.teachers-page .wide-table td{font-size:11.5px}.teachers-page .row-actions button{padding:5px 7px;font-size:11px}.teachers-page .card{padding:14px}.teachers-page .form label{font-size:12px}.teachers-page textarea{min-height:58px}.daily-grid-table.flipped-daily-grid td,.daily-grid-table.flipped-daily-grid th{font-size:11.5px}.modal-card table td,.modal-card table th{white-space:normal}@media print{.dashboard-footer-contact{position:fixed;bottom:8mm;left:0;right:0}.report-chart{page-break-inside:avoid}.bar b{background:#222!important}.daily-grid-table.flipped-daily-grid{font-size:9px}.daily-grid-table.flipped-daily-grid th,.daily-grid-table.flipped-daily-grid td{padding:3px}}.content{background:linear-gradient(180deg, #ffffffb8, #fff0 180px), var(--bg)}.page{gap:18px;display:grid}.page>h2{background:var(--card);border:1px solid var(--line);border-radius:8px;margin:0;padding:14px 18px;box-shadow:0 5px 14px #0f172a12}.card,.teacher-program-card,.modal-card{border-color:#cfd7e6;border-radius:8px;box-shadow:0 8px 22px #0f172a14}.card{position:relative}.card-header{border-bottom:1px solid #e7ebf3;padding-bottom:12px}.table-wrap,.bulk-box,.empty-state,.report-text{border-radius:8px;box-shadow:0 4px 14px #0f172a0d}.table-wrap{background:#fff;border:1px solid #e1e7f0}.table-wrap table{border-style:hidden}.metric-card,.mini-metric,.kpis div,.date-box,.pill,.day,.teacher-program-summary span,.language-switcher{border-radius:8px;box-shadow:0 5px 14px #0f172a0f}.metric-card,.mini-metric,.kpis div{background:#fff;border-color:#d4dbea}.hero-panel{border-radius:8px;box-shadow:0 10px 26px #0f172a24}input,select,textarea,button{border-radius:8px}.sidebar{box-shadow:10px 0 28px #0f172a24}.sidebar button{border-radius:8px}.sidebar button.active,button{box-shadow:0 5px 12px #2563eb2e}button.secondary{box-shadow:0 5px 12px #47556929}button.danger{box-shadow:0 5px 12px #dc262629}tr.selected{box-shadow:inset 4px 0 0 var(--primary)}.dashboard-page>.card{border:2px solid #b9c4d6;box-shadow:0 12px 28px #0f172a1c}.dashboard-page>.card .card-header{background:linear-gradient(#fff,#f8fafc);border-bottom:1.5px solid #cbd5e1;border-start-start-radius:8px;border-start-end-radius:8px;margin:-18px -18px 16px;padding:14px 18px 12px}.dashboard-page>.card .card-header h2{color:#0f172a;font-weight:900}.dashboard-page .stats-grid,.dashboard-page .details-grid,.dashboard-page .mini-period-counts{align-items:stretch}.dashboard-page .metric-card{text-align:center;background:#fff;border:1px solid #cfd7e6;border-radius:8px;justify-content:center;min-height:112px;box-shadow:0 8px 20px #0f172a14}.dashboard-page .metric-card span{color:#475569;font-weight:800}.dashboard-page .metric-card strong{color:#1d4ed8}.dashboard-page .danger-metric strong{color:#dc2626}.dashboard-page .warning-metric strong{color:#d97706}.dashboard-page .card:has(.mini-period-counts) .form-row{background:#f8fafc;border:1px solid #d7deea;border-radius:8px;padding:14px;box-shadow:0 7px 18px #0f172a12}.dashboard-page .card:has(.mini-period-counts) .form-row>label{background:#fff;border:1px solid #d7deea;border-radius:8px;gap:8px;min-width:220px;padding:12px;font-weight:800;display:grid;box-shadow:0 5px 14px #0f172a0f}.dashboard-page .card:has(.mini-period-counts) select{background:#fff;width:100%}.dashboard-page .card:has(.mini-period-counts) .mini-period-counts{flex:1}.dashboard-page .stats-grid>.metric-card,.dashboard-page .details-grid>.metric-card,.dashboard-page .mini-period-counts>.metric-card{background:#fff;border:2px solid #b9c4d6;outline:1px solid #ffffffe6;box-shadow:0 9px 22px #0f172a1a,inset 0 1px #fffffff2}.dashboard-page .stats-grid>.metric-card:hover,.dashboard-page .details-grid>.metric-card:hover,.dashboard-page .mini-period-counts>.metric-card:hover{border-color:#94a3b8;box-shadow:0 11px 26px #0f172a21,inset 0 1px #fffffff2}.dashboard-page .stats-grid>.danger-metric{border-color:#f3a5a5}.dashboard-page .stats-grid>.warning-metric{border-color:#f6d37b}.dashboard-page .card:has(.mini-period-counts) .subject-filter-field{background:#fff;border:2px solid #b9c4d6;border-radius:8px;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:10px;min-width:280px;padding:12px;display:grid;box-shadow:0 7px 18px #0f172a14,inset 0 1px #ffffffeb}.dashboard-page .subject-filter-field span{color:#334155;white-space:nowrap;font-weight:900}.dashboard-page .subject-filter-field select{border:1px solid #b9c4d6;min-width:0;box-shadow:inset 0 1px #fffc}.dashboard-request-table{background:#fff;border:2px solid #c7d2e5;border-radius:14px;max-height:480px;box-shadow:0 10px 26px #0f172a1a}.dashboard-request-table table{border-collapse:separate;border-spacing:0;min-width:1100px}.dashboard-request-table th,.dashboard-request-table td{white-space:normal;vertical-align:top;border-bottom:1px solid #d8e0ee;border-left:1px solid #d8e0ee;padding:12px 14px}.dashboard-request-table th:first-child,.dashboard-request-table td:first-child{border-right:1px solid #d8e0ee}.dashboard-request-table thead th{color:#1e293b;z-index:1;background:#eef4ff;font-weight:900;position:sticky;top:0}.dashboard-request-table tbody tr:hover td{background:#f8fbff}.dashboard-request-table tbody tr:last-child td{border-bottom:0}.request-note-cell{gap:4px;display:grid}.request-note-cell p{margin:0;line-height:1.6}@media (width<=700px){.dashboard-page .card:has(.mini-period-counts) .subject-filter-field{grid-template-columns:1fr}}html[dir=ltr] .language-switcher{left:auto;right:14px}html[dir=rtl] .language-switcher{left:14px;right:auto}.teachers-page .card{max-width:100%;overflow:hidden}.teachers-page .teacher-list-toolbar{background:#f8fafc;border:2px solid #b9c4d6;border-radius:8px;grid-template-columns:minmax(260px,1.4fr) minmax(180px,240px) auto;align-items:end;gap:12px;margin-bottom:14px;padding:14px;display:grid;box-shadow:0 8px 20px #0f172a14}.teachers-page .teacher-list-toolbar label{color:#334155;gap:8px;font-weight:900;display:grid}.teachers-page .teacher-list-toolbar select{background:#fff;border:2px solid #b9c4d6;border-radius:8px;min-height:42px}.teachers-page .teacher-list-toolbar-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.teachers-page .teacher-list-toolbar-actions button{white-space:nowrap}.teachers-page .card-header{flex-wrap:wrap;align-items:flex-start}.teachers-page .card-header>div{min-width:min(100%,520px)}.teachers-page .card-header .actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;max-width:100%;display:flex}.teachers-page .card-header .actions button{white-space:nowrap;flex:none}.teachers-page .teachers-table-wrap{border:2px solid #b9c4d6;border-radius:8px;width:100%;max-width:100%;overflow:auto;box-shadow:0 8px 20px #0f172a14}.teachers-page .wide-table{border-collapse:separate;border-spacing:0;background:#fff;width:max-content;min-width:1280px}.teachers-page .wide-table th,.teachers-page .wide-table td{border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1}.teachers-page .wide-table th:first-child,.teachers-page .wide-table td:first-child{border-inline-start:1px solid #cbd5e1}.teachers-page .wide-table thead th{color:#0f172a;background:#e6eefc;border-top:1px solid #cbd5e1}.teachers-page .wide-table tbody tr.selected td{color:#0f172a;background:#bfdbfe;font-weight:800}.teachers-page .wide-table tbody tr.selected td:first-child{box-shadow:inset 5px 0 #1d4ed8}html[dir=rtl] .teachers-page .wide-table tbody tr.selected td:first-child{box-shadow:inset -5px 0 #1d4ed8}.teachers-page .wide-table tbody tr:hover td{background:#eff6ff}.teachers-page .wide-table tbody tr.selected:hover td{background:#bfdbfe}@media (width<=700px){.teachers-page .teacher-list-toolbar{grid-template-columns:1fr}.teachers-page .card-header>div{min-width:100%}.teachers-page .teacher-list-toolbar-actions button{flex:150px}}.teachers-page .teacher-profile-form{background:#f8fafc;border:2px solid #b9c4d6;border-radius:8px;padding:14px;box-shadow:0 8px 20px #0f172a14}.teachers-page .teacher-profile-form--dense{gap:14px}.teachers-page .teacher-core-fields{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.teachers-page .teacher-profile-form label{color:#334155;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;gap:8px;padding:12px;font-weight:900;display:grid;box-shadow:0 5px 14px #0f172a0f}.teachers-page .teacher-profile-form input,.teachers-page .teacher-profile-form textarea{background:#fff;border:2px solid #b9c4d6;border-radius:8px;width:100%;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0f}.teachers-page .teacher-choice-group{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;gap:10px;margin:0;padding:12px;display:grid;box-shadow:0 5px 14px #0f172a0f}.teachers-page .teacher-choice-panels{gap:12px;display:grid}.teachers-page .teacher-choice-group--wide{grid-column:1/-1}.teachers-page .teacher-choice-group legend{color:#334155;padding:0 4px;font-weight:900}.teachers-page .teacher-choice-disclosure{background:#f8fafc;border:1px solid #d6e2f0;border-radius:10px;gap:10px;padding:10px 12px;display:grid}.teachers-page .teacher-choice-disclosure>summary{cursor:pointer;color:#0f172a;justify-content:space-between;align-items:center;gap:12px;font-weight:900;list-style:none;display:flex}.teachers-page .teacher-choice-disclosure>summary::-webkit-details-marker{display:none}.teachers-page .teacher-choice-disclosure>summary:after{content:"▾";color:#2563eb;font-size:18px;line-height:1}.teachers-page .teacher-choice-disclosure[open]>summary:after{content:"▴"}.teachers-page .teacher-choice-disclosure-body{gap:10px;display:grid}.teachers-page .teacher-choice-header{gap:4px;display:grid}.teachers-page .teacher-choice-header strong{color:#0f172a;font-size:14px}.teachers-page .teacher-choice-actions,.teachers-page .choice-grid{flex-wrap:wrap;gap:8px;display:flex}.teachers-page .choice-tile{text-align:center;color:#0f172a;background:#fff;border:1px solid #bfdbfe;border-radius:10px;justify-content:center;min-width:120px;padding:10px 12px;font-weight:900;box-shadow:0 5px 14px #0f172a0f}.teachers-page .choice-grid-classes .choice-tile{min-width:150px}.teachers-page .choice-grid-periods .choice-tile{min-width:108px}.teachers-page .choice-tile:hover{color:#0f172a;background:#eff6ff}.teachers-page .choice-tile.selected-choice{color:#0f172a;background:#dbeafe;border-color:#60a5fa;box-shadow:inset 0 0 0 1px #ffffff8c}.teachers-page .choice-grid-periods .choice-tile{color:#1d4ed8;background:#eef4ff;border:1px solid #bfdbfe}.teachers-page .choice-grid-periods .choice-tile.selected-choice{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.teachers-page .teacher-choice-hint{margin:0}.teachers-page .teacher-choice-summary{color:#334155;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:0;padding:10px 12px}.teachers-page .teacher-profile-form textarea{min-height:74px}.teachers-page .teacher-profile-form input:focus,.teachers-page .teacher-profile-form textarea:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb2e,inset 0 1px 2px #0f172a0f}.teachers-page .teacher-kpis{background:#f8fafc;border:2px solid #b9c4d6;border-radius:8px;padding:12px;box-shadow:0 8px 20px #0f172a14}.teachers-page .teacher-kpis .mini-metric{text-align:center;background:#fff;border:2px solid #b9c4d6;border-radius:8px;justify-content:center;min-height:104px;box-shadow:0 7px 18px #0f172a14}.teachers-page .teacher-kpis .mini-metric span{font-weight:900}.teachers-page .small-table{background:#fff;border:2px solid #b9c4d6;border-radius:8px;width:100%;margin-top:10px;box-shadow:0 8px 20px #0f172a14}.teachers-page .small-table table{border-collapse:separate;border-spacing:0;background:#fff;width:100%}.teachers-page .small-table th,.teachers-page .small-table td{text-align:center;border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1;padding:12px}.teachers-page .small-table th:first-child,.teachers-page .small-table td:first-child{border-inline-start:1px solid #cbd5e1;font-weight:900}.teachers-page .small-table thead th{color:#0f172a;background:#e6eefc;border-top:1px solid #cbd5e1;font-weight:900}.teachers-page .small-table tbody tr:nth-child(2n) td{background:#f8fafc}.teachers-page .small-table tbody tr:hover td{background:#dbeafe}.teachers-page .load-ok{color:#14532d;font-weight:900;background:#dcfce7!important}.teachers-page .load-over{color:#991b1b;font-weight:900;box-shadow:inset 0 0 0 2px #ef4444;background:#fee2e2!important}#base-schedule-grid{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 8px 22px #0f172a14}#base-schedule-grid .daily-grid-table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff}#base-schedule-grid .daily-grid-table th,#base-schedule-grid .daily-grid-table td{border-inline-end:1.5px solid #94a3b8;text-align:center;background-clip:padding-box;border-bottom:1.5px solid #94a3b8}#base-schedule-grid .daily-grid-table thead th{color:#b42318;background:linear-gradient(#ffe96a 0%,#ffd93d 100%);border-top:1.5px solid #94a3b8;font-size:12px;font-weight:900}#base-schedule-grid .daily-grid-table th:first-child,#base-schedule-grid .daily-grid-table td:first-child,#base-schedule-grid .daily-grid-table .period-time-header{color:#b42318;background:linear-gradient(#fff280 0%,#ffe24d 100%);border-inline-start:1.5px solid #94a3b8;font-weight:900}#base-schedule-grid .daily-grid-table tbody tr:nth-child(2n) td:not(.free-period){background:#f8fafc}#base-schedule-grid .daily-grid-table tbody tr:hover td,#base-schedule-grid .daily-grid-table tbody tr:hover th{background:#eff6ff}#base-schedule-grid .daily-grid-table .free-period{color:#64748b;background:#fffdf0}#base-schedule-grid .daily-grid-table .period-time-header strong{font-size:12px;display:block}#base-schedule-grid .daily-grid-table .period-time-header span{color:#9a3412;margin-top:3px;font-size:11px;display:block}#base-schedule-grid .daily-grid-table .daily-cell{min-width:120px;padding:10px 8px}#base-schedule-grid .daily-grid-table .daily-cell strong{color:#111827;font-size:12px}#base-schedule-grid .daily-grid-table .daily-cell span{color:#111827;font-size:11px}#base-schedule-grid .daily-grid-table tbody tr td{background:#fffef8}#base-schedule-grid .daily-grid-table tbody tr:nth-child(2n) td{background:#fffaf0}.daily-page .table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 8px 22px #0f172a14}.daily-page table{border-collapse:separate;border-spacing:0;background:#fff}.daily-page table th,.daily-page table td{border-inline-end:1.5px solid #94a3b8;background-clip:padding-box;border-bottom:1.5px solid #94a3b8}.daily-page table thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.daily-page table th:first-child,.daily-page table td:first-child,.daily-page .period-time-header{border-inline-start:1.5px solid #94a3b8}.daily-page .period-time-header{background:#e6eefc}.daily-page table tbody tr:nth-child(2n) td:not(.substitution-cell):not(.free-period):not(.original-period):not(.substitution-period):not(.unavailable-original-period){background:#f8fafc}.daily-page table tbody tr:hover td,.daily-page table tbody tr:hover th{background:#eff6ff}.daily-page .daily-grid-table .free-period,.daily-page .compact-table .free-period{color:#64748b;background:#f1f5f9}.daily-page .substitution-cell{box-shadow:inset 0 0 0 2px #fb923c}.daily-page .compact-table th,.daily-page .compact-table td{border-inline-end:1.5px solid #94a3b8;border-bottom:1.5px solid #94a3b8}.daily-page .teacher-program-card{border:2px solid #b9c4d6;box-shadow:0 8px 22px #0f172a14}.daily-status-form{gap:12px;margin-bottom:12px;display:grid}.daily-status-row{gap:12px;display:grid}.daily-status-row--meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.daily-status-row--teacher{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.daily-status-row--periods{grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) minmax(220px,.8fr) auto;align-items:end}.daily-status-row label{color:#334155;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;gap:8px;padding:12px;font-weight:900;display:grid;box-shadow:0 5px 14px #0f172a0f}.daily-status-note{max-width:320px}.daily-status-note input{max-width:220px;min-height:40px}.daily-status-row input,.daily-status-row select{background:#fff;border:2px solid #b8c4d6;width:100%;box-shadow:inset 0 1px 2px #0f172a0f}.daily-status-row input:focus,.daily-status-row select:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb2e,inset 0 1px 2px #0f172a0f}.daily-status-actions{align-items:end;display:flex}.daily-status-actions button{width:100%}.daily-event-form{background:#f8fafc;border:2px solid #aebad0;border-radius:10px;padding:14px;box-shadow:0 10px 24px #0f172a1a}.daily-event-grid{grid-template-columns:minmax(160px,1.1fr) minmax(160px,1fr) minmax(180px,1.1fr) minmax(140px,.9fr) minmax(140px,.9fr) minmax(260px,1.6fr) auto;align-items:end;gap:12px;display:grid}.daily-event-field{flex-direction:column;gap:6px;min-width:0;display:flex}.daily-event-field>span{color:#334155;font-size:12px;font-weight:700;line-height:1.2}.daily-event-field input,.daily-event-field select,.daily-event-field textarea{background:#fff;border:2px solid #94a3b8;border-radius:9px;width:100%;min-width:0;padding:10px 12px;box-shadow:inset 0 1px 2px #0f172a0f}.daily-event-field input:focus,.daily-event-field select:focus,.daily-event-field textarea:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb29,inset 0 1px 2px #0f172a0f}.daily-event-field--details{grid-column:1/span 3}.daily-event-field--details .event-description-input{resize:vertical;min-height:82px}.daily-event-actions{justify-content:flex-end;align-items:end;display:flex}.daily-event-actions button{min-height:44px;padding-inline:16px}.event-class-picker{background:#fff;border:2px solid #c7d2e5;border-radius:10px;flex-wrap:wrap;gap:8px;margin:12px 0;padding:12px;display:flex;box-shadow:0 8px 18px #0f172a0f}.event-class-picker button{padding:7px 10px;font-size:12px}.event-class-picker button.active{color:#fff;background:#2563eb}.daily-events-table{margin-top:10px}.daily-events-table table{border:1.5px solid #c7d2e5}.daily-events-table th,.daily-events-table td{border-color:#d6deeb}.daily-events-table thead th{background:#eef4ff}.daily-events-table td:nth-child(7){white-space:normal;text-align:start;min-width:220px}.daily-event-form .event-description-input{min-height:82px}.daily-page .daily-schedule-wrap{max-width:100%}.daily-page .daily-grid-table.flipped-daily-grid{table-layout:fixed;min-width:980px}.daily-page .daily-grid-table.flipped-daily-grid th,.daily-page .daily-grid-table.flipped-daily-grid td{white-space:normal;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;min-width:112px;max-width:150px;padding:5px 6px;font-size:10.5px;line-height:1.25}.daily-page .daily-grid-table.flipped-daily-grid th:first-child,.daily-page .daily-grid-table.flipped-daily-grid .period-time-header{min-width:112px;max-width:132px}.daily-page .daily-cell{min-width:112px}.daily-page .daily-cell strong,.daily-page .teacher-lesson-cell strong{font-size:10.5px;line-height:1.25}.daily-page .daily-cell span,.daily-page .teacher-lesson-cell span,.daily-page .teacher-lesson-cell em{font-size:10px;line-height:1.25}.daily-page .compact-table{table-layout:fixed;min-width:720px}.daily-page .compact-table th,.daily-page .compact-table td{white-space:normal;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;min-width:112px;padding:5px;font-size:10.5px}.daily-page #daily-substitutions-section table,.daily-page .daily-events-table table{table-layout:auto;min-width:760px}.daily-page #daily-substitutions-section th,.daily-page #daily-substitutions-section td,.daily-page .daily-events-table th,.daily-page .daily-events-table td{white-space:normal;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;padding:6px;font-size:11px}@media (width>=1200px){.daily-page .daily-grid-table.flipped-daily-grid{min-width:100%}}@media (width<=900px){.daily-page .daily-grid-table.flipped-daily-grid{min-width:920px}.daily-page .daily-grid-table.flipped-daily-grid th,.daily-page .daily-grid-table.flipped-daily-grid td{min-width:104px;max-width:136px;padding:5px;font-size:10px}.daily-page,.duties-page,.exam-page,.student-attendance-page,.student-marks-page,.timetable-page,.settings-page,.operations-page{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.daily-page .card,.duties-page .card,.exam-page .card,.student-attendance-page .card,.student-marks-page .card,.timetable-page .card,.settings-page .card,.operations-page .card{min-width:0;max-width:100%;overflow:hidden}.daily-page .table-wrap,.daily-page .daily-schedule-wrap,.daily-page .daily-events-table,.duties-page .table-wrap,.exam-page .table-wrap,.student-attendance-page .table-wrap,.student-attendance-page .attendance-table-wrap,.student-marks-page .table-wrap,.student-marks-page .certificate-table-wrap,.timetable-page .table-wrap,.timetable-page .lesson-table-wrap,.settings-page .table-wrap,.operations-page .table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.daily-page .compact-table,.daily-page #daily-substitutions-section table,.daily-page .daily-events-table table,.duties-page table,.exam-page table,.student-attendance-page table,.student-marks-page table,.timetable-page table,.settings-page table,.operations-page table{width:max-content;max-width:none}.page table th,.page table td,.daily-cell,.substitution-cell,.teacher-color-cell,.lesson-table th,.lesson-table td,.certificate-table th,.certificate-table td{word-break:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}.daily-status-row,.daily-status-row--meta,.daily-status-row--teacher,.daily-status-row--periods,.daily-event-grid,.attendance-controls,.lesson-controls,.academic-controls,.behavior-controls,.timetable-base-controls{grid-template-columns:1fr;width:100%;min-width:0;display:grid}.daily-status-row label,.daily-event-field,.attendance-controls label,.lesson-controls label,.academic-controls label,.behavior-controls label,.timetable-base-controls label{width:100%;min-width:0}.daily-event-field--details,.daily-event-actions,.daily-status-actions{grid-column:auto}.daily-event-actions button,.daily-status-actions button,.attendance-controls button,.lesson-controls button{width:100%}}.daily-page .event-cell{color:#0f172a;font-weight:900;box-shadow:inset 0 0 0 2px #334155}.daily-page .event-cell strong{margin-bottom:4px;display:block}.daily-page .event-cell span{font-size:10px;line-height:1.25;display:block}.daily-page .event-exam{background:#ffedd5!important;border-color:#fb923c!important}.daily-page .event-activity{background:#dbeafe!important;border-color:#60a5fa!important}.daily-page .event-trip{background:#dcfce7!important;border-color:#4ade80!important}.daily-page .free-teachers-table{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 8px 22px #0f172a14}.daily-page .free-teachers-table table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px}.daily-page .free-teachers-table th,.daily-page .free-teachers-table td{border-inline-end:1.5px solid #94a3b8;white-space:normal;overflow-wrap:anywhere;border-bottom:1.5px solid #94a3b8;padding:8px}.daily-page .free-teachers-table thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.daily-page .free-teachers-table th:first-child,.daily-page .free-teachers-table td:first-child{border-inline-start:1.5px solid #94a3b8;width:130px;font-weight:900}.daily-page .free-teachers-table td:last-child{color:#1d4ed8;width:110px;min-width:110px;font-weight:900}.daily-page .free-teachers-table th:last-child{white-space:nowrap;overflow-wrap:normal;width:110px;min-width:110px}.card-header button.secondary,.page .card-header .secondary,.daily-page .card-header .secondary{color:#fff;opacity:1;background:#0f766e;border:1px solid #0d9488;box-shadow:0 6px 14px #0f766e38}.card-header button.secondary:hover,.page .card-header .secondary:hover,.daily-page .card-header .secondary:hover{background:#0d9488}.export-button{font-weight:900;color:#fff!important;opacity:1!important;background:#0f766e!important;border:1px solid #0d9488!important}.export-button:hover{background:#0d9488!important}.system-note{color:#1e3a8a;background:#eff6ff;border:2px solid #bfdbfe;border-radius:8px;padding:12px 14px;font-weight:800;line-height:1.7;box-shadow:0 6px 16px #2563eb1a}.page:has(#base-schedule-grid){max-width:100%;overflow-x:hidden}.page:has(#base-schedule-grid) .card{max-width:100%;overflow-x:hidden}#base-schedule-grid{width:100%;max-width:100%;overflow:auto}#base-schedule-grid .daily-grid-table{width:max-content;min-width:980px}#base-schedule-grid .daily-grid-table th,#base-schedule-grid .daily-grid-table td{white-space:normal;overflow-wrap:anywhere}.license-page{gap:18px;display:grid}.license-status-panel,.license-activate-panel{background:#fff;border:2px solid #94a3b8;border-radius:12px;padding:18px;box-shadow:0 12px 28px #0f172a1a}.license-badge{border-radius:999px;margin-bottom:14px;padding:8px 14px;font-weight:800;display:inline-flex}.license-badge.ok{color:#166534;background:#dcfce7}.license-badge.danger{color:#991b1b;background:#fee2e2}.license-table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:10px;overflow:hidden}.license-table{border-collapse:collapse;background:#fff;width:100%}.license-table th,.license-table td{text-align:start;vertical-align:middle;border:1px solid #cbd5e1;padding:12px 14px}.license-table th{color:#0f172a;background:#e6eefc;width:18%;font-weight:900}.license-table td{color:#0f172a;font-weight:700}.license-table tr:nth-child(2n) td{background:#f8fafc}.license-activate-grid{gap:10px;display:grid}.license-warning{color:#991b1b;margin-top:14px;font-weight:700}.license-activate-panel label{margin-bottom:0;font-weight:800;display:block}.license-activate-panel textarea,.license-activate-panel input{border:2px solid #94a3b8;border-radius:8px;width:100%;padding:12px;font-family:inherit;box-shadow:inset 0 1px 2px #0f172a0f}.license-activate-panel button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;margin-top:6px;padding:10px 18px;font-weight:800}.license-activate-panel button:disabled{opacity:.55;cursor:not-allowed}.license-message{margin-top:10px;font-weight:700}.archive-page{gap:18px;display:grid}.archive-page-title{margin-bottom:0}.archive-page-title p{color:#64748b;margin-top:4px;font-weight:600}.archive-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.archive-summary-card{background:#fff;border:2px solid #b9c4d6;border-radius:14px;gap:8px;padding:14px 16px;display:grid;box-shadow:0 10px 24px #0f172a14}.archive-summary-card span{color:#64748b;font-size:13px;font-weight:800}.archive-summary-card strong{color:#0f172a;font-size:28px;line-height:1}.archive-list{gap:16px;display:grid}.archive-day-card{background:#fff;border:2px solid #94a3b8;border-radius:16px;gap:14px;padding:16px;display:grid;box-shadow:0 12px 28px #0f172a14}.archive-day-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.archive-day-heading{gap:6px;display:grid}.archive-day-date{color:#1d4ed8;background:#dbeafe;border-radius:999px;align-self:start;width:fit-content;padding:6px 12px;font-weight:900;display:inline-flex}.archive-day-heading strong{color:#0f172a;font-size:22px}.archive-day-heading p{color:#475569;margin:0;line-height:1.7}.archive-day-actions{justify-items:end;gap:8px;display:grid}.archive-day-time{color:#64748b;font-size:13px;font-weight:700}.archive-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.archive-metric{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:6px;padding:12px 14px;display:grid}.archive-metric span{color:#64748b;font-size:12px;font-weight:800}.archive-metric strong{color:#0f172a;font-size:22px;line-height:1}.archive-sections-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.archive-section-card{background:#fff;border:1.5px solid #d5deeb;border-radius:12px;gap:8px;padding:12px 14px;display:grid;box-shadow:inset 0 1px #fffc,0 6px 14px #0f172a0d}.archive-section-card--wide{grid-column:1/-1}.archive-section-card h4{color:#0f172a;margin:0;font-size:14px;font-weight:900}.archive-section-card p{color:#334155;word-break:break-word;margin:0;line-height:1.8}.archive-page .card{background:#fff;border:2px solid #b8c4d6;box-shadow:0 12px 28px #0f172a1a}.archive-table-wrap{background:#fff;border:2px solid #b9c4d6;border-radius:14px;width:100%;overflow-x:auto;box-shadow:0 12px 26px #0f172a14}.archive-table{border-collapse:collapse;width:max-content;min-width:1700px}.archive-table th,.archive-table td{vertical-align:top;text-align:right;white-space:normal;border:1.5px solid #c6d0e0;min-width:150px;padding:12px 14px}.archive-table th{z-index:2;color:#0f172a;background:#eff6ff;font-size:13px;font-weight:900;position:sticky;top:0}.archive-table tbody tr:nth-child(2n) td{background:#fafcff}.archive-table tbody tr:hover td{background:#f1f7ff}.archive-table td strong{color:#0f172a;font-size:15px;display:block}.archive-cell-list{color:#334155;gap:4px;line-height:1.6;display:grid}.archive-row-actions{align-items:start;gap:8px;display:grid}.archive-row-actions button{white-space:nowrap;width:fit-content}html[dir=ltr] .archive-table th,html[dir=ltr] .archive-table td{text-align:left}.daily-page-banner{background:#fff;border:1.5px solid #d5deeb;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex;box-shadow:0 10px 24px #0f172a14}.daily-page-banner-copy{gap:6px;display:grid}.daily-page-banner-copy strong{color:#0f172a;font-size:18px}.daily-page-banner-copy p,.daily-page-summary span{color:#475569;margin:0;line-height:1.6}.daily-page-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;max-width:560px;padding:12px 14px}.login-screen{background:linear-gradient(#ffffffb8,#f5f7fbf5),repeating-linear-gradient(135deg,#2563eb0a 0 1px,#0000 1px 28px),linear-gradient(#f8fbff 0%,#eef4ff 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-language-switcher{z-index:40;position:fixed;top:14px}html[dir=ltr] .login-language-switcher{right:14px}html[dir=rtl] .login-language-switcher{left:14px}.login-stack{gap:18px;width:min(980px,100%);display:grid}.login-hero-panel{color:#fff;background:linear-gradient(135deg,#0f172af2,#2563ebeb),linear-gradient(#ffffff14,#fff0);border:1px solid #ffffff29;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:24px 26px;display:flex;box-shadow:0 20px 48px #0f172a29}.login-hero-brand{align-items:center;gap:16px;min-width:0;display:flex}.login-hero-mark{text-align:center;letter-spacing:0;background:#ffffff24;border:1px solid #ffffff24;border-radius:10px;flex:none;min-width:108px;padding:12px 14px;font-weight:900}.login-hero-panel h2{color:#fff;margin:0;font-size:20px;line-height:1.5}.login-hero-status{border-inline-start:1px solid #ffffff2e;flex:none;justify-items:start;gap:6px;min-width:140px;padding-inline-start:14px;display:grid}.login-hero-status span{color:#ffffffc2;font-size:13px;font-weight:800}.login-hero-status strong{font-size:20px;font-weight:900}.login-status-online{color:#bbf7d0}.login-status-offline{color:#fecaca}.login-card{direction:rtl;background:#fff;border:1px solid #cbd5e1;border-radius:10px;gap:14px;width:100%;padding:28px;display:grid;box-shadow:0 18px 42px #0f172a1f}html[dir=ltr] .login-card,html[dir=ltr] .login-create-modal{direction:ltr}.login-icon{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;place-items:center;width:64px;height:64px;display:grid}.login-card h1{color:#0f172a;letter-spacing:0;margin:0;font-size:32px}.login-card h2{color:#0f172a;letter-spacing:0;margin:0;font-size:22px}.login-card h1 span{color:#f59e0b}.login-card p{color:#64748b;margin:-6px 0 8px;font-weight:700}.login-card label{color:#0f172a;gap:7px;font-weight:800;display:grid}.login-card label.login-remember{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}html[dir=ltr] .login-card label.login-remember{flex-direction:row}.login-card label.login-remember span{line-height:1.4}.login-card label.login-remember input{accent-color:#2563eb;border-radius:4px;flex:none;width:18px;height:18px;margin:0;padding:0;box-shadow:0 4px 10px #0f172a1a}.login-card input,.login-card select{font:inherit;background:#f8fafc;border:2px solid #94a3b8;border-radius:12px;padding:13px 14px;transition:border-color .15s,box-shadow .15s,transform .15s;box-shadow:inset 0 1px 2px #0f172a14,0 6px 14px #0f172a14}.login-card input:hover,.login-card select:hover,.login-card input:focus,.login-card select:focus{border-color:#2563eb;transform:translateY(-1px);box-shadow:inset 0 1px 2px #0f172a14,0 10px 20px #2563eb29}.login-card button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:12px 16px;font-weight:900;display:inline-flex}.login-card button:disabled{opacity:.55;cursor:not-allowed}.login-open-create-button{background:#0f172a}.login-open-create-button:hover{background:#1e293b}.login-create-backdrop{z-index:2200}.login-create-modal{width:min(760px,100%);max-width:760px}.login-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.login-modal-header h2{color:#0f172a;letter-spacing:0;margin:10px 0 8px;font-size:22px}.login-modal-header p{color:#64748b;margin:0;font-weight:700;line-height:1.6}.login-modal-close{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.login-modal-close:hover{background:#eef2ff}.login-card-secondary{background:linear-gradient(#fff 0%,#f8fbff 100%);border-style:solid}.login-icon-secondary{color:#d97706;background:#fff7ed;border-color:#fed7aa}.login-inline-actions{justify-content:flex-start;display:flex}.login-secondary-button{background:#0f766e}.login-secondary-button:hover{background:#115e59}.login-create-form{gap:14px;display:grid}.login-create-form label input,.login-create-form label select{font:inherit;background:#fff;border:1.5px solid #94a3b8;border-radius:8px;padding:12px;box-shadow:0 1px 3px #0f172a1f}.login-create-form label input:focus,.login-create-form label select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb24}.login-fieldset{gap:10px;display:grid}.login-fieldset-label{color:#0f172a;font-weight:900}.login-radio-group{flex-wrap:wrap;gap:10px;display:flex}.login-radio-option{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:800;display:inline-flex}.login-radio-option input{box-shadow:none;margin:0}.login-create-form small{color:#64748b;font-weight:700;line-height:1.5}.login-error{color:#b91c1c}@media (width<=900px){.login-stack{width:min(100%,560px)}.login-hero-panel{flex-direction:column;align-items:flex-start}.login-hero-status{padding-inline-start:0;border-inline-start:0;border-top:1px solid #ffffff2e;width:100%;padding-top:14px}}.sidebar-user{background:#0f172a59;border:1px solid #94a3b82e;border-radius:8px;gap:3px;margin:14px 0;padding:10px 12px;display:grid}.sidebar-user strong{color:#fff;font-size:14px}.sidebar-user span{color:#cbd5e1;direction:ltr;font-size:12px}.sidebar nav .logout-button{background:#334155;margin-top:10px}.sidebar nav .logout-button:hover{background:#475569}.settings-page .grid.two{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);align-items:start}.settings-page .settings-periods-span{grid-column:1/-1}.settings-page .card,.users-page .card{background:#fff;border:2px solid #b8c4d6;box-shadow:0 12px 28px #0f172a1a}.settings-page .card-header,.users-page .card-header{background:#f8fafc;border-bottom:2px solid #d5deeb;border-radius:8px 8px 0 0;margin:-18px -18px 16px;padding:14px 18px}.settings-page .card-header h2,.users-page .card-header h2{color:#0f172a;font-size:18px;font-weight:900}.settings-page .school-info-form,.settings-page .form-row,.users-page .users-form-panel{background:#f8fafc;border:2px solid #d5deeb;border-radius:8px;padding:14px;box-shadow:inset 0 1px #ffffffe6,0 7px 18px #0f172a0f}.settings-page .school-info-form label,.settings-page .form-row label,.users-page .users-form-panel label{color:#334155;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:12px;font-weight:900;box-shadow:0 5px 13px #0f172a0d}.settings-page input,.settings-page select,.users-page input,.users-page select{background:#fff;border:2px solid #b8c4d6;box-shadow:inset 0 1px 2px #0f172a0f}.settings-page input:focus,.settings-page select:focus,.users-page input:focus,.users-page select:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb2e,inset 0 1px 2px #0f172a0f}.settings-page .days-grid{background:#f8fafc;border:2px solid #d5deeb;border-radius:8px;padding:12px}.settings-page .day{background:#fff;border:1.5px solid #cbd5e1}.settings-page .selected-day{background:#dbeafe;border-color:#2563eb}.settings-page .table-wrap,.users-page .users-table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 9px 22px #0f172a17}.settings-page .periods-table-wrap{overflow-x:auto}.settings-page .periods-table{min-width:760px}.settings-page table,.users-page table{border-collapse:separate;border-spacing:0}.settings-page th,.settings-page td,.users-page th,.users-page td{border-inline-end:1.5px solid #94a3b8;white-space:normal;background-clip:padding-box;border-bottom:1.5px solid #94a3b8}.settings-page thead th,.users-page thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.settings-page th:first-child,.settings-page td:first-child,.users-page th:first-child,.users-page td:first-child{border-inline-start:1.5px solid #94a3b8}.settings-page tbody tr:nth-child(2n) td,.users-page tbody tr:nth-child(2n) td{background:#f8fafc}.settings-page tbody tr:hover td,.users-page tbody tr:hover td{background:#eff6ff}.users-page .users-form-panel{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}.users-page .users-form-panel button{min-height:44px}@media (width<=900px){.settings-page .grid.two{grid-template-columns:1fr}}.settings-page .school-info-form{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:end}.classes-management-page .card{background:#fff;border:2px solid #b8c4d6;box-shadow:0 12px 28px #0f172a1a}.classes-management-page .card-header{background:#f8fafc;border-bottom:2px solid #d5deeb;border-radius:8px 8px 0 0;margin:-18px -18px 16px;padding:14px 18px}.classes-management-page .card-header h2{color:#0f172a;font-size:18px;font-weight:900}.classes-management-page .classes-management-form{background:#f8fafc;border:2px solid #d5deeb;border-radius:8px;padding:14px;box-shadow:inset 0 1px #ffffffe6,0 7px 18px #0f172a0f}.classes-management-page .classes-management-form label{color:#334155;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:12px;font-weight:900;box-shadow:0 5px 13px #0f172a0d}.classes-management-page .classes-management-form input,.classes-management-page .classes-management-form select{background:#fff;border:2px solid #b8c4d6;box-shadow:inset 0 1px 2px #0f172a0f}.classes-management-page .classes-management-form input:focus,.classes-management-page .classes-management-form select:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb2e,inset 0 1px 2px #0f172a0f}.classes-management-page .classes-management-form .actions{justify-content:flex-start}.classes-management-page .table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 9px 22px #0f172a17}.classes-management-page table{border-collapse:separate;border-spacing:0}.classes-management-page th,.classes-management-page td{border-inline-end:1.5px solid #94a3b8;white-space:normal;background-clip:padding-box;border-bottom:1.5px solid #94a3b8}.classes-management-page thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.classes-management-page th:first-child,.classes-management-page td:first-child{border-inline-start:1.5px solid #94a3b8}.classes-management-page tbody tr:nth-child(2n) td{background:#f8fafc}.classes-management-page tbody tr:hover td{background:#eff6ff}.classes-management-page .classes-management-teacher-chip{border:1px solid #0f172a14;border-radius:8px;min-height:34px;margin-top:8px}.classes-management-page .row-actions{flex-wrap:wrap;justify-content:flex-start}.classes-management-page .row-actions button{min-height:40px}.settings-page .school-info-form label,.settings-page .school-info-form input{width:100%;min-width:0}.settings-page .school-info-form button{white-space:normal;align-self:end;min-height:56px}.settings-page .card{overflow:hidden}.remember-login{align-items:center;gap:8px;font-size:13px;grid-template-columns:none!important;display:flex!important}.remember-login input{width:auto}.forgot-button{background:#64748b!important;margin-top:8px!important}.recover-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;gap:8px;margin-top:10px;padding:12px;display:grid}.recover-result{background:#ecfdf5;border:1px solid #86efac;border-radius:8px;gap:6px;padding:10px;display:grid}.recover-result div{justify-content:space-between;gap:10px;display:flex}.users-password-panel{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.teachers-page .teacher-weekly-load{background:#fff;border:2px solid #b8c4d6;border-radius:8px;gap:14px;margin-top:16px;padding:16px;display:grid;box-shadow:0 12px 28px #0f172a1a}.teachers-page .teacher-weekly-load h3{color:#0f172a;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;margin:0;padding:12px 14px;font-size:17px;font-weight:900;box-shadow:inset 0 1px #ffffffe6}.teachers-page .teacher-weekly-load>.muted{color:#475569;background:#fbfdff;border:1px solid #dbe3ef;border-radius:8px;margin:0;padding:10px 12px;font-weight:700;line-height:1.7}.teachers-page .teacher-assignment-add-row{background:#f8fafc;border:2.5px solid #c3cfde;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;align-items:end;gap:14px;margin:0;padding:16px;display:grid;box-shadow:inset 0 1px #fffffff2,0 10px 22px #0f172a14}.teachers-page .teacher-assignment-add-row label{color:#334155;background:#fff;border:2px solid #b8c4d6;border-radius:8px;gap:10px;min-width:0;padding:14px;font-weight:900;display:grid;box-shadow:0 8px 18px #0f172a14,inset 0 1px #fffffff2}.teachers-page .teacher-assignment-add-row select,.teachers-page .teacher-assignment-add-row input{background:#fff;border:2px solid #aebbd0;border-radius:8px;width:100%;min-width:0;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0f,0 1px #ffffffd9}.teachers-page .teacher-assignment-add-row select:focus,.teachers-page .teacher-assignment-add-row input:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb2e,inset 0 1px 2px #0f172a0f}.teachers-page .teacher-assignment-add-row button{white-space:nowrap;align-self:stretch;min-height:44px}.teachers-page .teacher-weekly-load-table{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 10px 24px #0f172a1a}.teachers-page .teacher-weekly-load-table table{border-collapse:separate;border-spacing:0;min-width:840px}.teachers-page .teacher-weekly-load-table th,.teachers-page .teacher-weekly-load-table td{border-inline-end:1.5px solid #94a3b8;text-align:center;vertical-align:middle;background-clip:padding-box;border-bottom:1.5px solid #94a3b8}.teachers-page .teacher-weekly-load-table thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.teachers-page .teacher-weekly-load-table th:first-child,.teachers-page .teacher-weekly-load-table td:first-child{border-inline-start:1.5px solid #94a3b8}.teachers-page .teacher-weekly-load-table th:first-child,.teachers-page .teacher-weekly-load-table td:first-child,.teachers-page .teacher-weekly-load-table th:nth-child(2),.teachers-page .teacher-weekly-load-table td:nth-child(2){min-width:170px}.teachers-page .teacher-weekly-load-table tbody tr:nth-child(2n) td{background:#f8fafc}.teachers-page .teacher-weekly-load-table tbody tr:hover td{background:#eff6ff}.teachers-page .teacher-weekly-total-row td{color:#0f172a;white-space:nowrap;font-weight:900;background:#e0f2fe!important}.teachers-page .load-under td,.teachers-page tr.load-under td{color:#92400e;font-weight:800;background:#fffbeb!important}.teachers-page .weekly-periods-input{text-align:center;border:1.5px solid #94a3b8;border-radius:7px;width:72px;min-width:72px;height:34px;font-weight:900;box-shadow:inset 0 1px 2px #0f172a14}.teachers-page .weekly-periods-input:focus{border-color:#2563eb;outline:2px solid #bfdbfe}@media (width<=700px){.teachers-page .teacher-assignment-add-row{grid-template-columns:1fr}.teachers-page .teacher-assignment-add-row button{width:100%}}.users-page .username-field{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.users-page .username-field input{min-width:0}.users-page .username-field .small{white-space:nowrap;min-height:40px;padding:8px 10px}.users-page input,.users-page select,.users-page button{box-sizing:border-box}@media (width<=640px){.users-page .username-field{grid-template-columns:1fr}}.license-context{color:#475569;background:#f8fafc;border:1px solid #dbe3ef;border-radius:10px;padding:8px 10px;font-weight:800;display:block}.license-context b{color:#0f172a}.users-page .users-form-panel{align-items:end;gap:14px;display:grid}.users-page .card:has(.users-add-panel){max-width:860px}.users-page .users-add-panel{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end}.users-page .users-password-panel{grid-template-columns:repeat(2,minmax(220px,1fr)) auto}.users-page .users-field{flex-direction:column;gap:8px;min-width:0;display:flex}.users-page .users-field input,.users-page .users-field select{width:100%;min-width:0}.users-page .users-parent-students-list{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;gap:8px;max-height:170px;padding:10px;display:grid;overflow:auto}.users-page .users-parent-student-option{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-weight:800;display:flex}.users-page .users-parent-student-option input{width:auto;min-width:18px;height:18px;padding:0}.users-page .username-field{width:100%}.users-page .users-save-button{white-space:nowrap;place-self:end start;min-width:132px;min-height:42px;padding:9px 14px}.users-page button:disabled{opacity:.65;cursor:wait}@media (width<=1180px){.users-page .users-add-panel,.users-page .users-password-panel{grid-template-columns:1fr 1fr}.users-page .users-save-button{grid-column:1/-1;justify-self:start}}@media (width<=700px){.users-page .users-add-panel,.users-page .users-password-panel{grid-template-columns:1fr}.users-page .users-save-button{grid-column:auto;justify-self:stretch;width:100%}}.duty-form textarea{min-height:74px}.duties-page .duty-form{background:#fff;border:2px solid #b8c4d6;border-radius:14px;gap:14px;padding:16px;display:grid;box-shadow:0 12px 28px #0f172a1a}.duty-form-row{align-items:start;gap:12px;display:grid}.duty-form-row--primary{grid-template-columns:minmax(160px,220px) minmax(140px,180px) minmax(140px,180px)}.duty-form-row--secondary{grid-template-columns:minmax(240px,1.3fr) minmax(160px,.9fr) minmax(0,1fr)}.duty-form-row--details{grid-template-columns:minmax(260px,1.3fr) minmax(180px,.9fr) minmax(0,1fr);align-items:start}.duty-form-row label{color:#0f172a;gap:8px;font-weight:700;display:grid}.duty-form-row input,.duty-form-row select,.duty-form-row textarea{width:100%}.duty-form-row--primary>label:first-child,.duty-form-row--secondary>label:last-child{min-width:0}.duty-form-row--secondary>label:first-child,.duty-form-row--details>label{grid-column:1/span 2}.duty-form-row--secondary>label:last-child,.duty-form-footer{grid-column:3}.duty-form-row--details>label,.duty-form-row--details .duty-form-footer{align-self:stretch}.duty-form-row input[type=time]{justify-self:start;min-width:120px;max-width:150px}.duty-form-footer{align-content:start;justify-self:stretch;gap:12px;display:grid}.duty-form-footer .actions{flex-wrap:wrap;justify-content:flex-start}.duties-table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:10px;box-shadow:0 12px 26px #0f172a1a}.duties-page .table-wrap table{border-collapse:separate;border-spacing:0;width:100%}.duties-page .table-wrap th,.duties-page .table-wrap td{border-inline-end:1.5px solid #94a3b8;border-bottom:1.5px solid #94a3b8}.duties-page .table-wrap thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.duties-page .table-wrap th:first-child,.duties-page .table-wrap td:first-child{border-inline-start:1.5px solid #94a3b8}.duties-page .table-wrap tbody tr:nth-child(2n) td{background:#f8fafc}.duties-page .table-wrap tbody tr:hover td{background:#eff6ff}.muted-row{opacity:.58}.affected-duty-row td{color:#7f1d1d;font-weight:800;background:#fef2f2!important}.daily-duties-table table,.duties-page table{border:1px solid #9fb0c8}.duties-page .card{background:#fff;border:2px solid #b8c4d6;box-shadow:0 12px 28px #0f172a1a}.duties-page .table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 10px 24px #0f172a1a}.duties-page table{border-collapse:separate;border-spacing:0;width:100%}.duties-page th,.duties-page td{border-inline-end:1.5px solid #94a3b8;background-clip:padding-box;border-bottom:1.5px solid #94a3b8}.duties-page thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.duties-page th:first-child,.duties-page td:first-child{border-inline-start:1.5px solid #94a3b8}.duties-page tbody tr:nth-child(2n) td{background:#f8fafc}.duties-page tbody tr:hover td{background:#eff6ff}.duties-page .muted-row td{background:#f1f5f9}.homeroom-page .card{background:#fff;border:2px solid #b8c4d6;box-shadow:0 12px 28px #0f172a1a}.homeroom-editor-layout{gap:14px;display:grid}.homeroom-editor-row{background:#f8fafc;border:2px solid #b8c4d6;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,1fr) minmax(220px,1fr);align-items:end;gap:12px;padding:14px;display:grid;box-shadow:0 10px 24px #0f172a17}.homeroom-editor-row-title{color:#0f172a;grid-column:1/-1;font-weight:900}.homeroom-editor-row label{color:#334155;gap:8px;font-weight:800;display:grid}.homeroom-editor-row .actions{grid-column:1/-1;justify-content:flex-start}.homeroom-page .bulk-box{background:#fff;border:2px solid #94a3b8;border-radius:8px;margin-top:0;box-shadow:0 14px 30px #0f172a1c}.homeroom-page .bulk-box h3{color:#0f172a;border-bottom:2px solid #e2e8f0;margin:0 0 12px;padding-bottom:10px}.homeroom-time-section{background:#f8fbff;border-color:#7ea0d6}.homeroom-assignment-section{background:#fff;border-color:#b8c4d6}.homeroom-page .homeroom-table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 10px 24px #0f172a1a}.homeroom-page .homeroom-table{border-collapse:separate;border-spacing:0;width:100%}.homeroom-page .homeroom-table th,.homeroom-page .homeroom-table td{border-inline-end:1.5px solid #94a3b8;background-clip:padding-box;border-bottom:1.5px solid #94a3b8}.homeroom-page .homeroom-table thead th{color:#0f172a;background:#dbeafe;border-top:1.5px solid #94a3b8;font-weight:900}.homeroom-page .homeroom-table th:first-child,.homeroom-page .homeroom-table td:first-child{border-inline-start:1.5px solid #94a3b8}.homeroom-page .homeroom-table tbody tr:nth-child(2n) td{background:#f8fafc}.homeroom-page .homeroom-table tbody tr:hover td{background:#eff6ff}.sidebar button,.content .card,.metric-card,.mini-metric,.kpis div,.teacher-program-card,.table-wrap,.day,.pill,.language-switcher button,button{transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,color .16s,opacity .16s}.sidebar button:not(.nav-disabled):not(:disabled):hover{background:#2563eb2e;transform:translate(-2px)scale(1.015);box-shadow:0 9px 20px #0f172a42}html[dir=ltr] .sidebar button:not(.nav-disabled):not(:disabled):hover{transform:translate(2px)scale(1.015)}.sidebar button.active:hover{background:#2f6ff0;box-shadow:0 10px 24px #2563eb52}.sidebar button.nav-disabled:hover,.sidebar button:disabled:hover{transform:none}.content .card:hover,.teacher-program-card:hover,.metric-card:hover,.mini-metric:hover,.kpis div:hover{border-color:#aebbd0;transform:translateY(-2px);box-shadow:0 14px 30px #0f172a21}.table-wrap:hover{border-color:#b7c3d6;box-shadow:0 10px 24px #0f172a17}.day:hover,.pill:hover,.language-switcher button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1a}button:not(:disabled):hover{filter:brightness(1.03);transform:translateY(-1px)}button:disabled:hover{transform:none}@media (prefers-reduced-motion:reduce){.sidebar button,.content .card,.metric-card,.mini-metric,.kpis div,.teacher-program-card,.table-wrap,.day,.pill,.language-switcher button,button{transition:none}.sidebar button:not(.nav-disabled):not(:disabled):hover,html[dir=ltr] .sidebar button:not(.nav-disabled):not(:disabled):hover,.content .card:hover,.teacher-program-card:hover,.metric-card:hover,.mini-metric:hover,.kpis div:hover,.day:hover,.pill:hover,.language-switcher button:hover,button:not(:disabled):hover{transform:none}}@media (width<=900px){.homeroom-editor-row{grid-template-columns:1fr}}.homeroom-page select,.homeroom-page input[type=text],.homeroom-page input[type=number]{outline:none;padding:10px;font-weight:600;transition:border-color .2s,box-shadow .2s;color:#0f172a!important;background-color:#fff!important;border:2px solid #64748b!important}.homeroom-page select:focus,.homeroom-page input[type=text]:focus,.homeroom-page input[type=number]:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb33!important}.homeroom-page input[type=checkbox]{cursor:pointer;accent-color:#2563eb;vertical-align:middle;border:2px solid #475569!important;border-radius:4px!important;width:20px!important;height:20px!important;padding:0!important}.homeroom-table-wrap{border:2px solid #475569!important}.homeroom-table{border-collapse:collapse!important}.homeroom-table th{color:#fff!important;background-color:#1e3a8a!important;border:2px solid #475569!important;padding:12px 10px!important;font-size:14px!important;font-weight:800!important}.homeroom-table td{background-color:#fff;color:#0f172a!important;border:1px solid #64748b!important;padding:10px!important;font-size:13.5px!important}.homeroom-table tr:has(input[type=checkbox]:checked) td{background-color:#eff6ff!important}.homeroom-table tr:hover td{background-color:#f8fafc!important}.modal-card{width:min(92vw,1180px);max-width:min(92vw,1180px);max-height:90vh}.modal-card table{min-width:100%}.modal-card .table-wrap{max-width:100%;overflow:auto}.modal-card input,.modal-card select,.modal-card textarea{min-width:0}.modal-card td,.modal-card th{white-space:normal;word-break:break-word}.account-privacy-page .account-privacy-details{gap:14px;margin:0;display:grid}.account-privacy-page .account-privacy-details div{gap:4px;display:grid}.account-privacy-page .account-privacy-details dt{color:#64748b;font-size:.85rem}.account-privacy-page .account-privacy-details dd{color:#0f172a;overflow-wrap:anywhere;margin:0;font-weight:700}.account-privacy-page label{color:#0f172a;gap:8px;margin-top:14px;font-weight:700;display:grid}.account-privacy-page input,.account-privacy-page textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px}.account-privacy-page input:focus,.account-privacy-page textarea:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb29}.danger-button{color:#fff;background:#b91c1c;border:0;border-radius:8px;margin-top:14px;padding:11px 16px;font-weight:800}.danger-button:disabled{color:#64748b;cursor:not-allowed;background:#cbd5e1}.teacher-color-cell{font-weight:800;position:relative;color:#0f172a!important;border-width:1.5px!important}.ai-settings-page{perspective:1200px;align-content:start;gap:20px;min-height:100%;padding-block-end:28px;display:grid}.ai-settings-page .page-header{background:linear-gradient(135deg,#2563eb29,#fffffff0 44%),#fff;border:2px solid #b9cce6;border-radius:8px;padding:20px 22px;transform:translateZ(0);box-shadow:0 28px 50px #0f172a33,0 8px #47556929,inset 0 1px #ffffffdb}.ai-settings-page .eyebrow{color:#2563eb;letter-spacing:0;margin:0 0 6px;font-size:12px;font-weight:900}.ai-settings-page h2{color:#0f172a;margin:0;font-size:26px;line-height:1.25}.ai-page-subtitle{color:#475569;max-width:680px;margin:8px 0 0;font-size:14px;font-weight:700;line-height:1.7}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:18px;display:grid}.panel-card{background:linear-gradient(#f1f6fdfa,#fffffffa),#fff;border:2px solid #b9cce6;border-radius:8px;gap:18px;padding:22px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;transform:translateZ(0);box-shadow:0 28px 50px #0f172a2e,0 9px #47556924,inset 0 0 0 1px #ffffffb3,inset 0 1px #ffffffe6}.panel-card:hover{border-color:#7fa1cf;transform:translateY(-3px);box-shadow:0 34px 60px #0f172a38,0 10px #4755692e,inset 0 1px #ffffffeb}.panel-heading{color:#0f172a;background:#f7fbff;border:1px solid #c6d7ec;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex;box-shadow:inset 0 1px #ffffffe6}.panel-heading svg{color:#2563eb;background:#e8f1ff;border:2px solid #a9c1df;border-radius:8px;width:40px;height:40px;padding:8px;box-shadow:0 8px 16px #2563eb29,inset 0 1px #ffffffe6}.panel-heading h3{margin:0;font-size:18px;line-height:1.3}.panel-heading p{color:#334155;margin:5px 0 0;font-size:13.5px;font-weight:800;line-height:1.6}.settings-toggle-row{color:#0f172a;background:#fff;border:2px solid #bfd0e6;border-radius:8px;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;min-height:54px;padding:14px 16px;font-weight:800;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:0 16px 28px #0f172a1f,0 5px #64748b1f,inset 0 1px #ffffffdb}.ai-feature-card>span{gap:4px;min-width:0;display:grid}.ai-feature-card b{color:#0f172a;font-size:15px;line-height:1.35}.ai-feature-card small{color:#475569;font-size:12px;font-weight:800;line-height:1.6}.settings-toggle-row:hover{border-color:#7fa1cf;transform:translateY(-2px);box-shadow:0 20px 34px #0f172a29,0 6px #64748b29,inset 0 1px #ffffffe6}.settings-toggle-row input{accent-color:#2563eb;block-size:18px;inline-size:18px}.settings-toggle-row strong{color:#2563eb;white-space:nowrap;background:#eff6ff;border:2px solid #93c5fd;border-radius:999px;padding:6px 12px;font-size:13px;box-shadow:0 5px 10px #2563eb1f}.compact-form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.compact-form-grid label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}.ai-limits-grid label,.ai-document-form label{background:#fff;border:2px solid #c6d7ec;border-radius:8px;padding:14px;box-shadow:0 14px 24px #0f172a1a,0 4px #64748b1a}.compact-form-grid input,.ai-settings-panel textarea{color:#0f172a;background:#fff;border:2px solid #b9cce6;border-radius:8px;width:100%;min-width:0;box-shadow:inset 0 1px 2px #0f172a0d}.compact-form-grid input{min-height:42px}.ai-settings-panel textarea{resize:vertical;min-height:150px;padding:12px;line-height:1.7}.compact-form-grid input:focus,.ai-settings-panel textarea:focus{border-color:#2563eb;outline:3px solid #2563eb24}.ai-settings-panel>button{border:2px solid #1d4ed8;justify-self:start;min-height:42px;box-shadow:0 14px 22px #2563eb3d,0 4px #1e40af3d}.ai-document-list{gap:8px;display:grid}.ai-document-row{background:#fff;border:2px solid #c6d7ec;border-radius:8px;grid-template-columns:1fr 42px;align-items:center;gap:10px;min-height:62px;padding:14px 16px;display:grid;box-shadow:0 16px 28px #0f172a1c,0 5px #64748b1f}.ai-document-row div{gap:4px;min-width:0;display:grid}.ai-document-row strong,.ai-document-row span{overflow-wrap:anywhere}.ai-document-row span{color:#64748b;font-size:13px}.ai-empty-card{color:#334155;text-align:center;background:#f8fbff;border:2px dashed #7fa1cf;border-radius:8px;padding:18px;font-weight:800;box-shadow:inset 0 1px #ffffffe6}.table-scroll{background:#fff;border:2px solid #b9cce6;border-radius:8px;overflow:auto;box-shadow:0 18px 32px #0f172a1f,inset 0 1px #ffffffe6}.table-scroll table{border-collapse:separate;border-spacing:0;min-width:760px}.ai-settings-panel .table-scroll th{color:#0f172a;background:#eef4ff;border-bottom:1px solid #d6e2f2}.ai-settings-panel .table-scroll td{border-bottom:1px solid #edf2f7}.ai-settings-panel .table-scroll tbody tr:last-child td{border-bottom:0}.form-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:0;padding:10px 12px;font-weight:800}.ai-chat-page{gap:18px;display:grid}.ai-chat-safety{color:#334155;align-items:center;gap:8px;max-width:520px;font-size:13px;font-weight:800;display:inline-flex}.ai-chat-shell{gap:14px;max-width:980px;display:grid}.ai-chat-thread{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;gap:12px;min-height:420px;max-height:62vh;padding:18px;display:grid;overflow:auto}.ai-chat-message{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;display:grid}.ai-chat-message.user{direction:rtl}.ai-chat-avatar{color:#fff;background:#2563eb;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:900;display:inline-flex}.ai-chat-message.assistant .ai-chat-avatar{background:#0f172a}.ai-chat-bubble{background:#fff;border:1px solid #dbe3ef;border-radius:8px;gap:8px;padding:12px 14px;display:grid;box-shadow:0 8px 18px #0f172a0f}.ai-chat-bubble p{color:#0f172a;white-space:pre-wrap;margin:0;line-height:1.7}.ai-chat-meta,.ai-chat-examples{flex-wrap:wrap;gap:8px;display:flex}.ai-chat-meta span,.ai-chat-examples button{color:#1e3a8a;background:#eef2ff;border:1px solid #cbd5e1;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.ai-chat-examples button{cursor:pointer;background:#fff}.ai-chat-examples button:disabled{cursor:not-allowed;opacity:.6}.ai-chat-composer{grid-template-columns:minmax(0,1fr) 48px;align-items:stretch;gap:10px;display:grid}.ai-chat-composer textarea{resize:vertical;width:100%;min-height:72px;font:inherit;border:1.5px solid #94a3b8;border-radius:8px;padding:12px 14px}.ai-chat-composer button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.ai-chat-composer button:disabled{cursor:not-allowed;background:#94a3b8}.spin{animation:.8s linear infinite som-spin}@keyframes som-spin{to{transform:rotate(360deg)}}.teacher-color-cell span,.teacher-color-cell strong{color:inherit!important}.daily-cell.teacher-color-cell,.substitution-cell.teacher-color-cell,.duties-page .teacher-color-cell,.daily-duties-table .teacher-color-cell{box-shadow:inset 4px 0 #0f172a2e}html[dir=rtl] .daily-cell.teacher-color-cell,html[dir=rtl] .substitution-cell.teacher-color-cell,html[dir=rtl] .duties-page .teacher-color-cell,html[dir=rtl] .daily-duties-table .teacher-color-cell{box-shadow:inset -4px 0 #0f172a2e}.homeroom-page .form,.duties-page .form{background:#fff;border:1.5px solid #c3cede;border-radius:10px;padding:14px;box-shadow:0 8px 18px #0f172a14}.duties-page input,.duties-page select,.duties-page textarea,.homeroom-page select,.homeroom-page input,.homeroom-page textarea{box-shadow:0 1px 4px #0f172a0f;background:#fff!important;border:1.5px solid #9aa9bd!important;border-radius:8px!important}.duties-page input:focus,.duties-page select:focus,.duties-page textarea:focus,.homeroom-page select:focus,.homeroom-page input:focus,.homeroom-page textarea:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb29!important}.duties-page .table-wrap,.homeroom-page .table-wrap,.daily-duties-table{background:#fff;border:2px solid #94a3b8;border-radius:8px;box-shadow:0 12px 24px #0f172a17}.schedules-page .schedule-tools{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:14px 0;display:grid}.schedules-page .schedule-day-strip{justify-content:flex-start;display:flex}.schedules-page .schedule-day-strip label{color:#334155;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;gap:8px;min-width:min(100%,240px);padding:12px 14px;font-weight:900;display:grid;box-shadow:0 8px 18px #0f172a14}.schedules-page .schedule-day-strip select{background:#fff;border:1.5px solid #94a3b8;border-radius:8px;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0d}.schedules-page .schedule-actions-card{gap:12px;display:grid}.schedules-page .schedule-actions-row{justify-content:flex-start}.schedules-page .schedule-tool{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;padding:14px;box-shadow:0 10px 22px #0f172a1a}.schedules-page .schedule-tool h3{color:#0f172a;margin:0 0 12px;font-size:15px}.schedules-page .schedule-tool-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.schedules-page .schedule-tool-grid label{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:6px;padding:10px 12px;display:grid;box-shadow:0 6px 14px #0f172a14}.schedules-page .schedule-tool-check{grid-column:1/-1;align-items:center;gap:8px;display:flex!important}.schedules-page .schedule-tool-grid button{grid-column:1/-1;justify-self:start}.schedules-page .schedule-tool-grid select,.schedules-page .schedule-tool-grid input{background:#fff;border:1.5px solid #94a3b8;border-radius:10px;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0d}.schedules-page .schedule-tool-grid select:focus,.schedules-page .schedule-tool-grid input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.schedules-page .schedule-swap-preview,.schedules-page .schedule-copy-preview{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;margin-top:12px;padding:12px 14px;box-shadow:0 10px 22px #0f172a14}.schedules-page .schedule-swap-preview.is-ok,.schedules-page .schedule-copy-preview.is-ok{background:#f0fdf4;border-color:#86efac}.schedules-page .schedule-swap-preview.is-blocked,.schedules-page .schedule-copy-preview.is-blocked{background:#fff1f2;border-color:#fecaca}.schedules-page .schedule-swap-preview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.schedules-page .schedule-swap-preview-head strong{color:#0f172a;font-size:14px}.schedules-page .schedule-swap-preview-head span{color:#475569;font-size:12px;font-weight:700}.schedules-page .schedule-swap-preview-ok{color:#166534;margin:0;font-weight:800}.schedules-page .schedule-swap-preview-blocked{color:#9f1239;margin:0;font-weight:800}.schedules-page .schedule-swap-preview-hint{color:#475569;margin:6px 0 0;font-size:13px;line-height:1.6}.schedules-page .schedule-swap-preview-error{color:#b91c1c;margin:0;font-weight:700}.schedules-page .schedule-swap-conflicts{color:#7f1d1d;gap:6px;margin:10px 0 0;padding:0 20px 0 0;display:grid}.schedules-page .schedule-swap-conflicts li{line-height:1.55}.schedules-page .schedule-room-hint{color:#64748b;margin:10px 0 0;font-size:13px}.schedules-page .schedule-room-cell{color:#1d4ed8;font-size:11px;font-weight:700}.operator-health-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0;display:grid}.operator-health-tile{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px;display:grid;box-shadow:0 8px 18px #0f172a14}.operator-health-tile-icon{color:#3730a3;background:#eef2ff;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.operator-health-tile-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.operator-health-tile h3{color:#334155;margin:0;font-size:14px}.operator-health-tile strong{color:#0f172a;overflow-wrap:anywhere;font-size:18px;display:block}.operator-health-tile p{color:#64748b;overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.operator-health-badge{border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.operator-health-badge.ok{color:#166534;background:#dcfce7}.operator-health-badge.fail{color:#991b1b;background:#fee2e2}.report-triple-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:18px;display:grid}.report-filter-grid{align-items:stretch}[data-e2e=reports-page]{gap:20px}[data-e2e=reports-page]>.card{border:2px solid #cbd5e1;box-shadow:0 18px 36px #0f172a1c,inset 0 2px #ffffffe6}[data-e2e=reports-page]>.card:before{content:"";inset-inline:0;background:linear-gradient(90deg,#2563eb,#14b8a6,#f59e0b);border-radius:8px 8px 0 0;height:4px;position:absolute;top:0}[data-e2e=reports-page] .card-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;margin:-4px -2px 16px;padding:16px 18px 14px}[data-e2e=reports-page] .report-tabs{background:#fff;border:2px solid #cbd5e1;border-radius:8px;flex-wrap:wrap;gap:10px;padding:12px;display:flex;box-shadow:0 12px 26px #0f172a17}[data-e2e=reports-page] .report-tabs button{border:1.5px solid #94a3b8}[data-e2e=reports-page] .report-tabs button.active{border-color:#1d4ed8;box-shadow:0 8px 18px #2563eb38}[data-e2e=reports-page] .report-filter-grid{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;padding:12px;box-shadow:inset 0 1px #ffffffe6}.report-filter-grid>label{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;gap:6px;padding:10px 12px;display:grid;box-shadow:inset 0 1px 2px #0f172a0a}.report-filter-grid>label>span{color:#334155;font-size:13px;font-weight:800}.report-filter-grid>label>input,.report-filter-grid>label>select{background:#f8fafc;border-color:#cbd5e1;min-width:0}.report-filter-grid>button{align-self:stretch;min-height:46px}[data-e2e=reports-page] .report-stack,[data-e2e=reports-page] #daily-report-print{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;gap:16px;margin-top:14px;padding:14px;display:grid;box-shadow:0 12px 24px #0f172a14}[data-e2e=reports-page] .report-header,[data-e2e=reports-page] .report-text,[data-e2e=reports-page] .small-table,[data-e2e=reports-page] .report-chart{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 18px #0f172a12}[data-e2e=reports-page] .report-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}[data-e2e=reports-page] .report-text{margin:0}[data-e2e=reports-page] .report-chart{padding:12px}[data-e2e=reports-page] .small-table{overflow:auto}[data-e2e=reports-page] .small-table table{border-collapse:separate;border-spacing:0}[data-e2e=reports-page] .small-table th,[data-e2e=reports-page] .small-table td{border-color:#cbd5e1}[data-e2e=reports-page] .small-table th{color:#0f172a;background:#eaf1ff}[data-e2e=reports-page] .teacher-kpis .metric-card{border:1.5px solid #cbd5e1;box-shadow:0 10px 20px #0f172a14}.report-filter-grid .wide-input{width:100%}.report-chart-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;padding:14px;box-shadow:0 8px 18px #0f172a14}.report-chart-card h4{color:#0f172a;margin:0 0 12px;font-size:15px}.security-incident-panel{background:#fff;border:1.5px solid #cbd5e1;border-radius:18px;box-shadow:0 10px 24px #0f172a14}.security-incident-panel .details-grid>label{background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;gap:6px;padding:10px 12px;display:grid}.security-incident-panel .details-grid>label>input,.security-incident-panel .details-grid>label>textarea,.security-incident-panel .details-grid>label>select{border-color:#cbd5e1;min-width:0}.report-vertical-chart{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));align-items:end;gap:10px;min-height:260px;margin-bottom:12px;display:grid}.report-vertical-column{align-content:end;justify-items:center;gap:8px;min-height:100%;display:grid}.report-vertical-bar-wrap{align-items:end;width:100%;min-height:220px;display:flex}.report-vertical-bar{color:#0f172a;border-radius:12px 12px 6px 6px;justify-content:center;align-items:flex-start;width:100%;min-height:24px;padding-top:6px;font-size:11px;font-weight:900;display:flex;box-shadow:0 8px 16px #0f172a24}.report-vertical-label{text-align:center;color:#0f172a;font-size:12px;font-weight:800;line-height:1.5}.report-vertical-column em,.report-horizontal-value{color:#475569;font-size:12px;font-style:normal;font-weight:700}.report-horizontal-chart{gap:10px;display:grid}.report-horizontal-row{grid-template-columns:minmax(120px,190px) 1fr auto;align-items:center;gap:10px;display:grid}.report-horizontal-label{align-items:center;gap:8px;min-width:0;display:inline-flex}.report-horizontal-label strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-horizontal-label i{border-radius:999px;flex:0 0 12px;width:12px;height:12px;display:inline-block}.report-horizontal-bar-track{background:#eff6ff;border:1px solid #cbd5e1;border-radius:999px;height:14px;overflow:hidden}.report-horizontal-bar{border-radius:999px;height:100%}.report-pie-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px;display:grid}.pie-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;justify-items:center;gap:10px;padding:14px;display:grid;box-shadow:0 8px 18px #0f172a14}.pie-card h4{color:#0f172a;margin:0}.pie-chart{color:#0f172a;border:8px solid #f8fafc;border-radius:50%;place-items:center;width:132px;height:132px;font-size:20px;font-weight:800;display:grid;position:relative;box-shadow:inset 0 0 0 1px #cbd5e1,0 6px 18px #0f172a1f}.pie-chart:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:20px}.pie-chart span{z-index:1;position:relative}.pie-chart-empty{background:linear-gradient(135deg,#eff6ff,#f8fafc)!important}.pie-chart-empty:after{background:#fff}.pie-legend{gap:6px;width:100%;font-size:13px;display:grid}.pie-legend span{justify-content:space-between;align-items:center;gap:7px;display:flex}.pie-legend strong{align-items:center;gap:7px;font-weight:700;display:inline-flex}.pie-legend em{color:#475569;font-style:normal}.pie-legend i{border-radius:999px;flex:0 0 12px;width:12px;height:12px;display:inline-block}.pie-chart-shell{place-items:center;display:grid}.archive-scroll-area{padding-bottom:12px;overflow:auto visible}.archive-table{table-layout:auto;width:max-content;min-width:1550px}.archive-table th,.archive-table td{vertical-align:top;word-break:break-word;white-space:normal;padding:12px 14px}.archive-table th:first-child,.archive-table td:first-child{width:110px}.archive-table th:nth-child(2),.archive-table td:nth-child(2){width:92px}.archive-table th:nth-child(3),.archive-table td:nth-child(3),.archive-table th:nth-child(4),.archive-table td:nth-child(4),.archive-table th:nth-child(5),.archive-table td:nth-child(5),.archive-table th:nth-child(6),.archive-table td:nth-child(6),.archive-table th:nth-child(7),.archive-table td:nth-child(7){width:88px}.archive-table th:nth-child(9),.archive-table td:nth-child(9){width:122px}.archive-details-row td{background:#f8fafc}.archive-details-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.archive-detail-card{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:12px;box-shadow:0 6px 14px #0f172a0f}.archive-detail-card h4{margin:0 0 8px;font-size:13px}.archive-detail-card p{color:#334155;word-break:break-word;margin:0;font-size:12px;line-height:1.8}.archive-table small{color:#64748b;font-size:12px;line-height:1.5;display:block}.students-page,.student-attendance-page{gap:16px;display:grid}.students-page .card,.student-attendance-page .card{border:2px solid #bcc7d6;border-radius:14px;box-shadow:0 16px 34px #0f172a1f}.student-profile-form{gap:14px}.student-form-row{background:#f8fafc;border:1.5px solid #94a3b8;border-radius:12px;gap:12px;padding:14px;display:grid;box-shadow:0 10px 24px #0f172a17}.student-profile-form label{color:#334155;gap:6px;font-weight:800;display:grid}.student-profile-form input,.student-profile-form select,.student-profile-form textarea{background:#fff;border:1.5px solid #94a3b8;border-radius:10px;width:100%;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0d}.student-profile-form input:focus,.student-profile-form select:focus,.student-profile-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.student-form-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.student-form-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.student-form-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.students-table-wrap,.attendance-table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:12px;box-shadow:0 14px 28px #0f172a1f}.student-list-toolbar{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex;box-shadow:0 10px 22px #0f172a14}.student-list-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-filter{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;align-items:center;gap:10px;min-width:min(430px,100%);padding:12px 14px;display:flex;box-shadow:0 10px 22px #0f172a14}.student-filter span,.student-move-field span{color:#334155;white-space:nowrap;font-weight:800}.student-list-count{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:8px 12px;font-weight:800}.student-list-import-hint{color:#475569;margin:10px 0 0;font-size:13px}.hidden-file-input{display:none}.students-table th,.students-table td,.student-attendance-table th,.student-attendance-table td{border:1px solid #94a3b8}.student-phone-cell{gap:3px;min-width:130px;font-size:13px;line-height:1.55;display:grid}.student-phone-cell strong{color:#334155}.student-move-modal{max-width:540px}.student-move-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.student-move-summary div{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;gap:4px;padding:12px;display:grid}.student-move-summary span{color:#64748b;font-size:13px;font-weight:700}.student-move-summary strong{color:#0f172a;font-size:15px}.student-move-field{gap:6px;margin-bottom:14px;display:grid}.student-move-field select,.student-filter select{border:1.5px solid #94a3b8;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0d}.student-filter select{flex:1;min-width:220px}.students-page .card,.lesson-today-page .card,.exam-page .card{border:1.5px solid #cbd5e1;border-radius:14px;box-shadow:0 14px 28px #0f172a1a}.attendance-controls{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;grid-template-columns:minmax(190px,1.15fr) minmax(150px,.8fr) minmax(140px,.72fr);align-items:end;gap:10px;padding:12px 14px;display:grid;box-shadow:0 10px 22px #0f172a14}.attendance-controls label{gap:4px;font-weight:700;display:grid}.student-attendance-page .attendance-controls>label,.student-academic-page .attendance-controls>label,.student-behavior-page .attendance-controls>label,.student-marks-page .attendance-controls>label,.lesson-today-page .lesson-controls>label,.homework-page .lesson-controls>label,.exam-page .lesson-controls>label,.timetable-page .timetable-weekly-field{cursor:pointer;background:linear-gradient(#fff,#f8fbff);border:1.5px solid #9fb0c6;border-radius:14px;align-content:start;gap:6px;min-height:84px;padding:12px 14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 10px 22px #0f172a1a}.student-attendance-page .attendance-controls>label:hover,.student-attendance-page .attendance-controls>label:focus-within,.student-academic-page .attendance-controls>label:hover,.student-academic-page .attendance-controls>label:focus-within,.student-behavior-page .attendance-controls>label:hover,.student-behavior-page .attendance-controls>label:focus-within,.student-marks-page .attendance-controls>label:hover,.student-marks-page .attendance-controls>label:focus-within,.lesson-today-page .lesson-controls>label:hover,.lesson-today-page .lesson-controls>label:focus-within,.homework-page .lesson-controls>label:hover,.homework-page .lesson-controls>label:focus-within,.exam-page .lesson-controls>label:hover,.exam-page .lesson-controls>label:focus-within,.timetable-page .timetable-weekly-field:hover,.timetable-page .timetable-weekly-field:focus-within{border-color:#7ea6e8;transform:translateY(-1px);box-shadow:0 14px 28px #0f172a24}.student-attendance-page .attendance-controls>label input,.student-attendance-page .attendance-controls>label select,.student-academic-page .attendance-controls>label input,.student-academic-page .attendance-controls>label select,.student-behavior-page .attendance-controls>label input,.student-behavior-page .attendance-controls>label select,.student-marks-page .attendance-controls>label input,.student-marks-page .attendance-controls>label select,.lesson-today-page .lesson-controls>label input,.lesson-today-page .lesson-controls>label select,.homework-page .lesson-controls>label input,.homework-page .lesson-controls>label select,.exam-page .lesson-controls>label input,.exam-page .lesson-controls>label select,.timetable-page .timetable-weekly-field select{background:#fff;border:1.5px solid #94a3b8;border-radius:10px;width:100%;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0d}.student-attendance-page .attendance-controls>label input:focus,.student-attendance-page .attendance-controls>label select:focus,.student-academic-page .attendance-controls>label input:focus,.student-academic-page .attendance-controls>label select:focus,.student-behavior-page .attendance-controls>label input:focus,.student-behavior-page .attendance-controls>label select:focus,.student-marks-page .attendance-controls>label input:focus,.student-marks-page .attendance-controls>label select:focus,.lesson-today-page .lesson-controls>label input:focus,.lesson-today-page .lesson-controls>label select:focus,.homework-page .lesson-controls>label input:focus,.homework-page .lesson-controls>label select:focus,.exam-page .lesson-controls>label input:focus,.exam-page .lesson-controls>label select:focus,.timetable-page .timetable-weekly-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.student-attendance-page .attendance-controls>label select,.student-attendance-page .attendance-controls>label input{cursor:pointer}.timetable-page .timetable-subject-card{gap:10px;padding:4px 2px 2px;display:grid}.timetable-page .timetable-subject-field{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1.8px solid #bfd0e6;border-radius:16px;align-content:start;gap:8px;padding:12px 14px;display:grid;box-shadow:inset 0 1px #fffc}.timetable-page .timetable-subject-field span{color:#0f172a;text-align:start;font-size:15px;font-weight:900}.timetable-page .timetable-subject-field select{background:#fff;border:1.8px solid #94a3b8;border-radius:14px;width:100%;min-height:48px;font-size:16px;font-weight:800;box-shadow:inset 0 1px 2px #0f172a0d}.timetable-page .timetable-subject-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.student-attendance-name{text-align:start;min-width:190px;font-weight:800}.attendance-button{opacity:.68;border:2px solid #0000;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;transition:transform .15s,opacity .15s,box-shadow .15s;display:inline-grid}.attendance-button:hover,.attendance-button:focus-visible,.attendance-button.selected{opacity:1;transform:scale(1.08);box-shadow:0 5px 12px #0f172a29}.attendance-button.present{background:#16a34a}.attendance-button.late{background:#f59e0b}.attendance-button.absent{background:#dc2626}.attendance-button.selected{border-color:#0f172a}.attendance-button svg{width:12px;height:12px}.attendance-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.attendance-summary-card{background:#f8fafc;border:2px solid #9fb0c6;border-radius:12px;gap:4px;padding:14px;display:grid;box-shadow:0 12px 24px #0f172a1f}.attendance-summary-card span{color:#475569;font-size:13px;font-weight:800}.attendance-summary-card strong{font-size:26px;line-height:1}.attendance-summary-present{background:#f0fdf4;border-color:#86efac}.attendance-summary-present strong{color:#15803d}.attendance-summary-late{background:#fffbeb;border-color:#fcd34d}.attendance-summary-late strong{color:#d97706}.attendance-summary-absent{background:#fef2f2;border-color:#fca5a5}.attendance-summary-absent strong{color:#dc2626}.attendance-summary-note{color:#64748b;margin:10px 0 0;font-weight:700}.student-attendance-page .attendance-summary{margin-top:2px}.attendance-archive-panel{gap:14px;display:grid}.attendance-archive-button{justify-self:start}.attendance-archive-report{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.attendance-archive-report div{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:4px;padding:12px 14px;display:grid;box-shadow:0 10px 22px #0f172a14}.attendance-archive-report span{color:#475569;font-size:13px;font-weight:800}.attendance-archive-report strong{color:#0f172a;font-size:20px}.attendance-notification-panel{grid-template-columns:minmax(320px,1fr) minmax(280px,.85fr);gap:14px;display:grid}.attendance-notifications-wrap .card{border:1.5px solid #b6c7e5;box-shadow:0 16px 32px #1e293b1c}.attendance-notification-form,.attendance-notification-list{gap:12px;display:grid}.attendance-notification-field{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:8px;padding:12px 14px;font-weight:800;display:grid;box-shadow:0 10px 22px #0f172a14}.attendance-notification-field span{color:#0f172a}.attendance-notification-form label{gap:8px;display:grid}.attendance-notification-form input,.attendance-notification-form textarea{background:#fff;border:1.5px solid #94a3b8;border-radius:10px;width:100%;min-width:0;box-shadow:inset 0 1px 2px #0f172a0d}.attendance-notification-form input:focus,.attendance-notification-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.attendance-notification-form textarea{resize:vertical;min-height:110px}.attendance-notification-item{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;gap:8px;padding:12px 14px;display:grid;box-shadow:0 10px 22px #0f172a14}.attendance-notification-head,.attendance-notification-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.attendance-notification-head span,.attendance-notification-meta span{color:#64748b;font-size:12px;font-weight:700}.attendance-notification-body{color:#0f172a;line-height:1.6}.attendance-report-print,.students-page,.student-attendance-page,.student-academic-page,.student-behavior-page{gap:16px;display:grid}.students-page .card,.student-attendance-page .card,.student-academic-page .card,.student-behavior-page .card{border:1.5px solid #cbd5e1;border-radius:14px;box-shadow:0 14px 30px #0f172a1a}.student-certificates-page{gap:16px;width:100%;max-width:none;display:grid}.student-certificates-page .card{border:1.5px solid #cbd5e1;border-radius:14px;box-shadow:0 14px 30px #0f172a1a}.student-certificates-page .certificate-page-status{gap:8px;display:grid}.student-certificates-page .certificate-controls-column .card{background:#fff;border:2px solid #b8c4d6;border-radius:8px;box-shadow:0 16px 34px #0f172a1f}.student-certificates-page .certificate-controls-column .card-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;border-radius:8px 8px 0 0;margin:-18px -18px 16px;padding:14px 18px}.certificate-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:16px;width:100%;display:grid}.certificate-controls-column,.certificate-preview-column{gap:16px;min-width:0;display:grid}.certificate-grid{gap:12px;min-width:0;margin-bottom:12px;display:grid}.certificate-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-grid--three,.certificate-grid--certificate-details{grid-template-columns:repeat(3,minmax(0,1fr))}.certificate-type-field select{min-width:0;min-height:48px;padding-inline:14px;font-weight:800}.certificate-attendance-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.certificate-attendance-strip--wide,.certificate-certificate-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-grid label,.certificate-textarea-field{color:#334155;gap:6px;min-width:0;font-weight:800;display:grid}.certificate-attendance-strip label{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(78px,.7fr);align-items:center;min-height:58px;padding:10px 12px;box-shadow:0 8px 18px #0f172a12}.certificate-attendance-strip label span{line-height:1.35}.certificate-attendance-source{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffffe6}.certificate-attendance-source.is-auto{background:#f0fdf4;border-color:#86efac}.certificate-attendance-source.is-manual{background:#fffbeb;border-color:#fde68a}.certificate-attendance-source strong{color:#0f172a;font-size:14px;font-weight:900}.certificate-attendance-source span{color:#475569;font-size:13px;font-weight:800}.certificate-attendance-readonly-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.certificate-attendance-readonly-grid div,.certificate-attendance-manual-note{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;gap:6px;min-height:74px;padding:12px;display:grid;box-shadow:0 8px 18px #0f172a12}.certificate-attendance-readonly-grid span,.certificate-attendance-manual-note{color:#475569;font-size:13px;font-weight:800}.certificate-attendance-readonly-grid strong{color:#0f172a;font-size:26px;font-weight:900;line-height:1}.certificate-attendance-manual-note{color:#92400e;min-height:auto;margin-bottom:12px}.certificate-certificate-status-grid label,.certificate-student-note-header{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;padding:12px 14px;box-shadow:0 8px 18px #0f172a12}.certificate-student-note-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.certificate-student-note-header strong{color:#0f172a;font-size:16px;font-weight:900}.certificate-student-note-header span{color:#475569;font-size:13px;font-weight:800}.certificate-section-hint{color:#64748b;font-size:12px;font-weight:600;line-height:1.55}.certificate-grid input,.certificate-grid select,.certificate-grid textarea,.certificate-textarea-field input,.certificate-textarea-field select,.certificate-textarea-field textarea{background:#fff;border:1.5px solid #94a3b8;border-radius:10px;width:100%;min-width:0;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0d}.certificate-attendance-strip input,.certificate-attendance-strip select{min-height:38px}.certificate-textarea-field textarea{resize:vertical;min-height:92px}.certificate-grid input:focus,.certificate-grid select:focus,.certificate-grid textarea:focus,.certificate-textarea-field input:focus,.certificate-textarea-field select:focus,.certificate-textarea-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.student-marks-page{gap:16px;display:grid}.student-marks-page__header{z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafcf5;border:1.5px solid #cbd5e1;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky;top:12px;box-shadow:0 12px 24px #0f172a14}.student-marks-page__header h2{margin:0}.sticky-save-button{color:#fff;background:#2563eb;border:1px solid #1d4ed8;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-weight:900;display:inline-flex;box-shadow:0 12px 22px #2563eb3d}.sticky-save-button:hover,.sticky-save-button:focus-visible{transform:translateY(-1px);box-shadow:0 14px 26px #2563eb47}.sticky-save-button:disabled{box-shadow:none;background:#94a3b8;border-color:#94a3b8}.student-marks-page .card{border:2px solid #bcc7d6;border-radius:14px;box-shadow:0 16px 34px #0f172a1f}.grade-entry-scope-grid{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.grade-entry-scope-card,.grade-entry-term-card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1.75px solid #64748b;border-radius:16px;gap:12px;padding:16px;display:grid;box-shadow:0 12px 26px #0f172a1f,inset 0 1px 2px #ffffffd1}.grade-entry-scope-card{flex:0 360px;width:min(100%,360px);min-width:280px}.grade-entry-scope-card__title,.grade-entry-term-card__title{color:#334155;font-size:14px;font-weight:900}.grade-entry-scope-card__title strong{font-weight:900}.grade-entry-scope-card__value{color:#0f172a;font-size:16px;font-weight:900}.grade-entry-scope-empty{background:#fff;border:1.75px solid #64748b;border-radius:16px;justify-content:center;align-items:center;min-height:60px;padding:14px 16px;display:flex;box-shadow:0 10px 22px #0f172a1a}.grade-entry-scope-empty-button{color:#0f172a;text-align:right;cursor:pointer;background:linear-gradient(#fff 0%,#f8fafc 100%);border:2px solid #64748b;border-radius:16px;place-items:center start;gap:8px;width:100%;padding:16px 18px;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid;box-shadow:0 12px 24px #0f172a1c,inset 0 1px 2px #ffffffd6}.grade-entry-scope-empty-button:hover,.grade-entry-scope-empty-button:focus-visible{border-color:#475569;transform:translateY(-1px);box-shadow:0 14px 28px #0f172a24,inset 0 1px 2px #ffffffeb}.grade-entry-scope-empty-button:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:0 8px 18px #0f172a14}.grade-entry-scope-empty-button__label{color:#475569;font-size:13px;font-weight:800}.grade-entry-scope-field{color:#0f172a;gap:8px;font-weight:900;display:grid}.grade-entry-scope-field span{color:#475569;font-size:13px;font-weight:800}.grade-entry-scope-field select{width:100%}.grade-entry-subject-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.grade-entry-subject-grid button{color:#0f172a;text-align:center;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;padding:12px 14px;font-weight:900;box-shadow:0 8px 18px #0f172a14}.grade-entry-subject-grid button.active{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 12px 22px #0f766e38}.grade-entry-subject-grid button:hover,.grade-entry-subject-grid button:focus-visible{transform:translateY(-1px)}.grade-entry-term-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.grade-entry-term-buttons{flex-wrap:wrap;gap:10px;display:flex}.grade-entry-term-buttons button{color:#0f172a;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;flex:150px;padding:12px 14px;font-weight:900;box-shadow:0 8px 18px #0f172a14}.grade-entry-term-buttons button.active{color:#fff;background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 12px 22px #1d4ed838}.grade-entry-term-buttons button:hover,.grade-entry-term-buttons button:focus-visible{transform:translateY(-1px)}.grade-entry-overview{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.grade-entry-overview-chip{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:4px;padding:10px 12px;display:grid;box-shadow:inset 0 1px 2px #0f172a0a}.grade-entry-overview-chip strong{color:#1e3a8a;font-size:12px;font-weight:900}.grade-entry-overview-chip span{color:#0f172a;font-weight:800}.grade-entry-term-tabs{margin-top:4px}.grade-entry-type-tabs{margin-top:12px}.grade-entry-warning{color:#b45309}.grade-entry-active-type{color:#1d4ed8;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:999px;align-items:center;padding:6px 12px;font-weight:900;display:inline-flex}.grade-entry-progress-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.grade-entry-progress-note{color:#475569;font-weight:700}.grade-entry-progress-badge{color:#0f172a;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-width:86px;padding:6px 10px;font-weight:900;display:inline-flex}.grade-entry-progress-badge.small{min-width:72px;padding:4px 8px;font-size:12px}.grade-entry-progress-badge.complete{color:#15803d;background:#ecfdf5;border-color:#86efac}.grade-entry-progress-badge.partial{color:#b45309;background:#fffbeb;border-color:#fcd34d}.grade-entry-progress-badge.empty{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.grade-entry-section-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px;display:grid}.grade-entry-section-summary{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;gap:6px;padding:12px;display:grid;box-shadow:0 12px 24px #0f172a1a}.grade-entry-section-summary strong{color:#0f172a;font-size:15px}.grade-entry-section-summary span{color:#475569;font-weight:800}.grade-entry-section-summary.complete{background:#f0fdf4;border-color:#86efac}.grade-entry-section-summary.partial{background:#fffbeb;border-color:#fcd34d}.grade-entry-section-summary.empty{background:#fef2f2;border-color:#fca5a5}.grade-entry-matrix-wrap{overflow:auto}.grade-entry-matrix-table{min-width:100%}.grade-entry-matrix-table th,.grade-entry-matrix-table td{vertical-align:middle}.grade-entry-matrix-table th{color:#0f172a;background:#eff6ff;font-weight:900}.grade-entry-section-head{min-width:170px}.grade-entry-section-head span{display:block}.grade-entry-section-head small{color:#475569;margin-top:4px;font-weight:700;display:block}.grade-entry-section-head.complete{background:#f0fdf4}.grade-entry-section-head.partial{background:#fffbeb}.grade-entry-section-head.empty{background:#fef2f2}.grade-entry-mark-input{text-align:center;min-width:92px}.grade-entry-row-total{color:#0f172a;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-width:92px;padding:6px 10px;font-weight:900;display:inline-flex}.grade-entry-row-total.empty{color:#64748b}.grade-entry-student-name{font-weight:900}.certificate-term-tabs,.certificate-type-tabs{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:12px;display:flex;box-shadow:0 10px 22px #0f172a14}.certificate-term-tabs button,.certificate-type-tabs button{color:#0f172a;background:#fff;border:1.5px solid #9fb0c6;border-radius:12px;padding:10px 14px;font-weight:900;transition:transform .15s,box-shadow .15s,border-color .15s,background-color .15s;box-shadow:0 8px 18px #0f172a14}.certificate-term-tabs button:hover,.certificate-term-tabs button:focus-visible,.certificate-type-tabs button:hover,.certificate-type-tabs button:focus-visible{transform:translateY(-1px);box-shadow:0 12px 24px #0f172a1f}.certificate-term-tabs button.active,.certificate-type-tabs button.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 12px 24px #2563eb38}.grade-entry-meta{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.grade-entry-meta span{color:#334155;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:10px 12px;font-weight:800;box-shadow:inset 0 1px 2px #0f172a0a}.grade-entry-students-wrap{max-height:340px;overflow:auto}.grade-entry-template-hint{color:#475569;margin:0 0 12px;font-weight:700}.grade-entry-template-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.grade-entry-template-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;gap:10px;padding:14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 10px 22px #0f172a1a}.grade-entry-template-card:hover,.grade-entry-template-card:focus-within{transform:translateY(-1px);box-shadow:0 14px 28px #0f172a24}.grade-entry-template-card.active{border-color:#2563eb;box-shadow:0 14px 28px #2563eb2e}.grade-entry-template-card header{justify-content:space-between;align-items:center;gap:10px;display:flex}.grade-entry-template-card header strong{color:#0f172a;font-size:16px}.grade-entry-template-card header span{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.grade-entry-template-card p{color:#334155;margin:0;font-weight:700;line-height:1.7}.certificate-info-grid,.certificate-summary-grid,.certificate-preview-meta,.certificate-preview-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.certificate-info-chip,.certificate-preview-meta>div,.certificate-preview-stats>div{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:5px;padding:12px 14px;display:grid;box-shadow:inset 0 1px 2px #0f172a0a}.certificate-info-chip strong,.certificate-preview-meta span,.certificate-preview-stats span{color:#475569;font-size:13px;font-weight:800}.certificate-info-chip span,.certificate-preview-meta strong,.certificate-preview-stats strong{color:#0f172a;font-size:15px;font-weight:900}.certificate-top-actions{flex-wrap:wrap;gap:8px;display:flex}.certificate-top-actions button,.certificate-saving-row button,.certificate-table button,.certificate-top-actions .secondary{align-items:center;gap:6px;display:inline-flex}.certificate-warning{color:#b45309;margin-top:10px}.certificate-review-list{gap:14px;display:grid}.certificate-review-card{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:12px;padding:14px;display:grid;box-shadow:0 10px 22px #0f172a14}.certificate-review-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.certificate-review-header strong{color:#0f172a;font-size:15px}.certificate-review-header span{color:#475569;font-size:12px;font-weight:700}.certificate-review-table{border-collapse:collapse;background:#fff;width:100%}.certificate-review-table th,.certificate-review-table td{vertical-align:top;word-break:break-word;border:1px solid #cbd5e1;padding:10px 12px}.certificate-review-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.certificate-review-meta div{background:#fff;border:1px solid #dbe4f0;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.certificate-review-meta strong{color:#334155;font-size:12px}.certificate-review-meta span{color:#0f172a;font-weight:700}.certificate-table-wrap,.certificate-preview{background:#fff;border:2px solid #94a3b8;border-radius:14px;box-shadow:0 14px 28px #0f172a1f}.certificate-table-wrap{overflow:auto}.certificate-table{border-collapse:collapse;width:100%}.certificate-table th,.certificate-table td{vertical-align:top;word-break:break-word;border:1px solid #cbd5e1;padding:12px 14px}.certificate-table select,.certificate-table input{min-width:100%}.certificate-grade-badge{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-width:88px;padding:6px 10px;font-weight:900;display:inline-flex}.certificate-saving-row{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;display:flex;box-shadow:0 10px 22px #0f172a14}.certificate-saving-toggle{color:#334155;align-items:center;gap:8px;font-weight:800;display:inline-flex}.certificate-status-badge{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:6px 12px;font-weight:900;display:inline-flex}.certificate-status-badge.saved{color:#166534;background:#ecfdf5;border-color:#86efac}.certificate-status-badge.published{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.certificate-status-badge.draft{color:#475569;background:#f8fafc}.certificate-preview{background:linear-gradient(#fff 0%,#f8fbff 100%);padding:20px}.certificate-preview-header{align-items:center;gap:14px;margin-bottom:16px;display:flex}.certificate-preview-badge{color:#fff;background:#1d4ed8;border-radius:18px;place-items:center;width:72px;height:72px;font-size:20px;font-weight:900;display:grid;box-shadow:0 12px 24px #2563eb38}.certificate-preview-heading h3{margin:0;font-size:28px}.certificate-preview-heading p{color:#475569;margin:6px 0 0;font-weight:700}.certificate-preview-section{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;margin-top:16px;padding:14px;box-shadow:0 10px 20px #0f172a14}.certificate-preview-section h4{color:#0f172a;margin:0 0 10px}.certificate-preview-section p{color:#0f172a;margin:0 0 8px;line-height:1.8}.certificate-selection-summary--compact{margin-top:4px;padding-top:0}.certificate-preview-table{border-collapse:collapse;width:100%}.certificate-preview-table th,.certificate-preview-table td{vertical-align:top;border:1px solid #cbd5e1;padding:10px 12px}.certificate-preview-table th{background:#eff6ff}.certificate-preview-signatures{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.certificate-preview-signatures div{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.certificate-preview-signatures span{color:#1e3a8a;font-weight:800}.certificate-preview-signatures strong{color:#1e3a8a;letter-spacing:0;font-family:Noto Naskh Arabic,Amiri,Tahoma,sans-serif;font-weight:900}.certificate-selection-summary{color:#1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;font-weight:800;display:flex}.certificate-student-table .certificate-student-row{cursor:pointer}.certificate-student-table{table-layout:fixed;min-width:760px}.certificate-student-table th,.certificate-student-table td{word-break:normal;overflow-wrap:normal}.certificate-student-table th:first-child,.certificate-student-table td:first-child{width:34%}.certificate-student-table th:nth-child(2),.certificate-student-table td:nth-child(2){width:42%}.certificate-student-table th:nth-child(3),.certificate-student-table td:nth-child(3){white-space:nowrap;direction:ltr;unicode-bidi:plaintext;width:24%}.certificate-student-checkbox{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-weight:800;display:inline-flex}.certificate-student-checkbox span{white-space:nowrap}.certificate-preview-stack{gap:18px;display:grid}.certificate-preview-stack-item{gap:0;display:grid}.certificate-preview-stack-item+.certificate-preview-stack-item{page-break-before:always;border-top:1.5px dashed #cbd5e1;padding-top:18px}.certificate-preview-stack-item .certificate-print-sheet{page-break-inside:avoid}.certificate-notes-page{gap:18px;display:grid}.certificate-notes-toolbar{background:#fff;border:2px solid #cbd5e1;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid;box-shadow:0 10px 24px #0f172a14}.certificate-notes-toolbar label{color:#334155;gap:6px;font-weight:800;display:grid}.certificate-notes-toolbar input,.certificate-notes-toolbar select{background:#fff;border:1.5px solid #94a3b8;border-radius:8px;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0a}.certificate-notes-toolbar button{white-space:nowrap;min-height:42px;box-shadow:0 8px 16px #2563eb2e}.certificate-notes-hint{color:#475569;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;margin:12px 0 0;padding:12px 14px;font-weight:800;box-shadow:0 6px 14px #0f172a0d}.certificate-notes-table-wrap{background:#f8fafc;border:2px solid #cbd5e1;border-radius:8px;padding:12px;box-shadow:0 14px 30px #0f172a1a}.certificate-notes-table{border-collapse:separate;border-spacing:0 10px}.certificate-notes-table th{color:#334155;border-bottom:1px solid #cbd5e1;padding:10px 12px;font-weight:900}.certificate-notes-table tbody tr{box-shadow:0 8px 18px #0f172a14}.certificate-notes-table tbody td{vertical-align:top;background:#fff;border-top:1.5px solid #d8e2ef;border-bottom:1.5px solid #d8e2ef}.certificate-notes-table tbody td:first-child{border-inline-start:1.5px solid #d8e2ef;border-start-start-radius:8px;border-end-start-radius:8px;font-weight:900}.certificate-notes-table tbody td:last-child{border-inline-end:1.5px solid #d8e2ef;border-start-end-radius:8px;border-end-end-radius:8px}.certificate-notes-table th:first-child,.certificate-notes-table td:first-child{width:220px}.certificate-notes-table th:last-child,.certificate-notes-table td:last-child{width:300px}.certificate-notes-table textarea{resize:vertical;width:100%;min-height:82px;font:inherit;background:#fff;border:1.5px solid #94a3b8;border-radius:8px;padding:11px 12px;line-height:1.6;box-shadow:inset 0 1px 3px #0f172a0f}.certificate-notes-table textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb29,inset 0 1px 3px #0f172a0f}.certificate-notes-student-id{color:#64748b;margin-top:4px;font-size:12px;font-weight:800;display:block}.certificate-notes-behavior-toggle{color:#334155;background:#f8fafc;border:1.5px solid #d8e2ef;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-weight:800;line-height:1.6;display:flex;box-shadow:inset 0 1px 2px #0f172a0a}.certificate-notes-behavior-toggle input{flex:none;margin-top:5px}.certificate-preview-footer{color:#475569;border-top:1px dashed #cbd5e1;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;padding:10px 0 0;font-weight:800;display:flex}.certificate-layout--preview-closed{grid-template-columns:minmax(0,1120px);justify-content:center}.certificate-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px}.certificate-layout.certificate-layout--preview-closed{grid-template-columns:minmax(0,1120px);justify-content:center}.certificate-layout--preview-open{align-items:start}.certificate-controls-column .card,.certificate-preview-column .card{border:1.5px solid #cbd5e1;border-radius:14px;box-shadow:0 14px 30px #0f172a1a}.certificate-print-sheet{--certificate-navy:#062b4f;--certificate-gold:#c9973a;--certificate-line:#d7bd86;color:#071d36;border:8px solid var(--certificate-navy);outline:2px solid var(--certificate-gold);outline-offset:-12px;background:linear-gradient(#fffffff0,#fffcf5f5),#fffaf0;gap:14px;width:min(100%,210mm);min-height:297mm;margin:0 auto;padding:14mm 12mm;font-family:Tahoma,Arial,sans-serif;display:grid;box-shadow:0 18px 42px #0f172a29}.certificate-print-header{border-bottom:2px solid var(--certificate-gold);grid-template-columns:minmax(130px,.8fr) minmax(260px,1.7fr) minmax(130px,.8fr);align-items:center;gap:16px;padding-bottom:10px;display:grid}.certificate-school-brand{text-align:center;justify-items:center;gap:6px;display:grid}.certificate-school-brand h1{color:var(--certificate-navy);margin:0;font-size:30px;line-height:1.25}.certificate-school-brand p,.certificate-ministry-text span{color:#9a6a19;min-height:18px;margin:0;font-weight:800}.certificate-school-emblem{background:var(--certificate-navy);color:#fff;border:4px solid var(--certificate-gold);letter-spacing:1px;border-radius:18px;place-items:center;width:74px;height:74px;font-weight:900;display:grid}.certificate-ministry-text{color:var(--certificate-navy);align-content:center;gap:6px;font-weight:900;line-height:1.6;display:grid}.certificate-ministry-text--left{text-align:end}.certificate-title-ribbon,.certificate-section-ribbon{color:#fff;background:var(--certificate-navy);text-align:center;border:2px solid #0b3d70;border-radius:8px;justify-self:center;min-width:190px;margin:-2px 0 0;padding:8px 28px;font-size:22px;font-weight:900;box-shadow:0 8px 16px #062b4f2e}.certificate-section-ribbon{min-width:160px;padding-block:6px;font-size:16px}.certificate-student-data{border:1.8px solid var(--certificate-gold);background:#ffffffc2;border-radius:10px;grid-template-columns:124px minmax(0,1fr);gap:14px;padding:12px 14px;display:grid}.certificate-avatar{background:radial-gradient(circle at 50% 36%, var(--certificate-navy) 0 19px, transparent 20px), radial-gradient(ellipse at 50% 78%, var(--certificate-navy) 0 36px, transparent 37px), #f8fafc;border:1.5px solid #b8c4d6;border-radius:10px;width:108px;min-height:126px}.certificate-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}.certificate-data-grid div{border-bottom:1.4px solid #e7d2a6;grid-template-columns:102px minmax(0,1fr);align-items:center;gap:5px;min-height:32px;display:grid}.certificate-data-grid span,.certificate-result-panel span,.certificate-attendance-cards span,.certificate-print-note strong,.certificate-print-signatures span{color:var(--certificate-navy);font-size:11px;font-weight:900}.certificate-data-grid strong{color:#071d36;word-break:break-word;font-size:13px;font-weight:900;line-height:1.35}.certificate-print-table{border-collapse:collapse;table-layout:fixed;border:2px solid var(--certificate-navy);background:#fff;width:100%}.certificate-print-table th,.certificate-print-table td{text-align:center;vertical-align:middle;color:#071d36;border:1.6px solid #c9ab72;padding:9px 12px;font-size:14px;line-height:1.45}.certificate-print-table th{background:var(--certificate-navy);color:#fff;font-size:15px;font-weight:900}.certificate-print-table th:first-child,.certificate-print-table td:first-child{text-align:start;width:52%;font-weight:900}.certificate-print-table th:nth-child(2),.certificate-print-table td:nth-child(2){width:20%;font-weight:900}.certificate-print-table th:nth-child(3),.certificate-print-table td:nth-child(3){width:28%}.certificate-print-table tbody tr:nth-child(2n) td{background:#fff8ea}.certificate-result-panel{border:1.8px solid var(--certificate-gold);background:#fff;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.certificate-result-panel div{place-items:center;gap:6px;min-height:82px;padding:12px;display:grid}.certificate-result-panel div+div{border-inline-start:1.6px solid var(--certificate-gold)}.certificate-result-panel strong{color:var(--certificate-navy);font-size:30px;line-height:1}.certificate-result-panel strong.is-pass{color:#15803d}.certificate-result-panel strong.is-review{color:#b45309}.certificate-attendance-cards{border:1.8px solid var(--certificate-gold);background:#ffffffc2;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;display:grid}.certificate-print-attendance{border-collapse:collapse;border:1.8px solid var(--certificate-gold);background:#fff;border-radius:10px;width:100%;overflow:hidden}.certificate-print-attendance th,.certificate-print-attendance td{text-align:center;border:1.5px solid #d8bf8c;padding:10px 12px}.certificate-print-attendance th{color:var(--certificate-navy);background:#fff8ea;font-size:13px;font-weight:900}.certificate-print-attendance td{color:var(--certificate-navy);font-size:26px;font-weight:900}.certificate-attendance-cards div{background:#fff;border:1.5px solid #d8bf8c;border-radius:8px;justify-items:center;gap:6px;min-height:76px;padding:10px;display:grid}.certificate-attendance-cards strong{color:var(--certificate-navy);font-size:28px;line-height:1}.certificate-print-notes{border:1.8px solid var(--certificate-gold);background:#ffffffc2;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;display:grid}.certificate-print-note{background:#f8fafc;border:1.4px solid #d7dfeb;border-radius:8px;gap:8px;min-height:110px;padding:14px;display:grid}.certificate-print-note p{color:#071d36;margin:0;font-weight:700;line-height:1.8}.certificate-print-signatures{grid-template-columns:repeat(2,minmax(0,1fr));gap:90px;margin-top:8px;padding-inline:70px;display:grid}.certificate-print-signatures div{border-top:2px solid var(--certificate-navy);align-content:end;justify-items:center;gap:8px;min-height:76px;padding-top:8px;display:grid}.certificate-print-signatures strong{color:#071d36;font-weight:900}.certificate-preview-shell{border-radius:12px;padding:0;overflow:auto}.certificate-preview-shell .certificate-print-sheet{box-shadow:none;background:#fff;border-radius:14px;width:min(100%,235mm);min-height:0;padding:12mm 10mm}.certificate-preview-shell .certificate-print-header{margin-bottom:12px}.certificate-preview-shell .certificate-print-center h1{font-size:24px}.certificate-preview-shell .certificate-print-table th,.certificate-preview-shell .certificate-print-table td{padding:8px 10px;font-size:12px}.certificate-preview-shell .certificate-print-summary,.certificate-preview-shell .certificate-print-meta{gap:8px}.certificate-preview-shell .certificate-print-note,.certificate-preview-shell .certificate-print-summary div,.certificate-preview-shell .certificate-print-meta span{border-radius:12px}.certificate-preview-shell .certificate-print-signatures{gap:10px}.certificate-student-table .certificate-student-row td{padding:12px 14px}.certificate-student-table .certificate-student-row.selected td{background:#eff6ff}.certificate-selection-summary{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:10px 12px;box-shadow:0 10px 22px #0f172a14}.student-academic-page,.student-behavior-page,.lesson-today-page{gap:16px;display:grid}.student-academic-page .card,.student-behavior-page .card{border:2px solid #bcc7d6;border-radius:14px;box-shadow:0 16px 34px #0f172a1f}.lesson-today-page .card,.homework-page .card,.exam-page .card{border:1.5px solid #cbd5e1;border-radius:14px;box-shadow:0 14px 30px #0f172a1a}.lesson-today-page .card{background:#fff}.homework-page,.exam-page{gap:16px;display:grid}.academic-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.behavior-controls{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:14px;grid-template-columns:minmax(190px,1.2fr) minmax(150px,.78fr) minmax(130px,.62fr);gap:10px;padding:12px 14px;box-shadow:0 10px 22px #0f172a14}.behavior-controls label:nth-child(2),.behavior-controls label:nth-child(3){min-width:0}.behavior-controls input[type=date],.behavior-controls input[readOnly]{min-height:38px}.behavior-controls label{gap:4px}.lesson-controls{background:#f8fafc;border:2px solid #aab7c8;border-radius:14px;grid-template-columns:minmax(170px,.95fr) minmax(150px,.78fr) minmax(210px,1.15fr);gap:10px;padding:12px 14px;box-shadow:0 12px 26px #0f172a1f}.lesson-controls label{gap:4px;min-width:0}.timetable-page .lesson-controls{background:linear-gradient(#fff 0%,#f8fafc 100%);border-color:#94a3b8;gap:12px;padding:14px 16px;box-shadow:0 14px 28px #0f172a24}.timetable-page .lesson-controls>label{background:#fff;border:1.75px solid #93c5fd;border-radius:14px;padding:12px 14px;box-shadow:0 10px 22px #0f172a1a}.timetable-page .lesson-controls>label span{color:#0f172a;font-weight:900}.timetable-page .lesson-controls>label input{background:#fff;border:2px solid #60a5fa;border-radius:12px;min-height:44px;box-shadow:inset 0 1px 2px #0f172a0d}.timetable-page .lesson-controls>label input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.timetable-base-controls{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.timetable-base-controls label{color:#0f172a;align-items:center;gap:10px;min-width:min(100%,260px);font-weight:800;display:flex}.timetable-base-controls select{color:#0f172a;min-width:160px;min-height:42px;font:inherit;background:#fff;border:1.5px solid #94a3b8;border-radius:10px;padding:0 12px}.timetable-base-controls select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb29}.academic-summary{margin-bottom:14px}.student-academic-page .attendance-summary-card{border:2px solid #9fb0c6;box-shadow:0 12px 24px #0f172a1f}.student-academic-page .attendance-summary-card strong{font-size:26px}.academic-subject-summary{gap:12px;margin-top:12px;display:grid}.academic-subject-summary h4{color:#0f172a;margin:0;font-size:16px}.academic-subject-summary-wrap,.behavior-category-summary-wrap,.behavior-table-wrap{background:#fff;border:2px solid #9fb0c6;border-radius:12px;box-shadow:0 14px 30px #0f172a1f}.student-behavior-page .attendance-summary-card{border:2px solid #9fb0c6;box-shadow:0 12px 24px #0f172a1f}.student-behavior-page .attendance-summary-card strong{font-size:26px}.behavior-category-table,.behavior-table{border-collapse:collapse;width:100%}.lesson-table-wrap{background:#fff;border:2px solid #94a3b8;border-radius:12px;box-shadow:0 14px 28px #0f172a1f}.lesson-table{border-collapse:collapse;width:100%}.lesson-table th,.lesson-table td{vertical-align:top;word-break:break-word;border:1px solid #cbd5e1;padding:12px 14px}.lesson-table .lesson-period-column{white-space:nowrap;text-align:center;min-width:74px}.lesson-modal{border:1.5px solid #cbd5e1;width:min(1180px,94vw);max-height:92vh;overflow:auto;box-shadow:0 24px 60px #0f172a2e}.exam-modal .lesson-row--three{grid-template-columns:minmax(180px,1.05fr) minmax(180px,1.05fr) minmax(220px,1.25fr)}.exam-modal .lesson-row--two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.exam-modal .student-form-row{padding:16px}.exam-modal .lesson-row label{min-width:0}.exam-modal .lesson-row input,.exam-modal .lesson-row select{width:100%;min-width:0;min-height:44px}.exam-modal .lesson-row textarea{width:100%;min-width:0}.exam-modal .academic-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-modal .academic-meta span{border:2px solid #9fb0c6;box-shadow:0 10px 22px #0f172a1a}.exam-modal .lesson-assignment-hint{margin-top:4px}.lesson-modal .academic-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.lesson-modal .academic-meta span{color:#0f172a;background:#f8fbff;border:2px solid #9fb0c6;border-radius:12px;gap:4px;padding:10px 12px;font-weight:800;display:grid;box-shadow:0 10px 22px #0f172a1a}.lesson-modal .lesson-core-fields,.lesson-modal .lesson-summary-row,.lesson-modal .lesson-row{border-color:#9fb0c6;box-shadow:0 12px 24px #0f172a1a}.lesson-modal .lesson-row label{color:#0f172a;font-weight:800}.lesson-modal .lesson-summary-field textarea,.lesson-modal .lesson-row input,.lesson-modal .lesson-row select,.lesson-modal .lesson-row textarea{border:1.5px solid #93c5fd;border-radius:10px}.lesson-modal .lesson-summary-side{align-content:start;gap:10px;display:grid}.lesson-modal .lesson-status-note,.lesson-modal .lesson-assignment-hint,.lesson-modal .lesson-user-note{color:#475569;font-weight:700}.homework-modal{width:min(1240px,94vw)}.homework-submissions-modal{width:min(1320px,96vw)}.lesson-modal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lesson-modal-header h3{margin:0 0 6px}.lesson-modal-header p{color:#64748b;margin:0;font-weight:700}.lesson-modal .student-form-row{background:#f8fafc;border-color:#93c5fd}.lesson-modal .student-form-row label{color:#0f172a;gap:8px;font-weight:800}.lesson-modal input,.lesson-modal select,.lesson-modal textarea{border:1.5px solid #93c5fd;border-radius:10px;box-shadow:inset 0 1px 2px #0f172a0d}.lesson-modal input:focus,.lesson-modal select:focus,.lesson-modal textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.lesson-meta{margin:14px 0}.lesson-row{margin-bottom:14px}.lesson-row textarea{resize:vertical;min-height:88px}.lesson-row--one{gap:12px;display:grid}.lesson-row--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-row--three{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.homework-row,.homework-summary{margin-bottom:12px}.homework-submission-wrap{background:#fff;border:2px solid #94a3b8;border-radius:12px;overflow:auto;box-shadow:0 14px 28px #0f172a1f}.homework-submission-table{border-collapse:collapse;width:100%}.homework-submission-table th,.homework-submission-table td{vertical-align:top;word-break:break-word;border:1px solid #cbd5e1;padding:12px 14px}.homework-status-buttons{flex-wrap:wrap;gap:8px;display:flex}.homework-status-buttons .tone-toggle{min-width:96px;min-height:40px;padding:8px 12px}.homework-status-buttons .tone-positive{color:#166534;background:#dcfce7;border-color:#86efac}.homework-status-buttons .tone-negative{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.homework-status-buttons .tone-completed{color:#1d4ed8;background:#e0e7ff;border-color:#93c5fd}.homework-student-name{min-width:160px;font-weight:800}.homework-submission-table textarea{resize:vertical;min-height:60px}.exam-modal{width:min(1320px,96vw)}.exam-row{margin-bottom:12px}.exam-table .exam-name-cell{flex-direction:column;gap:4px;display:flex}.exam-table .exam-name-cell span{color:#64748b;font-size:13px}.exam-conflict-row{background:#fef2f2}.exam-conflict-badge{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-weight:800;display:inline-flex}.timetable-table .teacher-name{border:1px solid #94a3b899;border-radius:10px;align-items:center;padding:4px 10px;font-weight:800;display:inline-flex}.timetable-weekly-toolbar{background:linear-gradient(#fff 0%,#f8fafc 100%);border:2px solid #94a3b8;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;padding:14px 16px;display:flex;box-shadow:0 14px 28px #0f172a24}.timetable-weekly-field{background:#fff;border:1.75px solid #93c5fd;border-radius:16px;gap:4px;min-width:min(300px,100%);padding:12px 14px;display:grid;box-shadow:0 10px 22px #0f172a1a}.timetable-weekly-field span{color:#0f172a;font-weight:900}.timetable-weekly-field select{background:#fff;border:2px solid #60a5fa;border-radius:12px;min-height:44px;box-shadow:inset 0 1px 2px #0f172a0d}.timetable-weekly-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.timetable-weekly-field:hover{border-color:#93c5fd;box-shadow:0 12px 24px #2563eb1f}.timetable-weekly-note{color:#475569;font-weight:800}.timetable-page .lesson-table-wrap{border:2px solid #9fb0c6;overflow:auto;box-shadow:0 16px 34px #0f172a1f}.timetable-table{border-collapse:collapse;width:100%;min-width:980px}.timetable-table th,.timetable-table td{vertical-align:top;border:1px solid #94a3b8;padding:12px 14px}.timetable-table thead th{color:#0f172a;background:#eaf2ff;font-weight:900}.timetable-table tbody tr:nth-child(2n){background:#fbfdff}.timetable-updated-row{background:#f8fafc}.timetable-detail-cell{flex-direction:column;gap:4px;display:flex}.timetable-detail-cell strong{font-weight:800}.timetable-detail-cell span{color:#64748b;font-size:13px;line-height:1.55}.timetable-page .lesson-info{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:10px 12px;box-shadow:0 10px 22px #0f172a14}.timetable-weekly-note{color:#334155;background:#fff;border:1.5px dashed #bfd0e6;border-radius:14px;justify-content:center;align-items:center;padding:10px 12px;display:flex}.timetable-status-badge{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:999px;align-items:center;padding:6px 10px;font-weight:800;display:inline-flex}.timetable-status-muted{color:#64748b;font-weight:700}.lesson-core-fields{margin-bottom:12px}.lesson-summary-row{align-items:start;margin-bottom:12px}.lesson-summary-field textarea{min-height:140px}.lesson-summary-side{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;align-content:start;gap:10px;padding:12px 14px;display:grid;box-shadow:0 8px 18px #0f172a14}.lesson-status-caption{color:#0f172a;font-weight:900}.lesson-status-toggle{flex-wrap:wrap;gap:10px;margin-bottom:0;display:flex}.lesson-status-toggle .tone-toggle{border-width:2px;min-width:150px;min-height:48px}.lesson-status-toggle .tone-negative{color:#b91c1c;background:#fee2e2}.lesson-status-toggle .tone-positive{color:#166534;background:#dcfce7}.lesson-status-toggle .tone-completed{color:#1d4ed8;background:#e0e7ff}.lesson-status-toggle .tone-toggle:not(.active){opacity:.95}.lesson-assignment-hint{color:#64748b;margin-top:10px;font-weight:700}.lesson-today-page .attendance-summary-card,.homework-page .attendance-summary-card,.exam-page .attendance-summary-card{border:2px solid #9fb0c6;box-shadow:0 12px 24px #0f172a1f}.lesson-today-page .attendance-summary-card strong,.homework-page .attendance-summary-card strong,.exam-page .attendance-summary-card strong{font-size:26px}.lesson-today-page .lesson-summary,.homework-page .lesson-summary,.exam-page .lesson-summary{margin-bottom:14px}.lesson-today-page .attendance-summary-note,.homework-page .attendance-summary-note,.exam-page .attendance-summary-note{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:10px 12px;box-shadow:0 10px 22px #0f172a14}.lesson-summary-subjects{background:#fff;border:1.5px solid #94a3b8;border-radius:12px;margin-top:12px;padding:12px 14px;box-shadow:0 10px 22px #0f172a14}.lesson-summary-subjects-label{color:#0f172a;margin-bottom:10px;font-weight:900;display:block}.lesson-summary-subjects-list{flex-wrap:wrap;gap:8px;display:flex}.lesson-summary-subject-chip{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;font-weight:700}.lesson-summary-subject-empty{color:#64748b;font-weight:700}.lesson-status-note{color:#475569;margin:0;font-size:12px;font-weight:700;line-height:1.6}.lesson-user-note{color:#64748b;margin:10px 0 0;font-weight:700}.lesson-info,.lesson-card-text{color:#475569;margin:0;font-weight:700}.lesson-card-actions{justify-content:flex-end;display:flex}.lesson-modal-actions{justify-content:flex-end;margin-top:10px}.behavior-category-table th,.behavior-category-table td,.behavior-table th,.behavior-table td{vertical-align:top;word-break:break-word;border:1px solid #cbd5e1;padding:12px 14px}.behavior-student-name{text-align:start;min-width:180px;font-weight:800}.academic-subject-table,.academic-table{border-collapse:collapse;width:100%}.academic-subject-table th,.academic-subject-table td,.academic-table th,.academic-table td{vertical-align:top;word-break:break-word;white-space:normal;border:1px solid #cbd5e1;padding:12px 14px}.academic-tone{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-width:88px;padding:6px 10px;font-weight:900;display:inline-flex}.academic-tone-positive{color:#166534;background:#ecfdf5;border:1px solid #86efac}.academic-tone-negative{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5}.academic-table-wrap{background:#fff;border:2px solid #9fb0c6;border-radius:12px;box-shadow:0 14px 30px #0f172a1f}.academic-modal-backdrop{align-items:center}.academic-modal{border:1.5px solid #cbd5e1;width:min(1100px,94vw);max-height:92vh;overflow:auto;box-shadow:0 24px 60px #0f172a2e}.academic-modal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.academic-modal-header h3{margin:0 0 6px}.academic-modal-header p{color:#64748b;margin:0;font-weight:700}.academic-meta{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;flex-wrap:wrap;gap:14px;margin:14px 0;padding:12px 14px;display:flex;box-shadow:inset 0 1px 2px #0f172a0a}.academic-meta span{color:#0f172a;font-weight:700}.academic-tone-toggle{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.tone-toggle{background:#fff;border:1.5px solid #cbd5e1;border-radius:999px;padding:10px 14px;font-weight:900}.tone-toggle.active{box-shadow:0 8px 20px #0f172a1f}.tone-positive.active{color:#166534;background:#dcfce7;border-color:#86efac}.tone-negative.active{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.academic-row{margin-bottom:14px}.academic-row textarea{resize:vertical;min-height:88px}.behavior-modal{border:1.5px solid #cbd5e1;width:min(1180px,94vw);max-height:92vh;overflow:auto}.behavior-modal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.behavior-modal-header h3{margin:0 0 6px}.behavior-modal-header p{color:#64748b;margin:0;font-weight:700}.behavior-meta{margin:14px 0}.behavior-tone-toggle{margin-bottom:8px}.behavior-tone-toggle .tone-toggle{border-width:2px;min-width:150px;font-weight:900}.behavior-tone-toggle .tone-positive{color:#166534;background:#dcfce7}.behavior-tone-toggle .tone-negative{color:#b91c1c;background:#fee2e2}.behavior-tone-toggle .tone-toggle:not(.active){opacity:.92}.behavior-category-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px;display:grid}.behavior-category-card{text-align:start;color:#0f172a;background:#f8fbff;border:1.5px solid #cbd5e1;border-radius:12px;padding:12px 14px;font-weight:800;box-shadow:0 8px 18px #0f172a14}.behavior-category-card.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 12px 24px #2563eb24}.behavior-template-section{gap:10px;margin-bottom:14px;display:grid}.behavior-template-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.behavior-template-title strong{font-size:16px}.behavior-template-title span{color:#1d4ed8;font-weight:900}.behavior-tone-hint{color:#475569;margin:0 0 12px;font-weight:700}.behavior-template-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.behavior-template-chip{text-align:start;color:#0f172a;background:#eff6ff;border:1.5px solid #93c5fd;border-radius:12px;padding:12px 14px;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;box-shadow:0 8px 18px #0f172a14}.behavior-template-chip.active{background:#dbeafe;border-color:#1d4ed8;box-shadow:0 12px 24px #2563eb2e}.behavior-template-chip:hover,.behavior-template-chip:focus-visible{background:#dbeafe;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 12px 24px #2563eb29}.behavior-row{margin-bottom:14px}.behavior-row textarea{resize:vertical;min-height:92px}.behavior-existing-block{gap:10px;margin-top:4px;display:grid}.behavior-existing-list{gap:10px;display:grid}.behavior-existing-list article{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;padding:12px 14px;box-shadow:0 8px 18px #0f172a0f}.behavior-existing-list article span,.behavior-existing-list article strong,.behavior-existing-list article p,.behavior-existing-list article small{display:block}.behavior-existing-list article span{color:#0f172a;font-weight:800}.behavior-existing-list article strong{color:#2563eb;margin-top:4px}.behavior-existing-list article p{color:#0f172a;margin:6px 0 0}.behavior-existing-list article small{color:#64748b;margin-top:4px}.behavior-modal-actions,.academic-modal-actions{justify-content:flex-end;margin-top:10px}.attendance-button:disabled{cursor:wait;opacity:.45}.form-message{color:#334155;font-weight:700}@media (width<=900px){.student-form-row--three,.student-form-row--two,.attendance-controls,.academic-controls,.behavior-controls,.lesson-controls,.certificate-grid--two,.certificate-grid--three,.certificate-grid--certificate-details,.certificate-attendance-strip,.certificate-attendance-strip--wide,.certificate-attendance-readonly-grid,.certificate-certificate-status-grid,.certificate-layout,.certificate-preview-signatures,.lesson-row--two,.lesson-row--three{grid-template-columns:1fr}.student-form-footer{flex-direction:column;align-items:stretch}.academic-modal{width:min(96vw,1100px)}.behavior-modal,.lesson-modal{width:min(96vw,1180px)}.certificate-preview-heading h3{font-size:24px}}.modal-card,.lesson-modal,.exam-modal,.homework-modal,.academic-modal,.behavior-modal{width:min(100vw - 24px,1320px);max-width:min(100vw - 24px,1320px)}.student-move-modal{width:min(96vw,640px);max-width:min(96vw,640px)}.lesson-modal .lesson-row input,.lesson-modal .lesson-row select,.lesson-modal .lesson-row textarea,.exam-modal .lesson-row input,.exam-modal .lesson-row select,.exam-modal .lesson-row textarea,.homework-modal input,.homework-modal select,.homework-modal textarea,.academic-modal input,.academic-modal select,.academic-modal textarea,.behavior-modal input,.behavior-modal select,.behavior-modal textarea,.lesson-modal .lesson-row,.lesson-modal .lesson-core-fields,.lesson-modal .lesson-summary-row,.academic-modal .academic-row,.behavior-modal .behavior-row,.exam-modal .exam-row,.homework-modal .homework-row{min-width:0}.student-invitations-page{gap:16px;display:grid}.student-invitations-page .card{border:2px solid #d3dbe7;border-radius:18px;box-shadow:0 18px 38px #0f172a1c}.student-invitation-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-invitation-form label{color:#334155;background:linear-gradient(#fff 0%,#f8fbff 100%);border:1.8px solid #c2cfde;border-radius:14px;gap:6px;padding:13px 15px;font-weight:800;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 12px 24px #0f172a14}.student-invitation-form label:hover,.student-invitation-form label:focus-within{border-color:#7ea6e8;transform:translateY(-1px);box-shadow:0 16px 30px #0f172a1f}.student-invitation-form select,.student-invitation-form input,.student-invitation-form textarea{background:#fff;border:1.5px solid #94a3b8;border-radius:10px;width:100%;min-height:42px;box-shadow:inset 0 1px 2px #0f172a0d}.student-invitation-form input:focus,.student-invitation-form select:focus,.student-invitation-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29}.student-invitation-full{grid-column:1/-1}.invitation-preview{background:#fff;border:2px solid #b3c7d4;border-radius:22px;gap:14px;padding:20px;display:grid;box-shadow:0 22px 44px #0f172a1f}.pledge-preview{background:#fff;border-color:#c7d7df;gap:12px;padding:18px 18px 20px}.pledge-preview-header{gap:8px;display:grid}.pledge-preview-topline{background:linear-gradient(#1b2b48 0%,#13233d 100%);border:1.5px solid #314566;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:96px;padding:14px 16px;display:grid;box-shadow:0 10px 20px #0f172a1a}.pledge-preview-corner{background:#f5f8faf5;border-inline-start:4px solid #e5b34c;border-radius:8px;gap:6px;padding:10px 12px;display:grid;box-shadow:0 8px 18px #0f172a0d}.pledge-preview-corner div{grid-template-columns:86px minmax(0,1fr);align-items:center;gap:8px;display:grid}.pledge-preview-corner span{color:#64748b;font-size:12px;font-weight:800}.pledge-preview-corner strong{color:#0f172a;font-size:13px;font-weight:900}.pledge-preview-admin{color:#c7d2e5;text-align:right;font-size:12px;font-weight:800}.pledge-preview-school{text-align:right;justify-items:end;gap:4px;display:grid}.pledge-preview-school strong{color:#fff;font-size:18px;font-weight:900}.pledge-preview-school span{color:#d7e0ee;font-size:12px;font-weight:700}.pledge-badge{color:#fff;background:linear-gradient(#15304f 0%,#0f213a 100%);border-radius:16px;place-items:center;width:58px;height:58px;display:grid;box-shadow:inset 0 1px #ffffff14,0 10px 18px #0f172a2e}.pledge-preview-title{color:#fff;text-align:center;background:linear-gradient(90deg,#0f6f6b 0%,#1b8a99 52%,#2a77d4 100%);border-radius:20px;justify-content:center;align-items:center;min-height:74px;padding:8px 18px;font-size:28px;font-weight:900;display:flex;box-shadow:0 12px 22px #0f766e24}.pledge-preview-subtitle{text-align:center;color:#effff9;background:linear-gradient(90deg,#2e9890,#2f9089);border-radius:16px;padding:8px 14px;font-size:14px;font-weight:700;line-height:1.7}.pledge-preview-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.pledge-preview-panel{background:#fff;border:1.5px solid #cbd8e2;border-radius:16px;gap:8px;padding:14px 16px;display:grid;box-shadow:0 10px 20px #0f172a0f}.pledge-preview-panel strong{color:#0f766e;justify-content:space-between;align-items:center;font-size:15px;font-weight:900;display:flex}.pledge-preview-panel div{border-top:1px dashed #d6e3e5;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:8px;padding:8px 0;display:grid}.pledge-preview-panel div:first-of-type{border-top:0;padding-top:0}.pledge-preview-panel span{color:#64748b;font-size:12px;font-weight:800}.pledge-preview-panel b{color:#0f172a;word-break:break-word;font-size:13px}.pledge-preview-body{gap:10px;display:grid}.pledge-preview-section{background:#fff;border:1.5px solid #d6e3e5;border-radius:14px;gap:8px;padding:12px 14px;line-height:1.9;display:grid}.pledge-preview-section strong{color:#0f766e;font-size:14px;font-weight:900}.pledge-preview-section p{color:#0f172a;margin:0}.pledge-preview-section--soft{background:#f8fbff}.pledge-preview-conditions{background:#fffaf0;border:1.5px solid #f0d9a2;border-radius:14px;gap:8px;padding:14px 16px;display:grid}.pledge-preview-conditions strong{color:#a16207;font-size:15px;font-weight:900}.pledge-preview-conditions ol{color:#0f172a;gap:6px;margin:0;padding-inline-start:20px;line-height:1.75;display:grid}.pledge-preview-notice{background:#f6fbfc;border:1.5px solid #c8dde0;border-radius:14px;gap:6px;padding:12px 14px;display:grid}.pledge-preview-notice span{color:#64748b;font-size:12px;font-weight:800}.pledge-preview-notice p{color:#0f172a;margin:0;font-weight:800;line-height:1.75}.pledge-signatures{margin-top:2px}.invitation-preview-top{gap:12px;display:grid}.invitation-letterhead{text-align:center;color:#0f172a;justify-content:center;font-size:16px;font-weight:900;display:flex}.invitation-brand{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.invitation-brand strong{color:#0f172a;font-size:16px;display:block}.invitation-brand span{color:#64748b;font-size:13px;display:block}.invitation-badge{color:#fff;letter-spacing:.4px;background:#0f172a;border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 14px;font-weight:900;display:inline-flex}.invitation-title{color:#0f172a;background:linear-gradient(#f8fbff,#fff);border:1.5px solid #cbd5e1;border-radius:14px;justify-content:center;align-items:center;min-height:50px;font-size:22px;font-weight:900;display:flex}.invitation-meta,.invitation-stamp-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.invitation-meta div,.invitation-signatures div{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;gap:4px;padding:10px 12px;display:grid;box-shadow:0 10px 20px #0f172a14}.invitation-meta span,.invitation-signatures span{color:#64748b;font-size:12px;font-weight:800}.invitation-meta strong,.invitation-signatures strong{color:#0f172a;word-break:break-word;font-size:14px}.invitation-body{color:#0f172a;background:#fbfdff;border:1.5px solid #d6deea;border-radius:14px;gap:10px;padding:14px 16px;line-height:1.9;display:grid}.invitation-body p{margin:0}.invitation-notification{background:#eff6ff;border:1.5px solid #93c5fd;border-radius:14px;gap:8px;padding:14px 16px;display:grid}.invitation-notification-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.invitation-notification-head strong{color:#0f172a}.invitation-notification-head span{color:#1d4ed8;font-weight:800}.invitation-notification p{color:#0f172a;margin:0;line-height:1.85}.invitation-signatures{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.invitation-list{gap:12px;display:grid}.pledge-saved-panel{background:#f8fbff;border:1.5px solid #cbd5e1;border-radius:16px;padding:14px;box-shadow:inset 0 1px #ffffffd9,0 12px 22px #0f172a0f}.pledge-saved-panel .invitation-list{gap:14px}.invitation-saved-panel{background:#f8fbff;border:1.5px solid #cbd5e1;border-radius:16px;padding:14px;box-shadow:inset 0 1px #ffffffd9,0 12px 22px #0f172a0f}.invitation-saved-panel .invitation-list{gap:14px}.invitation-item{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;gap:10px;padding:14px 16px;display:grid;box-shadow:0 10px 22px #0f172a14}.invitation-item header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.invitation-item header strong{color:#0f172a}.invitation-item header span{color:#1d4ed8;font-weight:800}.invitation-item-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.invitation-item-grid div{background:#f8fafc;border:1px solid #d6deea;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.invitation-item-grid span{color:#64748b;font-size:12px;font-weight:800}.invitation-item-grid strong{color:#0f172a;word-break:break-word;font-size:14px}.invitation-notification-body{background:#f8fbff;border:1px dashed #93c5fd;border-radius:12px;gap:8px;padding:12px 14px;display:grid}.invitation-notification-body strong{color:#0f172a}.invitation-notification-body p{color:#0f172a;margin:0;line-height:1.8}.invitation-recipient-list{gap:4px;display:grid}.invitation-recipient-list span{color:#64748b;font-size:12px;font-weight:800}.invitation-recipient-list strong{color:#0f172a;font-size:13px}.school-notifications-page{gap:18px;display:grid}.school-notifications-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.school-notifications-summary>div{background:linear-gradient(#eff6ff 0%,#fff 100%);border:1.75px solid #bfdbfe;border-radius:12px;gap:6px;min-height:96px;padding:16px;display:grid;box-shadow:0 14px 28px #2563eb1f}.school-notifications-summary>div:nth-child(2){background:linear-gradient(#ecfdf5 0%,#fff 100%);border-color:#bbf7d0;box-shadow:0 14px 28px #16a34a1f}.school-notifications-summary>div:nth-child(3){background:linear-gradient(#fff1f2 0%,#fff 100%);border-color:#fecaca;box-shadow:0 14px 28px #dc26261f}.school-notifications-summary>div:nth-child(4){background:linear-gradient(#fffbeb 0%,#fff 100%);border-color:#fde68a;box-shadow:0 14px 28px #d977061f}.school-notifications-summary span{color:#64748b;font-size:12px;font-weight:800}.school-notifications-summary strong{color:#0f172a;font-size:24px;line-height:1}.school-notifications-toolbar{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.school-notifications-toolbar label{color:#0f172a;background:#f8fafc;border:1.75px solid #cbd5e1;border-radius:12px;gap:8px;padding:14px;font-weight:800;display:grid;box-shadow:0 10px 22px #0f172a14}.school-notifications-toolbar select{color:#0f172a;background:#fff;border:1.5px solid #94a3b8;border-radius:10px;min-height:46px;padding-inline:12px}.school-notifications-toolbar select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb29}.school-notifications-list{gap:16px;display:grid}.school-notification-item{border:1.75px solid #cbd5e1;background:linear-gradient(#fff 0%,#f8fafc 100%);border-inline-start:7px solid #2563eb;border-radius:14px;gap:12px;padding:18px;display:grid;box-shadow:0 16px 34px #0f172a1f}.school-notification-item.type-attendance{border-inline-start-color:#2563eb}.school-notification-item.type-invitation{border-inline-start-color:#7c3aed}.school-notification-item.type-pledge{border-inline-start-color:#0f766e}.school-notification-item.type-school-message{border-inline-start-color:#d97706}.school-notification-item.status-sent{border-color:#bbf7d0}.school-notification-item.status-failed{background:linear-gradient(snow 0%,#fff 100%);border-color:#fecaca}.school-notification-item.status-queued{border-color:#fde68a}.school-notification-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.school-notification-actions{justify-items:end;gap:8px;display:grid}.school-notification-toggle{min-height:38px;padding-inline:12px}.school-notification-header strong{color:#0f172a;font-size:16px;display:block}.school-notification-header span,.school-notification-header small{color:#64748b;font-size:12px;font-weight:700}.school-notification-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.school-notification-meta>div{background:#fff;border:1.5px solid #dbe4f0;border-radius:10px;gap:4px;padding:13px 14px;display:grid;box-shadow:0 8px 18px #0f172a12}.school-notification-meta>div:first-child{background:#eff6ff;border-color:#bfdbfe}.school-notification-meta>div:nth-child(2){background:#eef2ff;border-color:#c7d2fe}.school-notification-meta>div:nth-child(3){background:#f0fdf4;border-color:#bbf7d0}.school-notification-meta span,.school-notification-footer span{color:#64748b;font-size:12px;font-weight:800}.school-notification-meta strong,.school-notification-footer strong{color:#0f172a;word-break:break-word;font-size:13px}.school-notification-message{color:#0f172a;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:12px;margin:0;padding:14px 16px;line-height:1.8;box-shadow:inset 0 1px #fffc}.school-notification-footer{gap:6px;padding-top:2px;display:grid}.school-notification-details{background:#f8fbff;border:1.5px solid #cfe1f5;border-radius:12px;gap:10px;padding:14px 16px;display:grid;box-shadow:inset 0 1px #ffffffbf}.school-notification-details>div,.school-notification-payload>div>div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:4px;padding:10px;display:grid}.school-notification-details span,.school-notification-payload span{color:#64748b;font-size:12px;font-weight:800}.school-notification-details strong,.school-notification-payload strong{color:#0f172a;word-break:break-word}.school-notification-payload>div{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.school-notification-print{display:none}.school-notification-print article{background:#fff;border:1px solid #0f172a;border-radius:16px;gap:14px;padding:18px;display:grid}.school-notification-print header,.school-notification-print section,.school-notification-print footer{gap:8px;display:grid}.school-notification-print header{grid-template-columns:1fr auto;align-items:start}.school-notification-print h1{margin:0;font-size:22px}.school-notification-print section{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.school-notification-print section div,.school-notification-print footer{background:#f8fafc;border:1px solid #d6deea;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.school-notification-print span{color:#64748b;font-size:12px;font-weight:800}.school-notification-print strong,.school-notification-print p{color:#0f172a}@media (width<=900px){.student-invitation-form,.invitation-meta,.invitation-signatures,.pledge-preview-topline,.pledge-preview-meta-grid,.pledge-preview-corner,.pledge-preview-stamp-row{grid-template-columns:1fr}.pledge-preview-school{text-align:right;justify-items:start}.pledge-preview-corner div{grid-template-columns:74px minmax(0,1fr)}}@media print{body{background:#fff!important}body *{visibility:hidden!important}.student-invitations-page>.page-title-row,.student-invitations-page>.card:nth-of-type(2),.student-invitations-page>.card:nth-of-type(4){display:none!important}.student-invitations-page>.card:nth-of-type(3){visibility:visible!important;box-shadow:none!important;border:none!important;margin:0!important;padding:0!important;display:block!important}.student-invitations-page>.card:nth-of-type(3)>:not(#invitation-print){display:none!important}#invitation-print,#invitation-print *{visibility:visible!important}.invitation-preview{box-shadow:none!important;border:1px solid #0f172a!important}.student-pledges-page>.page-title-row,.student-pledges-page>.card:first-of-type,.student-pledges-page>.card:nth-of-type(3){display:none!important}.student-pledges-page>.card:nth-of-type(2){visibility:visible!important;box-shadow:none!important;border:none!important;margin:0!important;padding:0!important;display:block!important}.student-pledges-page>.card:nth-of-type(2)>:not(#invitation-print){display:none!important}#invitation-print{width:100%!important;box-shadow:none!important;border:0!important;margin:0!important;padding:18mm 16mm!important;position:absolute!important;inset:0!important}.school-notifications-page>.card,.school-notifications-page>.page-title-row{display:none!important}.school-notification-print{visibility:visible!important;background:#fff!important;padding:16mm!important;display:block!important;position:absolute!important;inset:0!important}.school-notification-print *,.school-notification-print article{visibility:visible!important}.skip-link{inset-inline-start:16px;z-index:10000;color:#fff;background:#0f172a;border:2px solid #60a5fa;border-radius:999px;padding:10px 14px;font-weight:800;transition:transform .18s,box-shadow .18s;position:fixed;top:16px;transform:translateY(-180%);box-shadow:0 10px 28px #0f172a47}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);box-shadow:0 12px 30px #0f172a52}:where(a,button,input,select,textarea,[role=button],[role=menuitem],[tabindex]):focus-visible{outline-offset:3px!important;outline:3px solid #2563eb!important;box-shadow:0 0 0 2px #fff,0 0 0 6px #2563eb47!important}:where([tabindex="-1"]):focus-visible{box-shadow:none!important;outline:none!important}.classes-management-page,.teachers-page{gap:16px;display:grid}.classes-management-page>h2,.teachers-page>h2{margin-bottom:-2px}.classes-management-page .card,.teachers-page .card{border:1.5px solid #cbd5e1;border-radius:14px;box-shadow:0 14px 30px #0f172a1a}.classes-management-page .system-note,.teachers-page .system-note{color:#334155;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:12px 14px;font-weight:700}.classes-management-form,.teacher-profile-form{gap:14px;display:grid}.classes-management-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.teacher-profile-row,.teacher-assignment-add-row{gap:12px;display:grid}.teacher-profile-row--primary,.teacher-profile-row--secondary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.teacher-profile-row--choices{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start}.teacher-load-formula{color:#1e293b;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-weight:800;display:flex;box-shadow:inset 0 1px 2px #0f172a0a}.teacher-choice-group{border:0;gap:10px;min-inline-size:0;margin:0;padding:0;display:grid}.teacher-choice-group>legend{color:#1e293b;margin-bottom:2px;padding:0;font-weight:900}.teacher-choice-disclosure{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;gap:10px;padding:12px 14px;display:grid;box-shadow:0 10px 22px #0f172a14}.teacher-choice-disclosure>summary{cursor:pointer;color:#0f172a;justify-content:space-between;align-items:center;gap:10px;font-weight:800;list-style:none;display:flex}.teacher-choice-disclosure>summary::-webkit-details-marker{display:none}.teacher-choice-disclosure-body{gap:10px;display:grid}.teacher-choice-actions{flex-wrap:wrap;gap:8px;display:flex}.teacher-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.teacher-kpis .mini-metric{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;gap:4px;padding:12px 14px;display:grid;box-shadow:inset 0 1px 2px #0f172a0a}.teacher-kpis .mini-metric span{color:#475569;font-size:13px;font-weight:800}.teacher-kpis .mini-metric strong{color:#0f172a;font-size:18px;font-weight:900}.teacher-weekly-load{gap:14px;display:grid}.teacher-weekly-load h3{margin-bottom:-2px}.teacher-assignment-add-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;align-items:end}.teacher-weekly-load-table{overflow:auto}.teacher-weekly-load-table table{min-width:840px}.teacher-weekly-load-table th,.teacher-weekly-load-table td{vertical-align:middle}.weekly-periods-input{text-align:center;min-width:88px;max-width:120px}.save-inline-button{white-space:nowrap;margin-inline-start:8px}.teacher-weekly-total-row{background:#f8fafc;font-weight:900}.class-management-teacher-chip{border:1.5px solid #0f172a14;border-radius:999px;justify-content:center;align-items:center;margin-top:8px;padding:8px 12px;font-weight:900;display:inline-flex;box-shadow:inset 0 1px 2px #ffffff52}.classes-management-page .table-wrap{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;overflow:auto;box-shadow:0 14px 30px #0f172a14}.classes-management-page table{min-width:760px}.classes-management-page th,.classes-management-page td{vertical-align:middle}.classes-management-page input,.classes-management-page select,.teacher-profile-form input,.teacher-profile-form select,.teacher-weekly-load-table input,.teacher-weekly-load-table select{min-width:0}.teacher-profile-form label,.classes-management-form label{color:#0f172a;gap:8px;font-weight:800;display:grid}.teacher-profile-form label span,.classes-management-form label span{color:#475569;font-size:13px}.teacher-profile-form .choice-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.teacher-profile-form .choice-tile{min-height:42px;padding:10px 12px}.teacher-profile-form .selected-choice{border-color:#2563eb;box-shadow:0 8px 18px #2563eb29}}
