:root{
  /* ---- Brand base palette ---- */
  --deep-blue-grey:#232C3C;
  --salmon-orange:#FF6A3C;
  --cold-grey:#D6DCE2;
  --total-white:#FFFFFF;

  /* ---- Deep blue grey ramp (derived, for surfaces & depth) ---- */
  --ink-900:#151B26;
  --ink-800:#1B2331;
  --ink-700:#232C3C;
  --ink-600:#2E3849;
  --ink-500:#3D4859;
  --ink-400:#5A6577;
  --ink-300:#7C8798;

  /* ---- Cool grey ramp ---- */
  --grey-050:#F6F8FA;
  --grey-100:#EDF1F4;
  --grey-200:#D6DCE2;
  --grey-300:#BFC7D0;
  --grey-400:#9AA4B1;

  /* ---- Orange ramp ---- */
  --orange-700:#D4471C;
  --orange-600:#F05627;
  --orange-500:#FF6A3C;
  --orange-300:#FFA184;
  --orange-100:#FFE3D9;
  --orange-050:#FFF3EE;

  /* ---- Semantic status ---- */
  --success-500:#1FA97C;
  --success-050:#E6F6F0;
  --warning-500:#F5A524;
  --warning-050:#FFF6E5;
  --danger-500:#E2483B;
  --danger-050:#FDECEA;
  --info-500:#3D7BD9;
  --info-050:#EBF2FD;

  /* ---- Semantic aliases: text ---- */
  --text-heading:var(--ink-700);
  --text-body:var(--ink-600);
  --text-muted:var(--ink-300);
  --text-inverse:var(--total-white);
  --text-inverse-muted:#A9B3C1;
  --text-accent:var(--salmon-orange);
  --text-link:var(--salmon-orange);
  --text-link-hover:var(--orange-700);

  /* ---- Semantic aliases: surface ---- */
  --surface-page:var(--grey-050);
  --surface-card:var(--total-white);
  --surface-subtle:var(--grey-100);
  --surface-inverse:var(--ink-700);
  --surface-inverse-raised:var(--ink-600);
  --surface-accent-subtle:var(--orange-050);
  --surface-disabled:var(--grey-100);

  /* ---- Semantic aliases: border ---- */
  --border-subtle:var(--grey-200);
  --border-strong:var(--ink-700);
  --border-accent:var(--salmon-orange);
  --border-inverse:#33405400;
  --border-focus:var(--salmon-orange);

  /* ---- Data visualization ---- */
  --chart-1:var(--ink-700);
  --chart-2:var(--salmon-orange);
  --chart-3:var(--grey-300);
  --chart-4:var(--ink-400);
  --chart-grid:var(--grey-200);
}
