/* ============================================================
   OleaFlow — Semantic aliases
   Map raw primitives to roles. Components reference THESE,
   never the raw ramps — so a future theme swap is one file.
   ============================================================ */

:root {
  /* Surfaces */
  --surface-app: var(--stone-100);      /* app background behind cards */
  --surface-card: var(--stone-0);       /* card / panel */
  --surface-sunken: var(--stone-50);    /* table stripes, wells */
  --surface-raised: var(--stone-0);
  --surface-inverse: var(--stone-900);  /* sidebar, dark chrome */
  --surface-hover: var(--stone-100);
  --surface-active: var(--olive-50);
  --surface-brand: var(--olive-600);
  --surface-brand-soft: var(--olive-50);
  --surface-accent-soft: var(--gold-50);

  /* Text */
  --text-strong: var(--stone-900);      /* headings, key figures */
  --text-body: var(--stone-700);        /* default body */
  --text-muted: var(--stone-500);       /* secondary, captions */
  --text-faint: var(--stone-400);       /* placeholders, disabled */
  --text-on-brand: var(--stone-0);
  --text-on-inverse: var(--stone-100);
  --text-brand: var(--olive-700);
  --text-accent: var(--gold-700);
  --text-link: var(--olive-700);

  /* Borders */
  --border-subtle: var(--stone-200);    /* hairlines, dividers */
  --border-default: var(--stone-300);   /* inputs, cards */
  --border-strong: var(--stone-400);
  --border-brand: var(--olive-600);

  /* Status roles — the normalized mapping.
     Every status pill resolves to ONE of these five pairs. */
  --status-neutral-fg: var(--stone-600);
  --status-neutral-bg: var(--stone-150);
  --status-neutral-bd: var(--stone-300);

  --status-success-fg: var(--green-700);
  --status-success-bg: var(--green-100);
  --status-success-bd: var(--green-200);

  --status-warning-fg: var(--amber-700);
  --status-warning-bg: var(--amber-100);
  --status-warning-bd: var(--amber-200);

  --status-danger-fg: var(--red-700);
  --status-danger-bg: var(--red-100);
  --status-danger-bd: var(--red-200);

  --status-info-fg: var(--blue-700);
  --status-info-bg: var(--blue-100);
  --status-info-bd: var(--blue-200);

  --status-special-fg: var(--violet-700);  /* FACTURÉ et al. */
  --status-special-bg: var(--violet-100);
  --status-special-bd: var(--violet-200);

  /* Fill-bar roles (citernes / trémies) */
  --fill-track: var(--stone-200);
  --fill-olives: var(--olive-500);
  --fill-oil: var(--gold-500);
  --fill-reserved: var(--stone-400);
  --fill-critical: var(--red-500);

  /* Focus */
  --focus-ring: var(--ring-focus);
}
