/* =============================================================================
   Scania Tegel — Color tokens
   Primitives (--scania-*) mirror color/_scania-color-primitives.scss verbatim.
   Semantic brand-usage tokens mirror color/_scania-brand-usage.scss.
   Light mode on :root; dark mode under .tds-mode-dark.
   ============================================================================= */

:root {
  /* ---------- Neutral solid ---------- */
  --scania-neutral-solid-1000: rgba(0, 0, 0, 1);
  --scania-neutral-solid-958: rgba(14, 16, 19, 1);
  --scania-neutral-solid-928: rgba(21, 24, 29, 1);
  --scania-neutral-solid-900: rgba(28, 34, 43, 1);
  --scania-neutral-solid-868: rgba(36, 44, 55, 1);
  --scania-neutral-solid-846: rgba(45, 54, 67, 1);
  --scania-neutral-solid-800: rgba(58, 69, 84, 1);
  --scania-neutral-solid-700: rgba(83, 95, 112, 1);
  --scania-neutral-solid-600: rgba(117, 131, 152, 1);
  --scania-neutral-solid-500: rgba(147, 161, 183, 1);
  --scania-neutral-solid-400: rgba(181, 189, 204, 1);
  --scania-neutral-solid-300: rgba(206, 210, 220, 1);
  --scania-neutral-solid-200: rgba(222, 224, 230, 1);
  --scania-neutral-solid-100: rgba(235, 236, 238, 1);
  --scania-neutral-solid-50: rgba(243, 244, 247, 1);
  --scania-neutral-solid-00: rgba(255, 255, 255, 1);

  /* ---------- Neutral transparent (over light) ---------- */
  --scania-neutral-transparent-958: rgba(14, 16, 19, 1);
  --scania-neutral-transparent-826: rgba(28, 39, 57, 0.86);
  --scania-neutral-transparent-700: rgba(6, 23, 49, 0.69);
  --scania-neutral-transparent-600: rgba(23, 50, 87, 0.6);
  --scania-neutral-transparent-500: rgba(41, 68, 110, 0.5);
  --scania-neutral-transparent-400: rgba(41, 65, 110, 0.35);
  --scania-neutral-transparent-200: rgba(51, 64, 102, 0.17);

  /* ---------- Neutral transparent inverse (over dark) ---------- */
  --scania-neutral-transparent-inverse-958: rgba(243, 244, 247, 1);
  --scania-neutral-transparent-inverse-700: rgba(226, 235, 253, 0.8);
  --scania-neutral-transparent-inverse-600: rgba(195, 213, 242, 0.75);
  --scania-neutral-transparent-inverse-500: rgba(194, 218, 252, 0.6);
  --scania-neutral-transparent-inverse-400: rgba(184, 212, 250, 0.45);
  --scania-neutral-transparent-inverse-200: rgba(172, 204, 246, 0.34);

  /* ---------- Blue (primary brand accent) ---------- */
  --scania-blue-900: #001533;
  --scania-blue-800: #041e42;
  --scania-blue-700: #0f3263;
  --scania-blue-600: #16417f;
  --scania-blue-500: #2058a8;
  --scania-blue-400: #2a6ecf;
  --scania-blue-300: #4a89f3;
  --scania-blue-200: #87afe8;
  --scania-blue-100: #bacde8;
  --scania-blue-50: #d8dde5;

  /* ---------- Extended red (danger) ---------- */
  --scania-extended-red-900: #350004;
  --scania-extended-red-800: #480008;
  --scania-extended-red-700: #6c0011;
  --scania-extended-red-600: #8a0019;
  --scania-extended-red-500: #b60024;
  --scania-extended-red-400: #e30330;
  --scania-extended-red-300: #ff444f;
  --scania-extended-red-200: #ff8d8b;
  --scania-extended-red-100: #ffd3d2;
  --scania-extended-red-50: #ffdfe3;

  /* ---------- Extended green (success) ---------- */
  --scania-extended-green-900: #001a12;
  --scania-extended-green-800: #00251b;
  --scania-extended-green-700: #003a2d;
  --scania-extended-green-600: #004c3b;
  --scania-extended-green-500: #006650;
  --scania-extended-green-400: #008166;
  --scania-extended-green-300: #009e7e;
  --scania-extended-green-200: #41c29f;
  --scania-extended-green-100: #a4d7c4;
  --scania-extended-green-50: #d1e0d9;

  /* ---------- Extended yellow (warning) ---------- */
  --scania-extended-yellow-900: #1d1500;
  --scania-extended-yellow-800: #281e00;
  --scania-extended-yellow-700: #3f3100;
  --scania-extended-yellow-600: #524000;
  --scania-extended-yellow-500: #6e5700;
  --scania-extended-yellow-400: #8b6e00;
  --scania-extended-yellow-300: #a98700;
  --scania-extended-yellow-200: #d3a900;
  --scania-extended-yellow-100: #f1c21b;
  --scania-extended-yellow-50: #f4db99;

  /* =========================================================================
     Semantic — LIGHT MODE
     ========================================================================= */

  /* Text */
  --foreground-text-strong: var(--scania-neutral-transparent-958);
  --foreground-text-defined: var(--scania-neutral-transparent-700);
  --foreground-text-soft: var(--scania-neutral-transparent-600);
  --foreground-text-subtle: var(--scania-neutral-transparent-500);
  --foreground-text-disabled: var(--scania-neutral-transparent-400);
  --foreground-text-supertype: var(--scania-blue-800);
  --foreground-text-inverse-strong: var(--scania-neutral-transparent-inverse-958);
  --foreground-text-clickable-link: var(--scania-blue-400);
  --foreground-text-clickable-link-visited: var(--scania-blue-700);

  /* Border */
  --foreground-border-strong: var(--scania-neutral-transparent-958);
  --foreground-border-defined: var(--scania-neutral-transparent-700);
  --foreground-border-soft: var(--scania-neutral-transparent-600);
  --foreground-border-subtle: var(--scania-neutral-transparent-500);
  --foreground-border-disabled: var(--scania-neutral-transparent-400);
  --foreground-border-discrete: var(--scania-neutral-transparent-200);
  --foreground-border-clickable-focus: var(--scania-blue-400);
  --foreground-border-clickable-focus-width: 2px;

  /* Background — elevation */
  --background-elevation-base: var(--scania-neutral-solid-00);
  --background-elevation-layer-01: var(--scania-neutral-solid-50);
  --background-elevation-layer-02: var(--scania-neutral-solid-00);
  --background-elevation-layer-03: var(--scania-neutral-solid-50);
  --background-elevation-top: var(--scania-neutral-solid-00);
  --background-elevation-scrim: rgb(0 0 0 / 38%);
  --background-elevation-inverse: var(--scania-neutral-solid-1000);

  /* Background — clickable primary */
  --background-clickable-primary-primary: var(--scania-blue-600);
  --background-clickable-primary-primary-hover: var(--scania-blue-700);
  --background-clickable-primary-pressed: var(--scania-blue-800);
  --background-clickable-primary-focus: var(--scania-blue-700);
  --background-clickable-primary-disabled: var(--scania-neutral-solid-50);
  --background-clickable-primary-resting: var(--scania-neutral-solid-100);

  /* Background — clickable danger */
  --background-clickable-danger-danger: var(--scania-extended-red-400);
  --background-clickable-danger-danger-hover: var(--scania-extended-red-600);
  --background-clickable-danger-pressed: var(--scania-extended-red-700);

  /* System — info / success / warning / danger */
  --system-info-strong: var(--scania-blue-800);
  --system-info-default: var(--scania-blue-400);
  --system-info-subtle: var(--scania-blue-50);
  --system-success-strong: var(--scania-extended-green-700);
  --system-success-default: var(--scania-extended-green-200);
  --system-success-subtle: var(--scania-extended-green-50);
  --system-warning-strong: var(--scania-extended-yellow-800);
  --system-warning-default: var(--scania-extended-yellow-100);
  --system-warning-subtle: #fff9e8;
  --system-danger-strong: var(--scania-extended-red-800);
  --system-danger-default: var(--scania-extended-red-400);
  --system-danger-subtle: var(--scania-extended-red-50);

  /* Convenience aliases */
  --surface-page: var(--background-elevation-base);
  --surface-card: var(--background-elevation-top);
  --surface-sunken: var(--background-elevation-layer-01);
  --text-body: var(--foreground-text-strong);
  --text-muted: var(--foreground-text-soft);
  --accent: var(--scania-blue-600);
  --border-card: var(--foreground-border-discrete);
}

/* =========================================================================
   Semantic — DARK MODE
   ========================================================================= */
.tds-mode-dark,
html[data-theme="dark"] {
  --foreground-text-strong: var(--scania-neutral-transparent-inverse-958);
  --foreground-text-defined: var(--scania-neutral-transparent-inverse-700);
  --foreground-text-soft: var(--scania-neutral-transparent-inverse-600);
  --foreground-text-subtle: var(--scania-neutral-transparent-inverse-500);
  --foreground-text-disabled: var(--scania-neutral-transparent-inverse-400);
  --foreground-text-supertype: var(--scania-neutral-solid-00);
  --foreground-text-clickable-link: var(--scania-blue-300);
  --foreground-text-clickable-link-visited: var(--scania-blue-100);

  --foreground-border-strong: var(--scania-neutral-transparent-inverse-958);
  --foreground-border-defined: var(--scania-neutral-transparent-inverse-700);
  --foreground-border-soft: var(--scania-neutral-transparent-inverse-600);
  --foreground-border-subtle: var(--scania-neutral-transparent-inverse-500);
  --foreground-border-disabled: var(--scania-neutral-transparent-inverse-400);
  --foreground-border-discrete: var(--scania-neutral-transparent-inverse-200);
  --foreground-border-clickable-focus: var(--scania-blue-300);

  --background-elevation-base: var(--scania-neutral-solid-1000);
  --background-elevation-layer-01: var(--scania-neutral-solid-928);
  --background-elevation-layer-02: var(--scania-neutral-solid-928);
  --background-elevation-layer-03: var(--scania-neutral-solid-900);
  --background-elevation-top: var(--scania-neutral-solid-846);
  --background-elevation-scrim: rgb(0 0 0 / 50%);
  --background-elevation-inverse: var(--scania-neutral-solid-00);

  --background-clickable-primary-primary: var(--scania-blue-400);
  --background-clickable-primary-primary-hover: var(--scania-blue-500);
  --background-clickable-primary-pressed: var(--scania-blue-600);
  --background-clickable-primary-focus: var(--scania-blue-500);
  --background-clickable-primary-disabled: var(--scania-neutral-solid-868);
  --background-clickable-primary-resting: var(--scania-neutral-solid-800);

  --system-info-strong: var(--scania-blue-50);
  --system-info-default: var(--scania-blue-400);
  --system-info-subtle: var(--scania-blue-700);
  --system-success-strong: var(--scania-extended-green-50);
  --system-success-default: var(--scania-extended-green-200);
  --system-success-subtle: var(--scania-extended-green-700);
  --system-warning-strong: var(--scania-extended-yellow-50);
  --system-warning-default: var(--scania-extended-yellow-100);
  --system-warning-subtle: var(--scania-neutral-solid-900);
  --system-danger-strong: var(--scania-extended-red-50);
  --system-danger-default: var(--scania-extended-red-400);
  --system-danger-subtle: var(--scania-extended-red-900);

  --surface-page: var(--background-elevation-base);
  --surface-card: var(--background-elevation-top);
  --surface-sunken: var(--background-elevation-layer-01);
  --text-body: var(--foreground-text-strong);
  --text-muted: var(--foreground-text-soft);
  --accent: var(--scania-blue-400);
  --border-card: var(--foreground-border-discrete);
}
