/* JOBSON 3 — designové tokeny
   Jediný zdroj pravdy pro barvy, typografii, rozměry a stavy.
   Nic v components.css nesmí obsahovat natvrdo zapsanou barvu ani rozměr. */

:root {
  /* ---- Podklad a text -------------------------------------------------- */
  --c-canvas:        oklch(0.965 0.003 250);   /* plocha aplikace za kartami */
  --c-surface:       #ffffff;                   /* karta, tabulka, panel */
  --c-sunken:        oklch(0.945 0.004 250);    /* hlavička tabulky, pruh filtrů */
  --c-border:        oklch(0.90 0.006 250);     /* rámeček prvku */
  --c-border-hair:   oklch(0.945 0.004 250);    /* linka mezi řádky tabulky */
  --c-ink:           oklch(0.26 0.012 250);     /* základní text */
  --c-ink-mute:      oklch(0.50 0.012 250);     /* popisek, sekundární údaj */
  --c-ink-faint:     oklch(0.60 0.010 250);     /* nedostupný text, placeholder */

  /* ---- Značka ---------------------------------------------------------- */
  --c-brand:         oklch(0.62 0.12 172);      /* zelená z loga — akce, aktivní prvek */
  --c-brand-hover:   oklch(0.56 0.12 172);
  --c-brand-ink:     oklch(0.35 0.09 172);      /* text na světlém značkovém podkladu */
  --c-brand-soft:    oklch(0.96 0.025 172);     /* výplň aktivní položky, filtr chip */
  --c-brand-line:    oklch(0.80 0.06 172);
  --c-on-brand:      #ffffff;

  /* ---- Stavy záznamů ---------------------------------------------------
     Každý stav má trojici soft / line / ink a znak v --glyph-*.
     Barva nikdy nenese význam sama — vždy doprovází znak i slovo. */
  --c-ok-soft:        oklch(0.955 0.03 165);
  --c-ok-line:        oklch(0.86 0.06 165);
  --c-ok-ink:         oklch(0.40 0.09 165);
  --c-soon-soft:      oklch(0.96 0.045 85);
  --c-soon-line:      oklch(0.86 0.09 85);
  --c-soon-ink:       oklch(0.44 0.10 62);
  --c-expired-soft:   oklch(0.955 0.035 25);
  --c-expired-line:   oklch(0.85 0.08 25);
  --c-expired-ink:    oklch(0.45 0.16 27);
  --c-pending-soft:   oklch(0.955 0.03 252);
  --c-pending-line:   oklch(0.85 0.06 252);
  --c-pending-ink:    oklch(0.42 0.12 252);
  --c-rejected-soft:  oklch(0.95 0.03 330);
  --c-rejected-line:  oklch(0.85 0.06 330);
  --c-rejected-ink:   oklch(0.42 0.13 330);
  --c-inactive-soft:  oklch(0.955 0.003 250);
  --c-inactive-line:  oklch(0.88 0.006 250);
  --c-inactive-ink:   oklch(0.48 0.010 250);

  /* ---- Destruktivní akce a chyba --------------------------------------- */
  --c-danger:        oklch(0.52 0.17 27);
  --c-danger-line:   oklch(0.80 0.10 27);
  --c-danger-soft:   oklch(0.975 0.02 25);

  /* ---- Typografie ------------------------------------------------------ */
  --font-sans: 'IBM Plex Sans', system-ui, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'Cascadia Mono', monospace;
  --fs-page:    22px;   /* nadpis obrazovky */
  --fs-section: 15px;   /* nadpis sekce */
  --fs-base:    13px;   /* tělo, tabulka */
  --fs-control: 12.5px; /* text v ovládacím prvku */
  --fs-meta:    12px;   /* popisek, nápověda */
  --fs-micro:   11.5px; /* hlavička sloupce, štítek stavu */
  --lh-base:    1.45;
  --lh-tight:   1.3;

  /* ---- Spacing --------------------------------------------------------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 32px;

  /* ---- Rozměry --------------------------------------------------------- */
  --control-h:    30px;   /* tlačítko, input, select — desktop */
  --control-h-tp: 44px;   /* totéž na dotykovém zařízení */
  --row-h:        34px;   /* řádek tabulky — desktop */
  --row-h-tp:     44px;   /* řádek tabulky — dotyk */
  --topbar-h:     52px;
  --nav-w:        232px;
  --nav-w-mini:   52px;
  --cell-max:     220px;  /* nad tuto šířku se text buňky ořezává */
  --assist-w:     400px;  /* vysouvací panel asistenta — desktop */
  --bell-w:       340px;  /* panel zvonečku */

  /* ---- Poloměry, stíny, focus ------------------------------------------ */
  --radius-1: 3px;   /* štítek, malý prvek */
  --radius-2: 4px;   /* input, tlačítko */
  --radius-3: 6px;   /* karta, panel */
  --shadow-1: 0 1px 2px oklch(0.30 0.02 250 / 0.09);
  --shadow-2: 0 8px 24px oklch(0.30 0.02 250 / 0.16);
  --focus-ring: 2px solid var(--c-brand);
  --focus-offset: 2px;

  /* ---- Pohyb ----------------------------------------------------------- */
  --dur-fast: .12s;
  --dur-base: .16s;
}

/* Tmavý režim se doplní přepsáním hodnot v tomto bloku — žádná komponenta
   nesmí barvu obcházet, jinak přepis nebude fungovat.
@media (prefers-color-scheme: dark) { :root { ... } }
*/

/* Dotykové zařízení zvětší cíle bez zásahu do komponent. */
@media (pointer: coarse) {
  :root { --control-h: var(--control-h-tp); --row-h: var(--row-h-tp); }
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0s; --dur-base: 0s; }
}
