/* ojoro console design tokens (17 Oct 2026; owner decision CC1: dark by
   default, light as a per-person choice). Values from the command-centre
   concept (Documents/ojoro/02-design/specs/ojoro-console-command-centre-
   2026-10-17.html, "Tokens"), taken from the public site's palette, text
   colours checked for contrast there (4.5:1 or better on every surface).
   Every colour, font, shadow and motion time in the console comes from here.
   Fills (bars, dots, buttons) use the base colours; coloured TEXT uses the
   -ink variants. One job per colour: green counted/done/go, amber waiting
   for a person, red the sheet's own figures don't add up or overdue, grey
   held or set aside, blue live data and focus, violet blind checks. */
:root,
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #07090b;
  --panel: #0d1013;
  --panel2: #13171b;
  --line: #1f252b;
  --line2: #2b323a;
  --ink: #e8eaec;
  --muted: #a1a8b0;
  --faint: #7f8790;
  --green: #3fb950;
  --green-ink: #56d364;
  --amber: #d9a441;
  --amber-ink: #e3b45c;
  --red: #e5534b;
  --red-ink: #ff7b72;
  --blue: #6aa7ff;
  --violet: #a58bfa;
  --grey: #7d8590;
  --track: #1a1f24;
  --focus: #6aa7ff;
  --shadow: 0 10px 30px rgba(0, 0, 0, .55);
  --go-bg: #3fb950;          /* the one primary action per screen */
  --go-ink: #04120a;
  --on-amber: #14110a;       /* text on an amber count badge */
  --stage: #15191e;          /* the dark stage behind a sheet image, both themes */
}
[data-theme="light"] {
  color-scheme: light;
  --bg: #eef1f4;
  --panel: #fff;
  --panel2: #f3f5f7;
  --line: #d9dee3;
  --line2: #c6cdd4;
  --ink: #14181c;
  --muted: #4f5862;
  --faint: #5f6770;
  --green: #1a9d4b;
  --green-ink: #11692f;
  --amber: #c48a1c;
  --amber-ink: #8a5300;
  --red: #c53d34;
  --red-ink: #a3221b;
  --blue: #1d5fb8;
  --violet: #6941c6;
  --grey: #8a939c;
  --track: #e3e7ea;
  --focus: #1d5fb8;
  --shadow: 0 10px 30px rgba(20, 30, 40, .14);
  --go-bg: #157f3d;
  --go-ink: #fff;
  --on-amber: #14110a;
  --stage: #2b2f35;
}
:root {
  --sans: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --radius: 8px;
  --radius-lg: 12px;
  /* motion (the concept's Motion table): state changes only */
  --t-quick: 150ms;     /* box outline, sum colour, chip fade-in */
  --t-move: 200ms;      /* a row or toast arriving */
  --t-count: 600ms;     /* a number counting up, a map state changing band */
  --ease-out: cubic-bezier(.2, .7, .2, 1);
}
/* Reduced motion: the person's OS setting, or their own choice in the user
   menu (data-motion="reduced" on <html>). Nothing moves; every change still
   shows (the new value, the chip, the outline) without animating. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}
[data-motion="reduced"] *, [data-motion="reduced"] *::before, [data-motion="reduced"] *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
  scroll-behavior: auto !important;
}
