/* tokens.css — the same file as in module dash (the login pages wear the dashboard's design; one shared source is carried over): the token contract of schemes/design.json as custom properties (schemes definition design): colour roles for light
   and dark following the device, type, space, radius, border, motion, sizes. Every other style sheet uses these names only.
   file-schemes check compares the --c-* values with schemes/design.json. An element with data-mode="dark" wears the dark roles.
   version: 0.1.0 · created 2026-10-04 by Pascal Ehlig, ITS · edited 2026-10-04 by Pascal Ehlig, ITS */
:root {
  color-scheme: light dark;
  --c-bg: #f5f6fb; --c-surface: #ffffff; --c-raised: #ffffff; --c-sunken: #eceef7; --c-border: #d3d8ea; --c-control: #6b7499;
  --c-text: #0e1530; --c-muted: #4d5679;
  --c-action: #3346b0; --c-on-action: #ffffff; --c-link: #3346b0; --c-focus: #3346b0;
  --c-accent: #f5b942; --c-on-accent: #0e1530; --c-accent-text: #7a4d00; --c-line: #5f74d6;
  --c-ok: #0f6b45; --c-ok-bg: #e3f5ec; --c-warn: #7a4d00; --c-warn-bg: #fdf1d6;
  --c-danger: #a8202b; --c-danger-bg: #fce8ea; --c-info: #3346b0; --c-info-bg: #e8ecfb;

  --font: system-ui, -apple-system, sans-serif; --font-mono: ui-monospace, monospace;
  --text-base: 1rem; --text-small: 0.875rem; --text-h1: 1.75rem; --text-h2: 1.375rem; --text-h3: 1.125rem; --line: 1.5;
  --weight: 400; --weight-strong: 600;
  --s-0: 0; --s-2: 2px; --s-4: 4px; --s-8: 8px; --s-12: 12px; --s-16: 16px; --s-24: 24px; --s-32: 32px; --s-40: 40px; --s-48: 48px; --s-64: 64px;
  --radius-control: 8px; --radius-surface: 8px; --radius-full: 999px;
  --border: 1px; --focus: 2px; --focus-offset: 2px;
  --motion-fast: 120ms; --motion: 120ms; --ease: ease-out;
  --row: 40px; --target: 32px; --control: 40px; --content: 1440px; --measure: 68ch;
}
@media (pointer: coarse) { :root { --target: 44px; --control: 44px; } }
@media (prefers-reduced-motion: reduce) { :root { --motion-fast: 0ms; --motion: 0ms; } }
@media (prefers-color-scheme: dark) {
  :root {
    --c-bg: #070a17; --c-surface: #0e1530; --c-raised: #151d40; --c-sunken: #0a0f24; --c-border: #26315c; --c-control: #6f7fbf;
    --c-text: #eef1fb; --c-muted: #9aa3c4;
    --c-action: #9fb4ff; --c-on-action: #070a17; --c-link: #9fb4ff; --c-focus: #9fb4ff;
    --c-accent: #f5b942; --c-on-accent: #070a17; --c-accent-text: #f5b942; --c-line: #9fb4ff;
    --c-ok: #6fd3a0; --c-ok-bg: #0f2a24; --c-warn: #f5b942; --c-warn-bg: #2e2410;
    --c-danger: #ff8f8f; --c-danger-bg: #3a141c; --c-info: #9fb4ff; --c-info-bg: #16204a;
  }
}
[data-mode="dark"] {
  color-scheme: dark;
  --c-bg: #070a17; --c-surface: #0e1530; --c-raised: #151d40; --c-sunken: #0a0f24; --c-border: #26315c; --c-control: #6f7fbf;
  --c-text: #eef1fb; --c-muted: #9aa3c4;
  --c-action: #9fb4ff; --c-on-action: #070a17; --c-link: #9fb4ff; --c-focus: #9fb4ff;
  --c-accent: #f5b942; --c-on-accent: #070a17; --c-accent-text: #f5b942; --c-line: #9fb4ff;
  --c-ok: #6fd3a0; --c-ok-bg: #0f2a24; --c-warn: #f5b942; --c-warn-bg: #2e2410;
  --c-danger: #ff8f8f; --c-danger-bg: #3a141c; --c-info: #9fb4ff; --c-info-bg: #16204a;
}
