/* COPIED FROM ANTSOFT. Do not edit here.
   Source: E:ntsoft\css/tokens.css (design blueprint artifact c62c59c9).
   This is the shared UCI OIT design system: same tokens, same components,
   so this app and AntSoft read as one product. App-specific rules belong in
   styles.css, which loads after this. Re-copy from AntSoft when it changes.
   Copied 2026-08-25. */
/* ============================================================================
   AntSoft × License Commander — THE unified token system (blueprint c62c59c9)
   One source of truth for every surface: storefront, command, gate, email
   constants. UCI blue + gold + slate + system sans; light/dark/high-contrast.
   ========================================================================== */
/* Display face — self-hosted (fonts/, OFL), latin subset, variable 200-800. Headings and
   product names only; body copy stays on the system sans for zero-cost legibility. */
@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/bricolage-grotesque-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}

:root {
  --scale: 1;

  /* brand */
  --navy: #04365c;
  --blue: #0064a4;
  --blue-bright: #0086c3;
  --gold: #ffd200;
  --gold-deep: #8a6d00;          /* gold as TEXT (AAA on light surfaces) */

  /* neutrals (slate) */
  --bg: #eef2f6;
  --surface: #ffffff;
  --surface-2: #e7edf3;
  --ink: #0f172a;
  --body: #334155;               /* 10.4:1 on white — AAA */
  --muted: #3d4a5c;              /* >=7:1 — AAA small text */
  --line: #c3cdd8;
  --link: #0a4f96;

  /* semantic — intent is NEVER color alone (pill: icon + word + border) */
  --good: #0a6b45;  --good-bg: #e4f4ec;
  --bad:  #a11208;  --bad-bg:  #fdecea;
  --warn: #7a5c00;  --warn-bg: #fff7e0;
  --info: #0f4d8f;  --info-bg: #e3f0fd;

  /* focus: dual-tone — blue ring on light (gold is invisible on white) */
  --focus: #0a4f96;

  --sans: 'Segoe UI', system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
  --mono: ui-monospace, 'Cascadia Code', Consolas, Menlo, monospace;
  --display: 'Bricolage Grotesque', 'Segoe UI', system-ui, sans-serif;

  --r-sm: 6px; --r-md: 12px; --r-lg: 16px; --r-full: 999px;
  /* layered: a tight contact shadow + a soft ambient one reads richer than a single blur */
  --sh-md: 0 1px 2px rgba(2,20,40,.07), 0 8px 22px -10px rgba(2,20,40,.16);
  --sh-lg: 0 2px 4px rgba(2,20,40,.08), 0 16px 36px -12px rgba(2,20,40,.24);
  --hero-grad: linear-gradient(135deg, #04365c 0%, #0064a4 62%, #0086c3 100%);
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b1220; --surface: #141d2e; --surface-2: #1c2739;
    --ink: #f2f6fa; --body: #dde6f0; --muted: #c0ccda;
    --line: #3a4a5e; --link: #8ec1ff;
    --blue: #4da3dd; --navy: #0d2b47;
    --good: #5fd39b; --good-bg: #0f2a1e;
    --bad: #ff9a92;  --bad-bg: #2c1512;
    --warn: #ecca5e; --warn-bg: #241f10;
    --info: #9cc7f5; --info-bg: #12253c;
    --focus: #ffd200;            /* gold ring earns its keep on dark */
    --gold-deep: #ecca5e;
    --sh-md: 0 4px 10px rgba(0,0,0,.5);
    --sh-lg: 0 10px 24px rgba(0,0,0,.55);
  }
}
/* explicit override (theme toggle stamps data-theme; must beat the media query) */
:root[data-theme="light"] {
  --bg:#eef2f6; --surface:#fff; --surface-2:#e7edf3; --ink:#0f172a; --body:#334155;
  --muted:#3d4a5c; --line:#c3cdd8; --link:#0a4f96; --blue:#0064a4; --navy:#04365c;
  --good:#0a6b45; --good-bg:#e4f4ec; --bad:#a11208; --bad-bg:#fdecea;
  --warn:#7a5c00; --warn-bg:#fff7e0; --info:#0f4d8f; --info-bg:#e3f0fd;
  --focus:#0a4f96; --gold-deep:#8a6d00;
  --sh-md:0 4px 6px -1px rgba(2,20,40,.10),0 2px 4px -1px rgba(2,20,40,.06);
  --sh-lg:0 10px 24px -3px rgba(2,20,40,.16);
}
:root[data-theme="dark"] {
  --bg:#0b1220; --surface:#141d2e; --surface-2:#1c2739; --ink:#f2f6fa; --body:#dde6f0;
  --muted:#c0ccda; --line:#3a4a5e; --link:#8ec1ff; --blue:#4da3dd; --navy:#0d2b47;
  --good:#5fd39b; --good-bg:#0f2a1e; --bad:#ff9a92; --bad-bg:#2c1512;
  --warn:#ecca5e; --warn-bg:#241f10; --info:#9cc7f5; --info-bg:#12253c;
  --focus:#ffd200; --gold-deep:#ecca5e;
  --sh-md:0 4px 10px rgba(0,0,0,.5); --sh-lg:0 10px 24px rgba(0,0,0,.55);
}
@media (prefers-contrast: more) {
  :root { --line: #000; --muted: #000; }
  :root[data-theme="dark"] { --line: #fff; --muted: #fff; }
}
