/* Design tokens. --accent is injected from app.config.BRAND_RED (single source). */

@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-display: swap;
  src: url("../fonts/ibm-plex-sans-latin-400.woff2") format("woff2");
  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; }
@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-display: swap;
  src: url("../fonts/ibm-plex-sans-latin-ext-400.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-weight: 500; font-display: swap;
  src: url("../fonts/ibm-plex-sans-latin-500.woff2") format("woff2");
  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; }
@font-face { font-family: "IBM Plex Sans"; font-weight: 500; font-display: swap;
  src: url("../fonts/ibm-plex-sans-latin-ext-500.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-display: swap;
  src: url("../fonts/ibm-plex-sans-latin-600.woff2") format("woff2");
  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; }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-display: swap;
  src: url("../fonts/ibm-plex-sans-latin-ext-600.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-display: swap;
  src: url("../fonts/ibm-plex-mono-latin-400.woff2") format("woff2");
  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; }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-display: swap;
  src: url("../fonts/ibm-plex-mono-latin-ext-400.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Mono"; font-weight: 500; font-display: swap;
  src: url("../fonts/ibm-plex-mono-latin-500.woff2") format("woff2");
  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; }
@font-face { font-family: "IBM Plex Mono"; font-weight: 500; font-display: swap;
  src: url("../fonts/ibm-plex-mono-latin-ext-500.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --font-sans: "IBM Plex Sans", sans-serif;
  --font-mono: "IBM Plex Mono", monospace;

  --fs-12: 12px; --fs-13: 13px; --fs-14: 14px; --fs-16: 16px;
  --fs-20: 20px; --fs-28: 28px; --fs-40: 40px;

  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px;
  --s-8: 32px; --s-10: 40px; --s-12: 48px;

  --r-1: 2px; --r-2: 3px; --r-3: 4px;
  --line-w: 1px;
  --content-max: 1440px;
  --sidebar-w: 208px;
  --filterbar-h: 48px;
  --control-h: 32px;
  --row-h: 36px;

  --accent: #C3352E;
  --accent-ink: #FFFFFF;
  --accent-hover: color-mix(in srgb, var(--accent) 86%, #000);
  --accent-weak: color-mix(in srgb, var(--accent) 10%, var(--surface));

  /* light */
  --canvas: #ECEDEF;
  --surface: #FFFFFF;
  --ink: #111317;
  --muted: #5B616B;
  --faint: #8A9099;
  --line: #D5D7DB;
  --line-strong: #B8BCC4;
  --hover: #F6F7F8;
  --data-current: var(--ink);
  --data-compare: #B8BCC4;
  --data-mid: #8E949D;
  --data-2: #3A3F47;
  --scale-1: #111317; --scale-2: #4A4F57; --scale-3: #8E949D; --scale-4: #B8BCC4; --scale-5: var(--accent);
  --bad: var(--accent);
  --overlay-shadow: 0 6px 24px rgba(17, 19, 23, .14);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --canvas: #0E1013; --surface: #16191D; --ink: #E7E9EC; --muted: #9AA0A8; --faint: #6E747C;
    --line: #2A2E34; --line-strong: #3C4148; --hover: #1D2025;
    --data-compare: #4A4F57; --data-mid: #6E747C; --data-2: #C9CDD3;
    --scale-1: #E7E9EC; --scale-2: #B3B8BF; --scale-3: #80868E; --scale-4: #4A4F57;
    --accent-ink: #FFFFFF;
    --overlay-shadow: 0 6px 24px rgba(0, 0, 0, .5);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --canvas: #0E1013; --surface: #16191D; --ink: #E7E9EC; --muted: #9AA0A8; --faint: #6E747C;
  --line: #2A2E34; --line-strong: #3C4148; --hover: #1D2025;
  --data-compare: #4A4F57; --data-mid: #6E747C; --data-2: #C9CDD3;
  --scale-1: #E7E9EC; --scale-2: #B3B8BF; --scale-3: #80868E; --scale-4: #4A4F57;
  --accent-ink: #FFFFFF;
  --overlay-shadow: 0 6px 24px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
:root[data-density="comfortable"] { --row-h: 44px; }
