/* Boa Finance colour system — values taken from "Boa Finance · Manual de identidade visual" (Sept 2026), p.4.
   Manual palette: PRIMÁRIA #25224d · SECUNDÁRIA #544b9a, #bce1e9, #f6e71b · neutros #FFFFFF, #0f0f0f.
   Ramps below are tints/shades built around those exact anchors; the anchors themselves are never altered. */
:root{
  /* Navy — the brand primary. 700 is the manual value. */
  --navy-900:#0D0C1C;
  --navy-800:#181633;
  --navy-700:#25224D;
  --navy-600:#322E66;
  --navy-500:#413C80;

  /* Violet — secondary. 500 is the manual value. */
  --violet-700:#3C3576;
  --violet-600:#47408A;
  --violet-500:#544B9A;
  --violet-400:#7A72B6;
  --violet-300:#A49DD1;
  --violet-200:#CFCBE7;
  --violet-100:#EDEBF6;

  /* Sky — secondary. 400 is the manual value. */
  --sky-600:#6AB8CA;
  --sky-500:#94D2DF;
  --sky-400:#BCE1E9;
  --sky-300:#CFEAF0;
  --sky-200:#E3F3F7;
  --sky-100:#F1F9FB;

  /* Yellow — secondary, the high-voltage accent. 500 is the manual value. */
  --yellow-700:#A89C0B;
  --yellow-600:#D0C211;
  --yellow-500:#F6E71B;
  --yellow-400:#F9EF67;
  --yellow-300:#FCF6A4;
  --yellow-100:#FEFCE2;

  /* Ink — neutral ramp anchored on the manual's #0f0f0f, tilted a hair toward the navy. */
  --ink-1000:#0F0F0F;
  --ink-900:#191922;
  --ink-800:#26262F;
  --ink-700:#3A3A45;
  --ink-600:#55555F;
  --ink-500:#74747F;
  --ink-400:#9A9AA3;
  --ink-300:#C3C3CA;
  --ink-200:#E0E0E5;
  --ink-100:#EFEFF2;
  --ink-050:#F7F7F9;
  --white:#FFFFFF;

  /* Signals — NOT in the manual; minimum set a finance product needs. Flagged in readme.md. */
  --red-600:#B62B2B; --red-500:#D64545; --red-100:#FBE9E9;
  --amber-600:#A87500; --amber-500:#E8A317; --amber-100:#FDF1DA;
  --gain-600:#177A4E; --gain-500:#1F9D64; --gain-100:#E6F5EE;

  /* ---- Semantic aliases: use these in components ---- */
  --surface-page:var(--ink-050);
  --surface-card:var(--white);
  --surface-sunken:var(--ink-100);
  --surface-inverse:var(--navy-700);
  --surface-inverse-raised:var(--navy-600);
  --surface-brand:var(--navy-700);
  --surface-brand-soft:var(--violet-100);
  --surface-paper:var(--sky-100);
  --surface-accent:var(--yellow-500);
  --surface-accent-soft:var(--yellow-100);
  --surface-overlay:rgba(13,12,28,.56);

  --text-strong:var(--ink-1000);
  --text-body:var(--ink-700);
  --text-muted:var(--ink-500);
  --text-faint:var(--ink-400);
  --text-on-brand:var(--white);
  --text-on-inverse:var(--white);
  --text-on-inverse-muted:var(--violet-200);
  --text-on-accent:var(--navy-700);
  --text-brand:var(--navy-700);
  --text-link:var(--navy-700);
  --text-link-hover:var(--violet-500);

  --border-hairline:var(--ink-200);
  --border-strong:var(--ink-300);
  --border-inverse:rgba(255,255,255,.16);
  --border-brand:var(--navy-700);

  --positive:var(--gain-500);
  --positive-soft:var(--gain-100);
  --negative:var(--red-500);
  --negative-soft:var(--red-100);
  --warning:var(--amber-500);
  --warning-soft:var(--amber-100);
  --info:var(--violet-500);
  --info-soft:var(--violet-100);

  --focus-ring:0 0 0 3px rgba(84,75,154,.32);
}
