/* Beyonddo colour system — warm, premium, trust-forward.
 *
 * Direction: DESIGN.md in the source repo is deliberately empty; the navy/electric-blue
 * ramp in packages/ui/src/styles/tokens.css belonged to the discarded specification.
 * This system keeps the SEMANTIC STRUCTURE of that file (every component reads a
 * semantic token, never a raw hue) and replaces the hues with a warm palette:
 * warm ink on sand/cream grounds, a rose primary, and a retained institutional blue
 * reserved exclusively for OFFICIAL German infrastructure.
 *
 * Concrete values only — never light-dark() (color-mix() cannot resolve it, which
 * silently makes tinted surfaces transparent; see theme.spec.ts in the repo).
 */
:root {
  /* ---- Rose: the brand primary. Warm, confident, human. ---- */
  --rose-50: #fff5f7;
  --rose-100: #ffe6ec;
  --rose-200: #ffc9d6;
  --rose-300: #f79fb4;
  --rose-400: #ee6f8e;
  --rose-500: #e14d71;
  --rose-600: #c53a5c;
  --rose-700: #9e2b47;
  --rose-800: #772035;
  --rose-900: #511728;

  /* ---- Ink: warm charcoal. Never pure black, never blue-grey. ---- */
  --ink-950: #14100e;
  --ink-900: #1e1815;
  --ink-800: #2c2421;
  --ink-700: #3f342f;
  --ink-600: #5a4c45;
  --ink-500: #7a6a61;

  /* ---- Sand: warm neutrals. The ground the product sits on. ---- */
  --sand-50: #fdfbf8;
  --sand-100: #f8f3ed;
  --sand-200: #f0e8df;
  --sand-300: #e3d8cc;
  --sand-400: #cfc1b3;
  --sand-500: #a89a8d;
  --sand-600: #8a7c70;

  /* ---- Institutional blue: OFFICIAL sources only (BA, mein NOW, Make it in Germany). ---- */
  --official-50: #f1f4fb;
  --official-100: #dfe6f7;
  --official-500: #2b52b8;
  --official-600: #22429a;
  --official-700: #18357c;

  /* ---- Verified green: Beyonddo-verified partners and documents. ---- */
  --verified-50: #eef7f2;
  --verified-100: #d7ece0;
  --verified-500: #1f7a5c;
  --verified-600: #16624a;

  /* ---- Amber: "may be relevant", external links, expiring documents. ---- */
  --amber-50: #fdf5e9;
  --amber-100: #f9e8cc;
  --amber-500: #b4661a;
  --amber-600: #8f4f11;

  /* ---- Clay: destructive / rejected. Warm red, not a fire alarm. ---- */
  --clay-50: #fdf2f0;
  --clay-100: #f8ded9;
  --clay-500: #b23a34;
  --clay-600: #8d2b26;

  /* ================= Semantic aliases ================= */
  --background: var(--sand-50);
  --background-alt: var(--sand-100);
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --surface-sunken: var(--sand-100);
  --surface-inverse: var(--ink-900);

  --text-body: var(--ink-800);
  --text-heading: var(--ink-900);
  --text-muted: var(--ink-500);
  --text-inverse: var(--sand-50);
  --text-on-primary: #ffffff;
  --text-link: var(--rose-700);
  --text-link-hover: var(--rose-800);

  --border-subtle: var(--sand-200);
  --border-default: var(--sand-300);
  --border-strong: var(--sand-400);
  --border-inverse: var(--ink-700);

  /* Solid-fill primary must clear 4.5:1 against white text (WCAG 1.4.3 / BFSG).
   * rose-600 on #fff = 5.08:1; rose-500 was 3.82:1 and is therefore decorative-only. */
  --primary: var(--rose-600);
  --primary-hover: var(--rose-700);
  --primary-active: var(--rose-800);
  /* Non-text brand hue: tints, progress fills, thumbnail grounds (needs 3:1 only). */
  --primary-decorative: var(--rose-500);
  --primary-tint: var(--rose-50);
  --primary-foreground: #ffffff;

  --secondary: var(--ink-900);
  --secondary-hover: var(--ink-800);
  --secondary-foreground: var(--sand-50);

  --ring: var(--rose-600);
  --ring-offset: var(--background);

  --success: var(--verified-500);
  --success-strong: var(--verified-600);
  --success-tint: var(--verified-50);
  --warning: var(--amber-500);
  --warning-strong: var(--amber-600);
  --warning-tint: var(--amber-50);
  --destructive: var(--clay-500);
  --destructive-hover: var(--clay-600);
  --destructive-tint: var(--clay-50);
  --destructive-foreground: #ffffff;
  --info: var(--official-500);
  --info-strong: var(--official-600);
  --info-tint: var(--official-50);

  /* ---- Source provenance (repo README §11). Never present external data as ours. ---- */
  --source-direct: var(--rose-600);
  --source-direct-tint: var(--rose-50);
  --source-partner: var(--verified-500);
  --source-partner-tint: var(--verified-50);
  --source-official: var(--official-500);
  --source-official-tint: var(--official-50);
  --source-feed: var(--ink-500);
  --source-feed-tint: var(--sand-100);
  --source-external: var(--amber-500);
  --source-external-tint: var(--amber-50);

  /* ---- Readiness statuses (repo README §9). ---- */
  --status-job-ready: var(--verified-500);
  --status-training: var(--official-500);
  --status-qualification: var(--amber-500);
  --status-language: var(--rose-600);
  --status-review: var(--ink-500);
}
