/* Dark theme — colour ROLE tokens. Brand is lifted (interactive blue → blue-300/400) so it
   keeps AA on dark surfaces; green/orange use their bright logo tones (AA on dark).
   WCAG 2.1 AA contrast (vs surface #1E293B / base #0F172A):
     text-primary  neutral-50 #F7F9FB on #1E293B          ~14.8:1 (AA/AAA)
     text-secondary neutral-300 #CBD5E1 on #1E293B        ~9.6:1  (AA)
     text-link / brand  blue-300 #4DABD9 on #1E293B       ~6.4:1  (AA body)
     on-primary  neutral-900 #0F172A on primary #4DABD9   ~6.4:1  (AA body)
     success green-500 #76BE48 on #1E293B                 ~6.8:1  (AA)
     warning orange-500 #FBAD2C on #1E293B                ~9.2:1  (AA)
     error   red-400 #F08A8A on #1E293B                   ~6.0:1  (AA) — off-brand complement
   FND-10 : ces valeurs de rôle sont dupliquées dans themes/system.css (fallback no-JS) ; la parité
   dark.css ↔ system.css est garantie par build/verify-css-tokens.ps1 (toute dérive ⇒ CI rouge). */
[data-theme="dark"] {
  --color-bg-base: var(--b3g-neutral-900);
  --color-bg-surface: var(--b3g-neutral-800);
  --color-bg-elevated: #243044;
  --color-bg-subtle: #172033;

  --color-text-primary: var(--b3g-neutral-50);
  --color-text-secondary: var(--b3g-neutral-300);
  --color-text-muted: var(--b3g-neutral-400);
  --color-text-on-primary: var(--b3g-neutral-900);
  --color-text-link: var(--b3g-blue-300);

  --color-border: var(--b3g-neutral-700);
  --color-border-strong: var(--b3g-neutral-600);

  --color-primary: var(--b3g-blue-300);
  --color-primary-hover: var(--b3g-blue-200);
  --color-primary-subtle: #15324a;

  --color-success: var(--b3g-green-500);
  --color-success-subtle: #1c3318;
  --color-warning: var(--b3g-orange-500);
  --color-warning-subtle: #3a2a0c;
  --color-error: var(--b3g-red-400);
  --color-error-subtle: #3a1c1c;
  --color-info: var(--b3g-blue-300);
  --color-info-subtle: #15324a;

  --color-focus-ring: var(--b3g-blue-300);
  --color-disabled-bg: var(--b3g-neutral-700);
  --color-disabled-text: var(--b3g-neutral-500);
  --color-loading: var(--b3g-neutral-700);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.45);
  --shadow-md: 0 4px 10px rgba(0, 0, 0, 0.55);
  --shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.65);

  /* ── ALIAS LAYER couleur (FND-1) — dépendants du thème (indirection ⇒ réévalués par thème) ── */
  --color-text: var(--color-text-primary);
  --color-text-tertiary: var(--color-text-muted);
  --color-link: var(--color-text-link);
  --color-on-primary: var(--color-text-on-primary);
  --color-focus: var(--color-focus-ring);
  --color-brand-blue: var(--color-primary);
  --color-surface-2: var(--color-bg-subtle);
  --color-surface-variant: var(--color-bg-subtle);
  --color-bg-muted: var(--color-bg-subtle);
  --color-border-subtle: var(--color-border);
  --color-warning-text: var(--color-warning);
  --color-warning-surface: var(--color-warning-subtle);
  --color-warning-border: var(--color-warning);
  color-scheme: dark;
}
