/* RUMBO LIBRE — design tokens (single source of truth) — ver docs/design/2026-06-25-ui-ux-guidelines.md §2
   Palette: "Atlantic" (ocean azure + warm amber/sand). Adopted 2026-10-01 — ADR-0001 + branding/brand-guidelines.pdf.
   Brand colour is Atlantic azure now (not teal); the console's WCAG-tuned greys and operational danger/warn below
   are intentionally Manager-specific and unchanged. Do not invent a colour not here. */
:root{
  /* Primary — the "wave" / Atlantic ocean. Full ramp 50–900. */
  --ocean-50:#E2F0F8; --ocean-100:#C7E2F2; --ocean-200:#9CCAE8; --ocean-300:#66ABD6; --ocean-400:#2E8DC6;
  --ocean-500:#1577B5; --ocean-600:#12689D; --ocean-700:#0F587F; --ocean-800:#0E4C77; --ocean-900:#0C3A5B;
  /* Legacy names kept so existing code keeps working — they now hold Atlantic azure, not teal. */
  --teal:var(--ocean-500); --teal-d:var(--ocean-800); --teal-50:var(--ocean-50); --teal-100:var(--ocean-100);
  --amber:#E8BF7D; --amber-d:#7A5A12; --amber-50:#FBF1DD;
  --surf-2:#FAFBFB; --sand:#F5EFE3;
  --rose:#A72F5C; --rose-50:#F7E7EE;
  --ink:#1F2A2E;
  /* Secondary/tertiary ink, DARKENED so they clear WCAG AA (4.5:1) on BOTH surfaces this console paints on —
     white panels and the sand page behind them. The previous pair was tuned against white only: on sand
     --muted measured 3.89:1 and --faint 3.04:1, which is every page subtitle, every result count, every table
     header and every "nobody has worked this yet" note in the console sitting below the readable threshold.
     muted 5.2:1 / faint 4.6:1 on sand; 6.0:1 / 5.3:1 on white. They stay close on purpose: a third grey that
     nobody can read is not a level of hierarchy, it is a bug with a name. */
  --muted:#55666A; --faint:#626F73;
  --line:#ECEFEE; --line-2:#E3E8E7;
  --ink-deep:#0C3A5B;
  /* Green ink, darkened 2026-10-17: #2E7D43 read 4.43:1 on its own --green-50 pill (under AA); #2A7440 is 4.99:1
     there, 5.0:1 on sand and 5.7:1 on white. The pill ground stays --green-50. */
  --green:#2A7440; --green-50:#E5F3E7;
  /* The two STATE colours — "this is broken" and "this is missing" — which were already hard-wired in three
     separate places (the bell bubble, the border of a card in warning and the supplier pickers of
     Products). Keeping them here is the difference between a red and THE red: while they are written by hand,
     the day one changes the other two are left behind and nobody notices until they sit side by side on screen.
     They do not replace --rose (the brand) or --green: they are an operational signal, not a palette. */
  --danger:#C0392B; --warn:#E0B43A;
  /* Supplier / proveedor accent (used by the Proveedores pill in the redesign). A muted plum that reads as a
     distinct account family next to --ocean (client) and --green (money), and clears AA on its 50 tint. */
  --purple:#86306F; --purple-50:#F3E7F3;
  --shadow-pill:0 1px 4px rgba(0,0,0,.05);
  /* Radii match the redesign wireframes 1:1: cards 12, buttons/controls 8, pills full. The console was at
     15/11 — every card and button read a touch rounder than the canvas. */
  --r-pill:999px; --r-card:12px; --r-btn:8px;
}
/* RUMBO LIBRE wordmark: always uppercase, with consistent tracking */
.logo,.brand{text-transform:uppercase !important;letter-spacing:.02em !important;}
/* foco accesible global */
:where(a,button,summary,input,[tabindex]):focus-visible{
  outline:2px solid var(--teal); outline-offset:2px; border-radius:4px;
}
