@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tajawal-arabic-400-normal-CyCXRvzh.woff2)format("woff2"),url(/assets/tajawal-arabic-400-normal-DCQxawbB.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tajawal-latin-400-normal-BVNSOH3d.woff2)format("woff2"),url(/assets/tajawal-latin-400-normal-BdYcZznU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-arabic-500-normal-BZ8ojJNu.woff2)format("woff2"),url(/assets/tajawal-arabic-500-normal-CbVEaYEW.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-latin-500-normal-CoYeBiSI.woff2)format("woff2"),url(/assets/tajawal-latin-500-normal-DU9v6xgj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-arabic-700-normal-D2-eand5.woff2)format("woff2"),url(/assets/tajawal-arabic-700-normal-9L7Zusdl.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-latin-700-normal-BypgxfGb.woff2)format("woff2"),url(/assets/tajawal-latin-700-normal-CV3bxpHe.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/tajawal-arabic-800-normal-TQp-UTiE.woff2)format("woff2"),url(/assets/tajawal-arabic-800-normal-Bp_4IW2m.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/tajawal-latin-800-normal-CmI34b-g.woff2)format("woff2"),url(/assets/tajawal-latin-800-normal-Dm5jVIIh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;--blue:#2b7fdf;--blue-dark:#175fae;--navy:#103f72;--navy-soft:#e8f2ff;--teal:var(--blue);--teal-dark:var(--blue-dark);--gold:#f0b941;--bg:#f2f7fd;--surface:#fff;--surface-2:#f3f8ff;--text:#18324d;--muted:#536a82;--line:#d9e6f4;--shadow:0 10px 30px #19528e14;--danger:#b94443;--danger-bg:#fff2f1;--good:#187c59;--good-bg:#e7f5ed;--mid:#9a7414;--mid-bg:#fff4d7;--low:#b94443;--low-bg:#ffebe8;font-optical-sizing:auto;font-family:Tajawal,Noto Sans Arabic,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101c2d;--surface:#17263b;--surface-2:#1e3049;--text:#edf4ff;--muted:#b2c5dd;--line:#304866;--blue:#70b4ff;--blue-dark:#a6d0ff;--navy:#17538e;--navy-soft:#203c5e;--shadow:0 12px 30px #0000002e;--danger-bg:#462d32;--good-bg:#183f35;--mid-bg:#473b22;--low-bg:#462d32}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{color:var(--text)}:focus-visible{outline-offset:2px;outline:3px solid #158d9559}.app-shell{direction:rtl;min-height:100vh;display:flex}.sidebar{background:var(--surface);border-left:1px solid var(--line);z-index:10;flex-direction:column;flex:0 0 248px;width:248px;height:100vh;padding:24px 15px 18px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:3px 8px 27px;display:flex}.sidebar-brand img{object-fit:contain;width:56px;height:45px}.sidebar-brand div{flex-direction:column;gap:2px;display:flex}.sidebar-brand strong{color:var(--navy);font-size:17px;font-weight:800}:root[data-theme=dark] .sidebar-brand strong{color:#e6eff2}.sidebar-brand small{color:var(--muted);font-size:12px}.sidebar nav{gap:7px;padding-top:25px;display:grid}.nav-item{text-align:right;width:100%;color:var(--muted);background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px 13px;font-weight:600;transition:background .18s,color .18s;display:flex;position:relative}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--navy-soft);color:var(--navy);font-weight:800}:root[data-theme=dark] .nav-item.active{color:#75d6d8}.nav-item.active i{background:var(--teal);border-radius:4px 0 0 4px;width:3px;height:24px;position:absolute;top:11px;right:0}.sidebar-bottom{border-top:1px solid var(--line);color:var(--muted);gap:12px;margin-top:auto;padding:17px 7px 0;font-size:12px;display:grid}.privacy-note{color:var(--teal-dark);align-items:center;gap:8px;font-weight:700;display:flex}:root[data-theme=dark] .privacy-note{color:#7bd4d1}.main-column{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:8;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:10px;display:none}.brand-logo{object-fit:contain;width:62px;height:42px}.brand-lockup div{gap:1px;display:grid}.brand-lockup strong{font-size:17px;font-weight:800}.brand-lockup span{color:var(--muted);font-size:11px}.topbar-actions{align-items:center;gap:13px;display:flex}.save-state{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.save-state i{background:#2f9d72;border-radius:50%;width:7px;height:7px}.save-state:has(+.theme-toggle){white-space:nowrap}.save-error{color:var(--danger)}.save-error i{background:var(--danger)}.icon-button{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--muted);border-radius:11px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{color:var(--teal-dark);border-color:var(--teal)}.theme-toggle{color:var(--navy)}:root[data-theme=dark] .theme-toggle{color:#f4cf73}.main-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:28px 34px 24px}.app-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:13px 34px 17px;font-size:11px;display:flex}.app-footer span:last-child{color:var(--teal-dark);align-items:center;gap:6px;display:inline-flex}.mobile-nav{display:none}.page-stack{gap:21px;display:grid}.welcome-row{justify-content:space-between;align-items:center;gap:20px;min-height:82px;display:flex}.eyebrow{color:var(--teal-dark);letter-spacing:.02em;font-size:12px;font-weight:700}.welcome-row h1{color:var(--navy);margin:3px 0;font-size:29px;font-weight:800;line-height:1.2}:root[data-theme=dark] .welcome-row h1{color:#e6eff2}.welcome-row p{color:var(--muted);margin:0;font-size:14px}.gradebook-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.gradebook-actions .button{min-height:39px;padding:7px 10px;font-size:12px}.button{white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 15px;font-size:14px;font-weight:700;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:active{transform:scale(.98)}.button-primary{background:var(--navy);color:#fff;box-shadow:0 5px 13px #0d365524}.button-primary:hover{background:#16496f}.button-secondary{color:var(--navy);background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .button-secondary{color:#d7e8ed}.button-secondary:hover{background:var(--surface-2);border-color:#9cb7c1}.button-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.text-button{color:var(--teal-dark);background:0 0;border:0;align-items:center;gap:6px;padding:4px 2px;font-size:13px;font-weight:700;display:inline-flex}.danger-text{color:var(--danger)}.danger-icon{color:var(--danger);background:0 0;border-color:#0000}.danger-icon:hover{color:#9e3231;background:var(--danger-bg);border-color:#0000}.panel{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:17px;padding:21px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.panel-heading h2{color:var(--text);margin:0 0 3px;font-size:17px;font-weight:800}.panel-heading span{color:var(--muted);font-size:12px}.results-count{background:var(--surface-2);color:var(--muted);border-radius:20px;padding:6px 10px;font-weight:700}.term-switch,.report-mode-tabs{border:1px solid var(--line);background:var(--surface);border-radius:13px;align-self:start;gap:5px;width:max-content;padding:5px;display:inline-flex}.term-switch button,.report-mode-tabs button{min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:7px 15px;font-size:13px;font-weight:700}.term-switch button.active,.report-mode-tabs button.active{color:#fff;background:var(--navy);box-shadow:0 3px 8px #0d365524}.add-student-panel{background:var(--surface);border:1px solid var(--line);border-right:3px solid var(--teal);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:end;gap:12px;padding:17px;display:flex}.form-heading{justify-content:space-between;align-items:center;width:100%;margin-bottom:2px;display:flex}.form-heading div{align-items:baseline;gap:9px;display:flex}.form-heading strong{font-size:15px}.form-heading span{color:var(--muted);font-size:12px}.add-student-panel label,.settings-fields label,.certificate-controls label,.report-controls label,.pin-form label,.pin-card form label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.add-student-panel label:first-of-type{flex:1;min-width:220px}.add-student-panel input,.add-student-panel select,.settings-fields input,.grade-band-row input,.behavior-setting-row input,.behavior-setting-row select,.certificate-controls input,.certificate-controls select,.report-controls select,.pin-form input,.pin-card input,.search-field input,.filter-field select,.teacher-notes textarea{border:1px solid var(--line);background:var(--surface);border-radius:9px;outline:none;width:100%;min-height:40px;padding:8px 11px}.add-student-panel input:focus,.add-student-panel select:focus,.settings-fields input:focus,.behavior-setting-row input:focus,.search-field input:focus{border-color:var(--teal)}.stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);min-height:116px;box-shadow:var(--shadow);border-radius:15px;flex-direction:column;justify-content:center;gap:2px;padding:17px 18px;display:flex;position:relative;overflow:hidden}.stat-card>span:first-child{color:var(--muted);font-size:12px;font-weight:600}.stat-card strong{color:var(--navy);font-size:25px;font-weight:800;line-height:1.25}:root[data-theme=dark] .stat-card strong{color:#e6eff2}.stat-card small{color:var(--muted);font-size:11px}.stat-icon{color:#7cafb1;position:absolute;top:17px;left:15px}.stat-letter{width:31px;height:31px;color:var(--teal-dark);background:var(--navy-soft);border-radius:9px;place-items:center;font-size:17px;font-weight:800;display:grid}.gradebook-panel{padding:19px 0 10px;overflow:hidden}.gradebook-panel>.panel-heading,.gradebook-panel>.filters-row{margin-inline:19px}.filters-row{align-items:center;gap:10px;margin-bottom:16px;display:flex}.search-field{border:1px solid var(--line);width:min(340px,100%);min-height:41px;color:var(--muted);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:0 11px;display:flex}.search-field:focus-within{border-color:var(--teal)}.search-field input{border:0;outline:0;min-height:37px;padding:0}.search-field input:focus{border-color:#0000}.filter-field{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.filter-field select{width:auto;min-width:90px;min-height:39px;padding:5px 9px}.desktop-table-wrap{border-top:1px solid var(--line);max-width:100%;overflow:auto}.grade-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.grade-table th,.grade-table td{text-align:center;border-bottom:1px solid var(--line);background:var(--surface);min-width:78px;padding:9px 8px}.grade-table th{z-index:2;color:var(--muted);background:var(--surface-2);font-size:11px;font-weight:700;line-height:1.35;position:sticky;top:0}.grade-table th small{color:var(--muted);font-size:10px;font-weight:500;display:block}.grade-table th:first-child,.grade-table td:first-child{z-index:3;text-align:right;min-width:210px;position:sticky;right:0}.grade-table th:first-child{z-index:4;background:var(--surface-2)}.grade-table td:first-child{background:var(--surface)}.grade-table tr:hover td{background:var(--surface-2)}.sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.student-name-cell{text-align:right;align-items:center;gap:9px;min-width:160px;display:flex}.student-avatar{width:31px;height:31px;color:var(--teal-dark);background:#edf5f3;border-radius:10px;flex:0 0 31px;place-items:center;font-size:14px;font-weight:800;display:grid}:root[data-theme=dark] .student-avatar{background:#254d4a}.student-name-cell div{gap:2px;display:grid}.student-name-input{width:142px;min-height:24px;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:12px;font-weight:800}.student-name-input:focus{border-bottom:1px solid var(--teal)}.student-name-cell strong{color:var(--text);font-size:12px;font-weight:800}.student-name-cell small{color:var(--muted);font-size:10px}.compact-select{text-align:center;background:0 0;border:1px solid #0000;border-radius:7px;width:70px;padding:6px}.compact-select:focus,.compact-select:hover{border-color:var(--line);background:var(--surface)}.score-control{min-width:70px;position:relative}.score-control input{background:var(--surface-2);text-align:center;appearance:textfield;border:1px solid #0000;border-radius:7px;width:66px;height:34px;padding:4px 5px;font-size:12px;font-weight:700}.score-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.score-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-control input:focus{border-color:var(--teal);outline:0}.score-control input.invalid{color:var(--danger);background:var(--danger-bg);border-color:#d1524b}.score-control input::placeholder{color:#b1bec3}.field-error{color:var(--danger);align-items:center;gap:3px;font-size:10px;font-weight:600;display:inline-flex}.grade-table .field-error{display:none}.score-pill{border-radius:8px;justify-content:center;align-items:center;min-width:48px;min-height:28px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.score-high{background:var(--good-bg);color:var(--good)}.score-mid{background:var(--mid-bg);color:var(--mid)}.score-low{background:var(--low-bg);color:var(--low)}.score-incomplete{background:var(--surface-2);color:var(--muted)}.behavior-count{background:var(--navy-soft);min-width:26px;height:26px;color:var(--navy);border-radius:50%;place-items:center;font-weight:800;display:inline-grid}.desktop-behavior-menu{display:inline-block;position:relative}.desktop-behavior-menu summary{cursor:pointer;align-items:center;gap:4px;list-style:none;display:flex}.desktop-behavior-menu summary::-webkit-details-marker{display:none}.behavior-menu-panel{z-index:9;border:1px solid var(--line);background:var(--surface);text-align:right;border-radius:11px;width:300px;max-height:330px;padding:10px;position:absolute;top:32px;right:50%;overflow:auto;box-shadow:0 12px 32px #00000029}.behavior-menu-panel select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:36px;color:var(--text);border-radius:7px;margin-bottom:8px;padding:6px;font-size:11px}.behavior-menu-panel ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.behavior-menu-panel li{background:var(--surface-2);border-radius:7px;justify-content:space-between;gap:6px;padding:6px;font-size:10px;display:flex}.behavior-menu-panel li span{gap:2px;display:grid}.behavior-menu-panel li small{color:var(--muted)}.table-footnote{color:var(--muted);justify-content:space-between;gap:10px;padding:11px 19px 2px;font-size:11px;display:flex}.mobile-student-list{display:none}.empty-state{min-height:180px;color:var(--muted);border-top:1px solid var(--line);align-content:center;justify-items:center;gap:7px;display:grid}.empty-state strong{color:var(--text)}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0817208f;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.import-modal{border:1px solid var(--line);background:var(--surface);border-radius:17px;flex-direction:column;width:min(900px,100%);max-height:min(92vh,920px);display:flex;overflow:hidden;box-shadow:0 22px 60px #00000040}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 19px;display:flex}.modal-header>div{align-items:center;gap:10px;display:flex}.modal-header h2{margin:0;font-size:17px}.modal-header p{color:var(--muted);margin:3px 0 0;font-size:11px}.modal-icon{width:39px;height:39px;color:var(--teal-dark);background:var(--navy-soft);border-radius:11px;place-items:center;display:grid}.import-dropzone{min-height:230px;color:var(--teal-dark);align-content:center;justify-items:center;gap:9px;display:grid}.import-dropzone strong{color:var(--text)}.import-dropzone>span{color:var(--muted);font-size:11px}.import-dropzone input{display:none}.import-file-strip{color:var(--teal-dark);background:var(--surface-2);align-items:center;gap:8px;padding:10px 18px;font-size:12px;display:flex}.import-file-strip span{color:var(--text);flex:1}.import-file-strip b{color:var(--muted);font-size:10px}.column-mapping,.preview-section{padding:12px 18px}.column-mapping .panel-heading,.preview-section .panel-heading{margin-bottom:10px}.column-mapping h3,.preview-section h3{margin:0;font-size:13px}.mapping-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:180px;display:grid;overflow:auto}.mapping-grid label{color:var(--muted);gap:4px;font-size:10px;display:grid}.mapping-grid select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:34px;color:var(--text);border-radius:7px;padding:4px;font-size:10px}.duplicate-options{background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:13px;padding:9px 18px;font-size:11px;display:flex}.duplicate-options label{align-items:center;gap:5px;display:inline-flex}.preview-section{flex:1;min-height:0;overflow:auto}.import-preview-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto}.import-preview{border-collapse:collapse;width:100%;font-size:10px}.import-preview th,.import-preview td{text-align:right;border-bottom:1px solid var(--line);padding:7px 8px}.import-preview th{color:var(--muted);background:var(--surface-2)}.import-valid,.import-invalid{align-items:flex-start;gap:4px;display:inline-flex}.import-valid{color:var(--good)}.import-invalid,.text-danger{color:var(--danger)}.import-duplicate{color:var(--mid);font-weight:700}.import-counts{color:var(--muted);flex-wrap:wrap;gap:16px;padding-top:8px;font-size:10px;display:flex}.import-error,.import-success{border-radius:8px;margin:0 18px 8px;padding:8px 10px;font-size:11px}.import-error{color:var(--danger);background:var(--danger-bg)}.import-success{color:var(--good);background:var(--good-bg)}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.report-mode-tabs{margin-bottom:-3px}.report-controls{flex-wrap:wrap;align-items:end;gap:13px;padding:15px 17px;display:flex}.report-controls label{min-width:145px}.report-controls label:first-child{flex:1}.report-actions{gap:8px;display:flex}.printable-report{padding:24px}.report-heading{border-bottom:2px solid var(--navy);align-items:center;gap:17px;padding-bottom:15px;display:flex}.report-heading img{object-fit:contain;width:112px;height:58px}.report-heading div{flex:1}.report-heading span{color:var(--teal-dark);font-size:12px;font-weight:800}.report-heading h2{color:var(--navy);margin:2px 0;font-size:20px;font-weight:800}:root[data-theme=dark] .report-heading h2{color:#e6eff2}.report-heading small{color:var(--muted);font-size:11px}.student-report-meta{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr 1fr;gap:10px;padding:15px 0;display:grid}.student-report-meta div{gap:2px;display:grid}.student-report-meta small,.report-result-strip span{color:var(--muted);font-size:11px}.student-report-meta strong{font-size:14px}.report-result-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0;display:grid}.report-result-strip div{background:var(--surface-2);border-radius:10px;gap:3px;padding:10px 12px;display:grid}.report-result-strip strong{color:var(--navy);font-size:17px}.term-score-strip{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin:12px 0 16px;display:grid}.term-score-strip>div{background:#eff6ff;border:1px solid #d4e3f3;border-radius:10px;gap:4px;padding:11px 12px;display:grid}.term-score-strip span{color:#405a73;font-size:12px;font-weight:700}.term-score-strip strong{color:var(--report-ink);font-size:16px;font-weight:800}:root[data-theme=dark] .report-result-strip strong{color:#e6eff2}.report-result-strip strong small{font-size:11px}.report-section-title,.chart-card h3,.strengths-card h3,.behavior-report h3,.distribution-chart h3,.class-lists h3,.behavior-summary h3,.annual-highlight h3{margin:16px 0 9px;font-size:15px;font-weight:800}.report-table-wrap{width:100%;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:12px}.report-table th,.report-table td{text-align:right;border:1px solid var(--line);vertical-align:top;padding:8px 9px}.report-table th{color:var(--navy);background:var(--surface-2);font-weight:800}:root[data-theme=dark] .report-table th{color:#d9ebed}.report-table tfoot th{background:var(--navy-soft)}.chart-card,.strengths-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin-top:14px;padding:11px 14px}.chart-card h3,.strengths-card h3{margin-top:0}.skill-bars{gap:8px;display:grid}.skill-row{grid-template-columns:130px minmax(80px,1fr) 57px;align-items:center;gap:9px;font-size:11px;display:grid}.skill-row>span{color:var(--muted)}.skill-row b{text-align:left;font-size:11px}.bar-track{background:var(--line);border-radius:8px;height:9px;overflow:hidden}.bar-track i{border-radius:inherit;background:linear-gradient(90deg, var(--teal), #49b7ac);height:100%;display:block}.chart-note{color:var(--muted);font-size:10px}.strengths-card{background:var(--good-bg);border-color:#0000}.strengths-card p{color:var(--text);margin:0;font-size:12px;line-height:1.65}.behavior-report{margin-top:16px}.behavior-report h3 span{background:var(--navy-soft);min-width:23px;height:23px;color:var(--navy);border-radius:50%;place-items:center;margin-inline-start:4px;font-size:11px;display:inline-grid}.behavior-report ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.behavior-report li{border:1px solid var(--line);border-radius:9px;grid-template-columns:max-content 1fr;gap:5px 9px;padding:8px 10px;font-size:11px;display:grid}.behavior-report li small{color:var(--muted);grid-column:2}.behavior-report>p{color:var(--muted);font-size:12px}.severity-tag{background:var(--navy-soft);color:var(--navy);white-space:nowrap;border-radius:6px;align-self:start;padding:3px 7px;font-size:10px;font-weight:700}.teacher-notes{color:var(--text);gap:5px;margin-top:14px;font-size:12px;font-weight:800;display:grid}.teacher-notes textarea{resize:vertical;background:var(--surface);min-height:72px;font-size:12px}.print-only{display:none}.report-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:flex-end;gap:16px;margin-top:21px;padding-top:12px;font-size:12px;display:flex}.report-signature{text-align:center;justify-items:center;gap:3px;min-width:165px;display:grid}.report-signature>span{color:var(--navy);font-size:13px;font-weight:800}.report-signature i{border-bottom:1px solid var(--navy);width:145px;height:20px;display:block}.report-signature strong{color:var(--text);font-size:14px}.report-footer-credit{color:var(--muted);text-align:left;flex:1;align-self:center;font-size:12px;line-height:1.55}.report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:9px;margin:15px 0;display:grid}.report-summary-grid div{background:var(--surface-2);border-radius:10px;gap:3px;padding:10px 12px;display:grid}.report-summary-grid small{color:var(--muted);font-size:10px}.report-summary-grid b{font-size:16px}.distribution-chart{border:1px solid var(--line);border-radius:12px;max-width:520px;margin:12px 0;padding:12px}.distribution-chart h3{margin-top:0}.distribution-bars{border-bottom:1px solid var(--line);justify-content:space-around;align-items:end;height:126px;display:flex}.distribution-bars>div{flex-direction:column;justify-content:end;align-items:center;gap:3px;min-width:52px;height:100%;display:flex}.distribution-bars i{background:linear-gradient(0deg, var(--teal-dark), #55b8b5);border-radius:6px 6px 0 0;width:24px;max-height:88px}.distribution-bars b{font-size:10px}.distribution-bars span{color:var(--muted);white-space:nowrap;font-size:9px}.class-lists{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.class-lists>div{border:1px solid var(--line);border-radius:11px;padding:10px}.class-lists h3{margin-top:0}.class-lists ul{gap:5px;margin:0;padding-inline-start:18px;font-size:11px;display:grid}.class-lists li{padding-inline-start:2px}.class-lists li b{color:var(--teal-dark);margin-inline-start:7px}.annual-term-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0;display:grid}.annual-term-grid>div{border:1px solid var(--line);border-radius:9px;gap:3px;padding:10px;display:grid}.annual-term-grid span,.annual-term-grid small{color:var(--muted);font-size:10px}.annual-term-grid b{font-size:17px}.annual-bars{border-bottom:1px solid var(--line);align-items:end;gap:24px;height:154px;padding:8px 10px 0;display:flex}.annual-bar-col{grid-template-rows:16px 1fr 18px;place-items:end center;gap:4px;min-width:72px;height:100%;display:grid}.annual-bar-col strong{font-size:11px}.annual-bar-track{background:var(--line);border-radius:8px 8px 0 0;align-items:end;width:38px;height:100%;display:flex}.annual-bar-track i{background:linear-gradient(#38b6ae,#0d7180);border-radius:8px 8px 0 0;width:100%;min-height:3px;display:block}.annual-bar-col span{color:var(--muted);align-self:center;font-size:10px}.annual-report-table{min-width:860px}.annual-report-table td{min-width:65px}.annual-offense-cell{line-height:1.45;min-width:210px!important}.annual-offense-cell div{border-bottom:1px dashed var(--line);padding:3px 0 5px}.annual-offense-cell small{color:var(--muted);display:block}.annual-highlight{margin-top:14px}.annual-highlight>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.annual-highlight label{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.annual-highlight select{border:1px solid var(--line);background:var(--surface);width:180px;min-height:35px;color:var(--text);border-radius:7px}.annual-highlight .chart-card{max-width:380px}.behavior-summary{margin-top:15px}.behavior-summary-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.behavior-summary-grid div{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px;font-size:10px;display:flex}.behavior-summary-grid b{font-size:14px}.certificate-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.certificate-controls label{flex:1;min-width:150px}.certificate-controls .certificate-note{flex:2}.certificate-sheet{color:#16374f;min-height:700px;box-shadow:var(--shadow);background:#fffefb;border:1px solid #e4d7b7;padding:20px;position:relative;overflow:hidden}.certificate-border{border:3px double #c09a42;height:100%;min-height:660px;padding:9px}.certificate-inner{text-align:center;border:1px solid #dbcda5;flex-direction:column;justify-content:flex-start;align-items:center;min-height:635px;padding:32px 36px 20px;display:flex;position:relative}.certificate-corner{z-index:1;border-style:solid;border-color:#148a92;width:45px;height:45px;position:absolute}.corner-one{border-width:3px 3px 0 0;top:16px;right:16px}.corner-two{border-width:0 0 3px 3px;bottom:16px;left:16px}.certificate-logo{object-fit:contain;width:150px;height:66px}.certificate-academy{color:#0d3655;margin-top:4px;font-size:15px;font-weight:800}.certificate-rule{background:linear-gradient(90deg,#0000,#c09a42,#0000);width:230px;height:1px;margin:13px 0}.certificate-rule span{background:#c09a42;width:7px;height:7px;margin:-3px auto 0;display:block;transform:rotate(45deg)}.certificate-kicker{color:#a8842e;letter-spacing:.08em;font-size:12px;font-weight:700}.certificate-inner h2{color:#0d3655;margin:5px 0 10px;font-size:35px;font-weight:800}.certificate-intro{color:#526773;margin:0;font-size:14px}.certificate-student-name{color:#0d3655;border-bottom:2px solid #c09a42;min-width:260px;margin:15px 0;padding:4px 25px 9px;font-size:28px;font-weight:800}.certificate-reason{color:#415a67;max-width:650px;margin:8px auto 12px;font-size:15px;line-height:1.9}.certificate-reason strong{color:#16858a}.certificate-grade-line{color:#7f6223;background:#fbf4df;border-radius:20px;padding:5px 16px;font-size:12px;font-weight:700}.certificate-bottom{justify-content:space-around;align-items:end;gap:18px;width:100%;margin-top:auto;padding-top:25px;display:flex}.certificate-bottom>div:not(.certificate-seal){text-align:center;gap:2px;min-width:140px;display:grid}.certificate-bottom span,.certificate-bottom small{color:#637780;font-size:11px}.certificate-bottom b{color:#0d3655;font-size:14px}.certificate-seal{color:#c09a42;justify-items:center;gap:0;display:grid}.certificate-seal span{color:#a8842e;font-size:10px;font-weight:800}.certificate-motto{color:#148a92;margin-top:20px;font-size:12px;font-weight:700}.certificate-sheet .report-footer{color:#71818b}.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.settings-panel .panel-heading{margin-bottom:13px}.settings-fields{gap:11px;display:grid}.settings-fields.two-col{grid-template-columns:1fr 1fr}.settings-fields label small{color:var(--muted);font-size:10px;font-weight:500}.logo-setting{border-top:1px solid var(--line);align-items:center;gap:15px;margin-top:16px;padding-top:15px;display:flex}.logo-setting>img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:8px;width:110px;height:60px;padding:4px}.logo-setting>div{gap:5px;display:grid}.logo-setting strong{font-size:13px}.logo-setting span{color:var(--muted);font-size:11px}.grade-band-list{gap:6px;margin-top:14px;display:grid}.grade-band-row{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.grade-band-row input:first-child{flex:1}.grade-band-row input[type=number]{text-align:center;width:75px}.privacy-chip{background:var(--good-bg);color:var(--good);white-space:nowrap;border-radius:10px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:700;display:inline-flex}.muted-copy{color:var(--muted);font-size:12px;line-height:1.7}.pin-status{color:var(--good);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.pin-status .button{margin-inline-start:auto}.status-dot{background:#2c9b6f;border-radius:50%;width:8px;height:8px}.pin-form{grid-template-columns:1fr 1fr;gap:9px;display:grid}.pin-form .field-error,.pin-form .button-row{grid-column:1/-1}.backup-actions{flex-wrap:wrap;gap:8px;display:flex}.demo-clearing{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:9px;margin-top:17px;padding-top:12px;display:flex}.demo-clearing div{gap:2px;display:grid}.demo-clearing strong{font-size:12px}.demo-clearing span{color:var(--muted);font-size:11px}.backup-warning{color:#806318;background:var(--mid-bg);border-radius:8px;margin:12px 0 0;padding:8px 10px;font-size:10px;line-height:1.6}.behavior-settings{padding:18px}.behavior-settings-list{gap:7px;max-height:540px;padding-inline-end:3px;display:grid;overflow:auto}.behavior-setting-row{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:135px minmax(150px,1fr) 145px 38px;align-items:center;gap:8px;padding:7px;display:grid}.behavior-setting-row input,.behavior-setting-row select{min-height:36px;padding:5px 8px;font-size:11px}.behavior-title-input{min-width:0}.deduction-input{color:var(--muted);justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}.deduction-input input{text-align:center;width:55px}.severity-four-settings{gap:4px;display:grid}.severity-four-settings .deduction-input{justify-content:flex-start}.inline-notice,.storage-alert{background:var(--good-bg);color:var(--good);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;font-size:12px;font-weight:700;display:flex}.storage-alert{background:var(--danger-bg);color:var(--danger);margin:10px 34px 0}.loading-screen,.fatal-screen,.pin-gate{text-align:center;place-items:center;min-height:100vh;padding:22px;display:grid}.loading-screen{color:var(--muted);align-content:center;gap:9px}.loading-screen strong{color:var(--navy);font-size:20px}.loading-mark img{object-fit:contain;width:125px;height:70px}.fatal-screen .panel{text-align:center;max-width:520px}.fatal-screen h1{font-size:21px}.fatal-screen p{color:var(--muted);line-height:1.6}.pin-gate{background:radial-gradient(circle at top left, #e2ae391c, transparent 33%), var(--bg)}.pin-card{border:1px solid var(--line);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;justify-items:center;gap:12px;padding:32px 25px;display:grid}.pin-card>img{object-fit:contain;width:145px;height:65px}.pin-card h1{color:var(--navy);margin:-5px 0 0;font-size:26px}:root[data-theme=dark] .pin-card h1{color:var(--text)}.pin-card p{color:var(--muted);margin:0;font-size:13px}.pin-card form{text-align:right;gap:12px;width:100%;display:grid}.pin-card input{text-align:center;letter-spacing:.3em;font-size:20px}.pin-error{width:100%;color:var(--danger);background:var(--danger-bg);border-radius:8px;padding:9px;font-size:12px}.pin-recovery{border-top:1px solid var(--line);width:100%;color:var(--muted);justify-items:start;gap:5px;padding-top:12px;font-size:11px;display:grid}.pin-card>small{color:var(--teal-dark);align-items:center;gap:5px;font-size:10px;display:inline-flex}@media (max-width:1150px){.sidebar{flex-basis:218px;width:218px}.main-content,.topbar{padding-inline:22px}.grade-table th,.grade-table td{min-width:70px}}@media (max-width:900px){.sidebar{flex-basis:78px;width:78px;padding-inline:10px}.sidebar-brand{justify-content:center;padding-inline:0}.sidebar-brand img{width:51px}.sidebar-brand div,.nav-item span,.sidebar-bottom small,.privacy-note span{display:none}.brand-lockup{display:flex}.sidebar nav{align-items:center}.nav-item{justify-content:center;padding:13px 8px}.nav-item.active i{height:22px}.privacy-note{justify-content:center}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.settings-fields.two-col{grid-template-columns:1fr 1fr}}@media (max-width:640px){html,body{overflow-x:hidden}.app-shell{padding-bottom:calc(68px + env(safe-area-inset-bottom));display:block}.sidebar{display:none}.topbar{height:64px;padding-inline:14px}.brand-lockup{display:flex}.brand-logo{width:57px;height:39px}.brand-lockup strong{font-size:15px}.brand-lockup span,.save-state{font-size:10px}.theme-toggle{width:35px;height:35px}.topbar-actions{gap:8px}.main-content{padding:20px 13px 22px}.app-footer{text-align:center;justify-items:center;padding:12px;line-height:1.5;display:grid}.mobile-nav{z-index:20;min-height:calc(64px + env(safe-area-inset-bottom));padding:6px 4px env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border:0;border-radius:9px;align-content:center;justify-items:center;gap:2px;padding:3px 1px;font-size:9px;font-weight:700;display:grid}.mobile-nav button.active{color:var(--teal-dark);background:var(--navy-soft)}.page-stack{gap:15px}.welcome-row{align-items:flex-start;gap:8px;min-height:0}.page-stack>.welcome-row:has(.gradebook-actions){grid-template-columns:1fr;display:grid}.gradebook-actions{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.gradebook-actions .button{white-space:normal;justify-content:center;min-width:0;padding:7px 5px;font-size:10px}.welcome-row h1{font-size:25px}.welcome-row p{max-width:245px;font-size:12px;line-height:1.5}.welcome-row>.button{align-self:center;min-height:39px;padding:9px 10px;font-size:12px}.welcome-row>.button svg{width:16px}.term-switch,.report-mode-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.term-switch button,.report-mode-tabs button{padding-inline:4px;font-size:11px}.add-student-panel{grid-template-columns:1fr 1fr;padding:13px;display:grid}.add-student-panel label:first-of-type{grid-column:1/-1;min-width:0}.add-student-panel .button,.form-heading{grid-column:1/-1}.stat-grid{gap:8px}.stat-card{min-height:93px;padding:12px}.stat-card strong{font-size:21px}.stat-card>span:first-child{font-size:11px}.stat-card small{font-size:9px}.stat-icon{width:17px;top:10px;left:9px}.gradebook-panel{border-radius:13px;padding-top:14px}.gradebook-panel>.panel-heading,.gradebook-panel>.filters-row{margin-inline:12px}.panel-heading h2{font-size:15px}.filters-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.search-field{grid-column:1/-1;width:100%}.filter-field{justify-content:space-between;gap:4px}.filter-field select{flex:1;min-width:85px}.desktop-table-wrap{display:none}.mobile-student-list{gap:9px;padding:0 10px;display:grid}.student-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.student-card-head{width:100%;color:var(--text);text-align:right;background:0 0;align-items:center;gap:8px;padding:11px;display:flex}.student-card-head .student-name-cell{flex:1;min-width:0}.student-card-head .score-pill{margin-inline-start:auto}.student-card-head .student-name-input{width:min(145px,36vw)}.student-card-body{border-top:1px solid var(--line);gap:13px;padding:0 11px 13px;display:grid}.card-select-row{grid-template-columns:1fr 1fr;gap:9px;padding-top:11px;display:grid}.card-select-row label,.card-term-scores label{color:var(--muted);gap:5px;font-size:11px;display:grid}.card-select-row select{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:37px;padding:5px 8px}.mobile-score-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mobile-score-field{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:5px;padding:7px 8px;display:flex}.mobile-score-field>span{color:var(--text);gap:1px;font-size:10px;font-weight:700;display:grid}.mobile-score-field small{color:var(--muted);font-size:9px;font-weight:500}.mobile-score-field .score-control{min-width:55px}.mobile-score-field .score-control input{background:var(--surface);width:54px;height:34px}.mobile-score-field .field-error{display:none}.card-term-scores{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:7px;padding-top:10px;display:grid}.card-term-scores .score-control{min-width:0}.card-term-scores .score-control input{background:var(--surface-2);width:100%}.behavior-editor{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.behavior-editor>div:first-child{color:var(--text);justify-content:space-between;font-size:12px;display:flex}.behavior-editor>div:first-child span{color:var(--muted);font-size:10px}.behavior-editor select{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;min-height:40px;padding:7px}.behavior-event-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.behavior-event-list li{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-size:10px;display:flex}.behavior-event-list li span{gap:2px;display:grid}.behavior-event-list b{color:var(--teal-dark)}.behavior-event-list small{color:var(--muted)}.table-footnote{padding:10px 12px 2px;font-size:9px;display:grid}.report-mode-tabs{align-self:stretch;width:auto}.report-controls{grid-template-columns:1fr 1fr;gap:9px;padding:12px;display:grid}.report-controls label{min-width:0}.report-controls label:first-child{flex:initial}.report-controls select{min-width:0}.report-controls>.button{grid-column:1/-1}.report-actions{width:100%}.report-actions .button{flex:1;padding-inline:7px;font-size:11px}.report-actions .button svg{width:15px}.panel{border-radius:13px;padding:15px}.printable-report{padding:13px}.report-heading{gap:8px}.report-heading img{width:72px;height:43px}.report-heading h2{font-size:15px}.report-heading span,.report-heading small{font-size:9px}.student-report-meta{grid-template-columns:1fr 1fr;gap:8px}.student-report-meta>div:first-child{grid-column:1/-1}.report-result-strip{grid-template-columns:1fr 1fr}.report-result-strip div{padding:8px}.report-result-strip strong{font-size:14px}.report-table{min-width:420px;font-size:10px}.report-table th,.report-table td{padding:6px}.skill-row{grid-template-columns:92px minmax(35px,1fr) 45px;gap:5px;font-size:9px}.behavior-report li{grid-template-columns:1fr}.behavior-report li small{grid-column:1}.class-lists{grid-template-columns:1fr}.report-summary-grid{grid-template-columns:repeat(2,1fr)}.annual-term-grid{gap:5px}.annual-term-grid>div{padding:7px}.annual-term-grid b{font-size:14px}.behavior-summary-grid{grid-template-columns:1fr 1fr}.certificate-sheet{min-height:610px;padding:9px}.certificate-border{min-height:590px}.certificate-inner{min-height:565px;padding:23px 12px 14px}.certificate-logo{width:120px;height:52px}.certificate-inner h2{font-size:29px}.certificate-student-name{min-width:210px;font-size:22px}.certificate-reason{font-size:12px}.certificate-bottom{gap:7px}.certificate-bottom>div:not(.certificate-seal){min-width:90px}.certificate-bottom b{font-size:11px}.certificate-corner{width:30px;height:30px}.settings-fields.two-col{grid-template-columns:1fr}.settings-grid{gap:11px}.logo-setting{align-items:flex-start}.logo-setting>img{width:80px;height:50px}.behavior-setting-row{grid-template-columns:1fr 38px;gap:6px}.behavior-setting-row>select:first-child,.behavior-setting-row .behavior-title-input,.behavior-setting-row>select:nth-last-child(2),.behavior-setting-row .deduction-input{grid-column:1}.behavior-setting-row .danger-icon{grid-area:1/2}.behavior-setting-row .deduction-input{justify-content:flex-start}.grade-band-row input[type=number]{width:65px}.privacy-chip{padding:7px;font-size:10px}.backup-actions .button{flex:1;padding:8px;font-size:11px}.demo-clearing{align-items:flex-start}.storage-alert{margin-inline:13px}.modal-backdrop{align-items:end;padding:0}.import-modal{border-radius:17px 17px 0 0;width:100%;max-height:95dvh}.mapping-grid{grid-template-columns:1fr 1fr;max-height:155px}.column-mapping,.preview-section,.modal-header,.modal-actions{padding-inline:12px}.duplicate-options{gap:8px;padding-inline:12px}.import-file-strip{padding-inline:12px}}@media (max-width:380px){.welcome-row h1{font-size:22px}.welcome-row p{max-width:205px}.stat-card{padding:10px}.mobile-score-grid{grid-template-columns:1fr}.report-actions{flex-direction:column}.brand-logo{width:47px}.brand-lockup strong{font-size:13px}.save-state{font-size:9px}}body{font-size:16px;font-weight:500;line-height:1.55}#root small{font-size:12px;font-weight:500;line-height:1.45}#root :is(.app-footer,.save-state,.table-footnote,.grade-table,.student-name-input,.score-control input,.compact-select,.behavior-menu-panel select,.behavior-menu-panel li,.import-preview,.mapping-grid label,.mapping-grid select,.import-counts,.duplicate-options,.report-controls label,.report-table,.skill-row,.behavior-report li,.class-lists ul,.behavior-summary-grid,.annual-term-grid span,.annual-highlight label,.teacher-notes,.teacher-notes textarea,.grade-band-row,.mobile-score-field>span,.card-select-row label,.card-term-scores label,.behavior-setting-row input,.behavior-setting-row select){font-size:13px}#root .grade-table th{font-size:12px}#root .gradebook-actions .button,#root .backup-actions .button,#root .report-actions .button,#root .welcome-row>.button,#root .term-switch button,#root .report-mode-tabs button{font-size:13px}#root .mobile-nav button{font-size:11px}#root .brand-lockup span,#root .save-state,#root .stat-card>span:first-child,#root .skill-row,#root .skill-row b,#root .chart-note,#root .distribution-bars span,#root .annual-report-table,#root .field-error,#root .mapping-grid label,#root .mapping-grid select,#root :is(.welcome-row p,.modal-header p,.import-dropzone>span,.import-file-strip b,.import-counts,.import-error,.import-success,.privacy-chip,.backup-warning,.deduction-input,.pin-recovery,.behavior-editor>div:first-child span,.behavior-event-list li,.logo-setting span,.demo-clearing span,.certificate-seal span,.report-heading span,.behavior-report h3 span,.severity-tag,.distribution-bars b,.annual-bar-col strong,.annual-bar-col span),#root .report-footer,#root .report-footer-credit{font-size:12px}#root .report-actions .button{min-height:42px}#root .button-primary{background:linear-gradient(135deg,#145da8,#2b7fdf);box-shadow:0 6px 16px #1c68b833}#root .button-primary:hover{background:linear-gradient(135deg,#0e4e91,#1d6fc6)}#root .stat-icon{color:var(--blue)}#root .student-avatar{background:var(--navy-soft)}#root .bar-track i{background:linear-gradient(90deg, var(--blue-dark), #75baff)}#root .distribution-bars i{background:linear-gradient(0deg, var(--blue-dark), #73b7ff)}#root .annual-bar-track i{background:linear-gradient(#65adf6,#175fae)}#root .certificate-corner{border-color:var(--blue)}#root .certificate-academy,#root .certificate-inner h2,#root .certificate-student-name,#root .certificate-bottom b{color:var(--navy)}#root .certificate-reason strong,#root .certificate-motto{color:var(--blue-dark)}#root :focus-visible{outline-offset:2px;outline:3px solid #2b7fdf6b}:root{--report-ink:#142233}:root[data-theme=dark]{--report-ink:#f4f7fc}#root .report-table td,#root .report-summary-grid b,#root .report-result-strip strong,#root .annual-term-grid b,#root .annual-report-table td,#root .behavior-summary-grid b,#root .distribution-bars b,#root .annual-bar-col strong,#root .skill-row b,#root .class-lists li b,#root .student-report-meta strong{font-weight:800;color:var(--report-ink)!important}@media (max-width:640px){#root .report-footer{flex-direction:column;align-items:center}#root .report-footer-credit{text-align:center}}@media print{@page{size:A4 portrait;margin:13mm}@page certificatePage{size:A4 landscape;margin:8mm}@page annualReportPage{size:A4 landscape;margin:10mm}@page classReportPage{size:A4 landscape;margin:10mm}body,html{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;font-family:Tajawal,sans-serif;color:#142e3e!important;background:#fff!important}:root{--report-ink:#142233!important}.no-print,.sidebar,.topbar,.mobile-nav,.app-footer,.storage-alert,.welcome-row,.report-mode-tabs,.report-controls,.settings-panel,.certificate-controls,.term-switch,.add-student-panel{display:none!important}.app-shell,.main-column{min-height:0;display:block}.main-content{max-width:none;margin:0!important;padding:0!important}.page-stack{display:block}.page-stack>*{display:none!important}.page-stack>.printable-report,.page-stack>.certificate-sheet{display:block!important}.panel,.printable-report,.certificate-sheet{box-shadow:none!important;color:#142e3e!important;background:#fff!important;border:0!important;padding:0!important}.report-heading{border-bottom-color:#103f72}.report-heading h2,.report-heading span,.report-table th,.student-report-meta strong,.report-result-strip strong{color:#103f72!important}#root .report-table{font-size:9pt}.report-table th,.report-table td{padding:5px 6px;border-color:#cad4d8!important}#root .report-footer{border-top-color:#bdd1e6;margin-top:12px;font-size:9pt;position:static;color:#536a82!important}#root .printable-report:has(.class-report-table){page:classReportPage}#root .printable-report:has(.annual-report-table){page:annualReportPage}#root .term-score-strip{break-inside:avoid}.print-only{white-space:pre-wrap;display:block!important}.report-table-wrap{overflow:visible!important}#root .annual-report-table{min-width:0!important;font-size:8pt!important}.annual-report-table th,.annual-report-table td{padding:3px!important}.annual-offense-cell{min-width:0!important}.annual-highlight select{display:none!important}.certificate-sheet{page:certificatePage;height:182mm;min-height:0;padding:0!important}.certificate-border,.certificate-inner{height:100%;min-height:0}.certificate-sheet .report-footer{position:absolute;bottom:12px;left:18px;right:18px}.class-lists>div,.chart-card,.strengths-card,.annual-term-grid>div,tr{break-inside:avoid}.score-incomplete{color:#637780!important}}
