:root {
  --primary-color: #2563EB;
  --secondary-color: #0F172A;
  --accent-color: #38BDF8;
  --sidebar-bg: #0F172A;
  --sidebar-text: #E5E7EB;
  --navbar-bg: #FFFFFF;
  --card-header-bg: #F8FAFC;
  --button-primary: #2563EB;
  --button-secondary: #334155;
  --success-color: #16A34A;
  --warning-color: #D97706;
  --danger-color: #DC2626;
  --info-color: #0284C7;
  --font-color: #111827;
  --muted-text-color: #6B7280;
  --link-color: #2563EB;
  --border-color: #E5E7EB;
  --table-header-color: #F1F5F9;
  --login-bg: #F1F5F9;
  --login-card-color: #FFFFFF;
}

body { color: var(--font-color); }
a { color: var(--link-color); }
.main-header { background-color: var(--navbar-bg) !important; }
.main-sidebar { background-color: var(--sidebar-bg) !important; }
.main-sidebar .nav-link, .main-sidebar .brand-link, .main-sidebar .nav-header { color: var(--sidebar-text) !important; }
.btn-primary { background-color: var(--button-primary) !important; border-color: var(--button-primary) !important; }
.btn-secondary { background-color: var(--button-secondary) !important; border-color: var(--button-secondary) !important; }
.card-header { background-color: var(--card-header-bg); border-bottom: 1px solid var(--border-color); }
.table thead th { background-color: var(--table-header-color); }
.form-control:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary-color) 20%, transparent); }
.page-item.active .page-link { background-color: var(--primary-color); border-color: var(--primary-color); }
.badge-primary { background-color: var(--primary-color); }
.nav-tabs .nav-link.active { color: var(--primary-color); border-top: 3px solid var(--primary-color); }
.login-page--modern { background: linear-gradient(135deg, var(--login-bg) 0%, var(--secondary-color) 180%); }
.login-card, .forgot-card { background-color: var(--login-card-color); }
.modal-header { background-color: var(--card-header-bg); }
.compact-mode .content-wrapper .card-body { padding: .75rem; }
.rounded-corners-off .card, .rounded-corners-off .btn, .rounded-corners-off .form-control { border-radius: 0 !important; }
.no-animations * { transition: none !important; animation: none !important; }
.sidebar-gradient .main-sidebar { background: linear-gradient(180deg, var(--sidebar-bg), var(--secondary-color)) !important; }
.dark-mode { color-scheme: dark; }

/* Sidebar hierarchy overrides loaded after theme variables. */
.main-sidebar .nav-sidebar .nav-link { color: #cbd5e1 !important; }
.main-sidebar .nav-sidebar > .nav-item > .nav-link.active { background: linear-gradient(90deg, #1d4ed8 0%, #1e40af 100%) !important; color: #ffffff !important; }
.main-sidebar .nav-treeview > .nav-item > .nav-link.active { background: rgba(37, 99, 235, .72) !important; color: #ffffff !important; }
.main-sidebar .nav-treeview .nav-treeview > .nav-item > .nav-link.active { background: rgba(59, 130, 246, .55) !important; color: #ffffff !important; }
.main-sidebar .nav-sidebar .nav-link:hover { background: rgba(30, 64, 175, .28) !important; color: #f8fafc !important; }
