/* TÉMATA pro bscz (Bootstrap + CleanZone) — světlá i tmavá. Aktivní téma = atribut
   `data-theme` na <html> (a `data-bs-theme` light|dark pro Bootstrap), nastavuje je
   BSCZ_COLOR_MODE_SCRIPT (src/ui/color-mode.ts) dle režimu + volby v Nastavení.
   `cleanzone` = původní světlý vzhled → tenhle list se na něj NEuplatní (všechna
   pravidla jsou pod `:root[data-theme]:not([data-theme="cleanzone"])`); ostatní
   témata = jen sada tokenů --th-* níže, pravidla jsou společná.
   Scope vždy přes :root — Bootstrap dává data-bs-theme i lokálně (tmavý navbar).
   Tokeny: plochy (bg < paper < paper-2; bar = navbar, menu, dialog), text / -2 / -3,
   divider, input-border, hover/zebra/selected (overlay), stavové barvy ve dvou
   variantách: `X` = TEXT/odkaz/ikona, `X-emphasis` = VÝPLŇ (tlačítko, odznak,
   vybraná položka) s textem `--th-on-emphasis` (u chyby `--th-on-error`);
   `primary-light` = hover odkazu. *-rgb tripletly pro rgba()/Bootstrap.
   Seznam/pořadí listů: utils/css-sheets.json (bscz:true, poslední v kaskádě).
   Sdílené legacy plochy (.well, .paper_box, …) řeší dark-mode.css (com i bscz).
   Témata: tmavá dark-golden (default), github-dark, ibm-carbon-g100; světlá cleanzone (default, bez
   tokenů), github-light, solarized-light, catppuccin-latte, nord-light. Nové téma =
   blok tokenů tady + jméno v src/ui/color-mode.ts (THEMES). */

/* ═══ tokeny témat ═══════════════════════════════════════════════════════ */
/* GitHub Dark — @primer/primitives 11.10 dark.css */
:root[data-theme="github-dark"] {
  --th-bg: #0d1117;
  --th-paper: #151b23;
  --th-paper-2: #212830;
  --th-bar: #010409;
  --th-menu: #151b23;
  --th-dialog: #151b23;
  --th-text: #f0f6fc;
  --th-text-2: #9198a1;
  --th-text-3: #656c76;
  --th-divider: #3d444d;
  --th-input-border: #3d444d;
  --th-hover: rgba(101, 108, 118, 0.2);
  --th-zebra: rgba(101, 108, 118, 0.08);
  --th-selected: rgba(101, 108, 118, 0.35);
  --th-primary: #4493f8;
  --th-primary-light: #79b8ff;
  --th-primary-emphasis: #1f6feb;
  --th-success: #3fb950;
  --th-success-emphasis: #238636;
  --th-warning: #db6d28;
  --th-warning-emphasis: #bd561d;
  --th-error: #f85149;
  --th-error-emphasis: #da3633;
  --th-info: #4493f8;
  --th-info-emphasis: #1f6feb;
  --th-on-emphasis: #ffffff;
  --th-on-error: #ffffff;
  --th-bg-rgb: 13, 17, 23;
  --th-primary-rgb: 68, 147, 248;
  --th-primary-light-rgb: 121, 184, 255;
  --th-text-rgb: 240, 246, 252;
}
/* Dark Golden — MUI dark + zlatý akcent (původní tmavé) */
:root[data-theme="dark-golden"] {
  --th-bg: #121212;
  --th-paper: #1e1e1e;
  --th-paper-2: #252525;
  --th-bar: #272727;
  --th-menu: #2e2e2e;
  --th-dialog: #383838;
  --th-text: #ffffff;
  --th-text-2: rgba(255, 255, 255, 0.7);
  --th-text-3: rgba(255, 255, 255, 0.5);
  --th-divider: rgba(255, 255, 255, 0.12);
  --th-input-border: rgba(255, 255, 255, 0.23);
  --th-hover: rgba(255, 255, 255, 0.08);
  --th-zebra: rgba(255, 255, 255, 0.04);
  --th-selected: rgba(255, 255, 255, 0.16);
  --th-primary: #e9c46a;
  --th-primary-light: #f2d68f;
  --th-primary-emphasis: #e9c46a;
  --th-success: #66bb6a;
  --th-success-emphasis: #66bb6a;
  --th-warning: #ffa726;
  --th-warning-emphasis: #ffa726;
  --th-error: #f44336;
  --th-error-emphasis: #f44336;
  --th-info: #29b6f6;
  --th-info-emphasis: #29b6f6;
  --th-on-emphasis: rgba(0, 0, 0, 0.87);
  --th-on-error: #ffffff;
  --th-bg-rgb: 18, 18, 18;
  --th-primary-rgb: 233, 196, 106;
  --th-primary-light-rgb: 242, 214, 143;
  --th-text-rgb: 255, 255, 255;
}
/* IBM Carbon g100 — @carbon/themes g100 + @carbon/colors (výplně tlačítek =
   Carbon button-primary blue60 / danger red60; oranžová výplň ztmavená pro bílý text) */
:root[data-theme="ibm-carbon-g100"] {
  --th-bg: #161616;
  --th-paper: #262626;
  --th-paper-2: #393939;
  --th-bar: #161616;
  --th-menu: #393939;
  --th-dialog: #262626;
  --th-text: #f4f4f4;
  --th-text-2: #c6c6c6;
  --th-text-3: #8d8d8d;
  --th-divider: #525252;
  --th-input-border: #6f6f6f;
  --th-hover: #333333;
  --th-zebra: rgba(244, 244, 244, 0.04);
  --th-selected: #393939;
  --th-primary: #78a9ff;
  --th-primary-light: #a6c8ff;
  --th-primary-emphasis: #0f62fe;
  --th-success: #42be65;
  --th-success-emphasis: #24a148;
  --th-warning: #ff832b;
  --th-warning-emphasis: color-mix(in srgb, #ff832b 75%, #000);
  --th-error: #ff8389;
  --th-error-emphasis: #da1e28;
  --th-info: #78a9ff;
  --th-info-emphasis: #0f62fe;
  --th-on-emphasis: #ffffff;
  --th-on-error: #ffffff;
  --th-bg-rgb: 22, 22, 22;
  --th-primary-rgb: 120, 169, 255;
  --th-primary-light-rgb: 166, 200, 255;
  --th-text-rgb: 244, 244, 244;
}
/* GitHub Light — @primer/primitives 11.10 light.css */
:root[data-theme="github-light"] {
  --th-bg: #f6f8fa;
  --th-paper: #ffffff;
  --th-paper-2: #f6f8fa;
  --th-bar: #25292e;
  --th-menu: #ffffff;
  --th-dialog: #ffffff;
  --th-text: #1f2328;
  --th-text-2: #59636e;
  --th-text-3: #818b98;
  --th-divider: #d1d9e0;
  --th-input-border: #d1d9e0;
  --th-hover: #eff2f5;
  --th-zebra: #f6f8fa;
  --th-selected: rgba(129, 139, 152, 0.12);
  --th-primary: #0969da;
  --th-primary-light: #0550ae;
  --th-primary-emphasis: #0969da;
  --th-success: #1a7f37;
  --th-success-emphasis: #1f883d;
  --th-warning: #bc4c00;
  --th-warning-emphasis: #bc4c00;
  --th-error: #d1242f;
  --th-error-emphasis: #cf222e;
  --th-info: #0969da;
  --th-info-emphasis: #0969da;
  --th-on-emphasis: #ffffff;
  --th-on-error: #ffffff;
  --th-bg-rgb: 246, 248, 250;
  --th-primary-rgb: 9, 105, 218;
  --th-primary-light-rgb: 5, 80, 174;
  --th-text-rgb: 31, 35, 40;
}
/* Solarized Light — Solarized (Ethan Schoonover) */
:root[data-theme="solarized-light"] {
  --th-bg: #eee8d5;
  --th-paper: #fdf6e3;
  --th-paper-2: #eee8d5;
  --th-bar: #073642;
  --th-menu: #fdf6e3;
  --th-dialog: #fdf6e3;
  --th-text: #586e75;
  --th-text-2: #657b83;
  --th-text-3: #93a1a1;
  --th-divider: rgba(88, 110, 117, 0.2);
  --th-input-border: rgba(88, 110, 117, 0.35);
  --th-hover: rgba(147, 161, 161, 0.15);
  --th-zebra: rgba(147, 161, 161, 0.08);
  --th-selected: rgba(147, 161, 161, 0.28);
  --th-primary: #268bd2;
  --th-primary-light: #1c6ea8;
  --th-primary-emphasis: #268bd2;
  --th-success: #859900;
  --th-success-emphasis: #859900;
  --th-warning: #cb4b16;
  --th-warning-emphasis: #cb4b16;
  --th-error: #dc322f;
  --th-error-emphasis: #dc322f;
  --th-info: #2aa198;
  --th-info-emphasis: #2aa198;
  --th-on-emphasis: #fdf6e3;
  --th-on-error: #fdf6e3;
  --th-bg-rgb: 238, 232, 213;
  --th-primary-rgb: 38, 139, 210;
  --th-primary-light-rgb: 28, 110, 168;
  --th-text-rgb: 88, 110, 117;
}
/* Catppuccin Latte — Catppuccin (latte) */
:root[data-theme="catppuccin-latte"] {
  --th-bg: #e6e9ef;
  --th-paper: #eff1f5;
  --th-paper-2: #dce0e8;
  --th-bar: #1e66f5;
  --th-menu: #eff1f5;
  --th-dialog: #eff1f5;
  --th-text: #4c4f69;
  --th-text-2: #6c6f85;
  --th-text-3: #9ca0b0;
  --th-divider: #ccd0da;
  --th-input-border: #bcc0cc;
  --th-hover: rgba(124, 127, 147, 0.1);
  --th-zebra: rgba(124, 127, 147, 0.05);
  --th-selected: #ccd0da;
  --th-primary: #1e66f5;
  --th-primary-light: #1a55cc;
  --th-primary-emphasis: #1e66f5;
  --th-success: #40a02b;
  --th-success-emphasis: #40a02b;
  --th-warning: #fe640b;
  --th-warning-emphasis: #fe640b;
  --th-error: #d20f39;
  --th-error-emphasis: #d20f39;
  --th-info: #04a5e5;
  --th-info-emphasis: #04a5e5;
  --th-on-emphasis: #eff1f5;
  --th-on-error: #eff1f5;
  --th-bg-rgb: 230, 233, 239;
  --th-primary-rgb: 30, 102, 245;
  --th-primary-light-rgb: 26, 85, 204;
  --th-text-rgb: 76, 79, 105;
}
/* Nord Light — Nord (Snow Storm / Frost / Aurora) */
:root[data-theme="nord-light"] {
  --th-bg: #e5e9f0;
  --th-paper: #eceff4;
  --th-paper-2: #e5e9f0;
  --th-bar: #5e81ac;
  --th-menu: #eceff4;
  --th-dialog: #eceff4;
  --th-text: #2e3440;
  --th-text-2: #4c566a;
  --th-text-3: #7b88a1;
  --th-divider: #d8dee9;
  --th-input-border: #b8c1d1;
  --th-hover: rgba(76, 86, 106, 0.08);
  --th-zebra: rgba(76, 86, 106, 0.04);
  --th-selected: #d8dee9;
  --th-primary: #5e81ac;
  --th-primary-light: #4c6a91;
  --th-primary-emphasis: #5e81ac;
  --th-success: #6e806a;
  --th-success-emphasis: #a3be8c;
  --th-warning: #9f6e62;
  --th-warning-emphasis: #d08770;
  --th-error: #a95a64;
  --th-error-emphasis: #bf616a;
  --th-info: #5e81ac;
  --th-info-emphasis: #5e81ac;
  --th-on-emphasis: #2e3440;
  --th-on-error: #eceff4;
  --th-bg-rgb: 229, 233, 240;
  --th-primary-rgb: 94, 129, 172;
  --th-primary-light-rgb: 76, 106, 145;
  --th-text-rgb: 46, 52, 64;
}

/* ═══ odvozené proměnné (pro všechna témata kromě cleanzone) ═════════════ */
:root[data-theme]:not([data-theme="cleanzone"]) {
  --th-primary-subtle: rgba(var(--th-primary-rgb), 0.16);
  --th-success-dark: color-mix(in srgb, var(--th-success-emphasis) 85%, #000);
  --th-warning-dark: color-mix(in srgb, var(--th-warning-emphasis) 85%, #000);
  --th-error-dark: color-mix(in srgb, var(--th-error-emphasis) 85%, #000);
  --th-info-dark: color-mix(in srgb, var(--th-info-emphasis) 85%, #000);
  --th-primary-dark: color-mix(in srgb, var(--th-primary-emphasis) 85%, #000);
  /* alert (≈ MUI standard Alert): 10 % barvy do pozadí, 35 % barvy do textu */
  --th-alert-success-bg: color-mix(in srgb, var(--th-success) 10%, var(--th-bg));
  --th-alert-success-fg: color-mix(in srgb, var(--th-success) 35%, var(--th-text));
  --th-alert-info-bg: color-mix(in srgb, var(--th-info) 10%, var(--th-bg));
  --th-alert-info-fg: color-mix(in srgb, var(--th-info) 35%, var(--th-text));
  --th-alert-warning-bg: color-mix(in srgb, var(--th-warning) 10%, var(--th-bg));
  --th-alert-warning-fg: color-mix(in srgb, var(--th-warning) 35%, var(--th-text));
  --th-alert-danger-bg: color-mix(in srgb, var(--th-error) 10%, var(--th-bg));
  --th-alert-danger-fg: color-mix(in srgb, var(--th-error) 35%, var(--th-text));

  /* kanonická status paleta (status-colors.css: text-*, badge, btn) = téma */
  --status-primary: var(--th-primary);
  --status-success: var(--th-success);
  --status-warning: var(--th-warning);
  --status-danger: var(--th-error);
  --status-info: var(--th-info);
  --status-secondary: var(--th-text-3);

  /* Bootstrap runtime proměnné (překrývají jeho light/dark hodnoty) */
  --bs-body-bg: var(--th-bg);
  --bs-body-bg-rgb: var(--th-bg-rgb);
  --bs-body-color: var(--th-text);
  --bs-body-color-rgb: var(--th-text-rgb);
  --bs-emphasis-color: var(--th-text);
  --bs-secondary-color: var(--th-text-2);
  --bs-tertiary-color: var(--th-text-3);
  --bs-secondary-bg: var(--th-paper);
  --bs-tertiary-bg: var(--th-paper-2);
  --bs-border-color: var(--th-divider);
  --bs-border-color-translucent: var(--th-divider);
  --bs-link-color: var(--th-primary);
  --bs-link-color-rgb: var(--th-primary-rgb);
  --bs-link-hover-color: var(--th-primary-light);
  --bs-link-hover-color-rgb: var(--th-primary-light-rgb);
  --bs-primary: var(--th-primary);
  --bs-primary-rgb: var(--th-primary-rgb);
  --bs-primary-text-emphasis: var(--th-primary);
  --bs-primary-bg-subtle: var(--th-primary-subtle);
  --bs-success-bg-subtle: color-mix(in srgb, var(--th-success) 16%, transparent);
  --bs-warning-bg-subtle: color-mix(in srgb, var(--th-warning) 16%, transparent);
  --bs-danger-bg-subtle: color-mix(in srgb, var(--th-error) 16%, transparent);
  --bs-info-bg-subtle: color-mix(in srgb, var(--th-info) 16%, transparent);

  /* Kód (inline styly v src/, dark-mode.css) barví přes `var(--mui-palette-*,
     cleanzone fallback)` — v com je definuje MUI, v bscz je definujeme z tématu.
     Jen proměnné, které kód reálně čte. */
  --mui-palette-text-primary: var(--th-text);
  --mui-palette-text-secondary: var(--th-text-2);
  --mui-palette-text-disabled: var(--th-text-3);
  --mui-palette-background-paper: var(--th-paper);
  --mui-palette-divider: var(--th-divider);
  --mui-palette-action-hover: var(--th-hover);
  --mui-palette-action-selected: var(--th-selected);
  --mui-palette-primary-main: var(--th-primary);
  /* inline styly v src/: odkaz (`var(--is-link, #3380FF)`), navbar
     (ShellGlobalError `var(--is-navbar, #2494f2)`), text na primary výplni */
  --is-link: var(--th-primary);
  --is-navbar: var(--th-bar);
  --is-on-primary: var(--th-on-emphasis);
}

/* ── kostra stránky ─────────────────────────────────────────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) body,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont,
:root[data-theme]:not([data-theme="cleanzone"]) #diskPreviewDrawer {
  background-color: var(--th-bg);
  color: var(--th-text);
}
/* CleanZone světlá textura (bg.jpg) pod krátkými stránkami (chybová stránka…) */
:root[data-theme]:not([data-theme="cleanzone"]) .texture {
  background-image: none;
  background-color: var(--th-bg);
}
:root[data-theme]:not([data-theme="cleanzone"]) .navbar {
  background-color: var(--th-bar);
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14);
}
:root[data-theme]:not([data-theme="cleanzone"]) .page-head {
  background: var(--th-paper);
  border-bottom-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside,
:root[data-theme]:not([data-theme="cleanzone"]) #sub-menu-nav ul {
  background: var(--th-paper);
  border-color: var(--th-divider);
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .page-foot {
  color: var(--th-text-2);
  border-top-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .breadcrumb {
  background-color: transparent;
}
:root[data-theme]:not([data-theme="cleanzone"]) hr {
  border-color: var(--th-divider);
}

/* ── karty / bloky (Paper elevation 1) ─────────────────────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) .card,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block,
:root[data-theme]:not([data-theme="cleanzone"]) .block-flat,
:root[data-theme]:not([data-theme="cleanzone"]) .block-flat .block-wizard,
:root[data-theme]:not([data-theme="cleanzone"]) .white-box,
:root[data-theme]:not([data-theme="cleanzone"]) .paper,
:root[data-theme]:not([data-theme="cleanzone"]) .tab-content,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion .panel,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion .panel-heading,
:root[data-theme]:not([data-theme="cleanzone"]) .fuelux .wizard,
:root[data-theme]:not([data-theme="cleanzone"]) .fuelux .wizard ul li.active,
:root[data-theme]:not([data-theme="cleanzone"]) .gallery-cont .item .head,
:root[data-theme]:not([data-theme="cleanzone"]) .mail-inbox .head,
:root[data-theme]:not([data-theme="cleanzone"]) .main-app .head,
:root[data-theme]:not([data-theme="cleanzone"]) .mail-inbox .mails,
:root[data-theme]:not([data-theme="cleanzone"]) .main-app .items,
:root[data-theme]:not([data-theme="cleanzone"]) .mail-inbox .checkbox,
:root[data-theme]:not([data-theme="cleanzone"]) .main-app .checkbox,
:root[data-theme]:not([data-theme="cleanzone"]) .message .head,
:root[data-theme]:not([data-theme="cleanzone"]) .message .mail,
:root[data-theme]:not([data-theme="cleanzone"]) .message .checkbox,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.email .mail-nav .compose,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.app .app-nav .compose,
:root[data-theme]:not([data-theme="cleanzone"]) .block .items li,
:root[data-theme]:not([data-theme="cleanzone"]) .widget-block .items li,
:root[data-theme]:not([data-theme="cleanzone"]) .list-group.todo .list-group-item,
:root[data-theme]:not([data-theme="cleanzone"]) ul.timeline li .content,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-content,
:root[data-theme]:not([data-theme="cleanzone"]) .dd-handle,
:root[data-theme]:not([data-theme="cleanzone"]) .dd3-content,
:root[data-theme]:not([data-theme="cleanzone"]) .dd3-content:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .dd-placeholder,
:root[data-theme]:not([data-theme="cleanzone"]) .has-switch label,
:root[data-theme]:not([data-theme="cleanzone"]) table tbody .details {
  background: var(--th-paper);
  color: var(--th-text);
  border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block,
:root[data-theme]:not([data-theme="cleanzone"]) .block-flat {
  box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
}
:root[data-theme]:not([data-theme="cleanzone"]) ul.timeline li .content:before {
  background: var(--th-paper);
  border-color: var(--th-divider);
}
/* hlavičky bloků */
:root[data-theme]:not([data-theme="cleanzone"]) .block .header,
:root[data-theme]:not([data-theme="cleanzone"]) .widget-block .header,
:root[data-theme]:not([data-theme="cleanzone"]) .block-flat .header,
:root[data-theme]:not([data-theme="cleanzone"]) .block-transparent .header,
:root[data-theme]:not([data-theme="cleanzone"]) .widget-title {
  background: transparent;
  border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .login-container .block-flat .header,
:root[data-theme]:not([data-theme="cleanzone"]) .sign-up-container .block-flat .header {
  background: var(--th-bar);
}
:root[data-theme]:not([data-theme="cleanzone"]) .block .header h3,
:root[data-theme]:not([data-theme="cleanzone"]) .widget-block .header h3,
:root[data-theme]:not([data-theme="cleanzone"]) .block .header .actions i,
:root[data-theme]:not([data-theme="cleanzone"]) .widget-block .header .actions i,
:root[data-theme]:not([data-theme="cleanzone"]) .block h2 i,
:root[data-theme]:not([data-theme="cleanzone"]) .block .items li i,
:root[data-theme]:not([data-theme="cleanzone"]) .widget-block .items li i {
  color: var(--th-text-2);
}
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block .stat-data .stat-number h2,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block-flat .stat-data .stat-number h2 {
  color: var(--th-text);
}
/* hover řádků seznamů */
:root[data-theme]:not([data-theme="cleanzone"]) .block .items li:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .widget-block .items li:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .friend-widget:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .treeview label:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .treeview label.show,
:root[data-theme]:not([data-theme="cleanzone"]) .treeview ul li a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu li > a:hover {
  background-color: var(--th-hover);
}

/* ── text: CleanZone #333/#444/#555/#666 → MUI text primary/secondary ─── */
:root[data-theme]:not([data-theme="cleanzone"]) .cont p,
:root[data-theme]:not([data-theme="cleanzone"]) .page-head h2,
:root[data-theme]:not([data-theme="cleanzone"]) .list-group-item,
:root[data-theme]:not([data-theme="cleanzone"]) .md-content,
:root[data-theme]:not([data-theme="cleanzone"]) .dd-handle,
:root[data-theme]:not([data-theme="cleanzone"]) .dd3-content,
:root[data-theme]:not([data-theme="cleanzone"]) .butstyle,
:root[data-theme]:not([data-theme="cleanzone"]) #sub-menu-nav ul li a,
:root[data-theme]:not([data-theme="cleanzone"]) .treeview ul li a,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.email .mail-nav ul li a,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.app .app-nav ul.nav li a,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu li ul > li > a,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu li > a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu .title,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu .foot a,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .messages li > a .name,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion .panel-heading a.collapsed,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-color .panel-heading a.collapsed,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-semi .panel-heading a.collapsed {
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .butpro .sub span,
:root[data-theme]:not([data-theme="cleanzone"]) .i-circle i,
:root[data-theme]:not([data-theme="cleanzone"]) .dd-item > button,
:root[data-theme]:not([data-theme="cleanzone"]) .fc-state-default,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-tools {
  color: var(--th-text-2);
}
:root[data-theme]:not([data-theme="cleanzone"]) .text-muted {
  color: var(--th-text-2) !important;
}
:root[data-theme]:not([data-theme="cleanzone"]) .text-dark {
  color: var(--th-text) !important;
}

/* ── okraje (#dadada/#e5e5e5/… → divider) ─────────────────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) .col-menu-2 > li:first-child ul,
:root[data-theme]:not([data-theme="cleanzone"]) .form-horizontal.group-border .form-group,
:root[data-theme]:not([data-theme="cleanzone"]) .form-horizontal.group-border-dashed .form-group,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.email .mail-nav .title,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.app .app-nav .title,
:root[data-theme]:not([data-theme="cleanzone"]) .mail-inbox .filters,
:root[data-theme]:not([data-theme="cleanzone"]) .main-app .filters,
:root[data-theme]:not([data-theme="cleanzone"]) .mail-inbox .mails .item,
:root[data-theme]:not([data-theme="cleanzone"]) .main-app .items .item,
:root[data-theme]:not([data-theme="cleanzone"]) .message .mails .item,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.email .mail-nav,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.app .app-nav,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.email div.content,
:root[data-theme]:not([data-theme="cleanzone"]) .page-aside.app div.content,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block .stat-data .stat-number,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block-flat .stat-data .stat-number,
:root[data-theme]:not([data-theme="cleanzone"]) .block .fact-data:first-child,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block.widget-notes,
:root[data-theme]:not([data-theme="cleanzone"]) .pie-widget .stats,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu li ul > li > a,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu .title,
:root[data-theme]:not([data-theme="cleanzone"]) ul.timeline li > .date,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .sent .c-bubble,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-in,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-tools,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-conv .c-avatar,
:root[data-theme]:not([data-theme="cleanzone"]) blockquote,
:root[data-theme]:not([data-theme="cleanzone"]) .border {
  border-color: var(--th-divider) !important;
}
/* kroužek ikony časové osy (bílý okraj = „výřez" čáry) → barva pozadí */
:root[data-theme]:not([data-theme="cleanzone"]) ul.timeline li > .fa {
  border-color: var(--th-bg);
}
:root[data-theme]:not([data-theme="cleanzone"]) ul.timeline:before,
:root[data-theme]:not([data-theme="cleanzone"]) ul.timeline:after,
:root[data-theme]:not([data-theme="cleanzone"]) ul.timeline li > .date {
  background: var(--th-paper-2);
}

/* ── tabulky ──────────────────────────────────────────────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) table thead th,
:root[data-theme]:not([data-theme="cleanzone"]) table td,
:root[data-theme]:not([data-theme="cleanzone"]) table .no-border tr th:first-child,
:root[data-theme]:not([data-theme="cleanzone"]) table .no-border-x tr:last-child td,
:root[data-theme]:not([data-theme="cleanzone"]) table .no-border-y tr td:first-child {
  border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) table.hover tbody tr:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .ext table.hover tbody tr:hover,
:root[data-theme]:not([data-theme="cleanzone"]) table.table-alternate tbody > tr:nth-child(2n):hover {
  background-color: var(--th-hover);
}
:root[data-theme]:not([data-theme="cleanzone"]) table.table-alternate tbody > tr:nth-child(2n) {
  background: var(--th-zebra);
}
:root[data-theme]:not([data-theme="cleanzone"]) table td .legend {
  background-color: var(--th-paper-2);
}
/* Bootstrap .table kreslí pozadí buněk vlastní proměnnou (--bs-table-bg = body
   bg) — na kartě (paper) by buňky byly tmavší pruh; průhledné = dědí kartu. */
:root[data-theme]:not([data-theme="cleanzone"]) .table {
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--th-divider);
  --bs-table-striped-bg: var(--th-zebra);
  --bs-table-hover-bg: var(--th-hover);
  --bs-table-active-bg: var(--th-selected);
}

/* ── formuláře (MUI outlined: průhledné, okraj .23) ───────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) .form-control,
:root[data-theme]:not([data-theme="cleanzone"]) .form-select,
:root[data-theme]:not([data-theme="cleanzone"]) .rbt-input-multi {
  background-color: transparent;
  border-color: var(--th-input-border);
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .form-control:focus,
:root[data-theme]:not([data-theme="cleanzone"]) .form-select:focus {
  border-color: var(--th-primary);
  box-shadow: 0 0 0 1px var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) .form-control:disabled,
:root[data-theme]:not([data-theme="cleanzone"]) .form-select:disabled,
:root[data-theme]:not([data-theme="cleanzone"]) .rbt-input-multi.disabled {
  /* MUI disabled outlined: průhledné, tlumený okraj i text (jako com) */
  background-color: transparent;
  border-color: var(--th-divider);
  color: var(--th-text-3);
}
:root[data-theme]:not([data-theme="cleanzone"]) .form-select option {
  background-color: var(--th-menu);
}
:root[data-theme]:not([data-theme="cleanzone"]) .rbt-token {
  background-color: var(--th-primary-subtle);
  color: var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) .input-group-text,
:root[data-theme]:not([data-theme="cleanzone"]) .login-container .block-flat .input-group-addon,
:root[data-theme]:not([data-theme="cleanzone"]) .sign-up-container .block-flat .input-group-addon {
  background-color: var(--th-paper-2);
  border-color: var(--th-input-border);
  color: var(--th-text-2);
}
:root[data-theme]:not([data-theme="cleanzone"]) .select2-container .select2-choice,
:root[data-theme]:not([data-theme="cleanzone"]) .select2-container-multi .select2-choices,
:root[data-theme]:not([data-theme="cleanzone"]) .select2-container-multi .select2-choices .select2-search-choice,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-in,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-tools {
  background: var(--th-paper-2);
  border-color: var(--th-input-border);
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .has-switch span.switch-right,
:root[data-theme]:not([data-theme="cleanzone"]) .has-switch .switch-off span.switch-left {
  background-color: var(--th-selected);
  color: var(--th-text);
}
/* eprForm: žluté pozadí formuláře EPR → warning tón */
:root[data-theme]:not([data-theme="cleanzone"]) .eprForm {
  background-color: color-mix(in srgb, var(--th-warning) 8%, transparent);
}

/* ── tlačítka ─────────────────────────────────────────────────────────── */
/* neutrální (default) = MUI outlined inherit (com brand): průhledné,
   šedý divider okraj, bílý text */
:root[data-theme]:not([data-theme="cleanzone"]) .btn:not(.btn-fake):not(.btn-link) {
  border-color: var(--th-input-border); /* CleanZone .btn #ccc (outline-* aj.) */
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
/* ambient (UIButton ambient = .btn-fake, MUI text varianta): bez rámečku,
   na hover okraj + action.hover (místo bílého gradientu z modules.css) */
:root[data-theme]:not([data-theme="cleanzone"]) .btn-fake {
  color: var(--th-text-2);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-fake:hover {
  color: var(--th-text);
  border-color: var(--th-input-border);
  background-image: none;
  background-color: var(--th-hover);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default:focus,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-flat.btn-default,
:root[data-theme]:not([data-theme="cleanzone"]) .butstyle,
:root[data-theme]:not([data-theme="cleanzone"]) .butstyle.flat {
  background: transparent;
  border-color: var(--th-input-border);
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default i,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-secondary i {
  color: inherit;
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default:active,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default.active,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-flat.btn-default.active,
:root[data-theme]:not([data-theme="cleanzone"]) .show .dropdown-toggle.btn-default {
  background: var(--th-hover);
  border-color: var(--th-input-border);
  color: var(--th-text);
}
/* barevná tlačítka / odznaky / štítky / progress = VÝPLŇ tématu (*-emphasis)
   s textem --th-on-emphasis (chyba --th-on-error). !important kvůli
   status-colors.css (tam je výplň btn-* a badge-* = --status-* !important). */
:root[data-theme]:not([data-theme="cleanzone"]) :is(.btn-primary, .badge-primary, .label-primary, .progress-bar-primary, .background-primary) {
  background-color: var(--th-primary-emphasis) !important;
  border-color: var(--th-primary-emphasis) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-primary:is(:hover, :active, .active) {
  background-color: var(--th-primary-dark) !important;
  border-color: var(--th-primary-dark) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-primary i { color: inherit; }
:root[data-theme]:not([data-theme="cleanzone"]) :is(.btn-success, .badge-success, .label-success, .progress-bar-success, .background-success) {
  background-color: var(--th-success-emphasis) !important;
  border-color: var(--th-success-emphasis) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-success:is(:hover, :active, .active) {
  background-color: var(--th-success-dark) !important;
  border-color: var(--th-success-dark) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-success i { color: inherit; }
:root[data-theme]:not([data-theme="cleanzone"]) :is(.btn-info, .badge-info, .label-info, .progress-bar-info, .background-info) {
  background-color: var(--th-info-emphasis) !important;
  border-color: var(--th-info-emphasis) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-info:is(:hover, :active, .active) {
  background-color: var(--th-info-dark) !important;
  border-color: var(--th-info-dark) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-info i { color: inherit; }
:root[data-theme]:not([data-theme="cleanzone"]) :is(.btn-warning, .badge-warning, .label-warning, .progress-bar-warning, .background-warning) {
  background-color: var(--th-warning-emphasis) !important;
  border-color: var(--th-warning-emphasis) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-warning:is(:hover, :active, .active) {
  background-color: var(--th-warning-dark) !important;
  border-color: var(--th-warning-dark) !important;
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-warning i { color: inherit; }
:root[data-theme]:not([data-theme="cleanzone"]) :is(.btn-danger, .badge-danger, .label-danger, .progress-bar-danger, .background-danger) {
  background-color: var(--th-error-emphasis) !important;
  border-color: var(--th-error-emphasis) !important;
  color: var(--th-on-error);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-danger:is(:hover, :active, .active) {
  background-color: var(--th-error-dark) !important;
  border-color: var(--th-error-dark) !important;
  color: var(--th-on-error);
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-danger i { color: inherit; }
:root[data-theme]:not([data-theme="cleanzone"]) .btn-secondary,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-secondary:is(:hover, :focus, :active, .active) {
  color: var(--th-on-error);
}
/* disabled = MUI action.disabledBackground + action.disabled (jako com „VYHLEDAT"
   před vyplněním). !important kvůli status-colors.css (pozadí btn-* je !important). */
:root[data-theme]:not([data-theme="cleanzone"]) .btn:disabled,
:root[data-theme]:not([data-theme="cleanzone"]) .btn.disabled,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-disabled {
  background-color: var(--th-divider) !important;
  border-color: transparent !important;
  color: var(--th-text-3);
  box-shadow: none;
  opacity: 1;
}
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default:disabled,
:root[data-theme]:not([data-theme="cleanzone"]) .btn-default.disabled {
  background-color: transparent !important;
  border-color: var(--th-divider) !important;
}

/* ── alerty (MUI standard Alert) ──────────────────────────────────────── */
/* pozadí/text odvozené ze stavové barvy (MUI standard Alert ≈ 10 % barvy do pozadí,
   text ≈ 35 % barvy do textu) → paleta se mění jen tokeny --th-* */
:root[data-theme]:not([data-theme="cleanzone"]) .alert-success { background-color: var(--th-alert-success-bg); color: var(--th-alert-success-fg); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-info { background-color: var(--th-alert-info-bg); color: var(--th-alert-info-fg); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-warning { background-color: var(--th-alert-warning-bg); color: var(--th-alert-warning-fg); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-danger { background-color: var(--th-alert-danger-bg); color: var(--th-alert-danger-fg); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-success,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-info,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-warning,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-danger,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white {
  background-image: none; /* .alert-white: bílý gradient */
  border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white:not(.alert-success):not(.alert-info):not(.alert-warning):not(.alert-danger) {
  background-color: var(--th-paper);
  color: var(--th-text);
}
/* .alert-white .icon = barevný proužek vlevo + šipka (:after) v téže barvě */
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white .icon { border-color: var(--th-divider); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-success .icon,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-success .icon:after { background: var(--th-success); border-color: var(--th-success); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-info .icon,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-info .icon:after { background: var(--th-info); border-color: var(--th-info); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-warning .icon,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-warning .icon:after { background: var(--th-warning); border-color: var(--th-warning); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-danger .icon,
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white.alert-danger .icon:after { background: var(--th-error); border-color: var(--th-error); }
:root[data-theme]:not([data-theme="cleanzone"]) .alert-white:not(.alert-danger) .icon i { color: var(--th-on-emphasis); }

/* ── navigace: záložky, stránkování, seznamy, menu ─────────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) .nav-tabs {
  --bs-nav-tabs-link-active-bg: var(--th-paper);
  --bs-nav-tabs-link-active-color: var(--th-text);
  --bs-nav-tabs-link-active-border-color: var(--th-divider) var(--th-divider) var(--th-paper);
  --bs-nav-tabs-border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .tab-left .nav-tabs > li.active > a,
:root[data-theme]:not([data-theme="cleanzone"]) .tab-right .nav-tabs > li.active > a {
  border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > li > a,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > li > span,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > .disabled > span,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > .disabled > a,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > .disabled > a:hover {
  background-color: transparent;
  border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > li > a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > li > span:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > li > a:focus,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > li > span:focus {
  background-color: var(--th-hover);
}
:root[data-theme]:not([data-theme="cleanzone"]) .pagination {
  --bs-pagination-bg: transparent;
  --bs-pagination-border-color: var(--th-divider);
  --bs-pagination-hover-bg: var(--th-hover);
  --bs-pagination-hover-border-color: var(--th-divider);
  --bs-pagination-disabled-bg: transparent;
  --bs-pagination-disabled-border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .list-group {
  --bs-list-group-bg: var(--th-paper);
  --bs-list-group-border-color: var(--th-divider);
  --bs-list-group-action-hover-bg: var(--th-hover);
}
:root[data-theme]:not([data-theme="cleanzone"]) .list-group.tickets .list-group-item {
  background-color: var(--th-paper-2);
}
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-menu,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu {
  --bs-dropdown-bg: var(--th-menu);
  --bs-dropdown-link-color: var(--th-text);
  --bs-dropdown-link-hover-bg: var(--th-hover);
  --bs-dropdown-border-color: transparent;
  background-color: var(--th-menu);
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);
}
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-menu > a,
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-menu > li > a,
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-menu li > a {
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > li.button .dropdown-menu .foot a {
  background-color: var(--th-paper-2);
}
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-header {
  color: var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-submenu > a:after {
  border-left-color: var(--th-text-3);
}

/* ── modal (Dialog elevation 24) ──────────────────────────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) dialog[data-ui-modal],
:root[data-theme]:not([data-theme="cleanzone"]) .modal {
  --bs-modal-bg: var(--th-dialog);
  --bs-modal-color: var(--th-text);
  --bs-modal-header-border-color: var(--th-divider);
  --bs-modal-footer-border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .md-content {
  background: var(--th-dialog);
}
:root[data-theme]:not([data-theme="cleanzone"]) .modal-content .modal-footer {
  background-color: transparent;
}

/* ── chat (případ) ───────────────────────────────────────────────────── */
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .sent .c-bubble,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .msg-received .c-bubble {
  background-color: var(--th-paper-2);
  color: var(--th-text-2);
  border-color: var(--th-divider);
}
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-tools i:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-in button,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-in input[type="submit"] {
  background-color: var(--th-hover);
  border-color: var(--th-divider);
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-in input[type="text"] {
  color: var(--th-text);
}

/* ── primární akcent: modrá CleanZone/Bootstrap → zlatá ──────────────────
   Jen „primary" role (odkazy, aktivní/vybrané stavy, focus, primary prvky).
   ZÁMĚRNĚ modré zůstává: info (alert-info, progress-bar-info), dekorace
   (blue-chart/box, ikony časové osy, chat bubliny, tag-color-*, kalendář). */
/* :where → specificita jen `a` (jako CleanZone `a {}`; vyhraje pořadím listu),
   takže specifičtější CleanZone pravidla pro navbar/sidebar/menu si své barvy
   drží; tlačítka a nav položky se vynechají */
:where(:root[data-theme]:not([data-theme="cleanzone"])) a:where(:not(.btn, .nav-link, .navbar-brand, .dropdown-item, .list-group-item)),
:root[data-theme]:not([data-theme="cleanzone"]) .pagination .page-link,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion .panel-heading a,
:root[data-theme]:not([data-theme="cleanzone"]) .blue thead th,
:root[data-theme]:not([data-theme="cleanzone"]) .fuelux .wizard ul li.active,
:root[data-theme]:not([data-theme="cleanzone"]) .gallery-cont .item .head span.active,
:root[data-theme]:not([data-theme="cleanzone"]) .i-circle.primary i,
:root[data-theme]:not([data-theme="cleanzone"]) .treeview label i,
:root[data-theme]:not([data-theme="cleanzone"]) .list-group-item.active span {
  color: var(--th-primary);
}
:where(:root[data-theme]:not([data-theme="cleanzone"])) a:where(:not(.btn, .nav-link, .navbar-brand, .dropdown-item, .list-group-item)):is(:hover, :focus, :active),
:root[data-theme]:not([data-theme="cleanzone"]) .nav-tabs > li > a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .nav-tabs > li > a:active,
:root[data-theme]:not([data-theme="cleanzone"]) .block-functions a:hover {
  color: var(--th-primary-light);
}
:root[data-theme]:not([data-theme="cleanzone"]) .block-functions a { color: var(--th-text); }
:root[data-theme]:not([data-theme="cleanzone"]) .accordion .panel-heading a.collapsed { color: var(--th-text); }
/* aktivní záložka: indikátor nahoře / po straně */
:root[data-theme]:not([data-theme="cleanzone"]) .nav-tabs > li > a.active:after,
:root[data-theme]:not([data-theme="cleanzone"]) .nav-tabs > li > a.active:hover:after,
:root[data-theme]:not([data-theme="cleanzone"]) .nav-tabs > li > a.active:focus:after {
  background: var(--th-primary-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .tab-bottom .nav-tabs > li.active > a { border-bottom-color: var(--th-primary); }
:root[data-theme]:not([data-theme="cleanzone"]) .tab-left .nav-tabs > li.active > a { border-left-color: var(--th-primary); }
:root[data-theme]:not([data-theme="cleanzone"]) .tab-right .nav-tabs > li.active > a { border-right-color: var(--th-primary); }
/* vybrané / aktivní = plná zlatá + tmavý text (MUI contained) */
:root[data-theme]:not([data-theme="cleanzone"]) .list-group-item.active,
:root[data-theme]:not([data-theme="cleanzone"]) .list-group-item.active:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .list-group-item.active:focus,
:root[data-theme]:not([data-theme="cleanzone"]) .nav-pills > li.active > a,
:root[data-theme]:not([data-theme="cleanzone"]) .nav-pills .nav-link.active,
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-item.active,
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-item:active,
:root[data-theme]:not([data-theme="cleanzone"]) .label-primary,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-semi .panel-heading a,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-color .panel-heading a,
:root[data-theme]:not([data-theme="cleanzone"]) .dd3-handle,
:root[data-theme]:not([data-theme="cleanzone"]) .dd-handle:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .has-switch span.switch-left,
:root[data-theme]:not([data-theme="cleanzone"]) .slider-selection,
:root[data-theme]:not([data-theme="cleanzone"]) .fuelux .wizard ul li.complete,
:root[data-theme]:not([data-theme="cleanzone"]) table .primary-emphasis {
  background-color: var(--th-primary-emphasis);
  border-color: var(--th-primary);
  color: var(--th-on-emphasis);
}
/* barevné (warning/danger) hlavičky si nechávají svou (MUI) barvu */
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-semi .panel-heading.warning a {
  background-color: var(--th-warning);
  border-color: var(--th-warning);
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-semi .panel-heading.danger a {
  background-color: var(--th-error);
  border-color: var(--th-error);
  color: var(--th-on-error);
}
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-semi .panel-heading a.collapsed,
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-color .panel-heading a.collapsed {
  background-color: var(--th-paper);
  border-color: var(--th-divider);
  color: var(--th-text);
}
:root[data-theme]:not([data-theme="cleanzone"]) .accordion.accordion-color .panel-collapse .panel-body {
  background-color: var(--th-paper);
}
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > .active > a,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > .active > span,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > .active > a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .pagination > .active > span:hover {
  background-color: var(--th-primary-emphasis) !important; /* CleanZone má !important */
  border-color: var(--th-primary);
  color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .pagination {
  --bs-pagination-color: var(--th-primary);
  --bs-pagination-hover-color: var(--th-primary-light);
  --bs-pagination-focus-color: var(--th-primary-light);
  --bs-pagination-active-bg: var(--th-primary-emphasis);
  --bs-pagination-active-border-color: var(--th-primary);
  --bs-pagination-active-color: var(--th-on-emphasis);
  --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--th-primary-rgb), .25);
}
:root[data-theme]:not([data-theme="cleanzone"]) .list-group {
  --bs-list-group-active-bg: var(--th-primary-emphasis);
  --bs-list-group-active-border-color: var(--th-primary);
  --bs-list-group-active-color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .nav-pills {
  --bs-nav-pills-link-active-bg: var(--th-primary-emphasis);
  --bs-nav-pills-link-active-color: var(--th-on-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .nav {
  --bs-nav-link-color: var(--th-primary);
  --bs-nav-link-hover-color: var(--th-primary-light);
}
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-menu {
  --bs-dropdown-link-active-bg: var(--th-primary-emphasis);
  --bs-dropdown-link-active-color: var(--th-on-emphasis);
}
/* hover okraj odkazových seznamů (CleanZone levý modrý proužek) */
:root[data-theme]:not([data-theme="cleanzone"]) a.list-group-item:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .inbox-item.list-group-item:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .friend-widget:hover img,
:root[data-theme]:not([data-theme="cleanzone"]) .butstyle:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .chat-wi .chat-in button:hover,
:root[data-theme]:not([data-theme="cleanzone"]) td:hover .editable {
  border-color: var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) a.list-group-item:hover + a.list-group-item,
:root[data-theme]:not([data-theme="cleanzone"]) .inbox-item.list-group-item:hover + .list-group-item {
  border-top-color: var(--th-primary);
}
/* navbar / menu: modré hover/aktivní pozadí → overlay (bar je šedý #272727) */
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > .active > a,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > .active > a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > .show > a,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > .show > a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .navbar-default .navbar-nav > .show > a:focus {
  background-color: var(--th-selected);
}
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-menu > li > a:hover,
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-menu > li > a:focus,
:root[data-theme]:not([data-theme="cleanzone"]) .dropdown-submenu:hover > a,
:root[data-theme]:not([data-theme="cleanzone"]) #sub-menu-nav ul li a:hover {
  background-color: var(--th-hover);
  color: var(--th-text);
}
/* sidebar: aktivní položka = zlatý proužek vlevo, hover = overlay */
:root[data-theme]:not([data-theme="cleanzone"]) .cl-vnavigation .parent ul li.active a,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-vnavigation .active > a {
  border-left-color: var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) .cl-vnavigation .selected:hover a {
  background-color: var(--th-selected);
}
/* focus ring formulářů + zaškrtnuté checkboxy/radia/switche */
:root[data-theme]:not([data-theme="cleanzone"]) .mail-inbox .head input[type="text"]:focus,
:root[data-theme]:not([data-theme="cleanzone"]) .main-app .head input[type="text"]:focus {
  border-color: var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) .form-check-input:checked {
  background-color: var(--th-primary-emphasis);
  border-color: var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) .form-check-input:focus,
:root[data-theme]:not([data-theme="cleanzone"]) .btn:focus-visible {
  border-color: var(--th-primary);
  box-shadow: 0 0 0 .25rem rgba(var(--th-primary-rgb), .25);
}
/* checked checkbox: BS ikona fajfky je bílá → na zlaté tmavá */
:root[data-theme]:not([data-theme="cleanzone"]) .form-check-input:checked[type="checkbox"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-opacity='.87' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
:root[data-theme]:not([data-theme="cleanzone"]) .form-check-input:checked[type="radio"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23000' fill-opacity='.87'/%3e%3c/svg%3e");
}
:root[data-theme]:not([data-theme="cleanzone"]) .form-switch .form-check-input:checked {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23000' fill-opacity='.87'/%3e%3c/svg%3e");
}
/* primární progress / modal se barevnou hlavičkou */
:root[data-theme]:not([data-theme="cleanzone"]) .progress {
  --bs-progress-bar-bg: var(--th-primary-emphasis);
}
:root[data-theme]:not([data-theme="cleanzone"]) .colored-header .modal-header,
:root[data-theme]:not([data-theme="cleanzone"]) .md-dark .modal-header {
  background-color: var(--th-primary-emphasis);
  border-bottom-color: var(--th-primary-dark) !important;
  color: var(--th-on-emphasis);
}

/* modrá souhrnná patička karty (UICardFooter = .total-data.bg-blue, např.
   „Případů celkem" na /prehled) a modrá stat dlaždice → jemný zlatý podklad
   (plná výplň by na tmavém „řvala" stejně jako modrá) */
:root[data-theme]:not([data-theme="cleanzone"]) .bg-blue,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block .stat-data .stat-blue,
:root[data-theme]:not([data-theme="cleanzone"]) .cl-mcont .block-flat .stat-data .stat-blue {
  background: rgba(var(--th-primary-rgb), 0.14);
  color: var(--th-text);
  border-top: 1px solid rgba(var(--th-primary-rgb), 0.35);
}
:root[data-theme]:not([data-theme="cleanzone"]) .bg-blue a {
  color: var(--th-primary);
}
:root[data-theme]:not([data-theme="cleanzone"]) .bg-blue .caret {
  border-color: var(--th-text) transparent;
}
