:root{--bg-main:#f8fafc;--bg-card:#ffffff;--bg-subtle:#f1f5f9;--text-main:#0f172a;--text-muted:#64748b;--text-strong:#1e1b4b;--border:#e2e8f0;--primary-light:#e0e7ff;--success-light:#d1fae5;--warning-light:#fef3c7;--danger-light:#fee2e2;--info-light:#e0f2fe}
html[data-theme="dark"]{color-scheme:dark;--primary:#a5b4fc;--primary-hover:#c7d2fe;--primary-light:#25274b;--bg-main:#101827;--bg-card:#1c2637;--bg-subtle:#243044;--text-main:#edf2fa;--text-strong:#eef2ff;--text-muted:#bcc9db;--border:#3c4b62;--success-light:#163c32;--warning-light:#4a381c;--danger-light:#482833;--info-light:#14374d}
html[data-theme="light"]{color-scheme:light}
body,.admin-main{background:var(--bg-main);color:var(--text-main)}
.content-card,.login-card,.navbar,.topbar,.modal-content,.subject-card,.test-item-card,.question-card,.question-bank-item,.option-btn,.palette-item,dialog{background:var(--bg-card);color:var(--text-main);border-color:var(--border)}
input,select,textarea,.form-control{background:var(--bg-card);color:var(--text-main);border-color:var(--border)}
html[data-theme="dark"] th{background:var(--bg-subtle);color:var(--text-main)}
html[data-theme="dark"] td{border-color:var(--border)}
html[data-theme="dark"] .btn-primary,html[data-theme="dark"] .btn-success,html[data-theme="dark"] .btn-danger{color:#101827}
.interface-preferences{position:fixed;right:12px;bottom:12px;z-index:1200;display:flex;gap:6px;padding:6px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md)}
.interface-preferences select,.interface-preferences button{min-height:34px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);border-radius:6px;padding:4px 8px}
.interface-preferences button{min-width:38px;font-size:20px;cursor:pointer}
.admin-sidebar{background:#0f172a;color:#e2e8f0}
.admin-sidebar .sidebar-header h2{color:#f8fafc}
.admin-sidebar .sidebar-link{color:#cbd5e1}
.admin-sidebar .sidebar-link.active{background:#4f46e5;color:#fff}
.admin-sidebar .sidebar-link:hover{background:#26354b;color:#fff}
html[data-theme="dark"] .section-header h2,html[data-theme="dark"] .palette-card h3,html[data-theme="dark"] .student-tag,html[data-theme="dark"] .question-text,html[data-theme="dark"] .opt-text{color:var(--text-main)}
html[data-theme="dark"] .option-btn.selected{background:var(--primary-light);color:var(--text-main)}
html[data-theme="dark"] .option-btn:hover{background:var(--bg-subtle)}
html[data-theme="dark"] .btn-outline{color:var(--text-main)}
html[data-theme="dark"] #monitor-bar{background:var(--info-light)!important;color:var(--text-main)}
#panel-settings form{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem;margin:.75rem 0 1rem}
#panel-settings form button{justify-self:start}
#panel-settings .form-control{width:100%;background:var(--bg-card);color:var(--text-main)}
input:-webkit-autofill{-webkit-text-fill-color:var(--text-main);box-shadow:0 0 0 1000px var(--bg-card) inset}
.reteach-recommendation{margin-top:6px;padding:8px 10px;border-left:3px solid var(--warning);background:var(--warning-light);color:var(--text-main);font-size:.9rem}
html[data-theme="dark"] .timer-box{color:#fca5a5}
dialog{margin:auto;padding:1.5rem;border:1px solid var(--border);border-radius:12px;max-width:min(90vw,600px)}
dialog::backdrop{background:rgba(0,0,0,.65)}
.rule-action{display:flex;flex-direction:column;gap:4px;min-width:150px;flex:1}
#tc-form-settings label{color:var(--text-main)}
#tc-form-settings input[type=number]{max-width:90px}
#tc-form-settings div[style*="display: flex"]{flex-wrap:wrap}
[data-user-content]{white-space:pre-wrap}
button:not(:disabled),.btn:not(:disabled){transition:background-color .16s ease,box-shadow .16s ease,transform .12s ease}
button:not(:disabled):active,.btn:not(:disabled):active{transform:scale(.98)}
.ai-check-clock{width:64px;height:64px;border:3px solid var(--primary);border-radius:50%;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.ai-check-clock[hidden]{display:none}
#btn-test-gemini[hidden]{display:none}
#ai-model-results [data-status="failed"],#ai-model-results [data-status="mismatch"]{color:#b91c1c}
#ai-model-results [data-status="connected"]{color:#166534}
html[data-theme="dark"] #ai-model-results [data-status="failed"],html[data-theme="dark"] #ai-model-results [data-status="mismatch"]{color:#fca5a5}
html[data-theme="dark"] #ai-model-results [data-status="connected"]{color:#86efac}
html[data-theme="dark"] body{background:var(--bg-main)!important}
@media(prefers-reduced-motion:reduce){button,.btn{transition:none!important;transform:none!important}}
@keyframes page-arrive{from{opacity:.75}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){body{animation:page-arrive .18s ease-out}}
.ai-job-status{position:fixed;bottom:70px;right:12px;z-index:1250;padding:12px;background:var(--bg-card);color:var(--text-main);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md)}
@media(max-width:600px){.interface-preferences{bottom:6px;right:6px}.admin-main{padding-bottom:65px}}
