/* Hallmark · genre: modern-minimal · design-system: design.md · designed-as-app
 * theme: Mainline · accent: blue #146fd1 · paper: ice near-white · rail: navy
 *
 * One token set for both renditions of the product: the light admin app
 * (base.html) and the dark TV kiosk (board.html). Brand values come from the
 * Mainline marketing site's token set (mainline-site/tokens.css) so the
 * doctor's admin and the public site read as one product. Every color and
 * font in the templates must reference a token from this file — no one-off
 * hex values in page CSS.
 *
 * All fonts are self-hosted: this PHI-capable application must not make
 * third-party requests.
 */

@font-face { font-family:"Figtree"; src:url("/static/fonts/figtree-latin.woff2") format("woff2"); font-weight:300 900; font-style:normal; font-display:swap; }
@font-face { font-family:"Geist"; src:url("/static/fonts/geist-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Geist"; src:url("/static/fonts/geist-500.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Geist"; src:url("/static/fonts/geist-600.woff2") format("woff2"); font-weight:600 799; font-style:normal; font-display:swap; }
@font-face { font-family:"Geist Mono"; src:url("/static/fonts/geist-mono-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Geist Mono"; src:url("/static/fonts/geist-mono-500.woff2") format("woff2"); font-weight:500 700; font-style:normal; font-display:swap; }

:root {
  color-scheme:light;   /* board.html overrides to dark; keeps UA widgets light */

  /* brand — Mainline blue, with the site's navy and cyan as supporting roles */
  --brand:#146fd1;             /* 4.97:1 on --surface, 4.70:1 on --paper */
  --brand-dark:#0d56a7;        /* text-safe blue, 7.2:1 */
  --brand-hover:#0d56a7;
  --brand-soft:#edf5fc;
  --brand-bright:#91c5ff;      /* accent that stays legible on dark surfaces */
  --brand-ring:rgba(20,111,209,.18);
  --brand-wash:rgba(20,111,209,.07);
  --navy:#082942;
  --navy-2:#0d3857;
  --cyan:#56d4d0;
  --cyan-bright:#67ded9;

  /* light rendition — admin app */
  --paper:#f6f9fc;
  --surface:#ffffff;
  --surface-clear:rgba(255,255,255,0);  /* --surface at zero alpha, for fades into it */
  --seafoam:#eef4f9;           /* legacy name; the cool panel tint */
  --glass:rgba(255,255,255,.78);
  --ink:#27415a;
  --ink-strong:#0f2740;
  --muted:#5a7184;             /* 4.81:1 on --paper, 5.08:1 on --surface */
  --line:#dde7ef;
  --line-soft:#eaf1f6;
  --line-strong:#b9d2e5;
  --line-hover:#8fb0c9;
  --row-hover:#f7fafc;
  --shadow-ink:rgba(18,58,91,.07);
  --shadow-ink-strong:rgba(18,58,91,.14);
  --scrim:rgba(8,41,66,.35);
  --slate-dark:#40586d;        /* the site's lede/copy color, 7.4:1 on white */
  --radius-corner:2.25rem;     /* the site's one oversized corner on .surface panels */

  /* the navy rail (sidebar) — white ink on the site's brand panel color */
  --rail-bg:#082942;
  --rail-bg-2:#0d3857;
  --rail-ink:#edf5fb;
  --rail-muted:#b8cbd9;        /* 8.9:1 on --rail-bg */
  --rail-line:rgba(255,255,255,.10);
  --rail-hover:rgba(255,255,255,.07);
  --rail-active:rgba(255,255,255,.13);
  --rail-accent:#67ded9;

  /* status — always ink + soft + line as a trio */
  --gold:#d9a441;    --gold-soft:#fff8e8;    --gold-ink:#684d15;    --gold-line:#ead5a8;
  --danger:#c82d37;  --danger-soft:#fff1f1;  --danger-ink:#7f1f26;  --danger-line:#f1cfd1;
  --success:#147b65; --success-soft:#eaf7f3; --success-ink:#134e40; --success-line:#bfe4d2;

  /* code block */
  --code-bg:#0d2033;
  --code-ink:#e8f0f7;

  /* dark rendition — TV board */
  --board-bg:#0b1721;
  --board-panel:#12222f;
  --board-line:#243a4a;
  --board-ink:#edf5fb;
  --board-muted:#9db1c1;

  /* request-kind coding (board stripes, chips, overview bars) — matches the
     kinds the agents actually write: refill, scheduling, nurse_message,
     general_message, cancellation, reschedule */
  --kind-refill:#2f9e63;
  --kind-scheduling:#3a7bd5;
  --kind-nurse-message:#8e5bd1;
  --kind-general-message:#b0761c;   /* amber dark enough for white chip text at 3:1 */
  --kind-cancellation:#c26b8a;
  --kind-reschedule:#1f8484;        /* teal: between scheduling blue and cancellation */
  --kind-other:#5b6773;

  /* Overview charts: emphasis form — the accent (--brand) marks the one
     thing the chart is about (today; calls while the office was closed),
     everything else is this de-emphasis slate. 3.2:1 on --surface, and
     separable from --brand for every color-vision type (dataviz validator:
     protan ΔE 14.9, normal ΔE 16.4). Gridlines use --line-soft. */
  --chart-muted:#7894ab;

  /* elevation, shape, motion, type */
  --shadow:0 1px 2px var(--shadow-ink), 0 10px 26px var(--shadow-ink);
  --shadow-hover:0 1px 2px var(--shadow-ink), 0 14px 34px var(--shadow-ink-strong);
  --radius:14px;
  --radius-input:10px;
  --radius-pill:99px;
  --ease-out:cubic-bezier(0.16, 1, 0.3, 1);
  --dur-short:150ms;
  --display:"Figtree","Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sans:"Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
}
