body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#eff6ff;--brand-dark:#1e3a5f;--brand-gradient:linear-gradient(135deg,var(--brand-dark) 0%,var(--primary) 100%);--success:#059669;--success-light:#d1fae5;--warning:#d97706;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--info:#0891b2;--info-light:#cffafe;--purple:#7c3aed;--purple-light:#ede9fe;--bg:#f1f5f9;--border:#e2e8f0;--border-dark:#cbd5e1;--text:#0f172a;--text-muted:#334155;--text-light:#475569;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 3px #00000014;--shadow:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #00000024;--transition:var(--dur,0.18s) var(--ease,ease);--font-ar:"Tajawal","Cairo","Segoe UI",system-ui,sans-serif;--bg-subtle:#f8fafc}[data-theme=dark]{--primary:#3b82f6;--primary-dark:#2563eb;--primary-light:#2563eb2e;--brand-dark:#14283f;--brand-gradient:linear-gradient(135deg,var(--brand-dark) 0%,#1e3a5f 100%);--success:#34d399;--success-light:#10b9812e;--warning:#fbbf24;--warning-light:#d9770638;--danger:#f87171;--danger-light:#dc262633;--info:#22d3ee;--info-light:#0891b233;--purple:#a78bfa;--purple-light:#7c3aed33;--border:#243248;--border-dark:#34465f}[data-theme=dark] body{color-scheme:dark}*,:after,:before{margin:0;padding:0}.skip-link{background:#2563eb;background:var(--primary,#1e3a5f);border-radius:0 0 8px 8px;color:#fff;font-weight:700;inset-inline-start:12px;padding:10px 16px;position:fixed;text-decoration:none;top:-60px;transition:top .15s;z-index:3000}.skip-link:focus{outline:3px solid #fff;outline-offset:-3px;top:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.table-scroll{-webkit-overflow-scrolling:touch;width:100%}body{font-feature-settings:"lnum" 1,"tnum" 1,lining-nums tabular-nums;background:#f1f5f9;background:var(--bg);color:#0f172a;color:var(--text);direction:rtl;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.95rem;font-variant-numeric:lining-nums tabular-nums;line-height:1.6;min-height:100vh}:root{--header-h:116px;--sidebar-w:0px}.master-layout{display:flex;flex-direction:column;min-height:100vh}.master-content{flex:1 1;padding:6px 20px 20px;width:100%}.master-content .page-header{margin-top:-16px}.twp-bar{align-items:center;background:radial-gradient(620px 200px at 92% -60%,#38bdf842,#0000 62%),linear-gradient(135deg,#0d1b34,#16325f 55%,#1e478f);border:1px solid #ffffff24;border-radius:12px;box-shadow:0 14px 32px -18px #08193c99,inset 0 1px 0 #ffffff24;color:#f1f5f9;display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.twp-bar label{color:#f8fafc;font-weight:800}.twp-bar-hint{color:#e2e8f0d9;font-size:.74rem}.twp-bar select{background:#ffffff1f!important;border:1px solid #ffffff4d!important;color:#f8fafc!important}.twp-bar select option{background:#14315f;color:#f8fafc}.twp-cards{display:flex;flex-wrap:wrap;gap:14px}.twp-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 18px -14px #0f172a80;flex:1 1 300px;min-width:0;overflow:hidden;padding:16px 16px 14px;position:relative;transition:border-color .18s,box-shadow .18s}.twp-card:before{background:#cbd5e1;background:var(--twp-accent,var(--border-dark));content:"";height:3px;inset-inline:0;position:absolute;top:0}.twp-card:hover{box-shadow:0 10px 24px -14px #0f172a99}.twp-card.is-a{--twp-accent:var(--tint-indigo-bd,#6366f1)}.twp-card.is-b{--twp-accent:var(--tint-info-bd,#0ea5e9)}.twp-card.is-exc{--twp-accent:var(--tint-warn-bd,#f59e0b);flex:1 1 100%}.twp-card-head{align-items:center;display:flex;gap:8px;margin-bottom:2px}.twp-badge{background:#f8fafc;background:var(--tint-neutral-bg2,var(--bg-subtle));border-radius:999px;color:#334155;color:var(--text-muted);font-size:.7rem;font-weight:800;padding:2px 10px}.twp-card.is-a .twp-badge{background:#eef2ff;background:var(--tint-indigo-bg,#eef2ff);color:#3730a3;color:var(--tint-indigo-fg,#3730a3)}.twp-card.is-b .twp-badge{background:#e0f2fe;background:var(--tint-info-bg,#e0f2fe);color:#075985;color:var(--tint-info-fg,#075985)}.twp-card-title{font-size:.95rem;font-weight:800}.twp-card-note{color:#475569;color:var(--text-light);font-size:.74rem;margin:2px 0 12px}.twp-tbl{border:1px solid #e2e8f0;border:1px solid var(--border);border-collapse:initial;border-radius:10px;border-spacing:0;font-size:.82rem;overflow:hidden;width:100%}.twp-tbl thead th{background:#cbd5e1;background:var(--twp-accent,var(--border-dark));color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.2px;padding:8px 4px;text-align:center;text-shadow:0 1px 1px #0000002e}.twp-tbl thead th:first-child{-webkit-padding-start:12px;padding-inline-start:12px;text-align:start}.twp-tbl td{padding:7px 4px;text-align:center}.twp-tbl td:first-child{-webkit-padding-start:12px;font-weight:800;padding-inline-start:12px;text-align:start}.twp-tbl tbody tr+tr td{border-top:1px solid #e2e8f0;border-top:1px solid var(--border)}.twp-tbl tbody tr:first-child td{background:var(--tint-info-bg)}.twp-tbl tbody tr:nth-child(2) td{background:var(--tint-warn-bg)}.twp-tbl tbody tr:nth-child(3) td{background:var(--tint-success-bg)}.twp-tbl tbody tr:hover td{filter:brightness(1.04)}.twp-in{font-feature-settings:"tnum";background:#fff!important;background:var(--surface)!important;border:1.5px solid #cbd5e1!important;border:1.5px solid var(--border-dark)!important;border-radius:8px;color:#0f172a!important;color:var(--text)!important;font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:800;height:31px;text-align:center;transition:border-color .15s,box-shadow .15s;width:68px}.twp-in:focus,.twp-in:hover{border-color:#2563eb!important;border-color:var(--twp-accent,var(--primary))!important}.twp-in:focus{box-shadow:0 0 0 3px color-mix(in srgb,#6366f1 26%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--twp-accent,#6366f1) 26%,#0000);outline:none}.twp-in::-webkit-inner-spin-button,.twp-in::-webkit-outer-spin-button{-webkit-margin-start:2px;margin-inline-start:2px;opacity:1}.twp-sum{font-feature-settings:"tnum";background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:999px;color:#0f172a;color:var(--text);display:inline-block;font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:900;min-width:40px;padding:3px 12px}.twp-total{font-feature-settings:"tnum";align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:800;gap:6px;margin-top:10px;padding:4px 12px}.twp-total.is-ok{background:#dcfce7;background:var(--tint-success-bg,#dcfce7);color:#166534;color:var(--tint-success-fg,#166534)}.twp-total.is-bad{background:#fee2e2;background:var(--tint-danger-bg,#fee2e2);color:#991b1b;color:var(--tint-danger-fg,#991b1b)}.twp-exc-row{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin-bottom:10px;padding-top:10px}.twp-exc-row:first-of-type{border-top:none;padding-top:0}.twp-exc-sems{display:flex;flex-wrap:wrap;gap:10px}.twp-exc-sem{align-items:center;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;display:flex;gap:6px;padding:6px 10px}.twp-exc-sem:first-child{background:var(--tint-info-bg)}.twp-exc-sem:nth-child(2){background:var(--tint-warn-bg)}.twp-exc-sem:nth-child(3){background:var(--tint-success-bg)}.twp-exc-lbl{color:#0f172a;color:var(--text);font-size:.76rem;font-weight:800;min-width:22px}.twp-empty{color:#334155;color:var(--text-muted);font-size:.8rem;margin-bottom:10px}@media (max-width:640px){.twp-card{flex:1 1 100%;padding:14px 12px 12px}.twp-in{width:58px}}.acting-year-banner{margin:0 16px 8px}@media (max-width:768px){.acting-year-banner{margin:0 10px 8px}}.master-header nav{flex-wrap:wrap;row-gap:2px}@media (max-width:1400px){.master-header nav{padding:0 8px!important}.master-header nav>button,.master-header nav>div>button{font-size:.8rem!important;padding:9px 10px!important}}@media (max-width:1150px){.master-header nav{gap:0!important;padding:0 5px!important}.master-header nav>button,.master-header nav>div>button{font-size:.76rem!important;gap:4px!important;padding:8px!important}}@media (max-width:900px){.master-header nav>button,.master-header nav>div>button{font-size:.73rem!important;padding:7px!important}}[dir=ltr] .ap-table-toolbar,[dir=ltr] .master-header,[dir=ltr] body{direction:ltr}.sgnav-wrap{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px}.sgnav{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e5e7eb);border-radius:12px;flex:0 1 240px;max-height:calc(100dvh - 140px);max-height:calc(100dvh - var(--header-h, 0px) - 24px);min-width:200px;overflow-y:auto;padding:10px;position:-webkit-sticky;position:sticky;top:128px;top:calc(var(--header-h, 0px) + 12px);z-index:40}.sgnav.is-min{cursor:pointer;flex:0 0 auto;min-width:0;width:54px}.sgnav.is-min:hover{border-color:#2563eb;border-color:var(--group-accent,var(--primary,#2563eb))}.sgnav{-webkit-border-start:4px solid #0000;-webkit-border-start:4px solid var(--group-accent,#0000);border-inline-start:4px solid #0000;border-inline-start:4px solid var(--group-accent,#0000)}.sgnav-head b{color:inherit;color:var(--group-accent,inherit)}.sgnav-btn:hover{background:var(--group-bg-2,var(--primary-light,#eef2ff))}.sgnav-head{align-items:center;display:flex;gap:6px;margin-bottom:8px}.sgnav-head b{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgnav-min{background:none;border:none;border-radius:6px;color:inherit;cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:.95rem;font-weight:900;opacity:.55;padding:2px 5px}.sgnav-min:hover{background:#eff6ff;background:var(--primary-light,#eef2ff);opacity:1}.sgnav-btn{align-items:center;background:#fff;background:var(--input-bg,var(--surface,#fff));border:1px solid #e2e8f0;border:1px solid var(--border,#d1d5db);border-radius:8px;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:.88rem;font-weight:700;gap:7px;line-height:1.5;margin-bottom:6px;padding:7px 12px;text-align:start;transition:background .18s ease,border-color .18s ease,color .18s ease;transition:background var(--transition,.18s),border-color var(--transition,.18s),color var(--transition,.18s);width:100%}.sgnav-btn:hover{background:#eff6ff;background:var(--primary-light,#eef2ff);border-color:#2563eb;border-color:var(--primary,#2563eb)}.sgnav-btn:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--primary,#2563eb);outline-offset:1px}.sgnav-btn.is-active{background:#1d4ed8;background:var(--group-solid,var(--primary-dark,#2563eb));border-color:#1d4ed8;border-color:var(--group-solid,var(--primary-dark,#2563eb));color:#fff;font-weight:800}.sgnav-btn.is-active:hover{filter:brightness(1.12)}.sgnav-ic{flex:0 0 auto}.sgnav-tx{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgnav-ar{flex:0 0 auto;font-weight:900;opacity:.7}.sgnav.is-min .sgnav-btn{justify-content:center;padding:7px 0}.sgnav-homebtn{background:none;border:none;border-radius:8px;color:inherit;cursor:pointer;flex:1 1;font-family:inherit;font-size:.92rem;font-weight:800;min-width:0;overflow:hidden;padding:5px 8px;text-align:start;text-overflow:ellipsis;transition:background .18s ease,color .18s ease;transition:background var(--transition,.18s),color var(--transition,.18s);white-space:nowrap}.sgnav-homebtn:hover:not(:disabled){background:#eff6ff;background:var(--primary-light,#eef2ff);color:#1d4ed8;color:var(--primary-dark,#1d4ed8)}.sgnav-homebtn:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--primary,#2563eb);outline-offset:1px}.sgnav-homebtn:disabled{cursor:default}.sgnav-sep{background:#e2e8f0;background:var(--border);height:1px;margin:4px 2px 8px}.sgnav.is-min .sgnav-sep{margin:4px 0 8px}.sgnav-btn.is-open{background:#f8fafc;background:var(--bg-subtle)}.sgnav-btn.is-open .sgnav-ar{opacity:1}.sgnav-sub{-webkit-padding-start:10px;-webkit-border-start:2px solid #e2e8f0;-webkit-border-start:2px solid var(--border);-webkit-margin-start:14px;border-inline-start:2px solid #e2e8f0;border-inline-start:2px solid var(--border);display:flex;flex-direction:column;gap:2px;margin:-2px 0 6px;margin-inline-start:14px;padding-inline-start:10px}.sgnav-subitem{align-items:center;background:none;border:none;border-radius:8px;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:.82rem;font-weight:600;gap:7px;line-height:1.45;padding:7px 10px;text-align:start;transition:background .18s ease,color .18s ease;transition:background var(--transition,.18s),color var(--transition,.18s);width:100%}.sgnav-subitem:hover{background:#eff6ff;background:var(--primary-light,#eef2ff)}.sgnav-subitem:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--primary,#2563eb);outline-offset:1px}.sgnav-subitem.is-active{background:#eff6ff;background:var(--primary-light,#eef2ff);color:#1d4ed8;color:var(--primary-dark,#1d4ed8);font-weight:800}.sgnav.is-min .sgnav-sub{display:none}.sidenav-content{flex:1 1 480px;min-width:0}.sidenav-content .page-header .btn-back,html[data-sidenav="1"] .ra-sections,html[data-sidenav="1"] .sidenav-content .sgnav,html[data-sidenav="1"] .skt-back{display:none}@media (max-width:768px){.sgnav:not(.is-min){flex:1 1 100%;max-height:none;position:static}}@media screen{.se-subject-block{contain-intrinsic-size:auto 900px;content-visibility:auto}}.app-header{background:linear-gradient(135deg,#1e3a5f,#2563eb);background:var(--brand-gradient);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);color:#fff;height:60px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header,.app-header-brand{align-items:center;display:flex}.app-header-brand{gap:10px}.app-header-brand h1{font-size:1.05rem;font-weight:700;letter-spacing:.3px}.app-header-brand span{font-size:.8rem;opacity:.75}.app-header-nav{align-items:center;display:flex;gap:6px}.header-nav-btn{background:#ffffff1f;border:1px solid #fff3;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.82rem;padding:6px 14px;transition:.18s ease;transition:var(--transition);white-space:nowrap}.header-nav-btn:hover{background:#ffffff38}.header-nav-btn.active{background:#ffffff47}.header-logout-btn{background:#dc262633;border-color:#dc262666}.header-logout-btn:hover{background:#dc262659}.header-user{padding:0 8px;white-space:nowrap}.btn,button{cursor:pointer;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);transition:.18s ease;transition:var(--transition)}.btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--border-dark);border-radius:10px;border-radius:var(--radius,10px);color:#0f172a;color:var(--text);display:inline-flex;font-size:.85rem;font-weight:700;gap:6px;padding:9px 18px}.btn:hover:not(:disabled){background:#f8fafc;background:var(--bg-subtle);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{align-items:center;background:#2563eb;background:var(--primary);border:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 8px #2563eb4d;color:#fff;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:7px 15px}.btn-primary:hover:not(:disabled){background:#1d4ed8;background:var(--primary-dark);box-shadow:0 4px 14px #2563eb73;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-ghost{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border,#cbd5e1);border-radius:10px;border-radius:var(--radius);color:#334155;color:var(--text-muted,#475569);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:6px;padding:7px 15px;transition:background .15s,border-color .15s,color .15s,transform .15s}.btn-ghost:hover:not(:disabled){background:#eff6ff;background:var(--primary-light,#eff6ff);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary);transform:translateY(-1px)}.btn-ghost:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-soft{align-items:center;background:#eff6ff;background:var(--primary-light,#eff6ff);border:1.5px solid #0000;border-radius:10px;border-radius:var(--radius);color:#2563eb;color:var(--primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:700;gap:6px;padding:7px 15px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.btn-soft:hover:not(:disabled){background:#2563eb;background:var(--primary);box-shadow:0 4px 14px #2563eb59;color:#fff;transform:translateY(-1px)}.btn-soft:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-secondary{background:#fff;background:var(--surface);border:1.5px solid #cbd5e1;border:1.5px solid var(--border-dark);border-radius:10px;border-radius:var(--radius);color:#0f172a;color:var(--text);font-size:.85rem;font-weight:500;padding:7px 15px}.btn-secondary:hover{background:#f1f5f9;background:var(--bg);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.btn-success{background:#059669;background:var(--success);border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 8px #0596694d;font-size:.85rem;padding:7px 15px}.btn-success:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-danger{background:var(--danger);border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 8px #dc26264d;font-size:.85rem;font-weight:600;padding:7px 15px}.btn-danger:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-warning{background:#d97706;background:var(--warning);border:none;border-radius:10px;border-radius:var(--radius);color:#fff;font-size:.85rem;font-weight:600;padding:7px 15px}.btn-warning:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-info{background:#0891b2;background:var(--info);border:none;border-radius:10px;border-radius:var(--radius);color:#fff;font-size:.85rem;font-weight:600;padding:7px 15px}.btn-info:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-sm{background:#f1f5f9;background:var(--bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);font-size:.78rem;font-weight:500;padding:4px 12px;white-space:nowrap}.btn-sm:hover{background:#eff6ff;background:var(--primary-light);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.btn-sm.btn-success{background:#d1fae5;background:var(--success-light);border-color:#059669;border-color:var(--success);color:#059669;color:var(--success)}.btn-sm.btn-success:hover{background:#059669;background:var(--success);color:#fff}.btn-sm.btn-danger{background:#fee2e2;background:var(--danger-light);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.btn-sm.btn-danger:hover{background:#dc2626;background:var(--danger);color:#fff}.btn-sm.btn-warning{background:#fef3c7;background:var(--warning-light);border-color:#d97706;border-color:var(--warning);color:#d97706;color:var(--warning)}.btn-sm.btn-warning:hover{background:#d97706;background:var(--warning);color:#fff}.btn-sm.btn-info{background:#cffafe;background:var(--info-light);border-color:#0891b2;border-color:var(--info);color:#0891b2;color:var(--info)}.btn-sm.btn-info:hover{background:#0891b2;background:var(--info);color:#fff}.btn-back{background:#2563eb;background:var(--primary);border:1.5px solid #1d4ed8;border:1.5px solid var(--primary-dark);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #0000002e;color:#fff;font-size:.88rem;font-weight:700;padding:7px 16px}.btn-back:hover{background:#1d4ed8;background:var(--primary-dark);color:#fff}:root{--export:#16a34a;--export-dark:#15803d}[data-theme=dark]{--export:#22c55e;--export-dark:#16a34a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--export:#22c55e;--export-dark:#16a34a}}.btn-danger,.btn-export,.btn-primary,.btn-print,.btn-success{overflow:hidden;position:relative}.btn-danger:before,.btn-export:before,.btn-primary:before,.btn-print:before,.btn-success:before{background:linear-gradient(180deg,#ffffff38,#fff0);content:"";height:45%;inset:0 0 auto 0;pointer-events:none;position:absolute}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#047857)}.btn-success:hover:not(:disabled){filter:none;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#b91c1c)}.btn-danger:hover:not(:disabled){filter:none;transform:translateY(-2px)}.btn-danger:disabled,.btn-excel:disabled,.btn-export:disabled,.btn-print:disabled,.btn-secondary:disabled,.btn-soft:disabled,.btn-success:disabled{box-shadow:none;cursor:not-allowed;filter:grayscale(.3);opacity:.5;transform:none!important}.btn-export{align-items:center;background:linear-gradient(135deg,#16a34a,#15803d);background:linear-gradient(135deg,var(--export),var(--export-dark));border:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 3px 10px #15803d52;color:#fff;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;justify-content:center;padding:7px 15px}.btn-export:hover:not(:disabled){transform:translateY(-2px)}.btn-print{align-items:center;background:#334155;border:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 3px 10px #33415552;color:#fff;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;justify-content:center;padding:7px 15px}.btn-print:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-cancel{align-items:center;background:#fecaca;border:1.5px solid #f87171;border-radius:10px;border-radius:var(--radius);color:#b91c1c;display:inline-flex;font-size:.85rem;font-weight:700;gap:6px;justify-content:center;padding:7px 15px}.btn-cancel:hover:not(:disabled){background:#fca5a5;border-color:#dc2626;color:#991b1b;transform:translateY(-2px)}[data-theme=dark] .btn-cancel{background:#dc262633;border-color:#f871718c;color:#fca5a5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-cancel{background:#dc262633;border-color:#f871718c;color:#fca5a5}}.icon-btn{align-items:center;background:#fff;background:var(--surface);border:1.5px solid;cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;width:34px}.icon-btn svg{height:17px;width:17px}.icon-btn:hover{transform:translateY(-2px)}.icon-btn.view{background:#cffafe;background:var(--info-light);border-color:#0891b2;border-color:var(--info);color:#0891b2;color:var(--info)}.icon-btn.view:hover{background:#0891b2;background:var(--info);color:#fff}.icon-btn.edit{background:#fef3c7;background:var(--warning-light);border-color:#d97706;border-color:var(--warning);color:#d97706;color:var(--warning)}.icon-btn.edit:hover{background:#d97706;background:var(--warning);color:#fff}.icon-btn.del{background:#fee2e2;background:var(--danger-light);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.icon-btn.del:hover{background:#dc2626;background:var(--danger);color:#fff}.icon-btn.ok{background:#d1fae5;background:var(--success-light);border-color:#059669;border-color:var(--success);color:#059669;color:var(--success)}.icon-btn.ok:hover{background:#059669;background:var(--success);color:#fff}.jtree-cat{border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:10px;overflow:hidden}.jtree-cat-head{align-items:center;background:linear-gradient(135deg,#eef4ff,#e6eefc);border-bottom:1px solid #dbe4f5;display:flex;gap:10px;padding:12px 14px}.jtree-cat-head.on{background:linear-gradient(135deg,#dcfce7,#d1fae5);border-bottom-color:#a7f3d0}.jtree-cat-head.part{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom-color:#fcd34d}.jtree-mod-head.part{color:#b45309}[data-theme=dark] .jtree-cat-head.part{background:linear-gradient(135deg,#f59e0b38,#d977061f);border-bottom-color:#fcd34d59}.jtree-cat-title{color:#1e3a5f;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:900}.jtree-cat-count{background:#fff;border:1px solid #dbe4f5;border-radius:20px;color:#64748b;font-size:.72rem;font-weight:700;padding:1px 9px}.jtree-body{background:#fbfdff;padding:8px 12px 12px}.jtree-mod{-webkit-border-start:3px solid #dbeafe;background:#fff;border-inline-start:3px solid #dbeafe;border-radius:0 8px 8px 0;margin-bottom:8px;padding:8px 10px}.jtree-mod-head{align-items:center;color:#334155;cursor:pointer;display:flex;font-weight:800;gap:8px}.jtree-mod-head.on{color:#059669}.jtree-mod-count{color:#94a3b8;font-size:.7rem;font-weight:700}.jtree-feats{-webkit-padding-start:20px;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-inline-start:20px}.jtree-feat{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;color:#475569;cursor:pointer;display:flex;font-size:.78rem;gap:5px;padding:3px 9px;transition:.12s}.jtree-feat:hover{background:#eff6ff;border-color:#93c5fd}.jtree-feat.on{background:#dbeafe;border-color:#60a5fa;color:#1e3a5f;font-weight:600}.jtree-feat.view{background:#f0fdf4;border-color:#86efac}.jtree-feat.view.on{background:#bbf7d0;border-color:#22c55e}[data-theme=dark] .jtree-cat-head{background:linear-gradient(135deg,#3b82f62e,#2563eb1a);border-bottom-color:#94a3b840}[data-theme=dark] .jtree-body{background:#0f172a66}[data-theme=dark] .jtree-feat,[data-theme=dark] .jtree-mod{background:#1e293b99;border-color:#94a3b840;color:#cbd5e1}.btn-template{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1.5px dashed #10b981;border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #10b9812e;color:#065f46;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:800;padding:8px 16px;transition:background .15s,border-color .15s,transform .1s}.btn-size-template,.btn-template{align-items:center;display:inline-flex;gap:6px;justify-content:center;white-space:nowrap}.btn-size-template{border-radius:10px!important;border-radius:var(--radius)!important;font-size:.85rem!important;font-weight:800!important;min-width:290px;padding:8px 16px!important}@media (max-width:640px){.btn-size-template{min-width:100%}}.btn-template:hover{background:linear-gradient(135deg,#10b981,#059669);border-color:#047857;color:#fff}.btn-template:active{transform:translateY(1px)}[data-theme=dark] .btn-template{background:linear-gradient(135deg,#10b9812e,#0596691f);border-color:#10b981;color:#6ee7b7}[data-theme=dark] .btn-template:hover{background:#059669;color:#fff}.btn-excel{background:#16a34a;border:1.5px solid #16a34a;border-radius:6px;border-radius:var(--radius-sm);box-shadow:0 1px 4px #16a34a40;color:#fff;font-size:.78rem;font-weight:500;padding:4px 12px;white-space:nowrap}.btn-excel:hover:not(:disabled){background:#15803d;transform:translateY(-1px)}.btn-excel:disabled{cursor:not-allowed;opacity:.55}.btn-excel-dl{align-items:center;background:linear-gradient(135deg,#1e3a8a,#1d4ed8);border:1.5px solid #1e3a8a;border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 10px #1e3a8a52;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:800;gap:6px;justify-content:center;letter-spacing:.2px;padding:8px 18px;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap}.st-th{position:relative}.st-th:hover{filter:brightness(1.08)}.st-th-active{text-decoration:underline;text-underline-offset:3px}@media print{.st-arrow{display:none!important}}.btn-excel-dl:hover:not(:disabled){background:linear-gradient(135deg,#172554,#1e40af);box-shadow:0 4px 14px #1e3a8a6b;color:#fff;transform:translateY(-1px)}.btn-excel-dl:active:not(:disabled){transform:translateY(0)}.btn-excel-dl:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}[data-theme=dark] .btn-excel-dl{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#3b82f6;color:#fff}.btn-col-picker{background:#fff;background:var(--surface);border:1.5px solid #cbd5e1;border:1.5px solid var(--border-dark);border-radius:10px;border-radius:var(--radius);color:#0f172a;color:var(--text);font-size:.88rem;font-weight:500;padding:9px 16px}.btn-col-picker:hover{border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.btn-calculate{background:linear-gradient(135deg,#059669,#0d9488);border:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 14px #05966966;color:#fff;font-size:1rem;font-weight:700;letter-spacing:.3px;padding:12px 28px}.btn-calculate:hover:not(:disabled){box-shadow:0 6px 18px #05966980;transform:translateY(-2px)}.btn-calculate:disabled{cursor:not-allowed;opacity:.6}.btn-clear-search{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#334155;color:var(--text-muted);font-size:1rem;padding:4px 8px}.btn-clear-search:hover{background:#fee2e2;background:var(--danger-light);color:#dc2626;color:var(--danger)}.btn-link{background:none;border:none;color:#2563eb;color:var(--primary);font-size:.88rem;padding:4px;text-decoration:none}.btn-link:hover{text-decoration:underline}.page-header{align-items:center;background:linear-gradient(135deg,#dbe4ff,#cfe2fb 55%,#d6f0f7);background:linear-gradient(135deg,var(--group-bg,#dbe4ff) 0,var(--group-bg-2,#cfe2fb) 55%,var(--group-bg-2,#d6f0f7) 100%);border:1px solid #b9c9f2;border-right:5px solid #2563eb;border:1px solid var(--group-bd,#b9c9f2);border-radius:14px;border-right:5px solid var(--group-accent,var(--primary));box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding:16px 20px}[data-theme=dark] .page-header{background:linear-gradient(135deg,#3b82f647,#2563eb2e 55%,#0ea5e929);background:linear-gradient(135deg,var(--group-bg-dark,#3b82f647) 0,var(--group-bg,#2563eb2e) 55%,var(--group-bg-2,#0ea5e929) 100%);border-color:var(--group-bd-dark,#94a3b84d);border-right-color:#2563eb;border-right-color:var(--group-accent,var(--primary))}.perm-grid{border:2px solid #cbd5e1;border:2px solid var(--border-dark)}.perm-grid td,.perm-grid th{border:1px solid #e2e8f0;border:1px solid var(--border)}.perm-grid thead tr:last-child th{border-bottom:2px solid #cbd5e1;border-bottom:2px solid var(--border-dark)}.perm-grid thead{background:#fff;background:var(--surface);top:116px;top:calc(var(--perm-thead-top, var(--header-h, 0px)) + var(--perm-group-head-h, 0px));z-index:6}.perm-grid thead,.perm-group-head{position:-webkit-sticky;position:sticky}.perm-group-head{background-color:#fff;background-color:var(--surface);top:116px;top:var(--perm-thead-top,var(--header-h,0));z-index:7}.page-header,.page-header [role=button],.page-header a,.page-header button,.page-header label,.page-header select{cursor:pointer}.page-header button:disabled,.page-header select:disabled{cursor:not-allowed}.page-header input,.page-header textarea{cursor:auto}.page-header-right{align-items:center;display:flex;gap:14px}.page-title{color:#0f172a;color:var(--text);font-size:1.3rem;margin:0}.page-header-actions{grid-gap:8px;align-self:flex-start;display:grid;flex:0 1 auto;gap:8px;grid-auto-flow:column;max-width:100%;min-width:0}.page-header-actions:has(>:nth-child(3)),.page-header-actions:has(>[data-cell]){grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.hdr-year{display:flex;flex-direction:column;flex-shrink:0;gap:3px}.hdr-year>label{color:#475569;color:var(--text-light);font-size:.7rem;font-weight:800;white-space:nowrap}.hdr-year select,select.hdr-year-select{background:var(--tint-success-bg);border:2px solid #0d9488;border-radius:8px;color:var(--fg-teal);font-family:inherit;font-size:.9rem;font-weight:800;min-width:150px;padding:8px 12px}.page-header-actions>*{min-width:0}.page-header-actions>[data-cell="1"]{grid-area:1/1}.page-header-actions>[data-cell="2"]{grid-area:1/2}.page-header-actions>[data-cell="3"]{grid-area:2/1}.page-header-actions>[data-cell="4"]{grid-area:2/2}.page-header-actions>[data-cell="5"]{grid-area:3/1}.page-header-actions>[data-cell="6"]{grid-area:3/2}.page-header>.page-header-flag{align-self:center;flex:1 1 auto;min-width:0;text-align:center}.page-header:has(.page-header-actions)>.page-header-right{flex:0 1 auto;min-width:0}.page-header:has(.hdr-year),.page-header:has(.page-header-actions){flex-wrap:nowrap}.page-header>.hdr-year{-webkit-margin-start:auto;margin-inline-start:auto}.page-header:has(.hdr-year)>.page-header-right{flex:0 1 auto;min-width:0}.sticky-page-head{background:#f1f5f9;background:var(--bg);box-shadow:0 6px 12px -8px #00000059;padding-bottom:10px;position:-webkit-sticky;position:sticky;top:116px;top:var(--header-h,116px);z-index:30}.sticky-page-head>.page-header{margin-bottom:12px}@media print{.sticky-page-head{box-shadow:none;position:static}}.page-subtitle{color:#334155;color:var(--text-muted);font-size:.82rem;margin:2px 0 0}.filters-bar{align-items:flex-end;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:16px 20px}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:140px}.filter-label{color:#334155;font-size:.78rem;letter-spacing:.5px;text-transform:uppercase}.filter-select{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.88rem;min-width:140px;padding:8px 12px;transition:.18s ease;transition:var(--transition)}.filter-select:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.table-scroll{border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{background:#fff;background:var(--surface);font-size:.87rem}.data-table thead th{position:-webkit-sticky;position:sticky;top:0}.data-table thead th:first-child{border-radius:0 6px 6px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.data-table thead th:last-child{border-radius:6px 0 0 6px;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.data-table tbody td{padding:10px 14px}.data-table.data-table-bordered tbody td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border)}.data-table.data-table-bordered tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#eff6ff!important;background:var(--primary-light)!important}.cell-center{text-align:center}.cell-mono{letter-spacing:.5px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:.18s ease;transition:var(--transition)}.stat-card:before{background:#2563eb;background:var(--card-color,var(--primary));border-radius:0 14px 14px 0;border-radius:0 var(--radius-lg) var(--radius-lg) 0;content:"";height:100%;position:absolute;right:0;top:0;width:4px}.stat-card:hover{box-shadow:0 8px 24px #00000024;box-shadow:var(--shadow-lg);transform:translateY(-3px)}.stat-card-icon{font-size:2rem;margin-bottom:10px}.stat-card-value{color:#2563eb;color:var(--card-color,var(--primary));font-size:1.9rem;font-weight:800}.stat-card-label{color:#334155;color:var(--text-muted);font-size:.82rem;margin-top:4px}.group-card{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);margin-bottom:12px;overflow:hidden}.group-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:14px 20px;transition:.18s ease;transition:var(--transition);width:100%}.group-header:hover{background:#f1f5f9;background:var(--bg)}.group-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.group-grade-badge{background:#2563eb;background:var(--primary);border-radius:20px;color:#fff;font-size:.78rem;font-weight:700;padding:3px 12px}.group-section-badge{background:#f1f5f9;background:var(--bg);border:1.5px solid #cbd5e1;border:1.5px solid var(--border-dark);border-radius:20px;font-size:.78rem;font-weight:600;padding:3px 12px}.group-count{font-size:.82rem}.group-count,.group-toggle{color:#334155;color:var(--text-muted)}.group-toggle{font-size:.9rem}.group-table-wrap{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);overflow-x:auto}.search-bar-wrap{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);display:flex;gap:8px;margin-bottom:14px;padding:8px 14px}.search-bar-wrap:focus-within{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.search-input{background:#0000;border:none;color:var(--text);flex:1 1;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.9rem;min-width:0;outline:none}.grade-summary-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.grade-pill{border:1.5px solid #00000014;border-radius:20px;font-size:.8rem;font-weight:600;padding:5px 14px}.col-picker-panel{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);margin-bottom:12px;padding:14px 18px}.col-picker-title{color:#334155;color:var(--text-muted);font-size:.85rem;font-weight:700;margin-bottom:10px}.col-picker-grid{display:flex;flex-wrap:wrap;gap:10px}.col-picker-item{align-items:center;cursor:pointer;display:flex;font-size:.85rem;gap:6px}.col-picker-item input{accent-color:#2563eb;accent-color:var(--primary);cursor:pointer}.loading-state{align-items:center;color:#334155;color:var(--text-muted);display:flex;gap:12px;justify-content:center;padding:32px}.spinner{animation:spin .75s linear infinite;border:3px solid #e2e8f0;border-top-color:#2563eb;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:22px;width:22px}.empty-state{background:#fff;background:var(--surface);border:2px dashed #e2e8f0;border:2px dashed var(--border);border-radius:14px;border-radius:var(--radius-lg);color:#334155;color:var(--text-muted);font-size:.95rem;padding:48px 24px;text-align:center}.alert-error,.alert-success{border-radius:10px;border-radius:var(--radius);font-size:.88rem;font-weight:500;margin-bottom:12px;padding:12px 16px}.alert-error{background:#fee2e2;background:var(--danger-light);border:1.5px solid #fca5a5;color:#991b1b}.alert-success{background:#d1fae5;background:var(--success-light);border:1.5px solid #6ee7b7;color:#065f46}.sgs-toast{animation:sgs-toast-in .18s ease-out;box-shadow:0 10px 28px #0f172a38;left:50%;margin:0!important;max-width:min(560px,92vw);position:fixed;top:128px;top:calc(var(--header-h, 0px) + 12px);transform:translateX(-50%);width:-webkit-max-content;width:max-content;z-index:900}@keyframes sgs-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes sgs-toast-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sgs-toast{animation:none}}.tardy-time::-webkit-calendar-picker-indicator{-webkit-appearance:none;display:none}.tardy-time{appearance:none;-webkit-appearance:none}.badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;min-width:28px;padding:2px 10px}.role-badge{border-radius:20px;font-size:.75rem;font-weight:700;padding:3px 12px}.role-admin{background:#ede9fe;background:var(--purple-light);color:#7c3aed;color:var(--purple)}.role-teacher{background:#eff6ff;background:var(--primary-light);color:#2563eb;color:var(--primary)}.status-badge{border-radius:20px;font-size:.75rem;font-weight:700;padding:3px 12px}.status-active{background:#d1fae5;background:var(--success-light);color:#059669;color:var(--success)}.status-inactive{background:#fee2e2;background:var(--danger-light);color:#dc2626;color:var(--danger)}.admin-panel{min-height:calc(100vh - 60px)}.ap-tabs{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-bottom:none;border-radius:14px 14px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;gap:2px;overflow-x:auto;padding:10px 10px 0}.ap-tab{background:none;border:none;border-bottom:3px solid #0000;border-radius:10px 10px 0 0;border-radius:var(--radius) var(--radius) 0 0;color:#334155;color:var(--text-muted);font-size:.88rem;font-weight:600;padding:10px 18px;white-space:nowrap}.ap-tab:hover{background:#f1f5f9;background:var(--bg);color:#0f172a;color:var(--text)}.ap-tab.active{background:#eff6ff;background:var(--primary-light);border-bottom-color:#2563eb;border-bottom-color:var(--primary);color:#2563eb;color:var(--primary)}.ap-body{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:0 0 14px 14px;border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:400px;padding:24px}.ap-section-title{color:#0f172a;color:var(--text);font-size:1.1rem;font-weight:800;margin-bottom:6px}.ap-section-desc{color:#334155;color:var(--text-muted);font-size:.88rem;margin-bottom:18px}.upload-drop-zone{align-items:center;background:#f1f5f9;background:var(--bg);border:2.5px dashed #cbd5e1;border:2.5px dashed var(--border-dark);border-radius:14px;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;margin-bottom:16px;padding:40px 24px;transition:.18s ease;transition:var(--transition)}.upload-drop-zone:hover{background:#eff6ff;background:var(--primary-light);border-color:#2563eb;border-color:var(--primary)}.upload-icon{font-size:2.5rem}.upload-text{color:#334155;color:var(--text-muted);font-size:.95rem;font-weight:600}.upload-result{border-radius:10px;border-radius:var(--radius);font-family:Courier New,monospace;font-size:.83rem;line-height:1.7;margin-top:12px;padding:14px 18px;white-space:pre-wrap}.upload-result.success{background:#d1fae5;background:var(--success-light);border:1.5px solid #6ee7b7;color:#065f46}.upload-result.error{background:#fee2e2;background:var(--danger-light);border:1.5px solid #fca5a5;color:#991b1b}.upload-drop-zone.uploading{animation:pulse-border 1.5s ease-in-out infinite;background:#eff6ff;background:var(--primary-light);border-color:#2563eb;border-color:var(--primary);cursor:default}@keyframes pulse-border{0%,to{border-color:#2563eb;border-color:var(--primary)}50%{border-color:var(--accent)}}.upload-hint{color:#334155;color:var(--text-muted);font-size:.78rem}.se-upload-col{display:flex;flex-direction:column;gap:10px}.se-upload-col .dash-metric-card{flex:0 0 auto}.dash-metric-card.compact{padding:12px 14px}.dash-metric-card.compact .dash-metric-label{font-size:.76rem}.dash-metric-card.compact .dash-metric-value{font-size:1.55rem}.dash-metric-card.compact .dash-metric-sub{font-size:.72rem}.dash-metric-card.compact .dash-metric-icon{font-size:.9rem;height:30px;width:30px}.se-upload-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 6px 16px #2563eb47;color:#fff;cursor:pointer;flex:1 1 auto;font-size:1.06rem;font-weight:800;min-height:76px;padding:16px 20px;transition:.18s ease;transition:var(--transition);width:100%}.se-upload-btn:hover:not(:disabled){box-shadow:0 10px 22px #2563eb57;transform:translateY(-1px)}.se-upload-btn:disabled{background:#cbd5e1;box-shadow:none;color:#64748b;cursor:not-allowed;transform:none}.se-progress{flex:0 0 auto}.se-progress-track{background:#e5e7eb;border-radius:999px;height:12px;overflow:hidden;position:relative}.se-progress-fill{background:linear-gradient(90deg,#60a5fa,#2563eb);border-radius:999px;height:100%;transition:width .18s linear;width:0}.se-progress-track.idle .se-progress-fill{width:0}.se-progress-track.indeterminate .se-progress-fill{animation:se-indeterminate 1.15s ease-in-out infinite;inline-size:38%;inset-block:0;inset-inline-start:0;position:absolute;width:38%}@keyframes se-indeterminate{0%{transform:translateX(-110%)}to{transform:translateX(280%)}}.se-progress-label{color:#334155;color:var(--text-muted);display:flex;font-size:.76rem;font-weight:700;gap:8px;justify-content:space-between;margin-top:6px}.ap-up-grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:16px}.ap-up-main{flex:1 1 320px;flex-direction:column;gap:12px;max-width:460px}.ap-up-main,.ap-up-side{display:flex;min-width:0}.ap-up-side{flex:2 1 420px}.ap-up-side>*{width:100%}.ap-up-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;display:flex;flex:1 1 auto;flex-direction:column;gap:10px;min-height:0;padding:14px 16px}.ap-up-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px}.ap-up-desc{color:#334155;color:var(--text-muted);flex:1 1 240px;font-size:.8rem;line-height:1.75;margin:0;min-width:0}.ap-up-tpl{align-items:center;display:inline-flex;flex:0 0 auto;gap:6px}.ap-up-drop{display:flex;flex:1 1 auto;min-height:96px;position:relative}.ap-up-drop>.upload-drop-zone{flex:1 1 auto;gap:6px;margin:0;padding:18px 16px}.ap-up-drop>.upload-drop-zone .upload-icon{font-size:1.7rem}.ap-up-drop>.upload-drop-zone .upload-text{font-size:.86rem}.ap-up-toast{align-items:center;animation:ap-toast-in .18s ease-out;border-radius:14px;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;font-weight:700;gap:6px;inset:0;justify-content:center;line-height:1.7;overflow:auto;padding:12px 16px;position:absolute;text-align:center;white-space:pre-wrap;z-index:3}.ap-up-toast.success{background:#d1fae5;background:var(--success-light);border:2px solid #6ee7b7;color:#065f46}.ap-up-toast.error{background:#fee2e2;background:var(--danger-light);border:2px solid #fca5a5;color:#991b1b}.ap-up-toast-sub{font-size:.74rem;font-weight:700;opacity:.8}@keyframes ap-toast-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.ap-up-card .imp-progress-card{flex:0 0 auto;margin-bottom:0}.imp-progress-card{background:var(--bg-card);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:18px 22px}.imp-stage-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.imp-stage-label{align-items:center;color:#0f172a;color:var(--text);display:flex;font-size:.92rem;font-weight:700;gap:8px}.imp-spinner{animation:spin 1s linear infinite;color:#2563eb;color:var(--primary);display:inline-block;font-size:1.1rem}@keyframes spin{to{transform:rotate(1turn)}}.imp-percent-badge{background:#2563eb;background:var(--primary);border-radius:99px;color:#fff;font-size:.82rem;font-weight:800;min-width:46px;padding:3px 11px;text-align:center}.imp-bar-track{background:#e2e8f0;background:var(--border);border-radius:99px;height:12px;margin-bottom:10px;overflow:hidden}.imp-bar-fill{background:linear-gradient(90deg,#2563eb 0,var(--accent) 100%);background:linear-gradient(90deg,var(--primary) 0,var(--accent) 100%);border-radius:99px;height:100%;min-width:4px;transition:width .6s ease}.imp-counters-row{color:#334155;color:var(--text-muted);display:flex;font-size:.82rem;justify-content:space-between}.imp-counter-label{font-weight:600}.imp-counter-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text);font-variant-numeric:tabular-nums;font-weight:800}.imp-counter-sep{color:#cbd5e1;color:var(--border-dark);margin:0 2px}.imp-error-row{background:#fee2e2;background:var(--danger-light);border-radius:10px;border-radius:var(--radius);color:#b91c1c;font-size:.82rem;margin-top:10px;padding:8px 12px}.imp-result-card{background:#d1fae5;background:var(--success-light);border:1.5px solid #6ee7b7;border-radius:14px;border-radius:var(--radius-lg);margin-bottom:16px;padding:18px 22px}.imp-result-title{color:#065f46;font-size:.95rem;font-weight:800;margin-bottom:14px}.imp-result-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}@media (max-width:600px){.imp-result-grid{grid-template-columns:repeat(2,1fr)}}.imp-result-item{align-items:center;background:#fff;background:var(--surface);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #00000012;display:flex;flex-direction:column;gap:4px;padding:12px 10px;text-align:center}.imp-result-icon{font-size:1.5rem}.imp-result-num{font-feature-settings:"tnum";color:#0f172a;color:var(--text);font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:800}.imp-result-lbl{color:#334155;color:var(--text-muted);font-size:.78rem;font-weight:600}.modal-overlay{align-items:center;background:var(--modal-scrim);display:flex;inset:0;justify-content:center;padding:12px;position:fixed;top:116px;top:var(--header-h,0);z-index:1000}.modal-box,.modal-card{max-height:calc(100dvh - 140px);max-height:calc(100dvh - var(--header-h, 0px) - 24px);overflow-y:auto;overscroll-behavior:contain}.modal-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 24px 60px -12px #00000073,0 8px 24px #0000002e;max-width:400px;min-width:280px;padding:16px 20px;width:90%}.modal-card h3{font-size:1.1rem;font-weight:800;margin-bottom:16px}.modal-box{border:1px solid #e2e8f0;border:1px solid var(--border);box-shadow:0 24px 60px -12px #00000073,0 8px 24px #0000002e}.sg-modal-x{-webkit-margin-before:4px;-webkit-margin-after:-26px;-webkit-margin-start:auto;-webkit-margin-end:4px;align-items:center;background:#dc2626;border:none;border-radius:6px;box-shadow:0 2px 8px #dc262673;color:#fff;cursor:pointer;display:flex;flex:0 0 auto;height:26px;justify-content:center;margin-block-end:-26px;margin-block-start:4px;margin-inline-end:4px;margin-inline-start:auto;padding:0;position:-webkit-sticky;position:sticky;top:0;transition:background .15s,transform .15s,box-shadow .15s;width:26px;z-index:6}.sg-modal-barpad{-webkit-padding-end:max(34px,0px)!important;-webkit-padding-end:max(34px,var(--sg-bar-pad,0px))!important;padding-inline-end:max(34px,0px)!important;padding-inline-end:max(34px,var(--sg-bar-pad,0px))!important}.sg-modal-x:hover{background:#b91c1c;box-shadow:0 4px 12px #b91c1c8c;transform:scale(1.08)}.sg-modal-x:active{transform:scale(.96)}.sg-modal-x:focus-visible{outline:2px solid #fff;outline-offset:-4px}@media print{.sg-modal-x,[data-print-hide]{display:none!important}}.sg-modal-oldx{display:none!important}.sg-modal-pinned{-webkit-margin-start:var(--sg-ms)!important;-webkit-margin-end:var(--sg-me)!important;-webkit-padding-start:var(--sg-ps)!important;-webkit-padding-end:var(--sg-pe)!important;background:inherit;box-shadow:0 1px 0 #e2e8f0;box-shadow:0 1px 0 var(--border);margin-top:var(--sg-mt)!important;margin-inline-end:var(--sg-me)!important;margin-inline-start:var(--sg-ms)!important;padding-bottom:var(--sg-pb)!important;padding-inline-end:var(--sg-pe)!important;padding-top:var(--sg-pt)!important;padding-inline-start:var(--sg-ps)!important;position:-webkit-sticky!important;position:sticky!important;top:0!important;top:var(--sg-top,0)!important;z-index:5}.sg-modal-pinscroll>.sg-modal-x{top:4px;top:var(--sg-x-top,4px)}.sg-modal-pinscroll::-webkit-scrollbar{height:10px;width:10px}.sg-modal-pinscroll::-webkit-scrollbar-track{background:#0000;margin-top:0;margin-top:var(--sg-bar-h,0)}.sg-modal-pinscroll::-webkit-scrollbar-thumb{background:#64748b73;background-clip:padding-box;border:2px solid #0000;border-radius:6px}.sg-modal-pinscroll::-webkit-scrollbar-thumb:hover{background:#64748bb3;background-clip:padding-box}.sg-modal-bar{position:relative}.sg-modal-capx{align-items:center;background:#dc2626!important;border:none!important;border-radius:6px!important;color:#fff!important;cursor:pointer;display:inline-flex!important;flex:0 0 auto;font-size:.95rem!important;height:26px;justify-content:center;line-height:1!important;padding:0!important;transition:background .15s,transform .12s;width:26px}.sg-modal-capx:hover{background:#b91c1c!important;transform:scale(1.06)}.sg-modal-capx:active{transform:scale(.94)}.sg-modal-capx:focus-visible{outline:2px solid #fff;outline-offset:-4px}@media print{.sg-modal-capx{display:none!important}}.sg-note-flow>*{display:inline}.sg-note-flow>*+:before{content:""}.sg-note-star>:before{-webkit-margin-start:12px;-webkit-margin-end:5px;color:var(--fg-amber);content:"★";font-size:1.15em;line-height:1;margin-inline-end:5px;margin-inline-start:12px}.sg-note-star>:first-child:before{-webkit-margin-start:0;margin-inline-start:0}.modal-card.modal-wide{max-width:min(760px,96vw)}.modal-grid2{grid-gap:10px 18px;display:grid;gap:10px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:640px){.modal-grid2{grid-template-columns:1fr}}.modal-overlay input,.modal-overlay select,.modal-overlay textarea,[data-modal] input,[data-modal] select,[data-modal] textarea{max-width:100%;min-width:0}.modal-overlay .filter-group,[data-modal] .filter-group{min-width:0}.sg-menu-scroll{-ms-overflow-style:none;overscroll-behavior:contain;scrollbar-width:none}.sg-menu-scroll::-webkit-scrollbar{display:none;height:0;width:0}.modal-box{background:#fff;background:var(--surface);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 8px 24px #00000024;box-shadow:var(--shadow-lg);font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);max-height:90vh;max-width:480px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:16px 18px}.modal-title{color:#0f172a;color:var(--text);font-size:1rem;font-weight:800;margin:0}.modal-close{align-items:center;background:#f8fafc;background:var(--bg-subtle);border:none;border-radius:50%;color:#334155;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.modal-close:hover{background:#fee2e2;background:var(--danger-light);color:#dc2626;color:var(--danger)}.modal-body{color:#0f172a;color:var(--text);font-size:.9rem;line-height:1.6;padding:18px}.modal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:14px 18px}.login-page{background:linear-gradient(135deg,#1e3a5f,#2563eb 50%,#1d4ed8)}.login-card{border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;max-width:420px;padding:36px 32px}.login-logo{margin-bottom:28px;text-align:center}.login-logo h1{color:#0f172a;color:var(--text);font-size:1.4rem;font-weight:900}.login-logo p{color:#334155;color:var(--text-muted);font-size:.85rem}.login-form{display:flex;flex-direction:column;gap:14px}.login-input{border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.9rem;padding:11px 14px;transition:.18s ease;transition:var(--transition);width:100%}.login-input:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.login-error{color:#dc2626;color:var(--danger);font-size:.85rem;text-align:center}.track-buttons{margin-top:4px}.track-btn{background:#fff;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;transition:.18s ease;transition:var(--transition)}.track-btn:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow)}.admin-track:hover{border-color:var(--primary)}.parent-track:hover{background:#d1fae5;background:var(--success-light);border-color:#059669;border-color:var(--success)}.track-btn h3{font-size:.95rem;font-weight:700;margin-bottom:3px}.track-btn p{color:#334155;color:var(--text-muted);font-size:.8rem}.dashboard{padding-bottom:24px}.dashboard-header{background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:20px;border-radius:var(--radius-xl);color:#fff;margin-bottom:24px;overflow:hidden;padding:24px 28px;position:relative}.dashboard-header:before{background:#ffffff0d;border-radius:50%;content:"";height:200px;left:-40px;position:absolute;top:-40px;width:200px}.dashboard-header h1{font-size:1.4rem;font-weight:800;margin-bottom:4px}.dashboard-header p{font-size:.88rem;opacity:.8}.search-page{margin:0 auto;max-width:900px}.search-form{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);margin-bottom:24px;padding:28px}.search-form h2{color:#0f172a;color:var(--text);font-size:1.15rem;font-weight:800;margin-bottom:16px}.search-input-wrap{align-items:center;display:flex;gap:10px}.student-number-input{border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;border-radius:var(--radius);direction:ltr;flex:1 1;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:1rem;letter-spacing:1px;padding:12px 16px;text-align:center;transition:.18s ease;transition:var(--transition)}.student-number-input:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.student-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);margin-bottom:20px;padding:24px 28px}.student-card-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.student-avatar{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:linear-gradient(135deg,var(--primary),var(--purple));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:800;height:56px;justify-content:center;width:56px}.student-name{font-size:1.1rem;font-weight:800}.student-grade{color:#334155;color:var(--text-muted);font-size:.85rem;margin-top:3px}.results-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);margin-bottom:20px;padding:24px 28px}.results-card h3{color:#0f172a;color:var(--text);font-size:1rem;font-weight:800;margin-bottom:14px}.grade-input{border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);direction:ltr;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.88rem;padding:5px 10px;text-align:center;transition:.18s ease;transition:var(--transition);width:80px}.grade-input:focus{border-color:#2563eb;border-color:var(--primary);outline:none}.att-summary{background:linear-gradient(135deg,#fef3c7,#fffbeb);border:1.5px solid #fbbf24;border-radius:14px;border-radius:var(--radius-lg);margin-bottom:12px;padding:16px 20px}.att-summary-header{align-items:center;display:flex;justify-content:space-between}.att-count{color:#d97706;color:var(--warning);font-size:1.8rem;font-weight:900}.att-label{color:#334155;color:var(--text-muted);font-size:.82rem}.att-detail-table{margin-top:14px}.section-title{border-right:3px solid #2563eb;border-right:3px solid var(--primary);color:var(--text);margin-bottom:14px}.result-pass{background:#d1fae5;background:var(--success-light);color:#059669;color:var(--success)}.result-fail,.result-pass{border-radius:6px;font-size:.8rem;font-weight:700;padding:2px 10px}.result-fail{background:#fee2e2;background:var(--danger-light);color:#dc2626;color:var(--danger)}@media (max-width:768px){.master-content{padding:12px}.page-header{padding:12px 14px}.ap-body{padding:16px}.filters-bar{padding:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}.app-header{padding:0 14px}.search-form{padding:20px 16px}.results-card,.student-card{padding:18px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.ap-tabs{gap:0}.ap-tab{font-size:.78rem;padding:8px 12px}}.admin-tabs{background:#fff;background:var(--surface);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);display:flex;overflow-x:auto;padding:0 20px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#334155;color:var(--text-muted);font-size:.88rem;font-weight:600;padding:12px 16px;white-space:nowrap}.tab-btn.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary);color:#2563eb;color:var(--primary)}.tab-btn:hover:not(.active){color:#0f172a;color:var(--text)}.admin-content{background:#fff;background:var(--surface);padding:20px}.master-header{background:linear-gradient(135deg,#1e3a5f,#1a5276 50%,#2563eb);box-shadow:0 4px 16px #00000040;color:#fff;direction:rtl;left:0;position:fixed;right:0;top:0;z-index:200}.header-brand{flex:1 1 auto;min-width:0;text-align:center}.app-brand-title{-webkit-text-fill-color:#0000;animation:brandShine 8s linear infinite;background:linear-gradient(100deg,#ffe9b0,#ffd875 22%,#fffdf6 42%,#f3c256 60%,#ffe9b0);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;color:#0000;display:inline-block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.38)) drop-shadow(0 0 12px rgba(255,209,122,.25));font-size:clamp(.95rem,2.1vw,1.8rem);font-weight:900;letter-spacing:.6px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes brandShine{to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){.app-brand-title{animation:none}}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.app-brand-title{-webkit-text-fill-color:currentColor;background:none;color:#ffe9b0}}.header-top{border-bottom:1px solid #ffffff1f;justify-content:space-between;padding:10px 24px 8px}.header-school,.header-top{align-items:center;display:flex}.header-school{gap:10px}.header-logo{font-size:2rem;line-height:1}.header-school-name{font-size:1rem;font-weight:800;letter-spacing:.3px}.header-principal{font-size:.75rem;margin-top:1px;opacity:.75}.header-system{text-align:center}.header-system-name{font-size:1.15rem;font-weight:800;opacity:.95}.header-year{font-size:.9rem;margin-top:2px;opacity:.85}.header-actions{align-items:center;display:flex;gap:8px}.header-user{background:#ffffff1f;border-radius:20px;font-size:.8rem;opacity:.85;padding:4px 12px}.header-nav{align-items:center;display:flex;gap:4px;overflow-x:auto;padding:6px 24px}.nav-btn{background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;border-radius:var(--radius-sm);color:#ffffffd9;cursor:pointer;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.83rem;font-weight:600;padding:7px 16px;transition:.18s ease;transition:var(--transition);white-space:nowrap}.nav-btn:hover{background:#ffffff2e;border-color:#ffffff4d;color:#fff}.nav-active{background:#ffffff40!important;border-color:#fff6!important;color:#fff!important}.nav-student-btn{background:#ffffff26;border-color:#ffffff4d}.nav-logout{background:#dc262640;border-color:#dc262666;margin-right:auto}.nav-logout:hover{background:#dc262666}.nav-login-btn{background:#0596694d;border-color:#05966980;margin-right:auto}.nav-login-btn:hover{background:#05966973}.dash-welcome{align-items:flex-start;background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);color:#fff;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px;padding:22px 28px;position:relative}.wp-paper{background:#fff;border:1.5px solid #111;border-radius:14px;color:#111;margin-bottom:18px;max-width:none;overflow:hidden}.wp-paper-head{align-items:center;background:#26215c;color:#fff;display:flex;flex-wrap:wrap;font-weight:800;gap:10px;padding:10px 16px}.wp-paper-body{align-items:flex-start;display:flex;flex-wrap:wrap;gap:0 22px;padding:10px 16px 6px}.wp-paper .wp-col{flex:1 1 300px;min-width:280px}.wp-paper .wp-col-wide{flex:2 1 460px;min-width:320px}.wp-paper .wp-actions{border-top:1.5px solid #111;flex:1 1 100%;margin-top:2px;padding-top:8px}.wp-pair{grid-gap:8px 14px;align-items:end;display:grid;flex:1 1 420px;gap:8px 14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));min-width:0}.wp-pair-wide{flex:1 1 480px}.wp-pair .filter-group{min-width:0}.wp-head-group{align-items:center;display:flex;flex-shrink:0;gap:8px}.wp-head-pill{align-items:center;background:#fff;background:var(--surface);border:1px solid #b9c9f2;border-radius:999px;color:#0f172a;color:var(--text);display:inline-flex;font-family:inherit;font-size:.86rem;font-weight:800;gap:8px;justify-content:center;min-width:185px;padding:6px 16px;white-space:nowrap}button.wp-head-pill{cursor:pointer}@media (max-width:900px){.wp-head-group{align-items:stretch;flex-direction:column}.wp-head-pill{min-width:0}}.wp-paper .filters-bar{background:#0000;border:none;box-shadow:none;margin-bottom:0;padding:2px 0 8px}.wp-paper .filter-label{color:#111;font-weight:700}@keyframes sg-popup-in{0%{opacity:0;transform:translateY(-28px) scale(.98)}to{opacity:1;transform:none}}@keyframes sg-popup-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-16px) scale(.98)}}.sg-popup-in{animation:sg-popup-in .38s cubic-bezier(.22,1,.36,1) both}.sg-popup-out{animation:sg-popup-out .18s ease-in both}@media (prefers-reduced-motion:reduce){.sg-popup-in,.sg-popup-out{animation:none}}.dash-term-card{align-self:center;background:linear-gradient(135deg,#0c4a6e,#075985);border:1.5px solid #38bdf8;border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 6px 20px #0284c773;flex:0 1 auto;margin-inline:auto;max-width:420px;min-width:200px;padding:10px 22px;position:relative;text-align:center}.dash-term-cd{font-feature-settings:"tnum";align-items:flex-end;display:flex;font-variant-numeric:tabular-nums;gap:2px;justify-content:center;margin-top:3px}.dash-term-cd-part{align-items:baseline;display:inline-flex;gap:2px}.dash-term-cd-num{color:#fff;font-size:1.25rem;font-weight:900;line-height:1}.dash-term-cd-unit{color:#bae6fd;font-size:.56rem;font-weight:700}.dash-term-cd-sep{color:#7dd3fc;font-weight:900;margin:0 3px}.dash-term-clock{font-feature-settings:"tnum";color:#e0f2fe;font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.5px;margin-top:5px}.dash-term-card-label{color:#e0f2fe;font-size:.8rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-term-card-count{align-items:baseline;display:flex;gap:6px;justify-content:center;margin-top:2px}.dash-term-card-days{color:#fff;font-size:1.6rem;font-weight:800;line-height:1}.dash-term-card-unit{color:#bfdbfe;font-size:.72rem;font-weight:600}.dash-term-card-range{color:#93c5fd;font-size:.68rem;margin-top:1px}.dash-term-card-note{border-top:1px solid #fff3;color:#ffffffa6;font-size:.64rem;margin-top:4px;padding-top:3px;white-space:normal}.dash-welcome-text{flex:1 1}.dash-greeting{align-items:center;display:flex;flex-wrap:wrap;font-size:1.15rem;font-weight:800;gap:10px;margin-bottom:4px}.dash-role-badge{background:#fff3;border-radius:20px;font-size:.78rem;font-weight:700;padding:3px 12px}.dash-date{font-size:.82rem;margin-bottom:4px;opacity:.8}.dash-school{font-size:.82rem;opacity:.75}.btn-refresh{background:#ffffff26;border:1px solid #ffffff4d;border-radius:var(--radius);color:#fff;cursor:pointer;flex-shrink:0;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.83rem;font-weight:600;padding:8px 18px;transition:.18s ease;transition:var(--transition);white-space:nowrap}.btn-refresh:hover{background:#ffffff47}.dash-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-bottom:24px}.dash-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:20px 18px 16px;position:relative;text-align:center;transition:transform .18s ease,box-shadow .18s ease;transition:transform var(--transition),box-shadow var(--transition)}.dash-card:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);transform:translateY(-3px)}.dash-badge{align-items:center;background:#dc2626;background:var(--danger);border-radius:50%;box-shadow:0 2px 6px #dc262666;color:#fff;display:flex;font-size:.72rem;font-weight:800;height:22px;justify-content:center;left:-6px;position:absolute;top:-6px;width:22px}.dash-icon{font-size:1.8rem;line-height:1;margin-bottom:8px}.dash-value{font-size:1.7rem;font-weight:900;margin-bottom:4px}.dash-label{color:#334155;color:var(--text-muted);font-size:.78rem;font-weight:600;margin-bottom:6px}.dash-link{color:#2563eb;color:var(--primary);font-size:.73rem;font-weight:700;opacity:.8}.dash-grid-sm{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:6px}.dash-card-sm{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:12px 10px 10px;position:relative;text-align:center;transition:transform .18s ease,box-shadow .18s ease;transition:transform var(--transition),box-shadow var(--transition)}.dash-card-sm:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);filter:brightness(.97);transform:translateY(-2px)}[data-theme=dark] .dash-card-sm:hover{filter:brightness(1.12)}.dash-action-row,.dash-card,.dash-card-sm,.dash-section,.dash-term-card,.dash-welcome,.dash-welcome-text,.dash-zone-grid{min-width:0;overflow-wrap:anywhere}.dash-term-card{max-width:min(420px,100%)}.dash-action-label,.dash-date,.dash-greeting,.dash-school,.dash-term-card-note,.dash-term-card-range{overflow-wrap:anywhere}.dash-term-cd{flex-wrap:wrap}.dash-icon-sm{font-size:1.3rem;line-height:1;margin-bottom:4px}.dash-icon-badge{align-items:center;border-radius:50%;display:flex;font-size:1.05rem;height:34px;justify-content:center;line-height:1;margin:0 auto 6px;width:34px}.dash-value-sm{font-size:1.4rem;font-weight:900;margin-bottom:2px}.dash-label-sm{font-size:.72rem;font-weight:600;line-height:1.3}.dash-label-sm,.dash-sub-sm{color:#334155;color:var(--text-muted);margin-bottom:3px}.dash-sub-sm{font-size:.65rem;line-height:1.4;opacity:.85}.dash-link-sm{color:#2563eb;color:var(--primary);font-size:.68rem;font-weight:700;opacity:.8}.dash-section-label{border-right:3px solid #e2e8f0;border-right:3px solid var(--border);color:#334155;color:var(--text-muted);font-size:.78rem;font-weight:800;letter-spacing:.03em;margin-bottom:8px;margin-top:16px;padding-right:8px;text-transform:uppercase}.dash-row-groups{align-items:flex-start;display:flex;gap:16px;margin-bottom:6px}.dash-group{flex:1 1;min-width:0}.dash-group .dash-grid-sm{margin-bottom:0}@media (max-width:600px){.dash-row-groups{flex-direction:column}}.grade-tag-sm{border-radius:14px!important;font-size:.75rem!important;padding:3px 12px!important}.dash-section{margin-bottom:24px}.dash-section-title{border-right:3px solid #2563eb;border-right:3px solid var(--primary);color:#0f172a;color:var(--text);font-size:.95rem;font-weight:800;margin-bottom:14px;padding-right:10px}.grade-tags{display:flex;flex-wrap:wrap;gap:8px}.grade-tag{background:#eff6ff;background:var(--primary-light);border:1.5px solid #bfdbfe;border-radius:20px;color:#2563eb;color:var(--primary);cursor:pointer;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);font-size:.85rem;font-weight:700;padding:6px 18px;transition:.18s ease;transition:var(--transition)}.grade-tag:hover{background:#2563eb;background:var(--primary);color:#fff}.quick-actions{display:flex;flex-direction:column;gap:8px}.quick-btn{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);cursor:pointer;display:flex;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);gap:14px;padding:14px 18px;text-align:right;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;transition:transform var(--transition),box-shadow var(--transition),background var(--transition);width:100%}.quick-btn:hover{background:#fafbff;box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow);transform:translateX(-3px)}.quick-icon{align-items:center;border-radius:10px;border-radius:var(--radius);display:flex;flex-shrink:0;font-size:1.4rem;height:44px;justify-content:center;width:44px}.quick-label{color:#0f172a;color:var(--text);font-size:.92rem;font-weight:700;margin-bottom:2px}.quick-desc{color:#334155;color:var(--text-muted);font-size:.78rem}.quick-arrow{flex-shrink:0;font-size:1.1rem;font-weight:700;margin-right:auto}.quick-tile-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.quick-tile{align-items:center;border-radius:14px;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);padding:16px 12px;text-align:center;transition:transform .18s ease,filter .18s ease;transition:transform var(--transition),filter var(--transition)}.quick-tile:hover{filter:brightness(.97);transform:translateY(-2px)}[data-theme=dark] .quick-tile:hover{filter:brightness(1.12)}.quick-tile-icon{align-items:center;border-radius:50%;display:flex;font-size:1.25rem;height:40px;justify-content:center;margin-bottom:8px;width:40px}.quick-tile-label{font-size:.85rem;font-weight:700;margin-bottom:4px}.quick-tile-desc{color:#334155;color:var(--text-muted);font-size:.72rem;line-height:1.4}.dash-metric-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:6px}.dash-metric-card{background:#f8fafc;background:var(--bg-subtle);border:1.5px solid color-mix(in srgb,#e2e8f0 55%,#0000);border:1.5px solid color-mix(in srgb,var(--metric-color,var(--border)) 55%,#0000);border-radius:10px;border-radius:var(--radius);overflow:hidden;padding:14px 16px 12px;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);z-index:0}.dash-metric-card.is-clickable{cursor:pointer}.dash-metric-card.is-clickable:after{background:linear-gradient(90deg,#0000,#2563eb 50%,#0000);background:linear-gradient(90deg,#0000 0,var(--metric-color,var(--primary)) 50%,#0000 100%);background-position:100% 0;background-size:260% 100%;border-radius:10px;border-radius:var(--radius);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease;z-index:-1}.dash-metric-card.is-clickable:hover{border-color:#2563eb;border-color:var(--metric-color,var(--primary));box-shadow:0 4px 12px #0000001a;transform:translateY(-3px)}.dash-metric-card.is-clickable:hover:after{animation:dash-sweep 2s linear infinite;opacity:.16}[data-theme=dark] .dash-metric-card.is-clickable:hover:after{opacity:.3}.dash-metric-card.is-clickable:hover .dash-metric-icon{transform:scale(1.15) rotate(-4deg)}.dash-metric-card.is-clickable:hover .dash-metric-value{color:#2563eb;color:var(--metric-color,var(--primary))}.dash-metric-card.featured{grid-column:span 2}.dash-metric-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.dash-metric-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1rem;height:30px;justify-content:center;line-height:1;transition:transform .18s ease;transition:transform var(--transition);width:30px}.dash-metric-body-row{align-items:flex-end;display:flex;gap:10px;justify-content:space-between}.dash-metric-value{color:#0f172a;color:var(--text);font-size:1.5rem;font-weight:900;line-height:1;transition:color .18s ease;transition:color var(--transition)}.dash-metric-label{color:#334155;color:var(--text-muted);font-size:.72rem;font-weight:600;margin-top:4px}.dash-metric-sub{color:#475569;color:var(--text-light);font-size:.65rem;margin-top:2px}.dash-zone-grid{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.dash-zone-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:9px;padding:7px 9px;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--transition),box-shadow var(--transition)}.dash-zone-card:hover{box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm)}.dash-zone-card.span-2{grid-column:auto}.dash-zone-card--featured{border:2px solid #7c3aed;border:2px solid var(--purple)}.dash-zone-header{align-items:center;background:color-mix(in srgb,#2563eb 15%,#0000);background:color-mix(in srgb,var(--zone-color,var(--primary)) 15%,#0000);border-bottom:1px solid color-mix(in srgb,#e2e8f0 35%,#0000);border-bottom:1px solid color-mix(in srgb,var(--zone-color,var(--border)) 35%,#0000);border-radius:8px 8px 0 0;display:flex;gap:6px;margin:-7px -9px 5px;padding:5px 9px}.dash-zone-card .dash-zone-title{color:color-mix(in srgb,#0f172a 75%,#0f172a);color:color-mix(in srgb,var(--zone-color,var(--text)) 75%,var(--text))}[data-theme=dark] .dash-zone-header{background:color-mix(in srgb,#2563eb 26%,#0000);background:color-mix(in srgb,var(--zone-color,var(--primary)) 26%,#0000)}.dash-zone-icon{align-items:center;border-radius:6px;display:flex;flex-shrink:0;font-size:.85rem;height:22px;justify-content:center;width:22px}.dash-zone-title{color:#0f172a;color:var(--text);font-size:.8rem;font-weight:800}.dash-zone-badge{border-radius:20px;font-size:.6rem;font-weight:700;padding:1px 7px}.dash-zone-count{color:#475569;color:var(--text-light);font-size:.66rem;font-weight:600;margin-right:auto}.dash-zone-cols2,.dash-zone-cols3{display:contents}.sg-hover-lift{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.sg-hover-lift:hover{box-shadow:0 6px 16px #00000021;filter:brightness(.985);transform:translateY(-2px)}[data-theme=dark] .sg-hover-lift:hover{filter:brightness(1.12)}.dash-zone-card{transition:transform .15s ease,box-shadow .15s ease,border-color .18s ease;transition:transform .15s ease,box-shadow .15s ease,border-color var(--transition)}.dash-zone-card:hover{box-shadow:0 6px 16px #00000021;transform:translateY(-2px)}.dash-zone-body{display:grid;grid-template-columns:1fr}.dash-zone-card.zone-wide-2 .dash-zone-body,.dash-zone-card.zone-wide-3 .dash-zone-body{column-gap:10px;grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.dash-zone-card.zone-wide-2{grid-column:span 2}.dash-zone-card.zone-wide-3{grid-column:span 3}@media (max-width:1100px){.dash-zone-card.zone-wide-3{grid-column:span 2}}@media (max-width:720px){.dash-zone-card.zone-wide-2,.dash-zone-card.zone-wide-3{grid-column:span 1}.dash-zone-card.zone-wide-2 .dash-zone-body,.dash-zone-card.zone-wide-3 .dash-zone-body{grid-template-columns:1fr}}.dash-subgroup-label{color:#475569;color:var(--text-light);font-size:.68rem;font-weight:700;margin:6px 0 2px}.dash-action-row{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);border-top:1px solid var(--border);cursor:pointer;display:flex;font-family:Tajawal,Cairo,Segoe UI,system-ui,sans-serif;font-family:var(--font-ar);gap:6px;overflow:hidden;padding:4px 5px;position:relative;text-align:right;width:100%;z-index:0}.dash-action-row:after{background:linear-gradient(90deg,#2563eb,#7c3aed,#0891b2,#059669,#2563eb);background-position:100% 0;background-size:300% 100%;border-radius:6px;border-radius:var(--radius-sm);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease;z-index:-1}.dash-action-row:hover:after{animation:dash-sweep 2.2s linear infinite;opacity:.16}[data-theme=dark] .dash-action-row:hover:after{opacity:.3}@keyframes dash-sweep{0%{background-position:100% 0}to{background-position:0 0}}.dash-action-icon{flex-shrink:0;font-size:.85rem;transition:transform .18s ease;transition:transform var(--transition)}.dash-action-row:hover .dash-action-icon{transform:scale(1.12)}.dash-action-label{color:#0f172a;color:var(--text);font-size:.73rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;transition:color .18s ease;transition:color var(--transition);white-space:nowrap}.dash-action-row:hover .dash-action-label{color:#2563eb;color:var(--primary)}.dash-action-desc{color:#334155;color:var(--text-muted);font-size:.68rem;margin-top:1px}.dash-action-arrow{color:#475569;color:var(--text-light);flex-shrink:0;font-size:.75rem;margin-right:auto;transition:transform .18s ease,color .18s ease;transition:transform var(--transition),color var(--transition)}.dash-action-row:hover .dash-action-arrow{color:#2563eb;color:var(--primary);transform:translateX(-4px)}@media (max-width:720px){.dash-zone-cols2,.dash-zone-cols3,.dash-zone-grid{grid-template-columns:1fr}.dash-zone-card.span-2{grid-column:span 1}.dash-metric-card.featured{grid-column:span 2}}@media (max-width:480px){.dash-metric-card.featured{grid-column:span 1}}.dash-footer-info{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);color:#334155;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.78rem;gap:20px;justify-content:center;margin-top:8px;padding-top:16px}@media (max-width:1100px){.dash-welcome{flex-wrap:wrap}.dash-term-card{margin:8px 0 0;max-width:none;position:static;transform:none;width:100%}}.hdr-principal,.hdr-school-name{max-width:30vw}.hdr-principal,.hdr-school-name,.hdr-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hdr-user-name{max-width:20vw}@media (max-width:992px){.hdr-lang-text,.hdr-principal{display:none}.hdr-school-name{max-width:24vw}}@media (max-width:768px){.hdr-subjects,.hdr-term,.hdr-user-role{display:none}}@media (max-width:680px){.hdr-school-name{display:none}}@media (max-width:560px){.hdr-user-name{display:none}}@media (max-width:768px){.master-header .header-top{flex-wrap:nowrap;gap:8px;padding:8px 14px 6px}.header-system{display:none}.header-nav{padding:6px 12px}.nav-btn{font-size:.78rem;padding:6px 10px}.dash-welcome{flex-direction:column;padding:18px 16px}.dash-term-card{margin:4px 0;max-width:none;position:static;transform:none;width:100%}.dash-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.dash-card{padding:16px 12px 12px}.dash-value{font-size:1.4rem}}@media (max-width:400px){.dash-grid{grid-template-columns:1fr 1fr}}html{scrollbar-gutter:stable}.table-footer-info{background:#f1f5f9;background:var(--bg);border-radius:0 0 10px 10px;border-radius:0 0 var(--radius) var(--radius);border-top:1px solid #e2e8f0;border-top:1px solid var(--border);color:#334155;color:var(--text-muted);font-size:.8rem;padding:10px 16px}.btn-sm.btn-primary{background:#eff6ff;background:var(--primary-light);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.btn-sm.btn-primary:hover{background:#2563eb;background:var(--primary);color:#fff}.btn-sm.btn-secondary{background:#f1f5f9;background:var(--bg);border-color:#cbd5e1;border-color:var(--border-dark);color:#334155;color:var(--text-muted)}.btn-sm.btn-secondary:hover{background:#fff;background:var(--surface);color:#0f172a;color:var(--text)}.btn-sm:disabled{cursor:not-allowed;opacity:.5}.login-page{align-items:center;background:linear-gradient(145deg,#0f2044,#1a3a6e 40%,#2563eb);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.login-page:before{background:#ffffff0a;height:500px;left:-150px;top:-150px;width:500px}.login-page:after,.login-page:before{border-radius:50%;content:"";position:absolute}.login-page:after{background:#ffffff08;bottom:-80px;height:300px;right:-80px;width:300px}.login-card{background:#fff;background:var(--surface);border-radius:24px;box-shadow:0 30px 80px #0006;max-width:440px;padding:40px 36px;position:relative;width:100%;z-index:1}.login-header{border-bottom:2px solid #f1f5f9;margin-bottom:32px;padding-bottom:24px;text-align:center}.school-logo{display:block;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));font-size:3rem;margin-bottom:10px}.login-header h1{color:#1e3a5f;font-size:1.2rem;font-weight:900;line-height:1.4;margin-bottom:4px}.principal-name{color:#64748b;font-size:.82rem;margin:4px 0}.system-subtitle{background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;margin-top:6px;padding:4px 14px}.choose-label{color:#64748b;font-size:.9rem;font-weight:600;margin-bottom:12px;text-align:center}.track-buttons{display:flex;flex-direction:column;gap:12px}.track-btn{align-items:center;background:#f8fafc;background:var(--bg-subtle);border:2px solid #e2e8f0;border-radius:14px;cursor:pointer;display:flex;font-family:inherit;gap:14px;padding:18px 20px;text-align:right;transition:all .18s ease;width:100%}.track-btn:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.admin-track{border-color:#bfdbfe}.admin-track:hover{background:#eff6ff;background:var(--primary-light);border-color:#2563eb}.student-track{border-color:#bbf7d0}.student-track:hover{background:#d1fae5;background:var(--success-light);border-color:#059669}.track-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:2rem;height:52px;justify-content:center;width:52px}.admin-track .track-icon{background:#dbeafe}.student-track .track-icon{background:#d1fae5}.track-title{color:#0f172a;display:block;font-size:1rem;font-weight:800}.track-sub{color:#64748b;display:block;font-size:.8rem;margin-top:2px}.back-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;font-family:inherit;font-size:.88rem;gap:4px;margin-bottom:16px;padding:0;transition:color .18s}.back-btn:hover{color:#2563eb;color:var(--primary)}.admin-form h2{border-bottom:2px solid #f1f5f9;color:#1e3a5f;font-size:1.05rem;font-weight:800;margin-bottom:18px;padding-bottom:12px}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-group label{color:#374151;font-size:.82rem;font-weight:700}.form-group input{background:#f8fafc;background:var(--bg-subtle);border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.93rem;padding:12px 14px;transition:all .18s}.form-group input:focus{background:#fff;background:var(--surface);border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.text-error{color:#dc2626;font-size:.85rem;margin:4px 0;text-align:center}.text-success{color:#059669;font-size:.88rem}.page-container{padding-bottom:40px}.inquiry-hero{background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:18px;box-shadow:0 6px 20px #2563eb4d;color:#fff;margin-bottom:20px;padding:24px 28px;text-align:center}.inquiry-hero h2{font-size:1.1rem;font-weight:800;margin-bottom:8px}.inquiry-hero p{font-size:.88rem;line-height:1.7;opacity:.9}.card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 12px #00000012;margin-bottom:18px}.section-title{align-items:center;border-right:4px solid #2563eb;color:#0f172a;display:flex;flex-wrap:wrap;font-size:1rem;font-weight:800;gap:8px;margin-bottom:16px;padding-right:10px}.info-form{gap:14px}.info-field,.info-form{display:flex;flex-direction:column}.info-field{gap:5px}.info-field label{color:#374151;font-size:.83rem;font-weight:700}.search-guide{color:#475569;font-size:.88rem;line-height:1.7}.required{color:#dc2626;font-size:.85rem;margin-right:2px}.field-error{color:#dc2626;font-size:.8rem}.field-hint{color:#94a3b8;font-size:.75rem}.input-error{border-color:#dc2626!important}.ltr{direction:ltr;letter-spacing:1px;text-align:center}.search-input{background:#f8fafc;background:var(--bg-subtle);border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.95rem;padding:12px 14px;transition:all .18s;width:100%}.search-input:focus{background:#fff;background:var(--surface);border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.search-row{align-items:center;display:flex;gap:10px;margin-top:12px}.search-row .search-input{flex:1 1}.searcher-badge{align-items:center;background:#f0fdf4;border:1.5px solid #86efac;border-radius:20px;color:#15803d;display:inline-flex;font-size:.85rem;font-weight:600;gap:10px;margin-bottom:14px;padding:6px 16px}.link-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-family:inherit;font-size:.82rem;padding:0;text-decoration:underline}.student-info{border-top:4px solid #2563eb}.student-name{color:#1e3a5f;font-size:1.2rem;font-weight:900;margin-bottom:16px;text-align:center}.info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.info-grid>div{background:#f8fafc;background:var(--bg-subtle);border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:10px 14px}.label{color:#64748b;font-size:.73rem;font-weight:600}.value{color:#0f172a;font-size:.92rem;font-weight:700}.determination-alert{background:#fef3c7;border:2px solid #fbbf24;border-radius:12px;border-right:5px solid #f59e0b;color:#78350f;font-size:.9rem;margin-bottom:14px;padding:14px 18px}.formula-note{background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:10px;color:#0369a1;font-size:.83rem;line-height:1.8;margin-bottom:16px;padding:12px 16px}.table-wrapper{border:1.5px solid #e2e8f0;border-radius:10px;overflow-x:auto}.grades-table{border-collapse:collapse;font-size:.85rem;min-width:650px;width:100%}.grades-table th{background:linear-gradient(135deg,#1e3a5f,#2563eb);border:1px solid #ffffff26;color:#fff;font-size:.78rem;font-weight:700;padding:10px;text-align:center;white-space:nowrap}.grades-table td{border:1px solid #e2e8f0;padding:9px 10px;text-align:center;vertical-align:middle}.grades-table tbody tr:hover{background:#f0f9ff!important}.grades-table .sem-header{text-align:center}.grades-table .sem1{background:#2563eb33!important}.grades-table .sem2{background:#05966933!important}.grades-table .sem3{background:#d9770633!important}.grades-table .result-header{background:#7c3aed33!important}.subject-name{font-weight:700;padding-right:14px!important;text-align:right!important;white-space:nowrap}.grade-symbol{color:#64748b;font-size:.82rem;font-weight:700}.row-pass{background:#f0fdf4}.row-fail{background:#fff5f5}.score-input{background:#f8fafc;background:var(--bg-subtle);border:2px solid #e2e8f0;border-radius:7px;direction:ltr;font-family:inherit;font-size:.85rem;padding:5px 6px;text-align:center;transition:border-color .15s;width:72px}.score-input:focus{background:#fff;background:var(--surface);border-color:#2563eb;outline:none}.badge-green{background:#dcfce7;color:#15803d}.badge-green,.badge-red{border-radius:6px;font-size:.8rem;font-weight:700;padding:3px 10px;white-space:nowrap}.badge-red{background:#fee2e2;color:#dc2626}.badge-orange{background:#fef3c7;border-radius:6px;color:#d97706;font-size:.8rem;font-weight:700;padding:3px 10px;white-space:nowrap}.overall-result{border:2px solid;border-radius:14px;margin-top:16px;padding:20px 24px}.overall-result.pass{background:#f0fdf4;border-color:#86efac}.overall-result.fail{background:#fff5f5;border-color:#fca5a5}.result-row{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.overall-score-box{background:#fff;background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #00000014;flex-shrink:0;min-width:100px;padding:16px 24px;text-align:center}.score-value{color:#1e3a5f;font-size:2.2rem;font-weight:900}.score-label{color:#64748b;font-size:.75rem;font-weight:600;margin-top:2px}.result-status{flex:1 1}.big-result{font-size:1.25rem;font-weight:900;margin-bottom:6px}.pass-text{color:#15803d}.fail-text{color:#dc2626}.result-note{color:#475569;font-size:.85rem;line-height:1.7}.fail-subject{background:#fee2e2;border-radius:6px;color:#dc2626;display:inline-block;font-size:.8rem;font-weight:600;margin:3px 4px 0 0;padding:2px 10px}.comment-box{background:#f8fafc;background:var(--bg-subtle);border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.9rem;min-height:100px;padding:12px 14px;resize:vertical;transition:border-color .18s;width:100%}.comment-box:focus{background:#fff;background:var(--surface);border-color:#2563eb;outline:none}.grade-stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.grade-stat-card{background:#fff;background:var(--surface);border:2px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0000000f;flex:1 1;min-width:100px;padding:14px 16px;text-align:center;transition:transform .15s}.grade-stat-card:hover{transform:translateY(-2px)}.stat-blue{background:#eff6ff;border-color:#bfdbfe}.stat-green{background:#f0fdf4;border-color:#86efac}.stat-red{background:#fff5f5;border-color:#fca5a5}.stat-amber{background:#fefce8;border-color:#fcd34d}.stat-num{font-size:1.7rem;font-weight:900;line-height:1;margin-bottom:4px}.stat-lbl{color:#64748b;font-size:.75rem;font-weight:600}.stat-blue .stat-num{color:#2563eb}.stat-green .stat-num{color:#059669}.stat-red .stat-num{color:#dc2626}.stat-amber .stat-num{color:#d97706}.table-footer-row{background:linear-gradient(135deg,#1e3a5f,#2563eb)!important;color:#fff!important}.table-footer-row td{color:#fff!important;padding:10px 14px!important}.table-footer-row td,.text-bold{font-weight:700!important}.text-center{text-align:center!important}.text-green{color:#22c55e!important}.text-red{color:#f87171!important}.data-table{border-collapse:collapse;font-size:.85rem;width:100%}.data-table thead th{background:linear-gradient(135deg,#1e3a5f,#2563eb);border:1px solid #ffffff1f;color:#fff;font-size:.82rem;font-weight:700;padding:11px 14px;text-align:right;white-space:nowrap}.data-table tbody td{border:1px solid #e2e8f0;padding:9px 14px;vertical-align:middle}.data-table tbody tr:hover{background:#f0f9ff!important}.data-table.data-table-bordered tbody td{border:1px solid #e2e8f0}.row-even{background:#fff;background:var(--surface)}.row-odd{background:#f8fafc;background:var(--bg-subtle)}.cell-center{text-align:center!important}.cell-mono{direction:ltr;font-family:Courier New,monospace;font-size:.82rem;text-align:center}@media (max-width:768px){.login-card{padding:28px 20px}.card{padding:18px 16px}.info-grid{grid-template-columns:1fr 1fr}.search-row{flex-direction:column}.grade-stats-row{gap:8px}.grade-stat-card{min-width:80px;padding:10px 8px}.stat-num{font-size:1.3rem}.result-row{flex-direction:column}}.search-bar-wrap .search-input{background:#0000!important;border:none!important;box-shadow:none!important;padding:4px 8px!important;width:auto!important}.search-bar-wrap .search-input:focus{box-shadow:none!important;outline:none!important}.ap-grades-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.ap-filters-compact{background:#f1f5f9;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:16px 18px}.ap-filters-compact .filter-group{flex:1 1;min-width:160px}.ap-filters-compact .filter-select{width:100%}.ap-table-toolbar{background:#f1f5f9;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);direction:rtl;gap:12px;margin-bottom:12px;padding:10px 14px}.ap-table-toolbar,.col-selector-wrap{align-items:center;display:flex;flex-wrap:wrap}.col-selector-wrap{flex:1 1;gap:10px}.col-selector-label{color:#334155;color:var(--text-muted);font-size:.78rem;font-weight:700;white-space:nowrap}.col-check-label{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;color:#0f172a;color:var(--text);cursor:pointer;display:flex;font-size:.78rem;gap:4px;padding:3px 10px;transition:.18s ease;transition:var(--transition);white-space:nowrap}.col-check-label:hover{border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.col-check-label input[type=checkbox]{accent-color:#2563eb;accent-color:var(--primary);height:13px;width:13px}.ap-table-toolbar .btn-excel{flex-shrink:0;margin-right:auto}.exam-dist-page{font-family:Segoe UI,Cairo,Tajawal,sans-serif;padding:1.5rem}.exam-dist-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.exam-dist-title{color:#1e293b;font-size:1.6rem;font-weight:700;margin:0 0 .25rem}.exam-dist-sub{color:#64748b;font-size:.9rem;margin:0}.exam-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:.5rem;margin-bottom:1.25rem;padding-bottom:0}.exam-tab{background:#0000;border:none;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;color:#64748b;cursor:pointer;font-size:.92rem;font-weight:600;padding:.55rem 1.2rem;transition:all .2s}.exam-tab:hover{background:#f1f5f9;color:#2563eb}.exam-tab.active{background:#eff6ff;border-bottom-color:#2563eb;color:#2563eb}.exam-tab:disabled{cursor:not-allowed;opacity:.45}.exam-alert{border-radius:8px;font-size:.93rem;font-weight:600;margin-bottom:1rem;padding:.75rem 1.25rem}.exam-alert-err{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626}.exam-alert-ok{background:#f0fdf4;border:1px solid #86efac;color:#16a34a}.exam-loading{color:#64748b;font-size:1.1rem}.exam-empty,.exam-loading{padding:3rem;text-align:center}.exam-empty{background:#f8fafc;background:var(--bg-subtle);border:1px dashed #cbd5e1;border-radius:10px;color:#94a3b8;font-size:1rem}.exam-drag-hint{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.88rem;margin-bottom:1rem;padding:.65rem 1rem}.exam-config-table{background:#fff;background:var(--surface);border-collapse:collapse;border-radius:10px;box-shadow:0 1px 6px #00000014;font-size:.9rem;overflow:hidden;width:100%}.exam-config-table th{background:#1e3a5f;color:#fff;font-weight:600;padding:.7rem .85rem;text-align:center;white-space:nowrap}.exam-config-table td{border-bottom:1px solid #e2e8f0;border-left:1px solid #e2e8f0;padding:.55rem .75rem;text-align:center}.exam-cfg-row{cursor:grab;transition:background .15s}.exam-cfg-row:hover{background:#f0f9ff}.exam-cfg-row:active{cursor:grabbing}.exam-drag-handle{color:#94a3b8;font-size:1.2rem;-webkit-user-select:none;user-select:none}.exam-grade-cell{color:#1e293b;font-weight:700;padding-right:1rem!important;text-align:right!important}.exam-regular{color:#2563eb;font-weight:700}.exam-det{color:#7c3aed;font-weight:700}.exam-per-room{color:#059669;font-weight:700}.exam-num-input{border:1.5px solid #cbd5e1;border-radius:6px;font-family:inherit;font-size:.9rem;padding:.35rem .5rem;text-align:center;transition:border-color .2s;width:70px}.exam-num-input:focus{border-color:#2563eb;outline:none}.exam-actions{display:flex;justify-content:flex-start;margin-top:1.25rem}.exam-dist-btn{border-radius:8px;font-size:1rem;font-weight:700;padding:.7rem 2.5rem}.exam-preview-stats{background:#f8fafc;background:var(--bg-subtle);border:1px solid #e2e8f0;border-radius:8px;color:#374151;display:flex;font-size:.95rem;gap:2rem;margin-bottom:1rem;padding:.75rem 1.25rem}.exam-save-form{background:#f0fdf4;border:1px solid #86efac;border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem}.exam-save-form h3{color:#166534;font-size:1rem;margin:0 0 .75rem}.exam-save-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.exam-session-input{background:#fff;background:var(--surface);border:1.5px solid #86efac;border-radius:7px;flex:1 1;font-family:inherit;font-size:.9rem;min-width:200px;padding:.5rem .85rem}.exam-session-input:focus{border-color:#16a34a;outline:none}.exam-rooms-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:1rem}.exam-room-card{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:box-shadow .2s}.exam-room-card:hover{box-shadow:0 4px 16px #0000001a}.exam-room-card.det-room{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-color:#c4b5fd}.exam-room-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2563eb);color:#fff;display:flex;gap:.6rem;padding:.7rem 1rem}.det-room .exam-room-header{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.exam-room-num{font-size:1rem;font-weight:700}.exam-room-grade{font-size:.85rem;margin-right:auto;opacity:.9}.exam-det-badge{background:#ffffff40;border-radius:20px;font-size:.78rem;padding:.15rem .6rem;white-space:nowrap}.exam-room-count{background:#f8fafc;background:var(--bg-subtle);border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.82rem;padding:.35rem 1rem}.exam-seats-table{border-collapse:collapse;font-size:.82rem;width:100%}.exam-seats-table th{background:#f1f5f9;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:.4rem .6rem;text-align:center}.exam-seats-table td{border-bottom:1px solid #f1f5f9;padding:.32rem .6rem;text-align:center}.exam-seats-table tr:nth-child(2n) td{background:#f8fafc;background:var(--bg-subtle)}.exam-sess-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.btn-danger{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;padding:.3rem .65rem;transition:background .2s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.btn-success{background:#16a34a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.4rem 1rem;transition:background .2s}.btn-success:hover{background:#15803d}.exam-session-detail{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-top:2rem;padding:1.5rem}.exam-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.exam-detail-header h2{color:#1e293b;font-size:1.2rem;margin:0}.exam-detail-meta{color:#64748b;font-size:.88rem;margin-bottom:1rem}.det-inline-detail-row td{background:#f5f3ff!important}.det-inline-detail{animation:slideDown .2s ease;background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-bottom:2px solid #c4b5fd;border-top:2px solid #c4b5fd;padding:1rem 1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.det-inline-grid{grid-gap:.6rem 1.5rem;display:grid;gap:.6rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.det-inline-item{display:flex;flex-direction:column;gap:2px}.det-lbl{color:#7c3aed;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.det-val{color:#1e1b4b;font-size:.9rem;font-weight:600}.print-preview-wrap{direction:rtl;margin:0 auto;max-width:1200px;padding:80px 1rem 1rem}.print-preview-wrap.embedded{max-width:none;padding:0 0 1rem}.print-preview-wrap.embedded .print-toolbar{border-radius:8px;left:auto;margin-bottom:1rem;position:static;right:auto;top:auto}.print-toolbar{align-items:center;background:#1e3a5f;border-radius:0;box-shadow:0 3px 12px #00000040;color:#fff;display:flex;flex-wrap:wrap;gap:1rem;inset-inline-end:0;inset-inline-start:0;inset-inline-start:var(--sgnav-w,0);margin-bottom:1.5rem;padding:.75rem 1.25rem;position:fixed;top:116px;top:var(--header-h,60px);z-index:200}.print-toolbar-title{font-size:1rem;font-weight:700;margin:0}.print-pages-wrap{display:flex;flex-direction:column;gap:2.5rem}.print-page-preview{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;box-shadow:0 4px 20px #00000014;direction:rtl;font-family:Segoe UI,Arial,sans-serif;padding:20px 24px;width:100%}.print-page-preview.det-room-preview{border-color:#c4b5fd}.pp-header{align-items:flex-start;border-bottom:3px solid #1e3a5f;display:flex;gap:1rem;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.pp-logo{min-width:80px;text-align:center}.pp-ministry{color:#8b6914;font-size:.68rem;font-weight:700;margin-top:3px;text-align:center}.pp-title-center{flex:1 1;text-align:center}.pp-main-title{color:#1e3a5f;font-size:1.05rem;font-weight:900;margin-bottom:3px}.pp-term{color:#374151;font-size:.82rem;margin-bottom:2px}.pp-school{color:#1e3a5f;font-size:.82rem;font-weight:700}.pp-school-en{color:#6b7280;direction:ltr;font-size:.75rem}.pp-branch{color:#374151;font-size:.8rem;line-height:1.5;min-width:150px;text-align:left}.pp-room-title{margin:10px 0 8px;text-align:center}.pp-room-badge{background:#1e3a5f;border-radius:20px;color:#fff;display:inline-block;font-size:.95rem;font-weight:800;padding:4px 20px}.pp-room-badge.det{background:#5b21b6}.pp-room-sub{color:#374151;font-size:.8rem;margin-top:4px}.pp-table{border-collapse:collapse;font-size:.82rem;margin-top:6px;width:100%}.pp-table th{background:#1e3a5f;border:1px solid #1e3a5f;color:#fff;padding:5px 7px;text-align:center;white-space:nowrap}.pp-table td{border:1px solid silver;padding:4px 7px;vertical-align:middle}.pp-table tr:nth-child(2n) td{background:#f0f4ff}.pp-footer{align-items:flex-end;border-top:2px solid #1e3a5f;color:#374151;display:flex;font-size:.8rem;justify-content:space-between;margin-top:14px;padding-top:8px}.pp-footer-principal{text-align:right}.pp-footer-count{text-align:center}.pp-footer-date{direction:ltr;text-align:left}.pp-sig-line{border-bottom:1.5px solid #374151;margin-top:16px;width:110px}@media print{.back-btn,.exam-actions,.exam-tabs,.print-toolbar{display:none!important}.print-page-preview{border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important;page-break-after:always}.print-pages-wrap{gap:0}:root{--text-muted:#000!important;--text-light:#000!important}[class*=caption],[class*=desc],[class*=hint],[class*=meta],[class*=muted],[class*=note],[class*=subtitle]{color:#000!important}}.exam-start-room-wrap{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;gap:.65rem;margin-bottom:.85rem;padding:.6rem 1rem}.exam-start-room-label{color:#1e3a5f;font-size:.9rem;font-weight:700;white-space:nowrap}.exam-start-hint{color:#6b7280;font-size:.8rem}.exam-print-bar{display:flex;gap:.75rem;margin-bottom:1rem}.exam-room-print-btn{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-right:auto;padding:2px 6px;transition:background .15s}.exam-room-print-btn:hover{background:#ffffff59}.pp-room-bar{align-items:center;background:#f8faff;border:2.5px solid #1e3a5f;border-radius:10px;display:flex;justify-content:space-between;margin:4px 0;padding:6px 14px}.pp-room-bar-sep{background:silver;height:36px;margin:0 10px;width:1.5px}.pp-room-circle{align-items:center;background:#1e3a5f;border-radius:50%;color:#fff;display:flex;flex-direction:column;height:56px;justify-content:center;width:56px}.pp-circle-lbl{font-size:.62rem;opacity:.85}.pp-circle-num{font-size:1.45rem;font-weight:900;line-height:1}.pp-room-count{text-align:center}.pp-count-num{color:#1e3a5f;display:block;font-size:1.6rem;font-weight:900;line-height:1}.pp-count-lbl{color:#6b7280;font-size:.68rem}.ssp-wrap{padding:1.5rem 1rem}.ssp-header{margin-bottom:1rem}.ssp-title{color:#1e3a5f;font-size:1.3rem;font-weight:900;margin-bottom:.3rem}.ssp-subtitle{color:#6b7280;font-size:.85rem}.ssp-img-status{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.ssp-img-chip{align-items:center;border-radius:20px;display:inline-flex;font-size:.82rem;font-weight:600;gap:5px;padding:4px 12px}.ssp-img-chip.ok{background:#dcfce7;border:1px solid #86efac;color:#166534}.ssp-img-chip.missing{background:#fef9c3;border:1px solid #fde047;color:#854d0e}.ssp-img-hint{font-size:.78rem;font-weight:400}.ssp-logo-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:4px 8px}.ssp-info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;font-size:.82rem;line-height:1.8;margin-bottom:1rem;padding:.75rem 1rem}.ssp-info-box code{background:#dbeafe;border-radius:4px;font-size:.8rem;padding:1px 5px}.ssp-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}.ssp-field{display:flex;flex-direction:column;gap:4px}.ssp-label{color:#374151;font-size:.82rem;font-weight:700}.ssp-input{border:1.5px solid #d1d5db;border-radius:7px;color:#111;font-family:inherit;font-size:.88rem;padding:7px 10px;transition:border-color .15s}.ssp-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #bfdbfe;outline:none}.ssp-actions{align-items:center;display:flex;gap:.5rem;margin-bottom:1.5rem}.ssp-saved-msg{color:#166534;font-size:.88rem;font-weight:700;margin-right:8px}.ssp-preview-box{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden}.ssp-preview-title{background:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.88rem;font-weight:700;padding:.5rem 1rem}.ssp-preview-header{align-items:flex-start;background:#fff;background:var(--surface);direction:rtl;display:flex;gap:10px;padding:1rem}.krooki-page{background:#f1f5f9;direction:rtl;display:flex;flex-direction:column;height:100%}.krooki-toolbar{align-items:center;background:#1e3a5f;color:#fff;display:flex;flex-wrap:wrap;gap:1rem;padding:.65rem 1.2rem}.krooki-toolbar-title{flex:1 1;font-size:1rem;font-weight:700;margin:0}.krooki-layout{display:flex;flex:1 1;gap:0;overflow:hidden}.krooki-sidebar{background:#1e293b;border-left:1px solid #334155;display:flex;flex-direction:column;min-width:165px;overflow-y:auto;width:165px}.krooki-sidebar-title{border-bottom:1px solid #334155;color:#94a3b8;font-size:.78rem;font-weight:700;letter-spacing:.5px;padding:.6rem .8rem;text-transform:uppercase}.krooki-room-btn{align-items:flex-start;background:#0000;border:none;border-bottom:1px solid #1e293b;color:#cbd5e1;cursor:pointer;display:flex;flex-direction:column;padding:.55rem .8rem;text-align:right;transition:background .15s;width:100%}.krooki-room-btn:hover{background:#334155}.krooki-room-btn.active{background:#1e3a5f;color:#fff}.krooki-room-btn.det{border-right:3px solid #a78bfa}.krb-grade{color:#94a3b8;font-size:.7rem}.krb-count{color:#64748b;font-size:.68rem}.krooki-room-btn.active .krb-count,.krooki-room-btn.active .krb-grade{color:#93c5fd}.krooki-canvas{background:#fff;border-radius:0;display:flex;flex:1 1;flex-direction:column;gap:.65rem;overflow-y:auto;padding:1rem}.kc-header{align-items:center;border-bottom:3px double #1e3a5f;display:flex;justify-content:space-between;padding-bottom:.6rem}.kc-logo img{height:58px;width:auto}.kc-school{flex:1 1;padding:0 10px;text-align:center}.kc-school-name{font-size:1.05rem;font-weight:900;margin-bottom:2px}.kc-school-en{color:#374151;direction:ltr;font-size:.72rem}.kc-term{color:#4b5563;font-size:.82rem}.kc-grade-bar{background:#1e3a5f;border-radius:10px;color:#fff;gap:10px;margin:2px 0;padding:5px 12px}.kc-grade-bar,.kc-room-circle{align-items:center;display:flex}.kc-room-circle{background:#ffffff26;border:3px solid #fff;border-radius:50%;flex-direction:column;flex-shrink:0;height:52px;justify-content:center;width:52px}.krc-lbl{font-size:.55rem;line-height:1;opacity:.9}.krc-num{font-size:1.35rem;font-weight:900;line-height:1}.kc-room-layout{background:#fafbfc;border:1.5px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:.6rem}.kc-whiteboard{background:#1e3a5f;border-radius:7px 7px 0 0;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:1px;padding:6px 12px;text-align:center}.kc-door-indicator{align-items:center;color:#6b7280;display:flex;font-size:.78rem;gap:8px;padding:2px 4px}.kc-door-box{background:#fef3c7;border:2px solid #f59e0b;border-radius:5px;color:#92400e;font-size:.75rem;font-weight:700;padding:2px 8px}.kc-cols-area{display:flex;flex-direction:column;gap:4px}.kc-cols-row{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.kc-col-rect{border:3px solid #1e3a5f;border-radius:8px;display:flex;flex-direction:column;gap:3px;min-width:88px;padding:4px 3px}.kc-col-rect.door-col{border-color:#f59e0b;border-width:4px}.kc-col-header{border-bottom:1.5px solid #e5e7eb;color:#1e3a5f;font-size:.7rem;font-weight:800;margin-bottom:2px;padding:2px 0;text-align:center}.kc-seat-oval{align-items:center;background:#eff6ff;border:1.5px solid #93c5fd;border-radius:50px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:3px 6px;transition:box-shadow .15s,border-color .15s}.kc-seat-oval:hover{border-color:#3b82f6;box-shadow:0 2px 8px #2563eb33}.kc-seat-oval.det-seat{background:#faf5ff;border-color:#c4b5fd}.kc-empty-seat{align-items:center;background:#fffbeb;border:2px dashed #f59e0b;border-radius:50px;color:#92400e;display:flex;font-size:.68rem;justify-content:center;min-height:44px;padding:6px;text-align:center}.kco-num{color:#1e3a5f;font-size:.65rem;font-weight:800;line-height:1}.kco-name-ar{color:#111;font-size:.7rem;font-weight:700;line-height:1.2;text-align:center}.kco-name-en{color:#6b7280;direction:ltr;font-size:.6rem;line-height:1;text-align:center}.kco-arrow{color:#3b82f6;font-size:.75rem;margin-top:2px}.kc-footer{align-items:flex-end;border-top:2px solid #e5e7eb;color:#374151;display:flex;font-size:.78rem;justify-content:space-between;margin-top:4px;padding-top:6px}.kc-footer-principal{align-items:center;display:flex;flex-direction:column;gap:2px;text-align:center}.kc-footer-principal img{border-bottom:1px solid #9ca3af;max-height:45px;max-width:120px;padding-bottom:2px}.ssp-upload-row{align-items:center;background:#f8fafc;background:var(--bg-subtle);border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;padding:8px 12px}.ssp-upload-label{color:#374151;font-size:.85rem;font-weight:700;min-width:180px}.ssp-clear-btn{background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;cursor:pointer;font-size:.8rem;padding:3px 10px}.ssp-clear-btn:hover{background:#fecaca}.exam-print-overlay{align-items:stretch;background:#0000008c;bottom:0;display:flex;inset-inline-end:0;inset-inline-start:0;inset-inline-start:var(--sgnav-w,0);justify-content:stretch;overflow:auto;position:fixed;top:116px;top:var(--header-h,0);z-index:1100}.exam-print-overlay>*{flex:1 1}@media (max-width:768px){.kc-cols-row{flex-wrap:wrap}.kc-col-rect{min-width:70px}.imp-result-grid{grid-template-columns:repeat(2,1fr)}.ssp-grid{grid-template-columns:1fr}}.a4-preview-wrap{align-items:center;background:#94a3b8;border-radius:10px;gap:16px;max-height:820px;overflow-y:auto;padding:16px 10px}.a4-preview-wrap,.screen-page{display:flex;flex-direction:column}.screen-page{background:#fff;box-shadow:0 4px 20px #0004;box-sizing:border-box;direction:rtl;font-family:Arial,Tajawal,sans-serif;font-size:11pt;margin-bottom:24px;padding:20px 28px 16px;width:100%}.a4-head{margin-bottom:0}.a4-head-inner{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:2px}.a4-ar-col{flex:1 1;text-align:right}.a4-ar{line-height:1.6}.a4-ar,.a4-ar.a4-bold{font-weight:700}.a4-ar,.a4-ar.a4-bold,.a4-ar.a4-sm{font-size:9pt;font-size:calc(9pt*var(--a4-fs, 1))}.a4-logo-center{flex:0 0 215px;flex:0 0 calc(215px*var(--a4-logo-scale, 1));text-align:center}.a4-logo{display:block;height:70px;margin-top:0;object-fit:fill;width:180px}.a4-report-title{direction:rtl;font-size:10pt;font-size:calc(10pt*var(--a4-fs, 1));font-weight:700;line-height:1.3;margin:3px 0 0;text-align:center;white-space:nowrap}.a4-en-col{flex:1 1;font-size:7.5pt;font-size:calc(7.5pt*var(--a4-fs, 1));font-weight:700;line-height:1.6;text-align:left}.a4-bold-en{font-size:9.5pt;font-size:calc(9.5pt*var(--a4-fs, 1));font-weight:700}.a4-sm-en{font-size:9pt;font-size:calc(9pt*var(--a4-fs, 1))}.a4-divider{border:none;border-top:2px solid #000;margin:2px 0 4px}.a4-titles{margin-bottom:4px;text-align:center}.a4-title1{direction:rtl;font-size:17pt;font-weight:900;letter-spacing:.5px}.a4-title1,.a4-title2{font-family:Tajawal,Arial,sans-serif}.a4-title2{font-size:12pt;font-weight:700}.a4-subtitle{direction:rtl;font-family:Tajawal,Arial,sans-serif;font-size:11pt;font-weight:800}.a4-date-row{border-collapse:collapse;margin-bottom:5px;width:100%}.a4-date-row td{border:1.5px solid #000;font-family:Tajawal,Arial,sans-serif;font-size:12pt;font-weight:600;padding:5px 10px;text-align:center;width:25%}.dr-lbl{background:#f0f0f0;font-weight:700}.a4-tbl{border:2px solid #000;border-collapse:collapse;font-size:9.5pt;width:100%}.a4-tbl thead th{background:#c4a042;border:1.5px solid #000;color:#000;font-family:Tajawal,Arial,sans-serif;font-size:11pt;font-weight:700;line-height:1.4;padding:5px 4px;text-align:center;vertical-align:middle}.a4-en-sm{display:block;font-size:7.5pt;font-weight:400}.a4-reg-daily tbody tr{height:26px}.a4-reg-daily tbody td{padding:4px}.a4c-n{width:28px}.a4c-id{width:70px}.a4c-t{width:62px}.a4c-s{width:12%}.a4-tbl tbody tr{height:26px}.a4-tbl tbody td{border:1.2px solid #000;font-size:9.5pt;overflow:hidden;padding:2px 4px;vertical-align:middle;white-space:nowrap}.a4-even td{background:#ebebeb}.a4-tc{font-weight:600;text-align:center}.a4-tname{font-weight:500;padding-right:5px!important;text-align:right}.a4-ltr{direction:ltr;font-family:monospace}.a4-ltr,.a4-tjob{text-align:center}.a4-tjob{font-size:9pt}.a4-dots-cell{font-family:monospace;font-size:7.5pt;letter-spacing:0;text-align:center!important;vertical-align:middle;white-space:nowrap}.a4-footer{align-items:flex-end;direction:rtl;display:flex;justify-content:space-between;margin-top:auto;padding-top:8px}.a4-pgn{color:#444;font-size:8pt;font-size:calc(8pt*var(--a4-fs, 1))}.a4-sig{direction:rtl;text-align:center}.a4-sig-t{font-size:10pt;font-size:calc(10pt*var(--a4-fs, 1));font-weight:700;margin-bottom:2px}.a4-sig-img{display:block;height:44px;margin:0 auto;object-fit:contain;width:100px}.a4-sig-name{direction:rtl;font-size:9.5pt;font-size:calc(9.5pt*var(--a4-fs, 1));font-weight:700;margin-top:6px}.att-print-root{display:none!important}@media print{body>*{display:none!important}@page{size:A4 portrait;margin:0}.print-page,body>.att-print-root{display:block!important}.print-page{zoom:1!important;box-shadow:none!important;box-sizing:border-box!important;break-after:page;direction:rtl;font-family:Arial,sans-serif;font-size:9.5pt;height:297mm!important;overflow:hidden!important;padding:8mm 10mm 22mm!important;page-break-after:always;position:relative!important;width:100%!important}.print-page .students-pdf-wrap{display:block!important;height:205mm!important;max-height:205mm!important;overflow:visible!important}.print-page .students-pdf-table{border-collapse:collapse!important;height:100%!important;table-layout:fixed!important;width:100%!important}.print-page .students-pdf-table,.print-page .students-pdf-table td,.print-page .students-pdf-table th{font-family:Tajawal,Arial,sans-serif!important}.print-page:last-child{break-after:avoid;page-break-after:avoid}.att-print-root .sub-head,.att-print-root .sub-head *,.att-print-root .sub-tbl,.att-print-root .sub-tbl td,.att-print-root .sub-tbl th{font-family:Tajawal,sans-serif!important}.att-print-root .sub-tbl td,.att-print-root .sub-tbl th{border:1px solid #1e3a5f!important;font-size:9.5pt!important;padding:6pt 5pt!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;vertical-align:middle!important}.att-print-root .sub-tbl-compact td,.att-print-root .sub-tbl-compact th{font-size:9pt!important;padding:3.5pt 5pt!important}.att-print-root .sub-badge{border:1px solid #1e3a5f;border-radius:6pt;display:inline-block;font-size:10pt;font-weight:800;padding:3pt 10pt;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.att-print-root .sub-badge-day{background:#e0f2fe;color:#0c4a6e}.att-print-root .sub-badge-date{background:#fef3c7;color:#78350f}.att-print-root .loc-wrap{height:222mm!important;overflow:hidden!important}.att-print-root .loc-tbl,.att-print-root .loc-tbl td,.att-print-root .loc-tbl th{font-family:Tajawal,sans-serif!important}.att-print-root .loc-tbl td,.att-print-root .loc-tbl th{border:1px solid #1e3a5f!important;font-size:9pt!important;padding:3pt 4pt!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.att-print-root .loc-tbl thead th,.att-print-root .loc-tbl thead tr{background:#1e3a5f!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.att-print-root .loc-tbl tbody td{color:#000!important}.a4-logo{display:block!important;height:55pt!important;margin-top:0!important;object-fit:fill!important;width:145pt!important}.a4-logo-center{flex:0 0 185pt!important;flex:0 0 calc(185pt*var(--a4-logo-scale, 1))!important}.students-pdf-logo{height:74pt!important;height:calc(74pt*var(--a4-logo-scale, 1))!important;max-height:74pt!important;max-height:calc(74pt*var(--a4-logo-scale, 1))!important;object-fit:contain!important;width:auto!important}.students-pdf-wrap{display:block!important;height:auto!important;overflow:visible!important}.students-pdf-table{border-collapse:collapse!important;direction:rtl!important;font-size:9pt!important;height:auto!important;table-layout:fixed!important;width:100%!important}.students-pdf-table colgroup col:first-child{width:5%!important}.students-pdf-table colgroup col:nth-child(2){width:13%!important}.students-pdf-table colgroup col:nth-child(3),.students-pdf-table colgroup col:nth-child(4){width:26%!important}.students-pdf-table colgroup col:nth-child(5){width:30%!important}.students-pdf-table thead th{background:#1e3a5f!important;border:1.5pt solid #000!important;color:#fff!important;font-size:9pt!important;font-weight:700!important;line-height:1.1!important;padding:3pt 4pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-align:center!important;white-space:nowrap!important}.students-pdf-table tbody tr{height:auto!important}.students-pdf-table tbody td{border:1pt solid #000!important;font-size:9pt!important;line-height:1.1!important;max-width:0!important;overflow:hidden!important;padding:1.5pt 4pt!important;text-overflow:ellipsis!important;white-space:nowrap!important}.students-pdf-table tbody tr:nth-child(2n) td{background:#eef2ff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.a4-tbl{border:2pt solid #000!important}.a4-tbl thead th{background:#c4a042!important;border:1.5pt solid #000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.a4-tbl tbody td{border:1.2pt solid #000!important}.a4-even td{background:#ebebeb!important}.a4-even td,.dr-lbl{-webkit-print-color-adjust:exact;print-color-adjust:exact}.dr-lbl{background:#f0f0f0!important}.a4-divider{border-top:2pt solid #000!important}.a4-date-row td{border:1.5pt solid #000!important}.a4-sig-img{height:40pt!important;height:calc(40pt*var(--a4-sig-scale, 1))!important;overflow:visible!important;width:88pt!important;width:calc(88pt*var(--a4-sig-scale, 1))!important}.a4-tbl tbody tr{height:10pt!important}.a4-tbl tbody td{font-size:10pt!important;padding:2pt 4pt!important}.a4-reg-daily tbody tr{height:19pt!important}.a4-reg-daily tbody td{padding:3pt 4pt!important}.a4-tbl thead th{font-size:9.5pt!important;padding:3pt!important}.print-page>.a4-footer{background:#fff!important;bottom:6mm!important;left:10mm!important;padding-top:4pt!important;position:absolute!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;right:10mm!important}.print-page-sub{box-sizing:border-box!important;flex-direction:column!important;height:297mm!important;padding:8mm 10mm 6mm!important;position:relative!important}.print-page-sub,.print-page-sub .sub-table-wrap{display:flex!important;overflow:hidden!important}.print-page-sub .sub-table-wrap{flex:1 1!important;flex-direction:column!important;min-height:0!important}.print-page-sub .a4-footer{flex-shrink:0!important;margin-top:4pt!important}.print-page-sub .a4-tbl tbody tr{height:21pt!important}.print-page-sub .a4-tbl tbody td{font-size:9pt!important;padding:1.5pt 3pt!important}.print-page-sub .a4-tbl thead th{font-size:9.5pt!important;padding:3pt!important}.print-page-sub .a4-head{margin-bottom:0!important}.print-page-sub .a4-head-inner{margin-bottom:1pt!important}.print-page-sub .a4-titles{margin-bottom:2pt!important}.print-page-sub .a4-title1{font-size:14pt!important}.print-page-sub .a4-title2{font-size:10pt!important}.print-page-sub .a4-subtitle{font-size:9pt!important}.print-page-sub table:not(.a4-tbl){margin-top:3pt!important}.print-page-sub table:not(.a4-tbl) td{font-size:9pt!important;padding:2pt 4pt!important}.print-page-sub .a4-tbl{margin-top:3pt!important}}.tabs-bar{background:#fff;background:var(--surface);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);border-radius:10px 10px 0 0;border-radius:var(--radius) var(--radius) 0 0;display:flex;gap:4px;overflow-x:auto;padding:0 12px}.sub-fri-sat td{background:#fef9e7!important;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}@media print{#emp-att-print-root{display:block!important;margin:0!important;max-width:210mm!important;overflow:hidden!important;padding:0!important;width:210mm!important}#emp-att-print-root .a4-tbl{font-size:8pt!important;max-width:100%!important;table-layout:fixed!important;width:100%!important}#emp-att-print-root .a4-tbl thead th{font-size:7.5pt!important;line-height:1.25!important;overflow:hidden!important;padding:2pt!important;white-space:normal!important;word-break:break-word!important}#emp-att-print-root .a4-tbl tbody td{font-size:8pt!important;max-width:0!important;overflow:hidden!important;padding:1pt 3pt!important;text-overflow:ellipsis!important;white-space:nowrap!important}#emp-att-print-root .a4-tbl tbody .a4-tname{line-height:1.2!important;white-space:normal!important;word-break:break-word!important}#emp-att-print-root .print-page:not(.print-page-sub) .a4-tbl thead th:first-child{width:22pt!important}#emp-att-print-root .print-page:not(.print-page-sub) .a4-tbl thead th:nth-child(2){width:auto!important}#emp-att-print-root .print-page:not(.print-page-sub) .a4-tbl thead th:nth-child(3){width:54pt!important}#emp-att-print-root .print-page:not(.print-page-sub) .a4-tbl thead th:nth-child(4){width:auto!important}}[data-theme=dark] .searcher-badge{background:#d1fae5;background:var(--success-light);border-color:#10b98166}[data-theme=dark] .determination-alert{background:#fef3c7;background:var(--warning-light);border-color:#d9770673;color:#0f172a;color:var(--text)}[data-theme=dark] .formula-note{background:#cffafe;background:var(--info-light);border-color:#0891b266;color:#0f172a;color:var(--text)}[data-theme=dark] .fail-subject{background:#fee2e2;background:var(--danger-light);color:#fca5a5}[data-theme=dark] .badge-green{background:#d1fae5;background:var(--success-light);color:#4ade80}[data-theme=dark] .badge-red{background:#fee2e2;background:var(--danger-light);color:#fca5a5}[data-theme=dark] .badge-orange{background:#fef3c7;background:var(--warning-light);color:#fbbf24}[data-theme=dark] .overall-result.pass{background:#d1fae5;background:var(--success-light);border-color:#10b98166}[data-theme=dark] .overall-result.fail{background:#fee2e2;background:var(--danger-light);border-color:#dc262666}[data-theme=dark] .stat-blue{background:#eff6ff;background:var(--primary-light);border-color:#2563eb66}[data-theme=dark] .stat-green{background:#d1fae5;background:var(--success-light);border-color:#10b98166}[data-theme=dark] .stat-red{background:#fee2e2;background:var(--danger-light);border-color:#dc262666}[data-theme=dark] .stat-amber{background:#fef3c7;background:var(--warning-light);border-color:#d9770666}[data-theme=dark] .stat-blue .stat-num{color:#60a5fa}[data-theme=dark] .stat-green .stat-num{color:#4ade80}[data-theme=dark] .stat-red .stat-num{color:#fca5a5}[data-theme=dark] .stat-amber .stat-num{color:#fbbf24}[data-theme=dark] .exam-tab:hover{background:#f8fafc;background:var(--bg-subtle);color:#60a5fa}[data-theme=dark] .exam-tab.active{background:#eff6ff;background:var(--primary-light);border-bottom-color:#60a5fa;color:#60a5fa}[data-theme=dark] .exam-alert-err{background:#fee2e2;background:var(--danger-light);border-color:#dc262666;color:#fca5a5}[data-theme=dark] .exam-alert-ok{background:#d1fae5;background:var(--success-light);border-color:#10b98166;color:#4ade80}[data-theme=dark] .exam-drag-hint{background:#fef3c7;background:var(--warning-light);border-color:#d9770666;color:#0f172a;color:var(--text)}[data-theme=dark] .exam-cfg-row:hover{background:#eff6ff;background:var(--primary-light)}[data-theme=dark] .exam-save-form{background:#d1fae5;background:var(--success-light);border-color:#10b98166}[data-theme=dark] .exam-start-room-wrap{background:#eff6ff;background:var(--primary-light);border-color:#2563eb66}[data-theme=dark] .exam-room-card.det-room{background:linear-gradient(135deg,#7c3aed2e,#7c3aed1a)}[data-theme=dark] .det-inline-detail-row td{background:#7c3aed29!important}[data-theme=dark] .det-inline-detail{background:linear-gradient(135deg,#7c3aed2e,#7c3aed1a);border-color:#7c3aed66}[data-theme=dark] .ssp-img-chip.ok{background:#d1fae5;background:var(--success-light);border-color:#10b98166;color:#4ade80}[data-theme=dark] .ssp-img-chip.missing{background:#fef3c7;background:var(--warning-light);border-color:#d9770666;color:#fbbf24}[data-theme=dark] .ssp-logo-preview{background:#f8fafc;background:var(--bg-subtle);border-color:#e2e8f0;border-color:var(--border)}[data-theme=dark] .ssp-info-box{background:#eff6ff;background:var(--primary-light);border-color:#2563eb66;color:#93c5fd}[data-theme=dark] .ssp-info-box code{background:#2563eb40}[data-theme=dark] .ssp-preview-title{background:#f8fafc;background:var(--bg-subtle);color:#334155;color:var(--text-muted)}[data-theme=dark] .ssp-clear-btn{background:#fee2e2;background:var(--danger-light);border-color:#dc262666;color:#fca5a5}[data-theme=dark] .ssp-clear-btn:hover{background:#dc26264d}[data-theme=dark] .data-table tbody tr:hover,[data-theme=dark] .grades-table tbody tr:hover{background:#eff6ff!important;background:var(--primary-light)!important}[data-theme=dark] .row-pass{background:#d1fae5;background:var(--success-light)}[data-theme=dark] .row-fail{background:#fee2e2;background:var(--danger-light)}.sg-sidebar{background:#fff;background:var(--surface);border-left:1px solid #e2e8f0;border-left:1px solid var(--border);bottom:0;box-shadow:-4px 0 18px #0000000f;direction:rtl;display:flex;flex-direction:column;position:fixed;right:0;top:116px;top:var(--header-h,60px);transition:width .25s ease,transform .25s ease;width:260px;z-index:900}.sg-sidebar.collapsed{width:64px}.sg-head{align-items:center;background:#f8fafc;background:var(--bg-subtle);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);display:flex;gap:8px;min-height:42px;padding:8px 10px}.sg-head-title{color:#334155;color:var(--text-muted);flex:1 1;font-size:.8rem;font-weight:800;letter-spacing:.3px}.sg-collapse-btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;color:#0f172a;color:var(--text);cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:30px;justify-content:center;transition:background .15s;width:30px}.sg-collapse-btn:hover{background:#eff6ff;background:var(--primary-light)}.sg-root-btn{align-items:center;background:#0000;border:none;border-radius:10px;border-right:3px solid #0000;color:#0f172a;color:var(--text);cursor:pointer;direction:rtl;display:flex;font-family:inherit;font-size:.85rem;font-weight:700;gap:9px;margin-bottom:2px;padding:10px 12px;text-align:right;transition:background .15s,color .15s,border-color .15s;width:100%}.sg-root-btn:hover{background:color-mix(in srgb,var(--g-color) 12%,#0000);color:var(--g-color)}.sg-root-btn.is-active{background:color-mix(in srgb,var(--g-color) 10%,#0000)}.sg-root-btn.is-active,.sg-root-btn.is-open{border-right-color:var(--g-color);color:var(--g-color)}.sg-root-btn.is-open{background:color-mix(in srgb,var(--g-color) 14%,#0000)}.sg-root-icon{flex-shrink:0;font-size:1.15rem;text-align:center;width:26px}.sg-root-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-root-btn--icon{justify-content:center;padding:10px 0}.sg-root-btn--icon .sg-root-icon{width:auto}.sg-root-btn--icon.is-flyout{background:color-mix(in srgb,var(--g-color) 16%,#0000);border-right-color:var(--g-color)}.sg-chev{color:#475569;color:var(--text-light);flex-shrink:0;font-size:.65rem;transition:transform .2s}.sg-chev.is-open{color:#0f172a;color:var(--g-color,var(--text));transform:rotate(180deg)}.sg-acc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.sg-acc.open{grid-template-rows:1fr}.sg-acc-inner{min-height:0;overflow:hidden}.sg-group-body{border-right:2px solid #e2e8f0;border-right:2px solid var(--border);margin-right:14px;padding:2px 4px 6px 0}.sg-item{align-items:center;background:#0000;border:none;border-radius:8px;border-right:3px solid #0000;color:#0f172a;color:var(--text);cursor:pointer;direction:rtl;display:flex;font-family:inherit;font-size:.8rem;font-weight:500;gap:8px;margin-bottom:1px;padding:8px 10px;text-align:right;transition:background .12s,color .12s,border-color .12s;width:100%}.sg-item.is-active,.sg-item:hover:not(:disabled){background:color-mix(in srgb,var(--g-color) 12%,#0000);border-right-color:var(--g-color);color:var(--g-color)}.sg-item.is-active{font-weight:700}.sg-item:disabled{cursor:not-allowed;opacity:.5}.sg-item-icon{flex-shrink:0;font-size:.95rem}.sg-item-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-item--parent{font-weight:700}.sg-item--parent.is-open{color:var(--g-color)}.sg-item--nested{font-size:.78rem;padding-right:26px}.sg-daily-banner{background:#fef3c7;background:var(--warning-light);border-radius:8px;color:#d97706;color:var(--warning,#b45309);font-size:.68rem;font-weight:700;margin:2px 26px 4px 6px;padding:5px 10px}.sg-daily-banner.ok{background:#eff6ff;background:var(--primary-light);color:#0891b2;color:var(--info,#2563eb)}.sg-sessions-title{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--border);color:#334155;color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.4px;margin-top:6px;padding:8px 10px 4px}.sg-sessions-empty{color:#475569;color:var(--text-light);font-size:.74rem;padding:6px 12px 8px;text-align:center}.sg-session-row{align-items:stretch;display:flex}.sg-session-name{align-items:flex-start;background:#0000;border:none;border-radius:10px 0 0 10px;cursor:pointer;direction:rtl;display:flex;flex:1 1;flex-direction:column;font-family:inherit;gap:1px;padding:7px 10px;text-align:right}.sg-session-name:hover{background:#eff6ff;background:var(--primary-light)}.sg-mobile-fab{background:#1e3a5f;background:var(--brand-dark,#1e3a8a);border:none;border-radius:50%;bottom:18px;box-shadow:0 6px 20px #0000004d;color:#fff;cursor:pointer;font-size:1.3rem;height:52px;position:fixed;right:16px;width:52px;z-index:950}.sg-backdrop{background:#00000073;inset:0;position:fixed;z-index:940}@media (max-width:900px){.sg-sidebar{transform:translateX(105%);width:280px!important;z-index:960}.sg-sidebar.mobile-open{transform:none}}.sq-hint{background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;box-shadow:0 2px 8px #b4530938;color:#b45309;font-size:.82rem;font-weight:800;padding:6px 12px;-webkit-user-select:none;user-select:none;white-space:nowrap}.sq-hint-start{animation:sqHintStart 1s ease-in-out infinite}.sq-hint-end{animation:sqHintEnd 1s ease-in-out infinite}@keyframes sqHintStart{0%,to{transform:translateX(0)}50%{transform:translateX(-7px)}}@keyframes sqHintEnd{0%,to{transform:translateX(0)}50%{transform:translateX(7px)}}@media (prefers-reduced-motion:reduce){.sq-hint-end,.sq-hint-start{animation:none}}@media (max-width:520px){.sq-hint{font-size:.72rem;padding:5px 9px}}*,:after,:before{box-sizing:border-box}body{overflow-x:hidden}canvas,iframe,img,svg,table,video{max-width:100%}.exam-room-table-wrapper,.group-table-wrap,.table-scroll,.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.exam-room-table-wrapper:not(.table-scroll-wide)>table,.group-table-wrap:not(.table-scroll-wide)>table,.table-scroll:not(.table-scroll-wide)>table,.table-wrapper:not(.table-scroll-wide)>table{min-width:0!important;width:100%}.exam-room-table-wrapper:not(.table-scroll-wide) td,.exam-room-table-wrapper:not(.table-scroll-wide) th,.group-table-wrap:not(.table-scroll-wide) td,.group-table-wrap:not(.table-scroll-wide) th,.table-scroll:not(.table-scroll-wide) td,.table-scroll:not(.table-scroll-wide) th,.table-wrapper:not(.table-scroll-wide) td,.table-wrapper:not(.table-scroll-wide) th{overflow-wrap:anywhere;white-space:normal!important}.table-scroll-wide{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll-wide>table{max-width:none!important;min-width:100%!important;width:-webkit-max-content!important;width:max-content!important}.table-scroll-wide th{line-height:1.5;max-width:210px;min-width:96px;overflow-wrap:normal;vertical-align:middle;white-space:normal;word-break:keep-all}.table-scroll-wide td{white-space:nowrap}.table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:5px;justify-content:center;min-width:0}.table-actions>*{-webkit-margin-end:0!important;margin-inline-end:0!important;max-width:100%}.table-actions .filter-select{font-size:.7rem;max-width:100%;padding:4px 8px;width:118px}@media (max-width:768px){.table-actions{gap:4px}.table-actions>*{flex:1 1 100%;width:100%!important}.master-content{padding:12px 10px}.page-container{padding-left:10px!important;padding-right:10px!important}.page-header,.page-header-right{flex-wrap:wrap;gap:10px}.filters-bar{gap:10px;padding:12px}.filter-group{flex:1 1 46%!important;min-width:0!important}.filter-group>input,.filter-group>select,.filter-select,.filters-bar input,.filters-bar select{min-width:0!important;width:100%!important}.master-header nav{flex-wrap:wrap}.grade-stats-row,.stats-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:480px){.filter-group{flex:1 1 100%!important}.page-title{font-size:1.15rem}.grade-stats-row,.stats-grid{grid-template-columns:1fr!important}}@media (max-width:560px){[style*=grid-template-columns]:not(.a4-page):not(.a4-page *):not([class*=print]):not([class*=print] *){grid-template-columns:1fr!important}}.modal-box,.modal-card,.modal-overlay>*{max-width:min(100%,96vw)}.modal-box,.modal-card{max-width:min(480px,96vw)}@media print{.exam-room-table-wrapper,.group-table-wrap,.table-scroll,.table-wrapper{overflow:visible!important}.table-actions{display:none!important}}@media (max-width:820px){[class*=print-overlay]{-webkit-overflow-scrolling:touch;overflow:auto!important}}.page-header:has(.btn-back){position:-webkit-sticky;position:sticky;top:116px;top:var(--header-h,0);z-index:30}.sticky-page-head>.page-header{position:static;z-index:auto}@media print{.page-header,.page-header:has(.btn-back){position:static!important;z-index:auto!important}}@media (max-width:768px){.page-header{gap:8px;margin-bottom:12px;padding:10px 12px}.page-title{font-size:1.05rem}.page-subtitle{font-size:.74rem}}.sg-row{gap:8px}.sg-row,.sg-row-lg{align-items:center;display:flex;flex-wrap:wrap}.sg-row-lg{gap:12px}.sg-card{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;padding:20px}.sg-card,.sg-note{background:#fff;background:var(--surface)}.sg-note{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;color:#0f172a;color:var(--text);font-weight:700;margin-bottom:12px;padding:10px 14px}.sg-note.danger{background:var(--tint-danger-bg);border-color:var(--tint-danger-bd);color:var(--tint-danger-fg)}.sg-note.info{background:var(--tint-info-bg);border-color:var(--tint-info-bd);color:var(--tint-info-fg)}.sg-note.success{background:var(--tint-success-bg);border-color:var(--tint-success-bd);color:var(--tint-success-fg)}.sg-note.warn{background:var(--tint-warn-bg);border-color:var(--tint-warn-bd);color:var(--tint-warn-fg)}.sg-scroll-x{max-width:100%;min-width:0;overflow-x:auto;width:100%}.sg-ellipsis{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-empty{color:#475569;color:var(--text-light);font-size:.88rem;padding:30px 0;text-align:center}.rpt-sticky{background:#f1f5f9;background:var(--bg);position:-webkit-sticky;position:sticky;top:116px;top:var(--header-h,0);z-index:30}.rpt-sticky,.rpt-sticky a,.rpt-sticky button{cursor:pointer}.rpt-sticky input,.rpt-sticky select,.rpt-sticky textarea{cursor:auto}.rpt-printbar{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e3a5f;border-radius:50px;bottom:16px;box-shadow:0 4px 16px #00000059;color:#fff;display:flex;gap:16px;justify-content:space-between;left:50%;min-width:360px;padding:10px 20px;position:fixed;transform:translateX(-50%);z-index:1000}.rpt-printbar-info{font-size:.88rem;font-weight:600}.rpt-printbar button{background:#fff;background:var(--surface);border:none;border-radius:6px;color:#334155;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:800;padding:7px 18px;white-space:nowrap}.rpt-printbar button:disabled{background:#475569;color:#94a3b8;cursor:default}.rpt-bar-spacer{height:76px}@media print{.rpt-bar-spacer,.rpt-printbar{display:none!important}.rpt-sticky{background:#0000!important;position:static!important}}:root{--bg:#fff;--bg-subtle:#f7f8fa;--surface:#fff;--border:#d8d8e0;--border-dark:#bcbcc8;--text:#1b1b1f;--text-muted:#3f3f49;--text-light:#5c5c68;--header-top-bg:#1e3a5f;--header-top-fg:#fff;--header-top-fg-2:#e0f2fe;--header-top-fg-soft:#93c5fd;--header-chip-bg:#ffffff1f;--header-chip-bd:#ffffff38;--primary-light:#f0f4ff;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #1018280a;--shadow:0 4px 16px #1018280f;--shadow-lg:0 12px 32px #1018281a;--fs-xs:0.72rem;--fs-sm:0.80rem;--fs-base:0.90rem;--fs-md:1.00rem;--fs-lg:1.15rem;--fs-xl:1.40rem;--fs-2xl:1.75rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--dur-fast:120ms;--dur:200ms;--dur-slow:320ms;--ease:cubic-bezier(.2,.7,.3,1)}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms;--dur-slow:0ms}}.sg-skel{animation:sg-skel-shimmer 1.3s ease-in-out infinite;background:linear-gradient(90deg,#f7f8fa 25%,#d8d8e0 37%,#f7f8fa 63%);background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--border) 37%,var(--bg-subtle) 63%);background-size:400% 100%;border-radius:8px;border-radius:var(--radius-sm);min-height:12px}@keyframes sg-skel-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.sg-skel{animation:none}}.sg-skel-rows{grid-gap:8px;grid-gap:var(--sp-2);display:grid;gap:8px;gap:var(--sp-2);padding:12px 0;padding:var(--sp-3) 0}.sg-skel-rows>.sg-skel{height:14px}[data-theme=dark]{--bg:#0b1220;--bg-subtle:#131c2e;--surface:#16213a;--border:#2a3a52;--border-dark:#3b4f6b;--text:#e6edf7;--text-muted:#c3d0e2;--text-light:#9fb0c8;--header-top-bg:#0d1a2b;--header-top-fg:#fff;--header-top-fg-2:#e0f2fe;--header-top-fg-soft:#93c5fd;--header-chip-bg:#ffffff1a;--header-chip-bd:#ffffff2e;--primary-light:#3b82f62e;--shadow-sm:0 1px 3px #00000059;--shadow:0 4px 14px #00000073;--shadow-lg:0 10px 28px #0000008c}[data-theme=dark] .app-header{background:#fff;background:var(--surface)}:root{--tint-info-bg:#eff6ff;--tint-info-bg2:#dbeafe;--tint-info-fg:#1e40af;--tint-info-bd:#bfdbfe;--tint-warn-bg:#fffbeb;--tint-warn-bg2:#fef3c7;--tint-warn-fg:#92400e;--tint-warn-bd:#fde68a;--tint-danger-bg:#fef2f2;--tint-danger-bg2:#fee2e2;--tint-danger-fg:#b91c1c;--tint-danger-bd:#fecaca;--tint-success-bg:#f0fdf4;--tint-success-bg2:#dcfce7;--tint-success-fg:#166534;--tint-success-bd:#bbf7d0;--tint-indigo-bg:#eef2ff;--tint-indigo-bg2:#e0e7ff;--tint-indigo-fg:#3730a3;--tint-indigo-bd:#c7d2fe;--tint-neutral-bg:#f3f4f6;--tint-neutral-bg2:#e5e7eb;--tint-neutral-fg:#334155;--tint-neutral-bd:#e2e8f0;--th-bg:#f0f0f5;--th-fg:#1e3a5f;--th-bd:#b9bccb}[data-theme=dark]{--tint-info-bg:#3b82f624;--tint-info-bg2:#3b82f642;--tint-info-fg:#bfdbfe;--tint-info-bd:#3b82f666;--tint-warn-bg:#f59e0b24;--tint-warn-bg2:#f59e0b42;--tint-warn-fg:#fcd34d;--tint-warn-bd:#f59e0b66;--tint-danger-bg:#ef444424;--tint-danger-bg2:#ef444442;--tint-danger-fg:#fca5a5;--tint-danger-bd:#ef444466;--tint-success-bg:#22c55e24;--tint-success-bg2:#22c55e42;--tint-success-fg:#86efac;--tint-success-bd:#22c55e66;--tint-indigo-bg:#818cf826;--tint-indigo-bg2:#818cf845;--tint-indigo-fg:#c7d2fe;--tint-indigo-bd:#818cf866;--tint-neutral-bg:#1b2740;--tint-neutral-bg2:#22304c;--tint-neutral-fg:#e6edf7;--tint-neutral-bd:#2a3a52;--th-bg:#1b2a44;--th-fg:#fff;--th-bd:#2a3a52}:root{--fg-blue:#1d4ed8;--fg-sky:#0369a1;--fg-teal:#0f766e;--fg-green:#166534;--fg-amber:#b45309;--fg-orange:#c2410c;--fg-red:#b91c1c;--fg-violet:#7c3aed;--fg-indigo:#4338ca;--fg-fuchsia:#a21caf}[data-theme=dark]{--fg-blue:#93c5fd;--fg-sky:#7dd3fc;--fg-teal:#5eead4;--fg-green:#86efac;--fg-amber:#fcd34d;--fg-orange:#fdba74;--fg-red:#fca5a5;--fg-violet:#c4b5fd;--fg-indigo:#a5b4fc;--fg-fuchsia:#f0abfc}:root{--modal-scrim:#0f172a29}[data-theme=dark]{--modal-scrim:#00000061;color-scheme:dark}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),[data-theme=dark] select,[data-theme=dark] textarea{background-color:#fff!important;background-color:var(--surface)!important;background-image:none!important;border-color:#bcbcc8!important;border-color:var(--border-dark)!important;color:#1b1b1f!important;color:var(--text)!important;color-scheme:dark}[data-theme=dark] datalist option,[data-theme=dark] select optgroup,[data-theme=dark] select option{background-color:#16213a!important;color:#e6edf7!important}[data-theme=dark] select option:checked,[data-theme=dark] select option:hover{background:linear-gradient(var(--primary),var(--primary))!important;color:#fff!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#5c5c68!important;color:var(--text-light)!important;opacity:1}[data-theme=dark] .a4-page input,[data-theme=dark] .a4-page select,[data-theme=dark] .a4-page textarea,[data-theme=dark] .a4-preview-wrap input,[data-theme=dark] .a4-preview-wrap select,[data-theme=dark] .a4-preview-wrap textarea,[data-theme=dark] .screen-page input,[data-theme=dark] .screen-page select,[data-theme=dark] .screen-page textarea{background-color:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important;color-scheme:light}table:not(.a4-tbl):not(.a4-date-row):not(.rpt-tbl) thead tr:not([style*=background]) th{background:#f0f0f5;background:var(--th-bg);border-bottom:2px solid #b9bccb;border-bottom:2px solid var(--th-bd);color:#1e3a5f;color:var(--th-fg)}[data-theme=dark] table:not(.a4-tbl):not(.a4-date-row):not(.rpt-tbl) thead tr:not([style*=background]) th{background:#f0f0f5!important;background:var(--th-bg)!important;background-image:none!important;border-bottom-color:#b9bccb!important;border-bottom-color:var(--th-bd)!important;color:#1e3a5f!important;color:var(--th-fg)!important}[data-theme=dark] .page-header{background:linear-gradient(135deg,#1d3252,#18293f 55%,#15283c);border-color:#94a3b84d;border-right-color:var(--primary)}[data-theme=dark] .sticky-page-head{background:#fff;background:var(--bg)}[data-theme=dark] svg text[fill="#000"],[data-theme=dark] svg text[fill="#0f172a"],[data-theme=dark] svg text[fill="#1e293b"],[data-theme=dark] svg text[fill="#1e3a5f"],[data-theme=dark] svg text[fill="#334155"],[data-theme=dark] svg text[fill="#475569"]{fill:#1b1b1f;fill:var(--text)}[data-theme=dark] svg text[fill="#64748b"],[data-theme=dark] svg text[fill="#94a3b8"],[data-theme=dark] svg text[fill="#cbd5e1"]{fill:#5c5c68;fill:var(--text-light)}[data-theme=dark] svg text[fill="#7c2d12"],[data-theme=dark] svg text[fill="#b45309"]{fill:#fbbf24}[data-theme=dark] svg rect[fill="#f0f0f5"],[data-theme=dark] svg rect[fill="#f1f5f9"],[data-theme=dark] svg rect[fill="#f8fafc"]{fill:#f7f8fa;fill:var(--bg-subtle)}[data-theme=dark] svg line[stroke="#e2e8f0"]{stroke:#d8d8e0;stroke:var(--border)}.master-header{background:#fff;background:var(--surface);border-bottom:1px solid #d8d8e0;border-bottom:1px solid var(--border);box-shadow:none;color:#1b1b1f;color:var(--text)}.master-header .header-top{border-bottom:1px solid #ffffff1f}.app-header{background:#fff;border-bottom:1px solid #d8d8e0;border-bottom:1px solid var(--border);box-shadow:none;color:#1b1b1f;color:var(--text);height:64px;padding:0 20px}.app-header-brand h1{color:#1b1b1f;color:var(--text);font-weight:800}.app-header-brand span{color:#5c5c68;color:var(--text-light);opacity:1}.header-nav-btn{background:#0000;border:1px solid #0000;border-radius:999px;color:#3f3f49;color:var(--text-muted);font-size:.85rem;font-weight:600;padding:8px 16px}.header-nav-btn:hover{background:#f4f4f7;color:#1b1b1f;color:var(--text)}.header-nav-btn.active{background:#f1f1f5;border-color:#d8d8e0;border-color:var(--border);color:#1b1b1f;color:var(--text);font-weight:700}.header-user{color:#5c5c68;color:var(--text-light);opacity:1}.header-logout-btn{background:#0000;border-color:#d8d8e0;border-color:var(--border);color:var(--danger)}.header-logout-btn:hover{background:var(--danger-light);border-color:var(--danger-light)}.page-header{background:linear-gradient(135deg,#1e3a5f,#2563eb);border:none;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 10px 24px #2563eb40;padding:20px 24px}.page-header .filter-label,.page-header .page-title,.page-header h1,.page-header h2,.page-header h3,.page-header label,.page-header p:not(.page-subtitle),.page-header>div>span,.page-header>span{color:#fff!important}.page-header .page-subtitle{color:#ffffffe6!important}.page-header input,.page-header option,.page-header select,.page-header textarea{color:#1b1b1f;color:var(--text)}.page-header .btn-back{background:#ffffff29;border-color:#fff6;color:#fff}.page-header .btn-back:hover{background:#ffffff47;color:#fff}.page-header .btn-primary{background:#fff;color:var(--primary)}.page-header .btn-primary:hover:not(:disabled){background:#eff6ff}[data-theme=dark] .page-header{background:linear-gradient(135deg,#0f2038,#1e40af);box-shadow:0 10px 24px #0006}.page-title{font-size:1.45rem;font-weight:800;letter-spacing:-.2px}.page-subtitle{font-size:.86rem}@media (max-width:760px){.hdr-btn .hdr-btn-label{display:none}.hdr-btn{padding:8px 11px}}.sgnav{background:radial-gradient(560px 200px at 50% -8%,#38bdf82e,#0000 70%),linear-gradient(180deg,#0d1b34,#10203f 55%,#0b1730);border:1px solid #94a3b838;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 16px 34px -18px #030c20bf,inset 0 1px 0 #ffffff12;color:#e2e8f0;padding:12px}.sgnav.is-min:hover{border-color:#38bdf88c}.sgnav-sep{background:#94a3b838}.sgnav-homebtn{background:#ffffff12;border:1px solid #94a3b842;color:#e2e8f0}.sgnav-homebtn:hover:not(:disabled){background:#38bdf82e;border-color:#38bdf880;color:#f0f9ff}.sgnav-min{color:#cbd5e1}.sgnav-min:hover{background:#ffffff1f;color:#f8fafc}.sgnav-btn,.sgnav-subitem{background:#0000;border-color:#0000;border-radius:10px;color:#cbd5e1;font-weight:600;padding:9px 12px;transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}.sgnav-btn:hover,.sgnav-subitem:hover{background:#ffffff17;border-color:#94a3b847;color:#f8fafc;transform:translateY(-1px)}.sgnav-btn.is-open{background:#ffffff0f}.sgnav-btn.is-active,.sgnav-subitem.is-active{background:linear-gradient(135deg,#0ea5e9,#4f46e5);border-color:#7dd3fc8c;box-shadow:0 8px 20px -8px #0ea5e9bf,inset 0 1px 0 #ffffff38;color:#fff;font-weight:800}.sgnav-btn.is-active:hover,.sgnav-subitem.is-active:hover{filter:brightness(1.08);transform:translateY(-1px)}.sgnav-sub{border-color:#94a3b838}.sgnav-ar{color:#94a3b8}@media (prefers-reduced-motion:reduce){.sgnav-btn,.sgnav-subitem{transition:none}.sgnav-btn.is-active:hover,.sgnav-btn:hover,.sgnav-subitem.is-active:hover,.sgnav-subitem:hover{transform:none}}.data-table:not(.rpt-tbl) thead tr:not([style*=background]) th{background:#f0f0f5;background:var(--th-bg);border-bottom:2px solid #b9bccb;border-bottom:2px solid var(--th-bd);color:#1e3a5f;color:var(--th-fg);font-weight:800}table:not(.a4-tbl):not(.a4-date-row) td,table:not(.a4-tbl):not(.a4-date-row) th{border-color:#d8d8e0;border-color:var(--border)}.data-table thead th:first-child,.data-table thead th:last-child{border-radius:0}.data-table tbody td{border-bottom:1px solid #d8d8e0;border-bottom:1px solid var(--border);padding:12px 14px}.data-table tbody tr:last-child td{border-bottom:none}.row-odd{background:#fff;background:var(--surface)}.card,.empty-state,.filters-bar,.stat-card,.table-scroll{border:1px solid #d8d8e0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:none}.card{padding:24px 28px}.stat-card:hover{box-shadow:0 4px 16px #1018280f;box-shadow:var(--shadow);transform:none}.dash-metric-card{background:#fff;background:var(--surface);border-color:#d8d8e0;border-color:var(--border);border-radius:16px;border-radius:var(--radius-lg);border-width:1px;padding:18px}.dash-metric-card.is-clickable:hover{box-shadow:0 4px 16px #1018280f;box-shadow:var(--shadow);transform:none}.btn-cancel,.btn-danger,.btn-export,.btn-ghost,.btn-info,.btn-primary,.btn-print,.btn-secondary,.btn-soft,.btn-success,.btn-warning{border-radius:10px;box-shadow:none;padding:9px 18px}.btn-cancel:hover:not(:disabled),.btn-export:hover:not(:disabled),.btn-primary:hover:not(:disabled),.btn-print:hover:not(:disabled){box-shadow:none;filter:brightness(1.06);transform:none}.icon-btn{border-radius:10px}.icon-btn:hover{transform:none}.btn-sm{border-radius:999px}.filter-select,.form-group input,.form-group select,.form-group textarea{border-radius:10px;border-width:1px;padding:10px 12px}.filter-label{color:#3f3f49;color:var(--text-muted);font-weight:700;letter-spacing:0;text-transform:none}.a4-page,.a4-preview-wrap,.an-print-sheet,.krooki,.print-preview,.print-preview-wrap>:not(.print-toolbar),.screen-page,.soluk-print-sheet,.ssp-preview{color:#0f172a}@media print{:root{--text:#0f172a;--text-muted:#334155;--text-light:#475569;--bg:#fff;--bg-subtle:#f8fafc;--surface:#fff;--border:#e2e8f0;--border-dark:#cbd5e1;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px}}.dash-welcome{background:radial-gradient(900px 320px at 88% -70%,#38bdf84d,#0000 62%),radial-gradient(760px 300px at 4% 145%,#8b5cf657,#0000 60%),linear-gradient(135deg,#0a1a33,#14315f 46%,#1e478f);border:1px solid #ffffff24;box-shadow:0 18px 40px -16px #08193c9e,inset 0 1px 0 #ffffff29;color:#f1f5f9}.dash-greeting{font-size:1.5rem;letter-spacing:-.2px}.dash-greeting strong{color:#fcd34d;font-weight:900}@supports ((-webkit-background-clip:text) or (background-clip:text)){.dash-greeting strong{background:linear-gradient(90deg,#fef9c3,#fcd34d 48%,#f59e0b);-webkit-background-clip:text;background-clip:text;color:#0000}}.dash-role-badge{background:#ffffff21;border:1px solid #ffffff4d;box-shadow:inset 0 1px 0 #ffffff2e;color:#f8fafc;letter-spacing:.2px}.dash-date,.dash-school{color:#e2e8f0e0;opacity:1}.dash-term-card{background:#ffffff14;border:1px solid #7dd3fc73;box-shadow:0 10px 26px -12px #0284c78c,inset 0 1px 0 #ffffff24}.btn-refresh{background:#fff;background:var(--surface);border:1px solid #bcbcc8;border:1px solid var(--border-dark);border-radius:10px;color:#1b1b1f;color:var(--text)}.btn-refresh:hover{background:#f7f8fa;background:var(--bg-subtle);border-color:var(--primary);color:var(--primary)}.dash-welcome .btn-refresh{background:#ffffff24;border:1px solid #ffffff52;box-shadow:inset 0 1px 0 #ffffff29;color:#f8fafc}.dash-welcome .btn-refresh:hover{background:#ffffff3d;border-color:#ffffff80;color:#fff}.wp-paper input,.wp-paper select,.wp-paper textarea{background:#fff!important;border:1.5px solid #111!important;color:#111!important}.wp-paper input::placeholder,.wp-paper textarea::placeholder{color:#5f5e5a!important}