:root{--theme-header:#f4b400;--on-header:#171717;--theme-sidebar:#44320b;--on-sidebar:#ffffff;--theme-hero:#f4b400;--on-hero:#171717;--theme-buttons:#f4b400;--on-buttons:#171717;--theme-background:#fffbef;--on-background:#171717;--theme-cards:#ffffff;--on-cards:#171717;--theme-login:#ffe18a;--on-login:#171717;--theme-table:#fffaf0;--on-table:#171717;--theme-footer:#fffbef;--on-footer:#171717;--theme-accent:#946500;--on-accent:#ffffff;--bg:var(--theme-background);--text:var(--on-cards);--text-muted:var(--on-cards);--teal:var(--theme-accent);--teal-dark:var(--theme-accent);--sidebar:var(--theme-sidebar);}/* Colors configured by the school administrator; foregrounds follow contrast. */
body, .main, main, .main-content { background:var(--theme-background); }
.topbar, header { background:var(--theme-header); color:var(--on-header); }
.topbar-title, .topbar-subtitle, .topbar-sub, .header-text h1, .header-text p { color:var(--on-header); }
.topbar-admin, header a { background:var(--theme-cards);color:var(--on-cards);border-color:var(--on-header); }
.sidebar { background:var(--theme-sidebar);border-right-color:var(--theme-buttons); }
.sidebar-title, .sidebar-subtitle, .nav-section-label, .sidebar .user-name, .sidebar .user-role, .nav-item { color:var(--on-sidebar); }
.nav-item:hover { color:var(--on-sidebar); }
.nav-item.active, .user-avatar { background:var(--theme-buttons);color:var(--on-buttons); }
.card, .login-card, .stat-card, .table-container, .table-card, .modal, .recent-log, .settings-section { background:var(--theme-cards);color:var(--on-cards); }
.card-hero, .card-header { background:var(--theme-hero);color:var(--on-hero); }
.card-hero h1, .card-hero p, .card-header h2, .card-header p { color:var(--on-hero); }
.btn-primary, .btn-verify { background:var(--theme-buttons);color:var(--on-buttons); }
.btn-primary:hover, .btn-verify:hover { background:var(--theme-buttons);color:var(--on-buttons);filter:brightness(.94); }
.login-page { background:var(--theme-login); }
.login-logo h1, .login-logo p { color:var(--on-cards); }
thead, th, tr:hover td { background:var(--theme-table);color:var(--on-table); }
footer, .footer { background:var(--theme-footer);color:var(--on-footer); }
.settings-section { padding:24px;border:1px solid var(--border);border-radius:14px;margin-bottom:20px; }
.theme-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:20px 0; }
.theme-field { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.theme-field input { width:54px;height:38px;padding:2px;cursor:pointer;border:1px solid var(--border);border-radius:6px; }
.settings-preview { width:88px;height:88px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:50%;padding:4px;margin:16px 0; }
.settings-actions { display:flex;gap:12px;flex-wrap:wrap;align-items:center; }
.form-input, .form-select, .search-input, .search-box, textarea {
  background:var(--theme-cards);color:var(--on-cards);
}
.btn-ghost, .btn-ghost:hover { background:var(--theme-cards);color:var(--on-cards); }
.form-input::placeholder, .search-input::placeholder, .search-box::placeholder { color:var(--on-cards);opacity:.6; }
