/* Shared product primitives. Print reports retain their own paper palette. */
:root, body[data-result-page], body.product-dashboard, body.product-scan, body.product-pricing {
  color-scheme: dark;
  --product-bg: #0b0d12;
  --product-surface: #13151d;
  --product-raised: #1a1d28;
  --product-text: #f4f4fa;
  --product-muted: #a9adbd;
  --product-line: #292d3a;
  --product-accent: #afa2ff;
  --product-action: #7760db;
  --product-success: #72d6b2;
  --product-warning: #f1c36d;
  --product-error: #ff929a;
  --ink: var(--product-text);
  --text: var(--product-text);
  --muted: var(--product-muted);
  --paper: var(--product-bg);
  --surface: var(--product-surface);
  --bg: var(--product-bg);
  --line: var(--product-line);
  --steel: var(--product-accent);
  --green: var(--product-success);
  --brand: var(--product-accent);
  --stl-ink: var(--product-text);
  --stl-paper: var(--product-surface);
  --stl-bg: var(--product-bg);
  --stl-soft: var(--product-raised);
  --stl-primary: var(--product-text);
  --stl-teal: var(--product-accent);
  --stl-band: var(--product-bg);
  --stl-navy: #10121a;
  --stl-navy-soft: var(--product-raised);
  --stl-green: var(--product-action);
  --stl-green-bright: var(--product-success);
  --stl-green-soft: #182c27;
  --stl-line: var(--product-line);
  --stl-muted: var(--product-muted);
  --stl-error: var(--product-error);
  --stl-warning: var(--product-warning);
  --stl-info: var(--product-accent);
  --stl-shadow: 0 16px 48px #0003;
}

body { background: var(--product-bg); color: var(--product-text); }
a { color: var(--product-accent); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 2px solid var(--product-accent); outline-offset: 4px; }
[hidden] { display: none !important; }
body .consent-card { background: var(--product-surface); color: var(--product-text); border: 1px solid var(--product-line); box-shadow: 0 24px 80px #0008; }
body .consent-head strong, body .consent-option strong { color: var(--product-text); }
body .consent-head p, body .consent-option span { color: var(--product-muted); }
body .consent-option { background: var(--product-bg); border-color: var(--product-line); }
body .consent-option.locked { background: var(--product-raised); }
body .consent-option small { color: var(--product-muted); }
body .consent-links a { color: var(--product-accent); }
body .consent-actions .btn.ghost { background: transparent; color: var(--product-text); border-color: var(--product-line); }
body .consent-actions .btn.primary { background: var(--product-action); color: #fff; border-color: var(--product-action); }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 1000; padding: 12px 20px; background: var(--product-raised); }
.skip-link:focus { top: 12px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
