html.dark,
body.dark {
  color-scheme: dark;
  --bg: #0b1220;
  --surface: #111b2d;
  --surface-2: #172238;
  --text: #edf5ff;
  --muted: #a8b4c7;
  --line: #26364f;
  --primary: #60a5fa;
  --primary-strong: #93c5fd;
  --primary-soft: rgba(96, 165, 250, 0.16);
  --shadow: 0 18px 45px rgba(0, 0, 0, 0.34);
  --shadow-soft: 0 10px 25px rgba(0, 0, 0, 0.24);
}

body.dark {
  background:
    radial-gradient(circle at top left, rgba(96, 165, 250, 0.14), transparent 28rem),
    linear-gradient(180deg, var(--bg), #0e1729 56%, var(--bg));
}

body.dark .sidebar,
body.dark .topbar,
body.dark .card,
body.dark .panel,
body.dark .stat-card,
body.dark .table-wrap,
body.dark .empty-state,
body.dark .quick-link,
body.dark .org-node,
body.dark .vote-option,
body.dark .calendar-cell,
body.dark .toast,
body.dark .modal {
  background: rgba(17, 27, 45, 0.88);
  border-color: var(--line);
}

body.dark input,
body.dark select,
body.dark textarea,
body.dark .input {
  background: #0e1729;
  color: var(--text);
  border-color: var(--line);
}

body.dark .landing {
  color: var(--text);
}

body.dark .landing::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(96, 165, 250, 0.18), transparent 22rem),
    radial-gradient(circle at 82% 25%, rgba(20, 184, 166, 0.14), transparent 18rem),
    linear-gradient(135deg, #0b1220 0%, #101a2f 52%, #0e1729 100%);
}

body.dark .hero-description {
  color: var(--muted);
}

body.dark .wave {
  background: var(--bg);
}

body.dark .danger-zone {
  background: rgba(127, 29, 29, 0.2);
}
