/* ══════════════════════════════════════════════════════════════════
   NEXTIVO UI: tokeny  (packages/ui/tokens.css)  · verze 2.0 „Stitch“
   Jediný zdroj barev, písma, rozestupů, radiusů a stínů pro všechny
   Nextivo appky. Appky NIKDY nepíšou barvu ani rozestup natvrdo,
   sahají jen na --nx-*.

   2.0 (rebranding ze Stitche, 17. 10. 2026, větev rebranding-stitch):
     • neutrály přešly na „slate“ (světlý #f8fafc / #ffffff, tmavý #0f172a / #1e293b),
     • každá aplikace má vlastní akcent (--nx-color-app-<slug>-*); atribut
       data-nx-app="<slug>" na <body> přebarví brand tokeny na barvu appky,
     • nový pár --nx-color-control / --nx-color-on-control pro zaškrtnuté
       prvky (checkbox, přepínač, aktivní záložka). V tmavém režimu je
       světlý, aby měl ≥ 3:1 proti ploše,
     • názvy všech dřívějších tokenů zůstaly (zpětná kompatibilita appek).

   Kontrasty jsou ověřené skriptem `node packages/ui/kontrast.mjs`
   (WCAG 2.2: text ≥ 4,5:1, ovládací prvky a fokus ≥ 3:1), včetně
   všech sedmi akcentů aplikací. Po každé změně barvy ho pusť znovu.

   Tmavý režim má tři stavy:
     • bez zásahu uživatele platí systém (prefers-color-scheme),
     • <html data-theme="dark">  vynutí tmavý,
     • <html data-theme="light"> vynutí světlý.
   Přepínač a uložení volby řeší nextivo-ui.js (NxUI.theme).
   ══════════════════════════════════════════════════════════════════ */

/* ── PÍSMO ─────────────────────────────────────────────────────────
   Inter 4 (proměnný, osa wght 100–900), licence OFL, self-hosted.
   Dva soubory podle rozsahu znaků: latin a latin-ext (č ď ě ň ř š ť ů ž).
   Stitch navrhuje na čísla JetBrains Mono, vědomě NEpřebíráme (druhé
   písmo = další stahování); čísla řeší Inter s tabulkovými číslicemi
   (font-variant-numeric: tabular-nums, třídy .nx-num a .nx-money). */
@font-face{
  font-family:'InterVariable';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('fonts/inter-latin-ext-wght-normal.woff2') format('woff2-variations'),
      url('fonts/inter-latin-ext-wght-normal.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:'InterVariable';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('fonts/inter-latin-wght-normal.woff2') format('woff2-variations'),
      url('fonts/inter-latin-wght-normal.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;
}

:root{
  color-scheme:light dark;

  /* ── Písmo ── */
  --nx-font-sans:'InterVariable','Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --nx-font-mono:ui-monospace,'SFMono-Regular','Cascadia Mono','Segoe UI Mono',Menlo,Consolas,monospace;

  /* Typografická škála (rem = 16 px). Základ appek zůstává 15 px (čtou
     majitelé firem na noteboocích); tabulka, tlačítko a menu 14 px. */
  --nx-fs-2xs: 0.6875rem;  /* 11: popisek spodní lišty, mikro štítek */
  --nx-fs-xs:  0.75rem;    /* 12: štítky, hlavička tabulky */
  --nx-fs-sm:  0.8125rem;  /* 13: nápověda, meta údaje */
  --nx-fs-md:  0.875rem;   /* 14: tabulka, tlačítko, menu */
  --nx-fs-base:0.9375rem;  /* 15: běžný text appky */
  --nx-fs-lg:  1.0625rem;  /* 17: nadpis karty */
  --nx-fs-xl:  1.25rem;    /* 20: nadpis sekce */
  --nx-fs-2xl: 1.75rem;    /* 28: nadpis stránky (Stitch headline-lg) */
  --nx-fs-3xl: 1.875rem;   /* 30: KPI číslo */
  --nx-fs-4xl: 2.25rem;    /* 36: web, velké prázdné stavy (Stitch headline-xl) */
  --nx-fs-5xl: 3.25rem;    /* 52: hero webu */

  --nx-lh-tight:1.2;
  --nx-lh-snug:1.35;
  --nx-lh-base:1.55;

  --nx-fw-normal:400;
  --nx-fw-medium:500;
  --nx-fw-semibold:600;
  --nx-fw-bold:700;

  --nx-tracking-tight:-0.02em;    /* nadpisy */
  --nx-tracking-caps:0.05em;      /* VERZÁLKY v hlavičkách tabulek a sekcích menu */

  /* ── Rozestupy: základ 4 px ── */
  --nx-space-0:0;
  --nx-space-px:1px;
  --nx-space-0-5:2px;
  --nx-space-1:4px;
  --nx-space-1-5:6px;
  --nx-space-2:8px;
  --nx-space-2-5:10px;
  --nx-space-3:12px;
  --nx-space-4:16px;
  --nx-space-5:20px;
  --nx-space-6:24px;
  --nx-space-8:32px;
  --nx-space-10:40px;
  --nx-space-12:48px;
  --nx-space-16:64px;
  --nx-space-20:80px;

  /* ── Radiusy (Stitch: ovládací prvky 8, karty 12, modal 16, štítky pilulka) ── */
  --nx-radius-xs:4px;     /* checkbox */
  --nx-radius-sm:6px;     /* tlačítko sm */
  --nx-radius-md:8px;     /* tlačítko, input */
  --nx-radius-lg:12px;    /* karta, tabulka */
  --nx-radius-xl:16px;    /* modal, spodní list */
  --nx-radius-full:9999px;

  /* ── Rozměry ovládacích prvků ── */
  --nx-control-sm:32px;
  --nx-control-md:40px;   /* Stitch: tlačítko 40 px na desktopu */
  --nx-control-lg:44px;   /* = dotykový cíl WCAG 2.5.5 */
  --nx-sidebar-w:240px;
  --nx-topbar-h:64px;
  --nx-bottomnav-h:64px;
  --nx-content-max:1280px;

  /* ── Pohyb ── */
  --nx-dur-fast:120ms;
  --nx-dur:180ms;
  --nx-dur-slow:260ms;
  --nx-ease:cubic-bezier(.2,0,0,1);
  --nx-ease-out:cubic-bezier(0,0,.2,1);

  /* ── Vrstvy ── */
  --nx-z-sticky:20;
  --nx-z-sidebar:30;
  --nx-z-dropdown:40;
  --nx-z-overlay:50;
  --nx-z-modal:60;
  --nx-z-toast:70;
  --nx-z-tooltip:80;

  /* ══ BARVY: SVĚTLÝ REŽIM ═══════════════════════════════════════
     Názvy říkají ÚČEL, ne odstín. „-text" = smí se použít jako barva
     písma; „-soft" = podklad štítku/hlášky; „-solid" = výplň, na které
     leží bílý text (--nx-color-on-solid). */
  --nx-color-bg:#f8fafc;            /* plátno stránky (slate-50) */
  --nx-color-surface:#ffffff;       /* karta, tabulka, modal */
  --nx-color-surface-2:#f1f5f9;     /* hlavička tabulky, hover řádku */
  --nx-color-surface-3:#e2e8f0;     /* stisk, skeleton, track progressu */
  --nx-color-sidebar:#ffffff;       /* sidebar (Stitch: bílý s čarou) */
  --nx-color-border:#e2e8f0;        /* dělicí čáry */
  --nx-color-border-strong:#cbd5e1; /* obrys tlačítka, hover karty */
  --nx-color-border-input:#76839a;  /* obrys inputu: ≥ 3:1 (WCAG 1.4.11); Stitchova #e2e8f0 by neprošla */

  --nx-color-text:#0f172a;          /* hlavní text */
  --nx-color-text-2:#475569;        /* popisky, sekundární text */
  --nx-color-text-3:#5b6779;        /* nápověda, meta: ≥ 4,5:1 i na surface-2 (Stitchova #64748b má 4,34) */
  --nx-color-text-disabled:#94a3b8; /* jen neaktivní prvky (WCAG výjimka) */

  --nx-color-brand:#4f46e5;         /* indigo značky, výplň primárního tlačítka */
  --nx-color-brand-hover:#4338ca;
  --nx-color-brand-active:#3730a3;
  --nx-color-on-brand:#ffffff;
  --nx-color-brand-text:#4f46e5;    /* odkaz, aktivní záložka */
  --nx-color-brand-soft:#eef2ff;
  --nx-color-brand-soft-text:#3730a3;
  --nx-color-brand-border:#c7d2fe;
  --nx-color-accent:#4f46e5;        /* identita aktuální appky (proužky, tečky); v portálu indigo */
  --nx-color-control:#4f46e5;       /* zaškrtnutý checkbox, zapnutý přepínač, linka záložky */
  --nx-color-on-control:#ffffff;    /* fajfka na zaškrtnutém prvku */

  --nx-color-success-text:#047857;
  --nx-color-success-soft:#ecfdf3;
  --nx-color-success-soft-text:#065f46;
  --nx-color-success-border:#a6e3c5;
  --nx-color-success-solid:#047857;

  --nx-color-warning-text:#b45309;
  --nx-color-warning-soft:#fff8eb;
  --nx-color-warning-soft-text:#92400e;
  --nx-color-warning-border:#f3d39a;
  --nx-color-warning-solid:#b45309;

  --nx-color-danger-text:#b91c1c;
  --nx-color-danger-soft:#fef2f2;
  --nx-color-danger-soft-text:#991b1b;
  --nx-color-danger-border:#f9c7c7;
  --nx-color-danger-solid:#dc2626;
  --nx-color-danger-hover:#b91c1c;

  --nx-color-info-text:#0369a1;
  --nx-color-info-soft:#eff8ff;
  --nx-color-info-soft-text:#075985;
  --nx-color-info-border:#b9e0fb;

  --nx-color-neutral-soft:#f1f5f9;
  --nx-color-neutral-soft-text:#334155;

  --nx-color-on-solid:#ffffff;
  --nx-color-focus:#4f46e5;
  --nx-color-overlay:rgba(15,23,42,.5);  /* ztmavení pod modalem a spodním listem (+ rozmazání 4 px) */
  --nx-color-inverse:#0f172a;       /* toast, tooltip */
  --nx-color-on-inverse:#f8fafc;
  --nx-color-selection:#dbe4ff;

  /* ── Akcenty aplikací (rozhodnutí 17. 10. 2026). Identita = zvolená barva appky;
     -solid/-hover/-active = výplň s bílým textem (≥ 4,5:1), -text = písmo
     na kartě, -soft/-soft-text = štítek, -control = zaškrtnutý prvek. ── */
  /* CRM Sales: identita #4f46e5 (jen proužky, tečky, grafy; bílý text na ní neprojde) */
  --nx-color-app-crm:#4f46e5;--nx-color-app-crm-solid:#4f46e5;--nx-color-app-crm-hover:#4338ca;--nx-color-app-crm-active:#3730a3;
  --nx-color-app-crm-text:#4f46e5;--nx-color-app-crm-soft:#eef2ff;--nx-color-app-crm-soft-text:#3730a3;--nx-color-app-crm-border:#c7d2fe;--nx-color-app-crm-control:#4f46e5;
  /* Fakturace: identita #10b981 (jen proužky, tečky, grafy; bílý text na ní neprojde) */
  --nx-color-app-fakturace:#10b981;--nx-color-app-fakturace-solid:#047857;--nx-color-app-fakturace-hover:#065f46;--nx-color-app-fakturace-active:#064e3b;
  --nx-color-app-fakturace-text:#047857;--nx-color-app-fakturace-soft:#ecfdf5;--nx-color-app-fakturace-soft-text:#065f46;--nx-color-app-fakturace-border:#a7f3d0;--nx-color-app-fakturace-control:#047857;
  /* Směny: identita #f59e0b (jen proužky, tečky, grafy; bílý text na ní neprojde) */
  --nx-color-app-smeny:#f59e0b;--nx-color-app-smeny-solid:#b45309;--nx-color-app-smeny-hover:#92400e;--nx-color-app-smeny-active:#78350f;
  --nx-color-app-smeny-text:#b45309;--nx-color-app-smeny-soft:#fffbeb;--nx-color-app-smeny-soft-text:#92400e;--nx-color-app-smeny-border:#fde68a;--nx-color-app-smeny-control:#b45309;
  /* Sklad: identita #0ea5e9 (jen proužky, tečky, grafy; bílý text na ní neprojde) */
  --nx-color-app-sklad:#0ea5e9;--nx-color-app-sklad-solid:#0369a1;--nx-color-app-sklad-hover:#075985;--nx-color-app-sklad-active:#0c4a6e;
  --nx-color-app-sklad-text:#0369a1;--nx-color-app-sklad-soft:#f0f9ff;--nx-color-app-sklad-soft-text:#075985;--nx-color-app-sklad-border:#bae6fd;--nx-color-app-sklad-control:#0369a1;
  /* Personalistika: identita #8b5cf6 (jen proužky, tečky, grafy; bílý text na ní neprojde) */
  --nx-color-app-hr:#8b5cf6;--nx-color-app-hr-solid:#7c3aed;--nx-color-app-hr-hover:#6d28d9;--nx-color-app-hr-active:#5b21b6;
  --nx-color-app-hr-text:#7c3aed;--nx-color-app-hr-soft:#f5f3ff;--nx-color-app-hr-soft-text:#5b21b6;--nx-color-app-hr-border:#ddd6fe;--nx-color-app-hr-control:#7c3aed;
  /* AI Agenti: identita #d946ef (jen proužky, tečky, grafy; bílý text na ní neprojde) */
  --nx-color-app-agenti:#d946ef;--nx-color-app-agenti-solid:#a21caf;--nx-color-app-agenti-hover:#86198f;--nx-color-app-agenti-active:#701a75;
  --nx-color-app-agenti-text:#a21caf;--nx-color-app-agenti-soft:#fdf4ff;--nx-color-app-agenti-soft-text:#86198f;--nx-color-app-agenti-border:#f5d0fe;--nx-color-app-agenti-control:#a21caf;
  /* Obchodní přehled: identita #f43f5e (jen proužky, tečky, grafy; bílý text na ní neprojde) */
  --nx-color-app-op:#f43f5e;--nx-color-app-op-solid:#e11d48;--nx-color-app-op-hover:#be123c;--nx-color-app-op-active:#9f1239;
  --nx-color-app-op-text:#be123c;--nx-color-app-op-soft:#fff1f2;--nx-color-app-op-soft-text:#9f1239;--nx-color-app-op-border:#fecdd3;--nx-color-app-op-control:#e11d48;

  /* ── Stíny (Stitch „Nextivo Core B2B“: jemné, vrstvy podle výšky) ── */
  --nx-shadow-xs:0 1px 2px rgba(15,23,42,.05);
  --nx-shadow-sm:0 1px 3px 0 rgba(15,23,42,.05),0 1px 2px -1px rgba(15,23,42,.05);
  --nx-shadow-md:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.04);
  --nx-shadow-lg:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.06);
  --nx-shadow-focus:0 0 0 2px var(--nx-color-surface),0 0 0 4px var(--nx-color-focus);
  --nx-backdrop-blur:4px;
}

/* ══ BARVY: TMAVÝ REŽIM (Stitch „Slate Executive“) ═══════════════
   Blok je dvakrát (systém / ruční volba) a musí být ZNAK PO ZNAKU
   stejný, kontrast.mjs to kontroluje. */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --nx-color-bg:#0f172a;
    --nx-color-surface:#1e293b;
    --nx-color-surface-2:#172033;
    --nx-color-surface-3:#334155;
    --nx-color-sidebar:#111a2e;
    --nx-color-border:#334155;
    --nx-color-border-strong:#475569;
    --nx-color-border-input:#748399;
    --nx-color-text:#f1f5f9;
    --nx-color-text-2:#cbd5e1;
    --nx-color-text-3:#94a3b8;
    --nx-color-text-disabled:#64748b;
    --nx-color-brand:#5850ec;
    --nx-color-brand-hover:#4f46e5;
    --nx-color-brand-active:#4338ca;
    --nx-color-on-brand:#ffffff;
    --nx-color-brand-text:#a5b4fc;
    --nx-color-brand-soft:#1e2547;
    --nx-color-brand-soft-text:#c7d2fe;
    --nx-color-brand-border:#3b4380;
    --nx-color-control:#a5b4fc;
    --nx-color-on-control:#0f172a;
    --nx-color-success-text:#34d399;
    --nx-color-success-soft:#0e2a20;
    --nx-color-success-soft-text:#6ee7b7;
    --nx-color-success-border:#1d5a43;
    --nx-color-success-solid:#047857;
    --nx-color-warning-text:#fbbf24;
    --nx-color-warning-soft:#2c2210;
    --nx-color-warning-soft-text:#fcd34d;
    --nx-color-warning-border:#6a4e17;
    --nx-color-warning-solid:#b45309;
    --nx-color-danger-text:#f87171;
    --nx-color-danger-soft:#321518;
    --nx-color-danger-soft-text:#fca5a5;
    --nx-color-danger-border:#73262b;
    --nx-color-danger-solid:#dc2626;
    --nx-color-danger-hover:#b91c1c;
    --nx-color-info-text:#7dd3fc;
    --nx-color-info-soft:#0c2434;
    --nx-color-info-soft-text:#bae6fd;
    --nx-color-info-border:#1b4a66;
    --nx-color-neutral-soft:#2a3445;
    --nx-color-neutral-soft-text:#cbd5e1;
    --nx-color-on-solid:#ffffff;
    --nx-color-focus:#a5b4fc;
    --nx-color-overlay:rgba(2,6,23,.66);
    --nx-color-inverse:#f1f5f9;
    --nx-color-on-inverse:#0f172a;
    --nx-color-selection:#2e3170;
    --nx-color-app-crm-solid:#5850ec;--nx-color-app-crm-hover:#4f46e5;--nx-color-app-crm-active:#4338ca;
    --nx-color-app-crm-text:#a5b4fc;--nx-color-app-crm-soft:#1e2547;--nx-color-app-crm-soft-text:#c7d2fe;--nx-color-app-crm-border:#3b4380;--nx-color-app-crm-control:#a5b4fc;
    --nx-color-app-fakturace-solid:#047857;--nx-color-app-fakturace-hover:#065f46;--nx-color-app-fakturace-active:#064e3b;
    --nx-color-app-fakturace-text:#34d399;--nx-color-app-fakturace-soft:#0b2a22;--nx-color-app-fakturace-soft-text:#a7f3d0;--nx-color-app-fakturace-border:#1d5a43;--nx-color-app-fakturace-control:#34d399;
    --nx-color-app-smeny-solid:#b45309;--nx-color-app-smeny-hover:#92400e;--nx-color-app-smeny-active:#78350f;
    --nx-color-app-smeny-text:#fbbf24;--nx-color-app-smeny-soft:#2e2209;--nx-color-app-smeny-soft-text:#fde68a;--nx-color-app-smeny-border:#6a4e17;--nx-color-app-smeny-control:#fbbf24;
    --nx-color-app-sklad-solid:#0369a1;--nx-color-app-sklad-hover:#075985;--nx-color-app-sklad-active:#0c4a6e;
    --nx-color-app-sklad-text:#38bdf8;--nx-color-app-sklad-soft:#0b2536;--nx-color-app-sklad-soft-text:#bae6fd;--nx-color-app-sklad-border:#1b4a66;--nx-color-app-sklad-control:#38bdf8;
    --nx-color-app-hr-solid:#7c3aed;--nx-color-app-hr-hover:#6d28d9;--nx-color-app-hr-active:#5b21b6;
    --nx-color-app-hr-text:#a78bfa;--nx-color-app-hr-soft:#24183f;--nx-color-app-hr-soft-text:#ddd6fe;--nx-color-app-hr-border:#4c3a80;--nx-color-app-hr-control:#a78bfa;
    --nx-color-app-agenti-solid:#a21caf;--nx-color-app-agenti-hover:#86198f;--nx-color-app-agenti-active:#701a75;
    --nx-color-app-agenti-text:#e879f9;--nx-color-app-agenti-soft:#33123a;--nx-color-app-agenti-soft-text:#f5d0fe;--nx-color-app-agenti-border:#6b2a77;--nx-color-app-agenti-control:#e879f9;
    --nx-color-app-op-solid:#e11d48;--nx-color-app-op-hover:#be123c;--nx-color-app-op-active:#9f1239;
    --nx-color-app-op-text:#fb7185;--nx-color-app-op-soft:#3a1220;--nx-color-app-op-soft-text:#fecdd3;--nx-color-app-op-border:#7a2a3c;--nx-color-app-op-control:#fb7185;
    --nx-shadow-xs:0 1px 2px rgba(0,0,0,.35);
    --nx-shadow-sm:0 1px 3px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.03);
    --nx-shadow-md:0 10px 15px -3px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.04);
    --nx-shadow-lg:0 20px 30px -10px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);
  }
}
:root[data-theme="dark"]{
    --nx-color-bg:#0f172a;
    --nx-color-surface:#1e293b;
    --nx-color-surface-2:#172033;
    --nx-color-surface-3:#334155;
    --nx-color-sidebar:#111a2e;
    --nx-color-border:#334155;
    --nx-color-border-strong:#475569;
    --nx-color-border-input:#748399;
    --nx-color-text:#f1f5f9;
    --nx-color-text-2:#cbd5e1;
    --nx-color-text-3:#94a3b8;
    --nx-color-text-disabled:#64748b;
    --nx-color-brand:#5850ec;
    --nx-color-brand-hover:#4f46e5;
    --nx-color-brand-active:#4338ca;
    --nx-color-on-brand:#ffffff;
    --nx-color-brand-text:#a5b4fc;
    --nx-color-brand-soft:#1e2547;
    --nx-color-brand-soft-text:#c7d2fe;
    --nx-color-brand-border:#3b4380;
    --nx-color-control:#a5b4fc;
    --nx-color-on-control:#0f172a;
    --nx-color-success-text:#34d399;
    --nx-color-success-soft:#0e2a20;
    --nx-color-success-soft-text:#6ee7b7;
    --nx-color-success-border:#1d5a43;
    --nx-color-success-solid:#047857;
    --nx-color-warning-text:#fbbf24;
    --nx-color-warning-soft:#2c2210;
    --nx-color-warning-soft-text:#fcd34d;
    --nx-color-warning-border:#6a4e17;
    --nx-color-warning-solid:#b45309;
    --nx-color-danger-text:#f87171;
    --nx-color-danger-soft:#321518;
    --nx-color-danger-soft-text:#fca5a5;
    --nx-color-danger-border:#73262b;
    --nx-color-danger-solid:#dc2626;
    --nx-color-danger-hover:#b91c1c;
    --nx-color-info-text:#7dd3fc;
    --nx-color-info-soft:#0c2434;
    --nx-color-info-soft-text:#bae6fd;
    --nx-color-info-border:#1b4a66;
    --nx-color-neutral-soft:#2a3445;
    --nx-color-neutral-soft-text:#cbd5e1;
    --nx-color-on-solid:#ffffff;
    --nx-color-focus:#a5b4fc;
    --nx-color-overlay:rgba(2,6,23,.66);
    --nx-color-inverse:#f1f5f9;
    --nx-color-on-inverse:#0f172a;
    --nx-color-selection:#2e3170;
    --nx-color-app-crm-solid:#5850ec;--nx-color-app-crm-hover:#4f46e5;--nx-color-app-crm-active:#4338ca;
    --nx-color-app-crm-text:#a5b4fc;--nx-color-app-crm-soft:#1e2547;--nx-color-app-crm-soft-text:#c7d2fe;--nx-color-app-crm-border:#3b4380;--nx-color-app-crm-control:#a5b4fc;
    --nx-color-app-fakturace-solid:#047857;--nx-color-app-fakturace-hover:#065f46;--nx-color-app-fakturace-active:#064e3b;
    --nx-color-app-fakturace-text:#34d399;--nx-color-app-fakturace-soft:#0b2a22;--nx-color-app-fakturace-soft-text:#a7f3d0;--nx-color-app-fakturace-border:#1d5a43;--nx-color-app-fakturace-control:#34d399;
    --nx-color-app-smeny-solid:#b45309;--nx-color-app-smeny-hover:#92400e;--nx-color-app-smeny-active:#78350f;
    --nx-color-app-smeny-text:#fbbf24;--nx-color-app-smeny-soft:#2e2209;--nx-color-app-smeny-soft-text:#fde68a;--nx-color-app-smeny-border:#6a4e17;--nx-color-app-smeny-control:#fbbf24;
    --nx-color-app-sklad-solid:#0369a1;--nx-color-app-sklad-hover:#075985;--nx-color-app-sklad-active:#0c4a6e;
    --nx-color-app-sklad-text:#38bdf8;--nx-color-app-sklad-soft:#0b2536;--nx-color-app-sklad-soft-text:#bae6fd;--nx-color-app-sklad-border:#1b4a66;--nx-color-app-sklad-control:#38bdf8;
    --nx-color-app-hr-solid:#7c3aed;--nx-color-app-hr-hover:#6d28d9;--nx-color-app-hr-active:#5b21b6;
    --nx-color-app-hr-text:#a78bfa;--nx-color-app-hr-soft:#24183f;--nx-color-app-hr-soft-text:#ddd6fe;--nx-color-app-hr-border:#4c3a80;--nx-color-app-hr-control:#a78bfa;
    --nx-color-app-agenti-solid:#a21caf;--nx-color-app-agenti-hover:#86198f;--nx-color-app-agenti-active:#701a75;
    --nx-color-app-agenti-text:#e879f9;--nx-color-app-agenti-soft:#33123a;--nx-color-app-agenti-soft-text:#f5d0fe;--nx-color-app-agenti-border:#6b2a77;--nx-color-app-agenti-control:#e879f9;
    --nx-color-app-op-solid:#e11d48;--nx-color-app-op-hover:#be123c;--nx-color-app-op-active:#9f1239;
    --nx-color-app-op-text:#fb7185;--nx-color-app-op-soft:#3a1220;--nx-color-app-op-soft-text:#fecdd3;--nx-color-app-op-border:#7a2a3c;--nx-color-app-op-control:#fb7185;
    --nx-shadow-xs:0 1px 2px rgba(0,0,0,.35);
    --nx-shadow-sm:0 1px 3px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.03);
    --nx-shadow-md:0 10px 15px -3px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.04);
    --nx-shadow-lg:0 20px 30px -10px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);
}

/* ══ AKCENT APLIKACE ═══════════════════════════════════════════════
   <body data-nx-app="fakturace"> přebarví primární tlačítko, aktivní
   položku menu, odkazy, výběr, fokus a zaškrtnuté prvky na barvu appky.
   Zdvojený atribut = specifičnost (0,2,0), aby přebil :root[data-theme]
   i kdyby atribut seděl přímo na <html>. Bez atributu zůstává indigo
   (portál, web, CRM Sales). Stavové barvy (úspěch, chyba…) se nemění. */
[data-nx-app="crm"][data-nx-app]{--nx-color-accent:var(--nx-color-app-crm);--nx-color-brand:var(--nx-color-app-crm-solid);--nx-color-brand-hover:var(--nx-color-app-crm-hover);--nx-color-brand-active:var(--nx-color-app-crm-active);--nx-color-brand-text:var(--nx-color-app-crm-text);--nx-color-brand-soft:var(--nx-color-app-crm-soft);--nx-color-brand-soft-text:var(--nx-color-app-crm-soft-text);--nx-color-brand-border:var(--nx-color-app-crm-border);--nx-color-control:var(--nx-color-app-crm-control);--nx-color-focus:var(--nx-color-app-crm-text)}
[data-nx-app="fakturace"][data-nx-app]{--nx-color-accent:var(--nx-color-app-fakturace);--nx-color-brand:var(--nx-color-app-fakturace-solid);--nx-color-brand-hover:var(--nx-color-app-fakturace-hover);--nx-color-brand-active:var(--nx-color-app-fakturace-active);--nx-color-brand-text:var(--nx-color-app-fakturace-text);--nx-color-brand-soft:var(--nx-color-app-fakturace-soft);--nx-color-brand-soft-text:var(--nx-color-app-fakturace-soft-text);--nx-color-brand-border:var(--nx-color-app-fakturace-border);--nx-color-control:var(--nx-color-app-fakturace-control);--nx-color-focus:var(--nx-color-app-fakturace-text)}
[data-nx-app="smeny"][data-nx-app]{--nx-color-accent:var(--nx-color-app-smeny);--nx-color-brand:var(--nx-color-app-smeny-solid);--nx-color-brand-hover:var(--nx-color-app-smeny-hover);--nx-color-brand-active:var(--nx-color-app-smeny-active);--nx-color-brand-text:var(--nx-color-app-smeny-text);--nx-color-brand-soft:var(--nx-color-app-smeny-soft);--nx-color-brand-soft-text:var(--nx-color-app-smeny-soft-text);--nx-color-brand-border:var(--nx-color-app-smeny-border);--nx-color-control:var(--nx-color-app-smeny-control);--nx-color-focus:var(--nx-color-app-smeny-text)}
[data-nx-app="sklad"][data-nx-app]{--nx-color-accent:var(--nx-color-app-sklad);--nx-color-brand:var(--nx-color-app-sklad-solid);--nx-color-brand-hover:var(--nx-color-app-sklad-hover);--nx-color-brand-active:var(--nx-color-app-sklad-active);--nx-color-brand-text:var(--nx-color-app-sklad-text);--nx-color-brand-soft:var(--nx-color-app-sklad-soft);--nx-color-brand-soft-text:var(--nx-color-app-sklad-soft-text);--nx-color-brand-border:var(--nx-color-app-sklad-border);--nx-color-control:var(--nx-color-app-sklad-control);--nx-color-focus:var(--nx-color-app-sklad-text)}
[data-nx-app="hr"][data-nx-app]{--nx-color-accent:var(--nx-color-app-hr);--nx-color-brand:var(--nx-color-app-hr-solid);--nx-color-brand-hover:var(--nx-color-app-hr-hover);--nx-color-brand-active:var(--nx-color-app-hr-active);--nx-color-brand-text:var(--nx-color-app-hr-text);--nx-color-brand-soft:var(--nx-color-app-hr-soft);--nx-color-brand-soft-text:var(--nx-color-app-hr-soft-text);--nx-color-brand-border:var(--nx-color-app-hr-border);--nx-color-control:var(--nx-color-app-hr-control);--nx-color-focus:var(--nx-color-app-hr-text)}
[data-nx-app="agenti"][data-nx-app]{--nx-color-accent:var(--nx-color-app-agenti);--nx-color-brand:var(--nx-color-app-agenti-solid);--nx-color-brand-hover:var(--nx-color-app-agenti-hover);--nx-color-brand-active:var(--nx-color-app-agenti-active);--nx-color-brand-text:var(--nx-color-app-agenti-text);--nx-color-brand-soft:var(--nx-color-app-agenti-soft);--nx-color-brand-soft-text:var(--nx-color-app-agenti-soft-text);--nx-color-brand-border:var(--nx-color-app-agenti-border);--nx-color-control:var(--nx-color-app-agenti-control);--nx-color-focus:var(--nx-color-app-agenti-text)}
[data-nx-app="op"][data-nx-app]{--nx-color-accent:var(--nx-color-app-op);--nx-color-brand:var(--nx-color-app-op-solid);--nx-color-brand-hover:var(--nx-color-app-op-hover);--nx-color-brand-active:var(--nx-color-app-op-active);--nx-color-brand-text:var(--nx-color-app-op-text);--nx-color-brand-soft:var(--nx-color-app-op-soft);--nx-color-brand-soft-text:var(--nx-color-app-op-soft-text);--nx-color-brand-border:var(--nx-color-app-op-border);--nx-color-control:var(--nx-color-app-op-control);--nx-color-focus:var(--nx-color-app-op-text)}

/* Breakpointy (CSS proměnné v @media nefungují, proto jen jako dohoda):
   sm 480 px · md 768 px · lg 1024 px · xl 1280 px, píše se mobile-first,
   tedy @media (min-width:768px){…}. */
