/* MaterialFlow tokens — derived from Factory-Flow Design Specification V1.1 (§2.1–2.5).
   Source of truth: docs/UI-REFERENCE.md. Do not add values outside these tokens. */
@font-face{font-family:"Raleway";font-weight:700;font-display:swap;src:url("../fonts/raleway-700.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:400;font-display:swap;src:url("../fonts/space-grotesk-400.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:600;font-display:swap;src:url("../fonts/space-grotesk-600.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url("../fonts/plex-sans-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url("../fonts/plex-sans-600.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url("../fonts/plex-mono-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url("../fonts/plex-mono-500.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-display:swap;src:url("../fonts/plex-mono-600.woff2") format("woff2")}

:root{
  /* faces */
  --font-display:"Raleway",system-ui,sans-serif;
  --font-label:"Space Grotesk",system-ui,sans-serif;
  --font-body:"IBM Plex Sans",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono","Segoe UI Mono",Consolas,monospace;
  /* surfaces */
  --surface-app:#f4f2f0; --surface-raised:#ffffff; --surface-thumb:#e2dfda;
  /* ink ladder (floor = 0.62) */
  --ink:#1a1a1a; --ink-rgb:26,26,26;
  --text:#1a1a1a; --text-body:rgba(26,26,26,.82); --text-sub:rgba(26,26,26,.74);
  --text-label:rgba(26,26,26,.70); --text-meta:rgba(26,26,26,.66); --text-index:rgba(26,26,26,.62);
  --text-faint:rgba(26,26,26,.62); --text-ghost:rgba(26,26,26,.62); --text-danger:#a8352a;
  /* lines */
  --hairline:rgba(26,26,26,.11); --hairline-strong:rgba(26,26,26,.20);
  --rule-group:rgba(26,26,26,.16); --rule-pane:rgba(26,26,26,.28);
  --control-border:rgba(26,26,26,.30); --input-border:rgba(26,26,26,.26);
  --status-chip-border:rgba(26,26,26,.16); --status-chip-border-strong:rgba(26,26,26,.62);
  --status-chip-fill-strong:rgba(26,26,26,.06);
  /* interaction (Signal Blue) */
  --accent:#0d6b9c; --accent-rgb:13,107,156; --accent-lift:#08506f;
  --accent-fill-hover:rgba(13,107,156,.07); --accent-fill-press:rgba(13,107,156,.20);
  --row-selected-fill:rgba(13,107,156,.08); --focus-outline-color:#0d6b9c;
  /* delivery-risk ramp: mark / ink */
  --risk-safe:#457a2e;   --risk-safe-ink:#3c6b27;
  --risk-watch:#e8b80a;  --risk-watch-ink:#7a5c00;
  --risk-urgent:#d9690a; --risk-urgent-ink:#9a4405;
  --risk-late:#a8352a;   --risk-late-ink:#a8352a;
  --risk-closed:rgba(26,26,26,.38);
  --risk-chip-tint:10%; --risk-chip-border-mix:40%; --risk-chip-tint-watch:22%; --risk-chip-border-watch:70%;
  --risk-safe-on-dark:#5f9a3c; --risk-watch-on-dark:#e8b80a; --risk-urgent-on-dark:#e07a1f; --risk-late-on-dark:#c9493c;
  /* chrome */
  --chrome-bg:#1c1b1a; --chrome-sheet:#1d1c1b; --chrome-ink:#f2f0ef;
  --chrome-ink-body:rgba(242,240,239,.82); --chrome-ink-nav:rgba(242,240,239,.74); --chrome-ink-dim:rgba(242,240,239,.62);
  --chrome-rule:rgba(242,240,239,.10); --chrome-rule-sheet:rgba(242,240,239,.09);
  --chrome-control-border:rgba(242,240,239,.35);
  --rail-accent:#90d5ff; --rail-fill-active:rgba(144,213,255,.14); --rail-fill-sheet:rgba(144,213,255,.12);
  --rail-fill-tab:rgba(144,213,255,.10); --rail-bar-w:3px;
  --queue-count:#e8836f; --queue-count-on:#1c1b1a;
  --scrim-menu:rgba(90,86,82,.50);
  --skeleton-fill:rgba(26,26,26,.07);
  /* spacing — closed ladder */
  --space-1:4px; --space-2:6px; --space-3:7px; --space-4:8px; --space-5:9px; --space-6:10px; --space-7:12px;
  --space-8:14px; --space-9:16px; --space-10:18px; --space-11:20px; --space-12:22px; --space-13:26px;
  --space-14:28px; --space-15:30px; --space-16:32px; --space-17:36px; --space-18:40px; --space-19:44px;
  --space-20:52px; --space-21:56px; --space-22:60px; --space-23:64px;
  /* shape */
  --radius-chip:3px; --radius-control:6px; --radius-menu:8px; --radius-modal:14px; --radius-pill:999px;
  /* shell metrics */
  --shell-sidebar-w:246px; --shell-rail-w:64px; --shell-header-h:58px; --phone-strip-h:44px; --phone-title-h:60px;
  --sidebar-row-h:29px; --row-h:46px; --rail-w:4px; --card-rail-w:3px;
  --control-h:34px; --control-h-touch:48px;
  --gutter:28px;
  /* type tracking */
  --tracking-label:.14em; --tracking-label-caps:.10em; --tracking-mono:.02em;
}
html[data-ff-tier="medium"]{--gutter:36px; --control-h:48px}
html[data-ff-tier="narrow"]{--gutter:20px; --control-h:48px}
