.user-menu__theme { justify-content: space-between; gap: 20px; }
.user-menu__switch { background: var(--muted); border-radius: 20px; height: 18px; padding: 3px; width: 30px; }
.user-menu__switch::before { background: #fff; border-radius: 50%; content: ""; display: block; height: 12px; width: 12px; }
.user-menu__theme[aria-checked="true"] .user-menu__switch { background: var(--accent); }
.user-menu__theme[aria-checked="true"] .user-menu__switch::before { transform: translateX(12px); }

:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #e4eaf3;
  --muted: #a1aec2;
  --line: #334158;
  --card-border: #4a5b73;
  --canvas: #111827;
  --panel: #1c2739;
  --accent: #85b1ff;
  --accent-soft: #263d61;
  --success: #6bd5ae;
  --success-soft: #193e35;
  --warning: #f3c16b;
  --warning-soft: #463820;
  --danger: #ff9b9b;
  --danger-soft: #482b35;
  --shadow: none;
}

html[data-theme="dark"] {
  .nav-link, .user-menu__item, .field label, .field-label, .items-table th, .rich-text,
  .summary-card div > span, .method-code, .scan-plan-row__required { color: var(--ink); }
  .nav-icon, .nav-section, .sidebar-user__chevron, .chart-legend__item,
  .chart-bar-label, .chart-horizontal-label, .scan-plan-row__sequence,
  .scan-plan-row__remove, .scan-plan-row__locked,
  .scan-status-table td:first-child, .control-list li, .password-reveal,
  .user-menu__item--disabled { color: var(--muted); }

  .nav-link:hover, .nav-link.active, .sidebar-user__trigger:hover,
  .sidebar-user__trigger[aria-expanded="true"], .detail, .auth-card,
  .summary-card, .vision-summary > strong::before, .form-actions--standalone { background: var(--panel); }
  tbody tr:hover, .operations-list__item:hover, .scan-plan-help,
  .scan-plan-heading, .recovery-codes { background: var(--canvas); }
  .avatar, .badge--neutral { background: var(--accent-soft); color: var(--ink); }
  .avatar--profile { border-color: var(--panel); }

  .tippy-box[data-theme~="user-menu"] { background: var(--panel); border-color: var(--line); }
  .tippy-box[data-theme~="user-menu"] > .tippy-arrow { color: var(--panel); filter: drop-shadow(0 1px 0 var(--line)); }
  .user-menu__item:hover, .user-menu__item:focus-visible { color: var(--accent); }
  .user-menu__item--danger, .user-menu__item--danger:hover,
  .user-menu__item--danger:focus-visible, .flash--danger, .error-summary { color: var(--danger); }
  .error-summary { border-color: var(--danger); }
  .flash--success { color: var(--success); }

  .field input:not([type="checkbox"]), .field select, .field textarea,
  .filters input, .filters select { background: var(--canvas); border-color: var(--line); }
  input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
  input[type="checkbox"] { accent-color: var(--accent); }
  .button--secondary, .button--danger { background: var(--panel); border-color: var(--line); box-shadow: 0 1px 2px rgb(0 0 0 / 20%); color: var(--ink); text-shadow: none; }
  .button--secondary:hover { background: var(--accent-soft); }
  .button--danger { color: var(--danger); }
  .button--danger:hover { background: var(--danger-soft); border-color: var(--danger); }
  .button--secondary:active, .button--danger:active { box-shadow: inset 0 2px 4px rgb(0 0 0 / 30%); }
  .progress, .compact-progress > div { background: var(--line); }
  .progress__bar { background: var(--accent-soft); }
  .pagination .current { color: var(--canvas); }

  .report-uid-label { background: var(--panel); border-color: var(--muted); }
  .report-uid-label--ut { background: var(--success-soft); border-color: var(--success); color: #a7e8bf; }
  .report-uid-label--drt { background: var(--warning-soft); border-color: var(--warning); }
  .report-uid-label--pt { background: var(--danger-soft); border-color: var(--danger); color: #ffb4b4; }
  .report-uid-label--mt { background: #101010; border-color: #737373; color: #f5f5f5; }
  .report-uid-label--etch { background: #432a18; border-color: #e99544; color: #ffc28a; }
  .chart-bars { background-image: repeating-linear-gradient(to top, transparent 0, transparent 39px, var(--line) 40px); border-color: var(--line); }
  .chart-line__grid { stroke: var(--line); }
  .chart-line__axis-label { fill: var(--muted); }
  .chart-line__point { fill: var(--panel); stroke: var(--accent); }
  .chart-line__path { stroke: var(--accent); }
  .chart-horizontal-track { background: repeating-linear-gradient(to right, var(--line) 0, var(--line) 1px, transparent 1px, transparent 20%); border-color: var(--line); }
  .vision-summary > strong { background: conic-gradient(var(--success) calc(var(--vision-progress, 0) * 1%), var(--line) 0); }

  /* Use the transparent artwork as a white logo on dark surfaces. */
  .sidebar-logo, .auth-logo { filter: brightness(0) invert(1); }
  .signature-preview--empty { color: #697386; }
}

@media (max-width: 760px) {
  .sidebar-user { display: block; margin-top: 12px; }
}

[data-theme="dark"] .forging-failure { background: #371d25; color: #fca5a5; border-color: #f87171; }
