/* Canndata — Color tokens
 * Navy anchors the system; neutrals do most of the work.
 * Every combination must read in pure black & white — color never carries meaning alone.
 * Limit Red is NOT a UI accent: it appears only on chart thresholds and flagged results.
 * Navy is the only interface accent (links, buttons, focus rings).
 */
:root {
  /* ---- Core palette ---- */
  --canndata-navy: #1A2B4A;   /* primary · headings · default data */
  --ink:           #1C1C1E;   /* body text */
  --gray-dark:     #4B5563;   /* captions · labels */
  --gray-mid:      #9CA3AF;   /* axes · rules · ticks */
  --paper:         #FFFFFF;   /* background */
  --limit-red:     #B23A3A;   /* thresholds & flagged results ONLY */

  /* Structural neutrals */
  --line:          #E4E7EC;   /* gridlines · 1px borders · dividers */
  --paper-2:       #F7F8FA;   /* faint tint for callout fills / zebra */
  --navy-tint:     #EEF1F6;   /* light navy wash for callouts */

  /* Navy interaction states (interface accent only) */
  --navy-hover:    #142139;   /* darker navy on hover */
  --navy-active:   #0E1729;   /* pressed */

  /* ---- Analytic chart palette — FOR CHARTS ONLY ----
   * Actor colors distinguish labs, states, methods, or categories inside a figure.
   * They are never brand or decorative colors for covers, dividers, or web.
   * Always pair with shape and line pattern. No green — use muted Teal.
   */
  --chart-navy:       #1A2B4A;
  --chart-teal:       #2F7F83;
  --chart-ochre:      #B5892E;
  --chart-plum:       #7A5C8E;
  --chart-blue-slate: #4E6F9E;
  --chart-rust:       #A85E45;
  --chart-slate:      #5C6B7E;  /* peer / comparison line */
  --chart-light-slate:#AEB7C4;  /* other / background series */
  --chart-threshold:  #B23A3A;  /* Limit Red — thresholds & flags only */
  --chart-grid:       #E4E7EC;  /* gridlines, 1px */
  --chart-axis:       #9CA3AF;  /* axes, 1.5px */
  --chart-label:      #4B5563;  /* tick & axis labels */

  /* ---- Semantic aliases ---- */
  --text-heading:  var(--canndata-navy);
  --text-body:     var(--ink);
  --text-caption:  var(--gray-dark);
  --text-label:    var(--gray-dark);
  --text-on-navy:  var(--paper);

  --surface-page:  var(--paper);
  --surface-card:  var(--paper);
  --surface-navy:  var(--canndata-navy);
  --surface-sunken:var(--paper-2);

  --border-default:var(--line);
  --rule:          var(--gray-mid);

  --accent:        var(--canndata-navy);
  --accent-hover:  var(--navy-hover);
  --accent-active: var(--navy-active);
  --focus-ring:    var(--canndata-navy);

  --flag:          var(--limit-red);  /* threshold / error / flagged result */
}
