/* Proxant AI — Color tokens
   ─────────────────────────────────────────────────────────────
   Two layers:
     1. Primitive scales (raw palette) — never reference directly in UI.
     2. Semantic aliases (--text-*, --surface-*, --border-*, …) — use these.
   Lab-result colors double as the diagnostic legend:
     normal=green · low=azure · elevated=amber · critical=red
*/

:root {
  /* ── Primitive: Proxant Teal (brand primary) ───────────────── */
  --teal-50:  #ECFBF8;
  --teal-100: #CFF5EE;
  --teal-200: #9FEADD;
  --teal-300: #5FD7C6;
  --teal-400: #29BCA9;
  --teal-500: #109E8E;
  --teal-600: #0C8276;
  --teal-700: #0B6960;
  --teal-800: #0C534D;
  --teal-900: #0C443F;

  /* ── Primitive: Ink / Navy (deep brand neutral) ────────────── */
  --ink-700: #16313F;
  --ink-800: #102532;
  --ink-900: #0C1A24;
  --ink-950: #07121A;

  /* ── Primitive: Slate (cool UI neutrals) ───────────────────── */
  --slate-0:   #FFFFFF;
  --slate-50:  #F6F8F9;
  --slate-100: #EEF2F4;
  --slate-200: #E1E7EA;
  --slate-300: #CDD6DB;
  --slate-400: #A6B3BA;
  --slate-500: #788790;
  --slate-600: #56646C;
  --slate-700: #3C474E;
  --slate-800: #283136;
  --slate-900: #141A1E;

  /* ── Primitive: Azure (signature secondary / links / "low") ── */
  --azure-50:  #EAF2FE;
  --azure-100: #D2E2FB;
  --azure-300: #7FB0F4;
  --azure-500: #1E73E8;
  --azure-600: #155DBE;
  --azure-700: #134E9E;

  /* ── Primitive: semantic hues ──────────────────────────────── */
  --green-50:  #E8F6EE;  --green-500: #15935A;  --green-600: #0F7A49;  --green-700: #0C5F39;
  --amber-50:  #FBF1DE;  --amber-500: #C77700;  --amber-600: #A66100;  --amber-700: #804B00;
  --red-50:    #FBEAEA;  --red-500:   #D63B3B;  --red-600:   #B62B2B;  --red-700:   #8F2020;

  /* ═══ Semantic aliases ═════════════════════════════════════ */

  /* Brand */
  --brand:            var(--teal-500);
  --brand-strong:     var(--teal-600);
  --brand-stronger:   var(--teal-700);
  --brand-soft:       var(--teal-50);
  --brand-soft-200:   var(--teal-100);
  --brand-contrast:   #FFFFFF;
  --accent:           var(--azure-500);
  --accent-strong:    var(--azure-600);

  /* Text */
  --text-strong:   var(--ink-900);
  --text-body:     var(--slate-800);
  --text-muted:    var(--slate-600);
  --text-subtle:   var(--slate-500);
  --text-on-brand: #FFFFFF;
  --text-link:     var(--azure-600);

  /* Surfaces */
  --surface-page:    var(--slate-50);
  --surface-card:    var(--slate-0);
  --surface-sunken:  var(--slate-100);
  --surface-raised:  var(--slate-0);
  --surface-inverse: var(--ink-900);
  --surface-brand:   var(--teal-500);
  --surface-hover:   var(--slate-100);

  /* Borders */
  --border-subtle:  var(--slate-200);
  --border-default: var(--slate-300);
  --border-strong:  var(--slate-400);
  --border-brand:   var(--teal-500);
  --ring-focus:     color-mix(in oklch, var(--teal-500) 45%, transparent);

  /* Status — UI + lab-result legend */
  --normal:        var(--green-500);
  --normal-soft:   var(--green-50);
  --low:           var(--azure-500);
  --low-soft:      var(--azure-50);
  --elevated:      var(--amber-500);
  --elevated-soft: var(--amber-50);
  --critical:      var(--red-500);
  --critical-soft: var(--red-50);

  --success: var(--green-500); --success-soft: var(--green-50);
  --warning: var(--amber-500); --warning-soft: var(--amber-50);
  --danger:  var(--red-500);   --danger-soft:  var(--red-50);
  --info:    var(--azure-500); --info-soft:    var(--azure-50);
}
