/* NBC Practice Manager — design tokens.
   Source of truth for the Django CSS handoff; mirrored on the /ds/ style-guide page. */
:root {
  /* brand */
  --nbc-navy:     #0E4194;
  --nbc-blue:     #008CD3;
  --nbc-action:   #0E76BD;
  --nbc-action-hover: #0763A4;
  --nbc-blue-100: #9FD3F0;
  --nbc-yellow:   #FFD400;

  /* surfaces & ink */
  --bg:        #EEF2F7;
  --surface:   #FFFFFF;
  --surface-2: #F7F9FC;   /* table head, subtle fills */
  --surface-3: #F2F5F9;   /* chips, inputs */
  --border:    #DDE4ED;
  --border-2:  #EDF1F6;   /* hairline row dividers */
  --ink:       #16243B;
  --ink-2:     #3A4A63;
  --ink-3:     #51607A;   /* dim */
  --ink-4:     #8593A8;   /* muted labels */
  --ink-5:     #9AA6B8;
  --ink-6:     #B6C0CE;

  /* urgency */
  --urg-asap:    #D6453D;
  --urg-soon:    #E8920C;
  --urg-routine: #2E9E7B;

  /* urgency badge fills / text */
  --asap-bg: #FCEBE9; --asap-fg: #B23227;
  --soon-bg: #FBF0D9; --soon-fg: #8A5A00;
  --rout-bg: #E6F3EC; --rout-fg: #1F7A56;

  /* status pills */
  --ok-bg:   #E6F3EC; --ok-fg:   #1F7A56;
  --run-bg:  #E7F1FA; --run-fg:  #0E76BD;
  --warn-bg: #FBF0D9; --warn-fg: #8A5A00;
  --err-bg:  #FCEBE9; --err-fg:  #B23227;
  --pend-bg: #F2F5F9; --pend-fg: #8593A8;

  /* low-confidence flag */
  --flag-bg: #FBF0D9; --flag-fg: #A86A00;
  --alert-bg: #FCF6E7; --alert-border: #F0DEAE; --alert-fg: #7A5200; --alert-strong: #5E3F00;

  /* destructive button */
  --danger-fg: #B23227; --danger-border: #ECDAD8;
  --danger-bg-hover: #FCEBE9; --danger-border-hover: #E4B4AE;

  /* interaction & chrome */
  --on-brand:  #FFFFFF;   /* text/icons on navy or action blue */
  --hover:     #F4F8FC;   /* nav, rail and table-row hover */
  --selected:  #EAF1FB;   /* active rail item, secondary-button hover, avatar tile */
  --rule:      #E2E8F0;   /* toolbar borders, dividers, empty track */
  --track:     #C7D2E0;   /* scrollbar thumb, pending pipeline node */
  --focus-ring: 0 0 0 3px rgba(14, 118, 189, .12);

  /* semantic status set. Status (ok/info/warn/danger/neutral) is deliberately
     separate from urgency (--urg-*, --asap/soon/rout-*): on a clinical screen
     red/amber/green must only ever mean urgency. The older --run/--pend/--err
     names above are the same values and stay until every screen is migrated. */
  --info-bg:    var(--run-bg);   --info-fg:    var(--run-fg);
  --neutral-bg: var(--pend-bg);  --neutral-fg: var(--pend-fg);
  --danger-bg:  var(--err-bg);
  --info-border: #C9DDF0; --info-tint: #F4F9FD; --info-rule: #DCEAF6;
  --danger-tint: #FCF1EF; --danger-line: #F0CFCA; --danger-fg-soft: #C5564C;
  --danger-row:  #FDF5F4;  /* overdue / errored table rows */
  --warn-tint:   #FFFCF4;

  /* spacing scale (4px base) — for new components; existing rules migrate as
     their screens are rebuilt */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px;

  /* type scale — the sizes the app actually uses, named */
  --fs-xs: 10.5px;  /* table headers, labels */
  --fs-sm: 11.5px;  /* secondary text, chips */
  --fs-md: 12.5px;  /* dense body */
  --fs-base: 13px;  /* body */
  --fs-lg: 16px;    /* card titles on focused pages */
  --fs-xl: 19px;    /* page titles */

  /* type */
  --font-sans: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;

  /* shape & shadow */
  --r-card: 11px;
  --r-ctl: 8px;
  --r-input: 7px;
  --shadow-card: 0 1px 3px rgba(16, 36, 59, .05);
  --shadow-bar:  0 -2px 10px rgba(16, 36, 59, .06);
}
