/* 3J Inventory Center: design tokens. Light is the reference theme; dark is a full second theme (tested for contrast in apps/admin/test/center.test.ts).
   Every colour used by a component comes from here. Pairs named --x / --x-bg are text + background and must keep >= 4.5:1. */
@font-face { font-family: 'IBM Plex Sans'; font-weight: 400; font-display: swap; src: url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-weight: 500; font-display: swap; src: url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-weight: 600; font-display: swap; src: url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-weight: 700; font-display: swap; src: url('../fonts/ibm-plex-sans-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-weight: 400; font-display: swap; src: url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-weight: 500; font-display: swap; src: url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); }

:root, :root[data-theme="light"] {
  color-scheme: light;
  --bg: #F2F3EF; --surface: #FFFFFF; --surface-2: #F7F8F5; --line: #DADDD6; --line-strong: #B9BFB5;
  --text: #121C26; --muted: #55616D; --control-border: #7A8274;
  --brand: #0F4C81; --on-brand: #FFFFFF; --brand-soft: #E4EEF9; --brand-text: #0F4C81; --focus: #1F6FBF;
  --ok: #1A5E33; --ok-bg: #E3F3E8;
  --warn: #7A4200; --warn-bg: #FFF1DC;
  --crit: #9B1C14; --crit-bg: #FDECEA;
  --info: #164C85; --info-bg: #E4EEF9;
  --mute: #3B4752; --mute-bg: #ECEEE8;
  --photo-bg: #E3E7E0; --shadow: 0 1px 2px rgba(18,28,38,.06), 0 4px 14px rgba(18,28,38,.06); --scrim: rgba(18,28,38,.45);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0E1620; --surface: #16212D; --surface-2: #1B2937; --line: #2B3946; --line-strong: #43556A;
  --text: #E8EDF2; --muted: #A3AFBB; --control-border: #7C8FA6;
  --brand: #2B78C6; --on-brand: #FFFFFF; --brand-soft: #14304F; --brand-text: #8EC1F5; --focus: #7DB7F2;
  --ok: #8FDDA9; --ok-bg: #17331F;
  --warn: #FFC77A; --warn-bg: #3A2A0E;
  --crit: #FFA59E; --crit-bg: #3F1815;
  --info: #9CC8F5; --info-bg: #14304F;
  --mute: #C3CCD5; --mute-bg: #243240;
  --photo-bg: #223142; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.35); --scrim: rgba(0,0,0,.6);
}
:root {
  --font: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px;
  --nav-w: 264px; --bar-h: 56px; --tabbar-h: 64px; --tap: 44px;
}
