@import"https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700;800&display=swap";:root{--bg0: #070d1a;--bg1: #0c1528;--bg2: #101d35;--panel: rgba(255,255,255,.055);--panel-hover: rgba(255,255,255,.08);--stroke: rgba(255,255,255,.1);--stroke-strong: rgba(255,255,255,.18);--text: #e8eeff;--muted: #8a96b8;--ok: #22c55e;--warn: #f59e0b;--bad: #ef4444;--info: #60a5fa;--accent: #7c6aff;--shadow: 0 20px 50px rgba(0,0,0,.45);--shadow-sm: 0 4px 16px rgba(0,0,0,.3);--r: 16px;--r-sm: 12px;--r-xs: 8px;--mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--font: "Tajawal", system-ui, "Noto Sans Arabic", Tahoma, sans-serif}:root[data-theme=light]{--bg0: #f8fbfd;--bg1: #eef4f9;--bg2: #e7eef6;--panel: rgba(255,255,255,.82);--panel-hover: rgba(255,255,255,.96);--stroke: rgba(45,74,108,.14);--stroke-strong: rgba(45,74,108,.22);--text: #132238;--muted: #62738b;--accent: #2563eb;--shadow: 0 20px 46px rgba(15,23,42,.1);--shadow-sm: 0 10px 24px rgba(15,23,42,.07);--light-paper: #ffffff;--light-surface: #fbfdff;--light-surface-2: #f3f7fb;--light-surface-3: #eaf1f8;--light-border: #d6e0eb;--light-border-strong: #bfd0e2;--light-ring: rgba(37,99,235,.14);--light-accent-soft: rgba(37,99,235,.1);--light-accent-strong: rgba(37,99,235,.18);--light-indigo-soft: rgba(79,70,229,.1);--light-success-soft: rgba(34,197,94,.1);--light-warn-soft: rgba(245,158,11,.12);--light-danger-soft: rgba(239,68,68,.1);color-scheme:light}:root[data-theme=light] body{background:radial-gradient(ellipse 980px 640px at 8% 0%,rgba(59,130,246,.11) 0%,transparent 64%),radial-gradient(ellipse 720px 520px at 96% 12%,rgba(14,165,233,.08) 0%,transparent 58%),radial-gradient(ellipse 640px 460px at 50% 100%,rgba(148,163,184,.1) 0%,transparent 62%),linear-gradient(180deg,var(--bg0) 0%,var(--bg1) 52%,var(--bg2) 100%);color:var(--text)}:root[data-theme=light] #loginScreen{background:radial-gradient(ellipse 780px 500px at 18% 10%,rgba(37,99,235,.12) 0%,transparent 64%),radial-gradient(ellipse 640px 420px at 86% 82%,rgba(14,165,233,.1) 0%,transparent 56%),linear-gradient(180deg,#fbfdff,#f1f6fb 58%,#e8eff7)}:root[data-theme=light] ::-webkit-scrollbar-track{background:#0f172a0f}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#2563eb47}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#2563eb6b}:root[data-theme=light] .topbar,:root[data-theme=light] .admin-topbar,:root[data-theme=light] .super-topbar{background:linear-gradient(180deg,#ffffffe6,#f8fbffe0)!important;border-color:#2d4a6c24!important;box-shadow:0 12px 28px #0f172a14!important}:root[data-theme=light] .main-card,:root[data-theme=light] .admin-filter-card,:root[data-theme=light] .admin-table-card,:root[data-theme=light] .stats-section,:root[data-theme=light] .super-stats-grid .stat-card,:root[data-theme=light] .stats-grid .stat-card,:root[data-theme=light] .login-card,:root[data-theme=light] .modal-box,:root[data-theme=light] .voice-panel{background:linear-gradient(180deg,#fffffff5,#f6f9fdf5)!important;border-color:#2d4a6c24!important;box-shadow:0 14px 32px #0f172a14,inset 0 1px #ffffffd9!important}:root[data-theme=light] .card-header,:root[data-theme=light] .admin-table-header{background:linear-gradient(180deg,#2563eb0a,#2563eb05)!important;border-bottom-color:#2d4a6c1f!important}:root[data-theme=light] .stats-section-title,:root[data-theme=light] .super-stats-grid .stat-lbl,:root[data-theme=light] .stats-grid .stat-lbl{color:#31445c!important}:root[data-theme=light] .super-stats-grid .stat-sub,:root[data-theme=light] .stats-grid .stat-sub{color:#708198!important}:root[data-theme=light] .super-stats-grid .stat-icon,:root[data-theme=light] .stats-grid .stat-icon{background:linear-gradient(180deg,#2563eb14,#2563eb08);border-color:#2d4a6c29}:root[data-theme=light] .stats-grid .stat-card:hover,:root[data-theme=light] .super-stats-grid .stat-card:hover{border-color:#2563eb33;box-shadow:0 16px 30px #0f172a1a,inset 0 1px #ffffffeb!important}:root[data-theme=light] .school-info h1,:root[data-theme=light] .card-header .h-title,:root[data-theme=light] .account-user-text,:root[data-theme=light] .admin-title-text h2,:root[data-theme=light] .super-title-text h2,:root[data-theme=light] .login-title,:root[data-theme=light] .info-row-title{color:#17304f!important}:root[data-theme=light] .modal-title{color:#1d4ed8!important}:root[data-theme=light] .school-info .sub,:root[data-theme=light] .admin-title-text p,:root[data-theme=light] .super-title-text p,:root[data-theme=light] .login-sub,:root[data-theme=light] .login-footer,:root[data-theme=light] .info-row-text,:root[data-theme=light] .footer-info,:root[data-theme=light] .admin-empty,:root[data-theme=light] .loading-row td{color:#62738b!important}:root[data-theme=light] button{background:linear-gradient(180deg,var(--light-paper),var(--light-surface-2));border-color:#2d4a6c29;color:#17304f;box-shadow:0 2px 8px #0f172a0a}:root[data-theme=light] button:hover{background:linear-gradient(180deg,#fff,#eef4fb);box-shadow:0 8px 18px #0f172a14}:root[data-theme=light] button.primary{background:linear-gradient(180deg,#22c55e21,#22c55e12);border-color:#22c55e3d;color:#166534}:root[data-theme=light] button.primary:hover{background:linear-gradient(180deg,#22c55e2e,#22c55e1a);box-shadow:0 10px 20px #22c55e1a}:root[data-theme=light] button.info{background:linear-gradient(180deg,#2563eb1c,#2563eb0d);border-color:#2563eb38;color:#1d4ed8}:root[data-theme=light] button.info:hover{background:linear-gradient(180deg,#2563eb29,#2563eb14);box-shadow:0 10px 20px #2563eb1c}:root[data-theme=light] button.accent{background:linear-gradient(180deg,#4f46e51c,#4f46e50d);border-color:#4f46e538;color:#4338ca}:root[data-theme=light] button.accent:hover{background:linear-gradient(180deg,#4f46e529,#4f46e514);box-shadow:0 10px 20px #4f46e51a}:root[data-theme=light] button.danger{background:linear-gradient(180deg,#ef44441c,#ef44440d);border-color:#ef444433;color:#b91c1c}:root[data-theme=light] button.danger:hover{background:linear-gradient(180deg,#ef444429,#ef444414);box-shadow:0 10px 20px #ef44441a}:root[data-theme=light] .account-btn{background:linear-gradient(180deg,#2563eb1c,#2563eb0f);border-color:#2563eb33;color:#1d4ed8;box-shadow:0 8px 18px #2563eb1a}:root[data-theme=light] .account-btn:hover{background:linear-gradient(180deg,#2563eb29,#2563eb14);box-shadow:0 10px 22px #2563eb1f}:root[data-theme=light] .login-btn{background:linear-gradient(180deg,#2563eb29,#2563eb17);border-color:#2563eb3d;color:#17479e;box-shadow:0 10px 22px #2563eb1f}:root[data-theme=light] .login-btn:hover{background:linear-gradient(180deg,#2563eb33,#2563eb1f);box-shadow:0 12px 24px #2563eb26}:root[data-theme=light] .login-info-btn{border-color:#2563eb3d;background:#2563eb17;color:#1d4ed8;box-shadow:0 6px 14px #2563eb1a}:root[data-theme=light] .login-info-btn:hover{background:#2563eb24}:root[data-theme=light] select,:root[data-theme=light] input[type=number],:root[data-theme=light] input[type=text],:root[data-theme=light] input[type=file],:root[data-theme=light] input[type=password]{background:linear-gradient(180deg,#fffffffa,#f7fafdfa)!important;color:#132238!important;border-color:#2d4a6c29!important}:root[data-theme=light] select:hover,:root[data-theme=light] input:hover{border-color:#2563eb3d!important}:root[data-theme=light] select:focus,:root[data-theme=light] input:focus{border-color:#2563eb52!important;box-shadow:0 0 0 3px var(--light-ring)!important;background:#fff!important}:root[data-theme=light] input[readonly]{color:#73849b;background:linear-gradient(180deg,#f5f8fcfa,#f0f5fafa)}:root[data-theme=light] input::placeholder,:root[data-theme=light] .login-field input::placeholder,:root[data-theme=light] .table-inline-search input::placeholder,:root[data-theme=light] .admin-search-wrap input::placeholder{color:#8b9ab0}:root[data-theme=light] select option{background:#fff;color:#132238}:root[data-theme=light] .table-inline-search,:root[data-theme=light] .admin-search-wrap input{background:#fffffff0!important;border-color:#2d4a6c24!important;color:#132238!important}:root[data-theme=light] .search-icon{color:#7a8aa1}:root[data-theme=light] .admin-table-top-scroll{background:#2563eb08;border-bottom-color:#2d4a6c1a}:root[data-theme=light] thead th,:root[data-theme=light] .admin-table thead th{background:linear-gradient(180deg,#f6f9fcfa,#eef4f9fa)!important;color:#51637b!important;border-bottom-color:#2d4a6c24!important}:root[data-theme=light] tbody td,:root[data-theme=light] .admin-table tbody td{border-bottom-color:#0f172a0f!important;color:#132238}:root[data-theme=light] tbody tr:hover,:root[data-theme=light] .admin-table tbody tr:hover{background:#2563eb0b!important}:root[data-theme=light] tbody tr.row-active,:root[data-theme=light] .admin-table tbody tr.row-active{background:#4f46e512!important}:root[data-theme=light] tbody tr.row-selected,:root[data-theme=light] .admin-table tbody tr.row-selected,:root[data-theme=light] .admin-table tbody tr.admin-row-selected{background:#2563eb14!important;box-shadow:inset 0 0 0 1px #2563eb29}:root[data-theme=light] tbody tr.voice-active{background:#22c55e14!important;box-shadow:inset 0 0 0 1px #22c55e33}:root[data-theme=light] tbody tr.invalid-row{background:#ef44440f!important}:root[data-theme=light] .status-bar{background:linear-gradient(180deg,#fffffff0,#f3f7fcf0);border-color:#2d4a6c24;color:#17304f}:root[data-theme=light] .status-sub{color:#76879d}:root[data-theme=light] .student-spotlight{border-color:#2563eb24;background:linear-gradient(135deg,#2563eb0f,#0ea5e90a)}:root[data-theme=light] .student-spotlight:before{background:radial-gradient(circle,rgba(37,99,235,.1),transparent 72%)}:root[data-theme=light] .student-spotlight:after{background:linear-gradient(135deg,rgba(37,99,235,.22),rgba(14,165,233,.12),transparent)}:root[data-theme=light] .spotlight-icon{background:linear-gradient(135deg,#2563eb26,#0ea5e91a);border-color:#2563eb29;color:#1d4ed8}:root[data-theme=light] .spotlight-name{color:#17304f;background:linear-gradient(135deg,#17304f,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:root[data-theme=light] .spotlight-row-num{background:#2563eb14;border-color:#2563eb1f;color:#45617f}:root[data-theme=light] .chip,:root[data-theme=light] .result-chip{border-color:#2d4a6c24;background:#ffffffd1;color:#17304f}:root[data-theme=light] .chip.ok,:root[data-theme=light] .result-chip.ok{border-color:#22c55e2e;background:#22c55e14;color:#166534}:root[data-theme=light] .chip.warn,:root[data-theme=light] .result-chip.warn{border-color:#f59e0b33;background:#f59e0b1a;color:#a16207}:root[data-theme=light] .chip.bad,:root[data-theme=light] .result-chip.bad{border-color:#ef44442e;background:#ef444414;color:#b91c1c}:root[data-theme=light] .login-err{background:#ef444414;border-color:#ef44442e;color:#b91c1c}:root[data-theme=light] .modal-overlay{background:#0f172a47}:root[data-theme=light] .loading-spinner{border-color:#2563eb24;border-top-color:#2563ebe0;box-shadow:0 0 16px #2563eb1f}:root[data-theme=light] .loading-text{color:#17304f}:root[data-theme=light] .quick-notice{background:linear-gradient(180deg,#fffffffa,#f6f9fdfa);border-color:#2d4a6c24;color:#132238;box-shadow:0 18px 36px #0f172a1f}:root[data-theme=light] .quick-notice-btn{border-color:#2563eb2e;background:#2563eb12;color:#1d4ed8}:root[data-theme=light] .quick-notice.info{border-color:#2563eb3d}:root[data-theme=light] .quick-notice.warn{border-color:#f59e0b3d}:root[data-theme=light] .quick-notice.bad{border-color:#ef44443d}:root[data-theme=light] .voice-row,:root[data-theme=light] .voice-preview-wrap{border-color:#2d4a6c1f;background:#ffffffc7}:root[data-theme=light] .voice-sn-input,:root[data-theme=light] .voice-value{background:#ffffffeb;border-color:#2d4a6c24;color:#17304f}:root[data-theme=light] .voice-value.listening{color:#15803d;text-shadow:none}:root[data-theme=light] .voice-preview{color:#34485f}:root[data-theme=light] .voice-values-table{border-color:#2563eb24;background:#fffffffa}:root[data-theme=light] .voice-values-table th{background:#f1f6fbf5;border-left-color:#2d4a6c1a}:root[data-theme=light] .voice-values-table td{color:#1d4ed8;background:#fffffffa;border-left-color:#2d4a6c1a}*{box-sizing:border-box;margin:0;padding:0}html{direction:rtl;scroll-behavior:smooth}body{font-family:var(--font);background:radial-gradient(ellipse 900px 600px at 10% 0%,rgba(96,100,255,.18) 0%,transparent 60%),radial-gradient(ellipse 700px 500px at 95% 15%,rgba(124,106,255,.12) 0%,transparent 55%),radial-gradient(ellipse 500px 400px at 50% 100%,rgba(30,60,120,.2) 0%,transparent 60%),linear-gradient(175deg,var(--bg0) 0%,var(--bg1) 50%,var(--bg2) 100%);color:var(--text);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#00000026;border-radius:10px}::-webkit-scrollbar-thumb{background:#7c6aff59;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#7c6aff8c}.wrap{max-width:1360px;margin:0 auto;padding:16px 14px 60px}.topbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#0c1528eb;border:1px solid var(--stroke-strong);border-radius:var(--r);box-shadow:var(--shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:sticky;top:8px;z-index:100}.school-logo{display:flex;align-items:center;flex-shrink:0}.school-info{text-align:right}.school-info h1{font-size:clamp(14px,2.2vw,18px);font-weight:700;color:#c8d4ff;line-height:1.2;white-space:nowrap}.school-info .sub{font-size:clamp(11px,1.5vw,13px);color:var(--muted);margin-top:3px}.top-actions{display:flex;flex-direction:row;gap:8px;align-items:center;flex-wrap:nowrap}button{border:1px solid var(--stroke-strong);background:#ffffff0f;color:var(--text);padding:9px 14px;border-radius:var(--r-sm);cursor:pointer;transition:all .18s ease;font-weight:600;font-family:var(--font);font-size:clamp(12px,1.8vw,14px);white-space:nowrap;letter-spacing:.01em}button:hover{transform:translateY(-1px);background:#ffffff1a;box-shadow:0 4px 14px #0000004d}button:active{transform:translateY(0)}button.primary{background:linear-gradient(135deg,#22c55e40,#22c55e26);border-color:#22c55e73;color:#4ade80}button.primary:hover{background:linear-gradient(135deg,#22c55e59,#22c55e38);box-shadow:0 4px 18px #22c55e40}button.danger{background:#ef44441f;border-color:#ef444459;color:#f87171}button.danger:hover{background:#ef444433;box-shadow:0 4px 14px #ef444433}button.info{background:#60a5fa21;border-color:#60a5fa59;color:#93c5fd}button.info:hover{background:#60a5fa38;box-shadow:0 4px 14px #60a5fa33}button.accent{background:#7c6aff29;border-color:#7c6aff66;color:#a5b4fc}button.accent:hover{background:#7c6aff42;box-shadow:0 4px 14px #7c6aff40}button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.lucide{width:1em;height:1em;stroke-width:2.15;vertical-align:middle;flex-shrink:0}button.with-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px}button.with-icon .lucide{width:16px;height:16px}#btnPrint .lucide,#btnVoiceEntry .lucide,#btnLoadLookups .lucide,#btnSubmit .lucide{width:18px;height:18px}.account-btn{width:40px;height:40px;padding:0;border-radius:12px;display:grid;place-items:center;font-size:18px;background:#7c6aff26;border-color:#7c6aff66;color:#c7d2fe;box-shadow:0 10px 24px #00000040}.account-btn .lucide{width:18px;height:18px}.account-btn:hover{background:#7c6aff47;box-shadow:0 12px 30px #7c6aff33}.account-area{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:0}.account-user-text{font-size:13px;font-weight:700;color:#d8e2ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}.theme-toggle-btn{width:100%;justify-content:flex-start;min-height:42px}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.theme-toggle-btn .lucide{width:18px;height:18px}.main-card{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden;margin-top:14px;transition:border-color .2s}.card-header{padding:13px 16px;background:#ffffff09;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card-header .h-title{font-weight:700;font-size:14px;color:#c8d4ff;display:flex;align-items:center;gap:8px}.card-header .h-title:before{content:"";width:3px;height:18px;border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--info));display:block}.exam-header{min-height:46px}.card-body{padding:16px}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.f1{grid-column:span 1}.f2{grid-column:span 2}.f3{grid-column:span 3}.f4{grid-column:span 4}.f6{grid-column:span 6}.f12{grid-column:span 12}label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500;letter-spacing:.03em}select,input[type=number],input[type=text],input[type=file]{width:100%;padding:10px 14px;border-radius:var(--r-sm);border:1px solid var(--stroke);background:#00000047;color:var(--text);outline:none;font-family:var(--font);font-size:14px;transition:all .2s ease}input[type=file]{cursor:pointer;padding:8px 10px}input[type=file]::file-selector-button{margin-left:10px;border:1px solid var(--stroke-strong);border-radius:10px;background:#7c6aff29;color:#dbe5ff;padding:6px 12px;font-family:var(--font);cursor:pointer}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238a96b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:18px;padding-left:40px;cursor:pointer}select option{background:#111e36;color:var(--text);padding:10px}select option.admin-filter-zero-option,select option[data-zero-entry="1"]{color:#f87171;font-weight:700}select.admin-filter-selected-zero{color:#f87171;border-color:#ef4444a6;box-shadow:0 0 0 3px #ef444424}input[type=number]{font-family:var(--mono);text-align:center;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}select:hover,input:hover{border-color:#7c6aff66}select:focus,input:focus{border-color:#7c6affa6;box-shadow:0 0 0 3px #7c6aff26;background:#00000061}input[readonly]{color:var(--muted);background:#0000002e;cursor:default}input[readonly]:hover{border-color:var(--stroke)}input[readonly]:focus{box-shadow:none;border-color:var(--stroke)}.status-bar{display:none;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-sm);border:1px solid var(--stroke);background:#ffffff0a;margin-top:12px;font-size:13px;animation:fadeIn .3s ease}.status-bar.show{display:flex}.dot{width:9px;height:9px;border-radius:50%;background:var(--info);flex-shrink:0;box-shadow:0 0 8px currentColor}.status-bar.loading .dot{width:14px;height:14px;border:2px solid rgba(124,106,255,.25);border-top-color:#7c6affe6;background:transparent;box-shadow:none;animation:spin .7s linear infinite}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}.dot.warn{background:var(--warn)}.status-msg{font-weight:700}.status-sub{font-size:11px;color:var(--muted);font-family:var(--mono);margin-top:2px}.student-spotlight{position:relative;overflow:hidden;border-radius:var(--r);border:1px solid rgba(124,106,255,.2);background:linear-gradient(135deg,#7c6aff14,#60a5fa0f,#7c6aff0a);padding:0;margin-bottom:14px;transition:all .35s cubic-bezier(.4,0,.2,1);max-height:0;opacity:0;transform:translateY(-8px)}.student-spotlight.visible{max-height:100px;opacity:1;transform:translateY(0);padding:14px 20px}.student-spotlight:before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(124,106,255,.2),transparent 70%);pointer-events:none}.student-spotlight:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r);padding:1px;background:linear-gradient(135deg,rgba(124,106,255,.5),rgba(96,165,250,.3),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.spotlight-inner{display:flex;align-items:center;gap:16px}.spotlight-icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7c6aff66,#60a5fa4d);border:1px solid rgba(124,106,255,.4);display:grid;place-items:center;flex-shrink:0}.spotlight-icon .lucide{width:18px;height:18px}.spotlight-content{flex:1;min-width:0}.spotlight-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.spotlight-name{font-size:clamp(15px,3vw,20px);font-weight:700;color:#e0e8ff;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(135deg,#e0e8ff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.spotlight-row-num{font-size:12px;color:var(--muted);font-family:var(--mono);background:#7c6aff26;border:1px solid rgba(124,106,255,.25);padding:3px 10px;border-radius:99px;flex-shrink:0}.table-section{margin-top:14px}.table-scroll{overflow-x:auto;overflow-y:auto;max-height:580px;-webkit-overflow-scrolling:touch}.table-inline-search{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--stroke);background:#ffffff0a;border-radius:12px;padding:0 12px;min-width:230px;height:40px}.table-inline-search .search-icon{color:var(--muted);display:inline-flex;align-items:center;justify-content:center;line-height:1}.table-inline-search .search-icon .lucide{width:16px;height:16px}.table-inline-search input{border:none;background:transparent;color:var(--text);width:100%;font-size:13px;outline:none;padding:0}.table-inline-search input::placeholder{color:var(--muted)}table{width:100%;border-collapse:collapse;min-width:700px}thead th{position:sticky;top:0;background:#070d1af7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);text-align:right;font-size:12px;font-weight:600;letter-spacing:.04em;padding:13px 10px;border-bottom:1px solid var(--stroke-strong);white-space:nowrap;z-index:2}thead th:first-child{border-radius:0}tbody td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle;transition:background .15s}tbody tr{transition:background .15s}tbody tr:hover{background:#7c6aff0f}tbody tr.row-active{background:#7c6aff1a!important}tbody tr.row-active td:first-child{border-right:3px solid rgba(124,106,255,.8)}tbody tr.row-selected{background:#60a5fa14}tbody tr.row-selected td:first-child{border-right:3px solid rgba(96,165,250,.85)}tbody tr.voice-active{background:#22c55e1a!important;box-shadow:inset 0 0 0 1px #22c55e66}tbody tr.voice-active td:first-child{border-right:3px solid rgba(34,197,94,.9)!important}tbody tr.invalid-row td:first-child{border-right:3px solid rgba(239,68,68,.8)}tbody tr.invalid-row{background:#ef44440d}tbody td.grid-selected{background:#3b82f638!important;box-shadow:inset 0 0 0 1px #60a5fabf}tbody td.grid-anchor{box-shadow:inset 0 0 0 2px #7dd3fcf2!important}.name-cell{min-width:220px}.num-cell,.total-cell{width:90px;min-width:80px}.plan-cell{min-width:190px}tbody input[type=text],tbody input[type=number]{padding:8px 10px;font-size:13px;border-radius:var(--r-xs)}tbody input[type=number]{text-align:center;padding:8px 6px}tbody input[type=number].mark-over-limit{color:#f87171;border-color:#ef4444b8;box-shadow:0 0 0 2px #ef444424;background:#7f1d1d26}.select-row-btn.active{background:#22c55e38;border-color:#22c55e73;color:#4ade80}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 10px;border-radius:99px;border:1px solid var(--stroke);background:#ffffff0d;color:var(--text);white-space:nowrap;font-weight:600}.chip.ok{border-color:#22c55e66;background:#22c55e1f;color:#4ade80}.chip.bad{border-color:#ef444466;background:#ef44441a;color:#f87171}.chip.warn{border-color:#f59e0b66;background:#f59e0b1a;color:#fbbf24}#validChip{min-height:40px;padding:0 14px;border-radius:12px;font-size:13px;line-height:1}.row-num{color:var(--muted);font-family:var(--mono);font-size:11px;text-align:center;width:36px;min-width:36px}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.footer-info{font-size:12px;color:var(--muted)}.mono{font-family:var(--mono)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;justify-content:center;align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:16px}.modal-overlay.visible{display:flex}.modal-box{background:linear-gradient(175deg,#152035,#0c1528);border:1px solid var(--stroke-strong);border-radius:var(--r);padding:24px;max-width:440px;width:100%;box-shadow:0 30px 80px #0009;animation:modalIn .3s cubic-bezier(.34,1.56,.64,1)}.account-modal{max-width:520px}.loading-box{max-width:360px;text-align:center;padding:26px 24px}.loading-spinner{width:46px;height:46px;margin:0 auto 14px;border:3px solid rgba(124,106,255,.18);border-top-color:#7c6affe6;border-radius:50%;animation:spin .7s linear infinite;box-shadow:0 0 18px #7c6aff40}.loading-text{font-size:16px;font-weight:800;color:#dbe5ff;margin-bottom:6px}.loading-sub{font-size:12px;color:var(--muted);font-family:var(--mono)}.loading-actions{margin-top:12px;display:flex;justify-content:center}.loading-close{display:none;padding:8px 16px;font-size:12px}.modal-overlay.loading-error .loading-spinner{display:none}.modal-overlay.loading-error .loading-text{color:var(--bad)}.modal-overlay.loading-error .loading-close{display:inline-flex}.modal-overlay.loading-success .loading-text{color:var(--ok)}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-title{font-size:18px;font-weight:800;color:var(--warn)}.modal-title.with-icon{display:inline-flex;align-items:center;gap:8px}.modal-title.with-icon .lucide{width:19px;height:19px}.modal-message{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:22px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-header{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;gap:10px;margin-bottom:12px}.modal-header .danger{padding:8px 14px;font-size:12px}.account-modal-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.account-modal-header .modal-title{justify-self:center}.account-modal-close{width:36px;height:36px;padding:0;border-radius:10px;display:inline-grid;place-items:center;line-height:1}.account-modal-close .lucide{width:17px;height:17px}.print-modal{max-width:680px}.print-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:6px}.print-option-btn{text-align:right;justify-content:flex-start;white-space:normal;line-height:1.35;min-height:46px;font-size:13px}.print-option-btn.with-icon{align-items:flex-start;gap:8px}.print-option-btn.with-icon .lucide{margin-top:1px;color:#86efac}.voice-panel{position:fixed;left:14px;bottom:14px;width:min(360px,calc(100vw - 24px));border-radius:16px;border:1px solid rgba(34,197,94,.28);background:linear-gradient(165deg,#0c1528f5,#081020f2);box-shadow:0 24px 60px #00000075;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:12px;z-index:900;display:none;max-height:calc(100vh - 24px);overflow:auto}.voice-panel.visible{display:block}.voice-panel-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;position:relative;padding-top:2px}.voice-panel-header .danger{margin-inline-start:auto}.voice-panel.dragging .voice-panel-header{cursor:grabbing}.voice-title{font-size:14px;font-weight:800;color:#dcfce7;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap}.voice-row{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;border-radius:10px;padding:8px 10px;margin-bottom:6px}.voice-sn-input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#02061799;color:var(--text);font-size:13px;outline:none;text-align:center;font-family:var(--mono)}.voice-sn-input:focus{border-color:#60a5fab3;box-shadow:0 0 0 2px #60a5fa2e}.voice-label{font-size:11px;color:var(--muted);font-weight:700;text-align:right}.voice-value{font-size:13px;color:#e2e8f0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-weight:700;display:block;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#02061799;text-align:center}.voice-value.listening{color:#4ade80;text-shadow:0 0 10px rgba(34,197,94,.25)}.voice-preview-wrap{border:1px solid rgba(255,255,255,.08);background:#02061773;border-radius:10px;padding:8px 10px;margin-top:4px}.voice-preview-label{font-size:11px;color:var(--muted);margin-bottom:5px;text-align:right}.voice-values-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed;margin-bottom:6px;border:1px solid rgba(37,99,235,.45);border-radius:10px;overflow:hidden;background:#020617bf}.voice-values-table th,.voice-values-table td{border:0;padding:8px 4px;text-align:center;font-size:11px;width:33.333%}.voice-values-table th{color:var(--muted);background:#091121e6;font-weight:700;letter-spacing:.2px;border-left:1px solid rgba(37,99,235,.55)}.voice-values-table thead th{border-bottom-width:2px;border-bottom:2px solid rgba(37,99,235,.75)}.voice-values-table td{color:#dbeafe;font-weight:700;font-size:13px;background:#020617bf;border-left:1px solid rgba(37,99,235,.55)}.voice-values-table th:first-child,.voice-values-table td:first-child{border-left:0}.voice-preview{font-size:12px;color:#f8fafc;min-height:18px;line-height:1.45;word-break:break-word;max-height:44px;overflow:auto;opacity:.85}.voice-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.voice-actions button{width:100%;justify-content:center;font-size:12px;padding:8px 6px;border-radius:12px;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,border-color .18s ease,filter .18s ease}.voice-actions button.voice-btn-active{box-shadow:0 0 0 1px #ffffff14 inset,0 10px 24px #0f172a57;filter:saturate(1.15) brightness(1.06)}.voice-actions button.voice-btn-idle{opacity:.92;filter:saturate(.9) brightness(.96)}.voice-actions button:disabled,.voice-actions button.voice-btn-disabled{opacity:.38;filter:grayscale(.18) saturate(.5);box-shadow:none;border-color:#94a3b82e}.voice-actions button#voiceStartBtn.voice-btn-active{box-shadow:0 0 0 1px #818cf838 inset,0 0 18px #4f46e547}.voice-actions button#voiceStopBtn.voice-btn-active{box-shadow:0 0 0 1px #60a5fa33 inset,0 0 18px #2563eb3d}.voice-actions button#voiceUndoBtn.voice-btn-active{box-shadow:0 0 0 1px #f871712e inset,0 0 18px #dc262638}.quick-notice{position:fixed;left:50%;top:50%;bottom:auto;background:#0f172af2;border:1px solid rgba(255,255,255,.16);color:#e2e8f0;border-radius:18px;padding:18px 24px;font-size:16px;z-index:901;opacity:0;transform:translate(-50%,14px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;max-width:min(760px,calc(100vw - 24px));display:flex;align-items:center;gap:14px;justify-content:space-between}.quick-notice-text{flex:1;min-width:0;line-height:1.8}.quick-notice-btn{display:none;flex:0 0 auto;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#f8fafc;border-radius:10px;padding:8px 14px;font-size:14px;pointer-events:auto}.quick-notice.require-ack{pointer-events:auto}.quick-notice.require-ack .quick-notice-btn{display:inline-flex;align-items:center;justify-content:center}.quick-notice.show{opacity:1;transform:translate(-50%)}.quick-notice.info{border-color:#60a5fa66}.quick-notice.warn{border-color:#f59e0b73}.quick-notice.bad{border-color:#ef444473}.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--stroke-strong),transparent);margin:4px 0}.tip-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);background:#f59e0b12;border:1px solid rgba(245,158,11,.18);border-radius:var(--r-xs);padding:9px 12px}#printSheet{display:none}.print-page{background:#fff;color:#111827;width:210mm;min-height:297mm;margin:0 auto;padding:12mm 10mm;font-family:var(--font)}.print-head{border-bottom:1px solid #d1d5db;padding-bottom:8px;margin-bottom:10px}.print-school{font-size:17px;font-weight:800;margin-bottom:6px}.print-title{font-size:15px;font-weight:700;margin-bottom:6px}.print-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;font-size:12px;color:#1f2937}.print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.print-table th,.print-table td{border:1px solid #9ca3af;padding:6px 5px;text-align:center;vertical-align:middle;color:#111827;background:#fff}.print-table th{background:#f3f4f6;font-weight:700}.print-table .print-name{text-align:right;font-weight:600;width:26%}.print-summary-sheet{display:flex;flex-direction:column;gap:20px;margin-top:8px}.print-summary-section{border-top:1px solid #d1d5db;padding-top:14px}.print-summary-section:first-child{border-top:none;padding-top:0}.print-summary-heading{margin:0 0 8px;font-size:22px;font-weight:700;text-align:right;color:#111827}.print-summary-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12.5px}.print-summary-table th,.print-summary-table td{padding:6px 8px;text-align:center;color:#111827;background:#fff;border-bottom:1px solid #e5e7eb}.print-summary-table thead th{font-weight:700;border-top:1px solid #d1d5db;border-bottom:1px solid #d1d5db}.print-summary-table td.align-right{text-align:right}.print-empty{padding:16px;border:1px dashed #9ca3af;border-radius:10px;color:#4b5563;text-align:center;font-size:13px;background:#fff}@media print{html,body{background:#fff!important;color:#000!important}body{margin:0!important;padding:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body *{visibility:hidden!important}#printSheet,#printSheet *{visibility:visible!important}#printSheet{display:block!important;position:absolute;top:0;right:0;bottom:0;left:0;background:#fff!important}#printSheet .print-page{margin:0 auto!important;box-shadow:none!important;border:none!important}#printSheet .print-table th,#printSheet .print-table td,#printSheet .print-summary-table th,#printSheet .print-summary-table td{background:#fff!important;color:#000!important}.voice-panel,.quick-notice,.modal-overlay{display:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.f4,.f3{grid-column:span 6}}@media (max-width: 640px){.topbar{flex-direction:column;align-items:stretch;top:4px;padding:12px;gap:10px}.school-logo{justify-content:center}.school-info{text-align:center}.school-info h1{white-space:normal;font-size:15px}.top-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex-direction:unset;flex-wrap:unset}.top-actions button{font-size:12px;padding:10px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions .btn-submit-top{grid-column:span 1;font-size:12px;padding:10px 8px}.table-inline-search{min-width:100%}.voice-panel{left:8px;right:8px;width:auto;bottom:8px;max-height:calc(100vh - 16px)}.voice-values-table{min-width:0!important;width:100%!important}.voice-values-table th,.voice-values-table td{white-space:nowrap}.quick-notice{left:50%;right:auto;width:calc(100vw - 24px);max-width:min(760px,calc(100vw - 24px))}.f4,.f6,.f3{grid-column:span 12}.card-body{padding:12px}.form-grid{gap:9px}table{min-width:620px}}@media (max-width: 380px){.school-info h1{font-size:13px}.top-actions button{font-size:11px;padding:9px 5px}}#loginScreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse 800px 500px at 20% 10%,rgba(96,100,255,.22) 0%,transparent 60%),radial-gradient(ellipse 600px 400px at 85% 80%,rgba(124,106,255,.15) 0%,transparent 55%),linear-gradient(175deg,#060c18,#0a1222,#0d1830)}#loginScreen.hidden{display:none}.login-card{width:100%;max-width:400px;background:#ffffff0e;border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:36px 30px 30px;box-shadow:0 30px 80px #0000008c,0 0 0 1px #7c6aff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:loginIn .5s cubic-bezier(.34,1.4,.64,1)}@keyframes loginIn{0%{opacity:0;transform:translateY(28px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-top{text-align:center;margin-bottom:28px}.login-icon{width:68px;height:68px;border-radius:20px;background:linear-gradient(135deg,#7c6aff80,#60a5fa59);border:1px solid rgba(124,106,255,.45);display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 8px 28px #7c6aff4d}.login-icon .lucide{width:32px;height:32px}.login-title{font-size:19px;font-weight:800;color:#d4dcff;margin-bottom:4px}.login-sub{font-size:13px;color:var(--muted)}.login-role{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:0 0 18px}.role-btn{border:1px solid rgba(124,106,255,.35);background:#7c6aff1f;color:#c7d2fe;padding:10px 12px;border-radius:12px;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s ease}.role-btn.active{background:linear-gradient(135deg,#7c6aff73,#60a5fa59);border-color:#7c6aff99;box-shadow:0 8px 20px #7c6aff40;color:#eef2ff}.role-btn:hover{transform:translateY(-1px)}.login-field{margin-bottom:14px}.login-field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:7px;letter-spacing:.04em}.login-field input{width:100%;padding:12px 16px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:var(--text);font-family:var(--font);font-size:15px;outline:none;transition:all .2s ease}.login-field select{width:100%;padding:12px 16px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:var(--text);font-family:var(--font);font-size:15px;outline:none;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none}.login-field input:focus{border-color:#7c6affa6;box-shadow:0 0 0 3px #7c6aff2e;background:#00000073}.login-field select:focus{border-color:#7c6affa6;box-shadow:0 0 0 3px #7c6aff2e;background:#00000073}.login-field input::placeholder{color:#8a96b873}.login-err{display:none;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:13px;font-weight:600;margin-bottom:14px}.login-err .err-icon{display:inline-flex;align-items:center;justify-content:center}.login-err .err-icon .lucide{width:15px;height:15px}.login-err.show{display:flex;animation:shake .35s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-btn{width:100%;padding:13px;border-radius:14px;border:1px solid rgba(124,106,255,.45);background:linear-gradient(135deg,#7c6aff52,#60a5fa38);color:#e0e8ff;font-family:var(--font);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 18px #7c6aff38;display:inline-flex;align-items:center;justify-content:center;gap:10px}.login-btn:hover{background:linear-gradient(135deg,#7c6aff7a,#60a5fa52);box-shadow:0 6px 24px #7c6aff61;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-btn.loading{opacity:.8;cursor:wait}.login-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:#ffffffe6;border-radius:50%;display:none;animation:spin .7s linear infinite}.login-btn.loading .login-btn-spinner{display:inline-block}.login-btn.loading .login-btn-text{opacity:.85}.login-info-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(96,165,250,.45);background:#60a5fa2e;color:#dbeafe;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #00000047}.login-info-btn .lucide{width:18px;height:18px}.login-info-btn:hover{background:#60a5fa52;transform:translateY(-1px)}.login-footer-row{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px}.login-footer{margin-top:0;text-align:center;font-size:11px;color:#8a96b873}.info-modal{max-width:560px}#contactInfoModal{z-index:10003}.info-row-title{font-size:14px;font-weight:800;color:#dbeafe;margin-bottom:6px}.info-row-text{font-size:13px;color:#cbd5e1;margin-bottom:4px}#adminScreen{display:none;min-height:100vh}#adminScreen.visible{display:block}.admin-wrap{max-width:1360px;margin:0 auto;padding:16px 14px 60px}#superScreen{display:none;min-height:100vh}#superScreen.visible{display:block}.super-wrap{max-width:1360px;margin:0 auto;padding:16px 14px 60px}.super-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#0c1528eb;border:1px solid rgba(255,255,255,.13);border-radius:var(--r);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:sticky;top:8px;z-index:100;margin-bottom:14px}.super-topbar-left{display:flex;align-items:center;gap:12px}.super-title-text h2{font-size:17px;font-weight:800;color:#c8d4ff}.super-title-text p{font-size:12px;color:var(--muted);margin-top:2px}.super-topbar-right{display:flex;gap:8px;flex-wrap:wrap}.super-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.super-stats-grid .stat-card{margin-top:0;min-height:120px;padding:14px 10px 12px;border-radius:15px;background:radial-gradient(circle at 50% -20%,var(--sc-glow, rgba(124,106,255,.14)) 0%,transparent 62%),linear-gradient(160deg,#1b2948e6,#0d182eeb);box-shadow:inset 0 1px #ffffff14,0 10px 22px #02081747;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.super-stats-grid .stat-icon,.stats-grid .stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin-bottom:8px;color:var(--sc-color, #a5b4fc);background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid rgba(148,163,184,.22)}.super-stats-grid .stat-icon .lucide,.stats-grid .stat-icon .lucide{width:22px;height:22px}.super-stats-grid .stat-val,.stats-grid .stat-val{font-size:26px;font-weight:800;font-family:var(--mono);color:var(--sc-color, #a5b4fc);line-height:1;width:100%;min-height:30px;display:block!important;text-align:center!important;margin-inline:auto;font-variant-numeric:tabular-nums}.super-stats-grid .stat-lbl,.stats-grid .stat-lbl{width:100%;font-size:12px;color:#b8c6ea;margin-top:6px;font-weight:700;line-height:1.35;text-align:center}.super-stats-grid .stat-sub,.stats-grid .stat-sub{width:100%;font-size:11px;color:#8ea0c8;margin-top:4px;opacity:.9;font-family:var(--mono);line-height:1.35;text-align:center}.super-stats-grid .stat-val:after{content:"";display:block;width:18px;height:2px;border-radius:999px;margin:8px auto 0;background:var(--sc-color, #a5b4fc);opacity:.95}.super-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;align-items:stretch}.super-tools-grid .main-card{margin-top:0;height:100%}@media (max-width:1280px){.super-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.super-grid,.super-stats-grid{grid-template-columns:1fr}}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#0c1528eb;border:1px solid rgba(255,255,255,.13);border-radius:var(--r);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:sticky;top:8px;z-index:100;margin-bottom:14px}.admin-topbar-left{display:flex;align-items:center;gap:12px}.admin-badge{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#ef444466,#f59e0b4d);border:1px solid rgba(239,68,68,.35);display:grid;place-items:center;font-size:18px;flex-shrink:0}.admin-title-text h2{font-size:17px;font-weight:800;color:#c8d4ff}.admin-title-text p{font-size:12px;color:var(--muted);margin-top:2px}.admin-topbar-right{display:flex;gap:8px;flex-wrap:wrap}.admin-filter-card{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:14px}.admin-filter-body{padding:16px}.filter-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.filter-grid .fg1{grid-column:span 1}.filter-grid .fg2{grid-column:span 2}@media (max-width:1100px){.filter-grid{grid-template-columns:repeat(3,1fr)}.filter-grid .fg1,.filter-grid .fg2{grid-column:span 1}}@media (max-width:640px){.filter-grid{grid-template-columns:1fr 1fr}}@media (max-width:400px){.filter-grid{grid-template-columns:1fr}}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.stats-section{background:linear-gradient(165deg,#121e38c7,#081224bf);border:1px solid rgba(148,163,184,.2);border-radius:18px;padding:11px;box-shadow:inset 0 1px #ffffff0f,0 10px 24px #02081759;min-width:0}.stats-section-title{font-size:13px;font-weight:700;color:#9eb0d9;text-align:right;padding:0 2px 8px;letter-spacing:.02em}.stats-cards{display:grid;gap:10px}.stats-cards.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid .stat-card{background:radial-gradient(circle at 50% -20%,var(--sc-glow, rgba(124,106,255,.14)) 0%,transparent 62%),linear-gradient(160deg,#1b2948e6,#0d182eeb);border:1px solid rgba(148,163,184,.28);border-radius:15px;padding:14px 10px 12px;min-height:128px;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 10px 22px #02081747;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stats-grid .stat-card:hover{transform:translateY(-2px);border-color:#bfdbfe59;box-shadow:inset 0 1px #ffffff1a,0 14px 26px #02081759}.stats-grid .stat-val:after{content:"";display:block;width:18px;height:2px;border-radius:999px;margin:8px auto 0;background:var(--sc-color, #a5b4fc);opacity:.95}.stat-card.ok-card{--sc-color:#4ade80;--sc-glow:rgba(34,197,94,.15);border-color:#22c55e33}.stat-card.bad-card{--sc-color:#f87171;--sc-glow:rgba(239,68,68,.12);border-color:#ef44442e}.stat-card.info-card{--sc-color:#93c5fd;--sc-glow:rgba(96,165,250,.12);border-color:#60a5fa2e}.stat-card.warn-card{--sc-color:#fbbf24;--sc-glow:rgba(245,158,11,.12);border-color:#f59e0b2e}@media (max-width: 1320px){.stats-cards.cols-4,.stats-cards.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){.stats-grid{grid-template-columns:1fr}.stats-section{padding:10px}}@media (max-width: 560px){.stats-grid{gap:10px}.stats-section-title{font-size:12px;padding-bottom:7px}.stats-cards.cols-4,.stats-cards.cols-3{grid-template-columns:1fr}.stats-grid .stat-card{min-height:112px;padding:12px 10px 10px}.stats-grid .stat-icon,.super-stats-grid .stat-icon{width:30px;height:30px}.stats-grid .stat-icon .lucide,.super-stats-grid .stat-icon .lucide{width:18px;height:18px}.stats-grid .stat-val,.super-stats-grid .stat-val{font-size:22px}.stats-grid .stat-lbl,.super-stats-grid .stat-lbl{font-size:12px}.stats-grid .stat-sub,.super-stats-grid .stat-sub{font-size:10px}}.admin-table-card{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden}.admin-table-header{padding:12px 16px;background:#ffffff09;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-search-wrap{position:relative;flex:1;max-width:300px}.admin-search-wrap input{width:100%;padding:9px 14px 9px 36px;border-radius:var(--r-sm);border:1px solid var(--stroke);background:#00000047;color:var(--text);font-family:var(--font);font-size:13px;outline:none;transition:all .2s}.admin-search-wrap input:focus{border-color:#7c6aff99;box-shadow:0 0 0 3px #7c6aff26}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:inline-flex;align-items:center;justify-content:center}.search-icon .lucide{width:14px;height:14px}.admin-table-top-scroll{overflow-x:auto;overflow-y:hidden;height:14px;border-bottom:1px solid var(--stroke);background:#ffffff05;-webkit-overflow-scrolling:touch}.admin-table-top-scroll.is-hidden{display:none}.admin-table-top-scroll-inner{height:1px}.admin-table-scroll{overflow-x:auto;overflow-y:auto;max-height:520px;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;min-width:700px}.admin-table thead th{position:sticky;top:0;background:#070d1af7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);text-align:right;font-size:11px;font-weight:700;letter-spacing:.05em;padding:12px 10px;border-bottom:1px solid var(--stroke-strong);white-space:nowrap;z-index:2}.admin-table tbody td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;vertical-align:middle}.admin-table th.admin-col-teacher,.admin-table td.admin-col-teacher,.admin-table th.admin-col-grade-section,.admin-table td.admin-col-grade-section{width:auto;min-width:180px;max-width:none}.admin-table td.admin-col-teacher,.admin-table td.admin-col-grade-section{white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.4;overflow:visible;text-overflow:clip}.admin-plan-cell{color:var(--muted);font-size:12px;min-width:220px;white-space:normal;overflow-wrap:anywhere;line-height:1.45}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover{background:#7c6aff0f}.admin-table tbody tr.admin-row-selected{background:#60a5fa24;box-shadow:inset 0 0 0 1px #60a5fa59}.admin-table .mono{font-family:var(--mono)}.result-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;border:1px solid var(--stroke);white-space:nowrap}.result-chip.ok{border-color:#22c55e66;background:#22c55e1f;color:#4ade80}.result-chip.bad{border-color:#ef444466;background:#ef44441a;color:#f87171}.result-chip.warn{border-color:#f59e0b66;background:#f59e0b1a;color:#fbbf24}.admin-empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:13px;border-bottom:1px solid var(--stroke)}.admin-table-footer{padding:10px 16px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);gap:10px;flex-wrap:wrap;border-top:1px solid var(--stroke)}.loading-row td{text-align:center;padding:30px;color:var(--muted);font-size:13px}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(124,106,255,.3);border-top-color:#7c6affe6;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-left:6px}@keyframes spin{to{transform:rotate(360deg)}}
