:root{
  /* Surfaces — bright warm paper. Light and airy, never sterile white, never dim. */
  --canvas-cream:#FAF8F4;
  --lifted-cream:#FFFFFF;
  --white:#FFFFFF;
  --soft-bone:#F2EFE9;
  --whisper-cream:#EDE7DE;

  /* Ink — softened from near-black so the page reads printed, not heavy */
  --ink-black:#252E33;
  --charcoal:#36424A;
  --slate-gray:#6C7A83;
  --granite:#4F5C64;
  --dust-taupe:#C3C9CC;
  --slab:#00204D;

  /* THE accent — TFS Navy, from the logo gradient (#003474 -> #00204D). The only interactive colour. */
  --accent-base:#003474;
  --accent-deep:#00204D;
  --accent-faint:#E9EFF8;
  --accent-hairline:rgba(0,52,116,.38);

  /* Semantic-only tones. NOT accents — never decoration. */
  --money:#1F8F63;
  --money-faint:#E6F4EC;
  --staged:#B8862B;
  --staged-faint:#FAF1DE;
  --stamp:#CF4A3F;
  --stamp-faint:#FBEDEB;

  /* Semantic aliases */
  --surface-canvas:var(--canvas-cream);
  --surface-lifted:var(--lifted-cream);
  --surface-inverse:var(--slab);
  --surface-card:var(--white);
  --surface-subtle:var(--soft-bone);

  --text-heading:var(--ink-black);
  --text-body:var(--ink-black);
  --text-muted:var(--slate-gray);
  --text-whisper:var(--dust-taupe);
  --text-inverse:var(--canvas-cream);
  --text-link:var(--accent-base);
  --text-accent:var(--accent-base);

  --accent:var(--accent-base);
  --accent-dot:var(--accent-base);

  /* Primary action is now the accent, not black — the single biggest lift in brightness */
  --action-primary-bg:var(--accent-base);
  --action-primary-fg:#FFFFFF;
  --action-secondary-bg:var(--white);
  --action-secondary-fg:var(--ink-black);
  --action-consent-bg:var(--stamp);
  --action-consent-fg:#FFFFFF;

  --border-strong:var(--accent-base);
  --border-hairline:rgba(37,46,51,.13);
  --border-hairline-accent:var(--accent-hairline);
  --border-inverse:rgba(255,255,255,.4);

  /* Retired aliases kept so older screens still resolve */
  --state-positive:var(--money);
  --state-warning:var(--staged);
  --state-negative:var(--stamp);
  --link-blue:var(--accent-base);
  --lacquer-red:var(--stamp);
  --gilt-gold:var(--staged);
}
