/* === THEME SYSTEM (light/dark) === */
:root{
  --brand:#1e88e5; --brand-2:#4fc3f7; --accent:#ffd54f;
  --bg:#f8f9fa; --card:#ffffff; --text:#222; --muted:#6b7280; --border:#e5e7eb;
}
[data-theme="dark"]{
  --brand:#64b5f6; --brand-2:#90caf9; --accent:#ffca28;
  --bg:#0b1220; --card:#0f172a; --text:#e5e7eb; --muted:#94a3b8; --border:#1f2937;
}
html, body{ background:var(--bg); color:var(--text); font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.card, .bg-white { background: var(--card) !important; color: var(--text); }
.border-top{ border-top:1px solid var(--border)!important; }
.navbar{ background: var(--card)!important; }
.navbar .nav-link{ color: var(--text)!important; }
.navbar .navbar-brand{ color: var(--text)!important; }
.btn-primary{ background: var(--brand); border-color: var(--brand); }
.btn-primary:hover{ filter: brightness(0.9); }
.text-muted{ color: var(--muted)!important; }
.rounded-4{ border-radius:1rem!important; }
.shadow-sm{ box-shadow: 0 .125rem .5rem rgba(0,0,0,.15)!important; }
.section-title{ font-weight:700; }
.hero{
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  color:#fff; border-radius:1.25rem; overflow:hidden;
}
.theme-toggle{
  border:1px solid var(--border);
  background:transparent; color:var(--text);
  border-radius:12px; padding:.4rem .6rem; font-size:.9rem;
}
.theme-toggle:hover{ background: rgba(0,0,0,.06); }
[data-theme="dark"] .theme-toggle:hover{ background: rgba(255,255,255,.06); }