/* =====================================================================
   MIME DATA - hlavní styly (rebrand 2026)
   ---------------------------------------------------------------------
   Samostatný vizuální zdroj pravdy pro rebrand:
   černá/bílá/paper + akcent #983023, pill tvary, skleněné panely,
   pravý rail s flyout menu, mono popisky, světlý (výchozí) + tmavý režim.

   Režimy: :root = SVĚTLÝ (výchozí) · html.theme-dark = TMAVÝ.
   Přepínač v hlavičce (#themeToggle), persistence localStorage.

   DŮLEŽITÉ: Všechny historické selektory (classy/id používané PHP a JS)
   jsou zachovány - mění se pouze vizuální hodnoty. Legacy proměnné
   (--cervena, --cerna, --bila, --seda, …) jsou mapované na nové tokeny,
   takže lokální styly stránek dědí rebrand automaticky.

   Obsah:
     1. Design tokeny (+ legacy aliasy)
     2. Base (typografie, pozadí, odkazy, focus, scrollbary)
     3. Layout: topbar (header), pravý rail (nav), obsah (article), footer
     4. Mobilní menu (hamburger + fullscreen drawer)
     5. Admin banner + přepínače
     6. Notifikace
     7. Komponenty: filtry, multiselect, taby, tabulky, stránkování,
        tooltipy, checkboxy, range, formuláře, tlačítka, hlášky, modály
     8. Vendor skiny: Quill, Select2, FontAwesome doplňky
     9. Aplikace: soubory/lightbox, skoleni, shortcode, login form
    10. Ikony menu (CSS masky, data-URI) - na konci souboru
   ===================================================================== */

/* ============================ 1. TOKENY ============================= */
:root {
  /* Brand */
  --accent: #983023;
  --accent-2: #7a2318;            /* tmavší akcent (hover, text na světlé) */
  --on-accent: #ffffff;
  --accent-soft: rgba(152, 48, 35, .12);
  --accent-mid: rgba(152, 48, 35, .38);

  /* Text */
  --text: #141210;
  --text-2: #55504b;
  --text-3: #8a847e;

  /* Plochy */
  --surface: #ffffff;
  --surface-2: #f6f2ee;
  --surface-3: #ece7e1;
  --panel-solid: #fdfcfb;         /* hlavní obsahový panel */
  --glass: rgba(255, 255, 255, .78);

  /* Linky */
  --line-c: rgba(20, 16, 12, .14);
  --line-soft: rgba(20, 16, 12, .08);

  /* Stíny */
  --shadow-1: 0 20px 70px rgba(5, 5, 5, .12);
  --shadow-sm: 0 6px 22px rgba(5, 5, 5, .08);

  /* Stavové barvy */
  --ok: #15803d;   --ok-bg: #e9f6ee;   --ok-bd: #b7e3c6;
  --err: #983023;  --err-bg: #fdece9;  --err-bd: #f0cdc6;
  --warn: #8a5a00; --warn-bg: #fff3d6; --warn-bd: #efd9a3;
  /* Světlejší zelená pro druhý (mírnější) stupeň semaforu vedle --ok.
     Není to --ok-bd (ta je na linky a na text by byla nečitelná). */
  --ok-soft: #2f9e5a;

  /* Tvary a rytmus */
  --radius-xl: 26px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 9px;
  --radius-pill: 999px;
  --ease: cubic-bezier(.16, 1, .3, 1);

  /* Typografie */
  --font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

  /* Layout */
  --rail-w: 112px;
  --control-height: 39px;

  /* Tlačítka (sémantická - nezávislá na flipu legacy aliasů) */
  --btn-ink: #0e0f11;   --btn-on-ink: #ffffff;

  /* Řádek tabulky pod myší - MUSÍ být neprůhledná barva (sticky sloupce) */
  --row-hover: #f4e3df;

  /* Tabulky na skle (dle prototypu): řádky průhledné, zebra jen nádech,
     sticky záhlaví/sloupec KRYTÉ (obsah pod nimi nesmí prosvítat) */
  --zebra: rgba(5, 5, 5, .03);
  --thead: rgba(248, 246, 242, .97);
  --sticky-col: #f7f2ee;
  --sticky-col-2: #f0eae4;

  /* ---- LEGACY ALIASY (historické názvy používané napříč webem) ---- */
  --bila: #ffffff;
  --bila-podmenu: #f8f5f2;
  --cervena: #983023;
  --tmavecervena: #7a2318;
  --cerna: #141210;
  --seda: #dcd5cf;
  --svetleseda: #f3efeb;
  --tmaveseda: #9a938d;
  --hodnetmaveseda: #55504b;
}

html.theme-dark {
  --accent: #983023;
  --accent-2: #b9493b;
  --on-accent: #ffffff;
  --accent-soft: rgba(152, 48, 35, .18);
  --accent-mid: rgba(152, 48, 35, .42);

  --text: #f2efec;
  --text-2: #b6afa9;
  --text-3: #87817b;

  /* Povrchy drží prototyp: obsahové panely jsou sklo, ne plné tmavé karty. */
  --surface: rgba(255, 255, 255, .06);
  --surface-2: rgba(255, 255, 255, .08);
  --surface-3: rgba(255, 255, 255, .11);
  --panel-solid: rgba(255, 255, 255, .07);
  --glass: rgba(255, 255, 255, .07);

  --line-c: rgba(255, 255, 255, .16);
  --line-soft: rgba(255, 255, 255, .1);

  --shadow-1: 0 24px 80px rgba(0, 0, 0, .45);
  --shadow-sm: 0 24px 80px rgba(0, 0, 0, .35);

  --ok: #5fc98a;   --ok-bg: rgba(95, 201, 138, .13);  --ok-bd: rgba(95, 201, 138, .35);
  --err: #e08a7d;  --err-bg: rgba(224, 138, 125, .13);--err-bd: rgba(224, 138, 125, .35);
  --warn: #e6c07a; --warn-bg: rgba(230, 192, 122, .12);--warn-bd: rgba(230, 192, 122, .35);
  --ok-soft: #9ee0b8;

  --btn-ink: #f2efec;   --btn-on-ink: #0b0908;

  --row-hover: rgba(152, 48, 35, .16);

  --zebra: rgba(255, 255, 255, .045);
  --thead: #0a0807;        /* 100% neprůhledné - sticky hlavička nesmí prosvítat při scrollu */
  --sticky-col: #0a0807;   /* 100% neprůhledné - sticky první sloupec nesmí prosvítat */
  --sticky-col-2: #120e0c; /* sudé řádky (zebra) prvního sloupce, taky neprůhledné */

  /* Legacy aliasy - tmavý flip (páry bila/cerna se otáčí spolu,
     kontrast lokálních stylů tak zůstává zachovaný) */
  --bila: rgba(255, 255, 255, .07);
  --bila-podmenu: rgba(255, 255, 255, .08);
  --cervena: #b04437;
  --tmavecervena: #d07b6e;
  --cerna: #f2efec;
  --seda: #423a35;
  --svetleseda: #2c2623;
  --tmaveseda: #8a837d;
  --hodnetmaveseda: #b6afa9;
}

/* ============================= 2. BASE ============================== */
* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font);
  color: var(--text);
  background:
    radial-gradient(circle at 10% 4%, rgba(152, 48, 35, .16), transparent 25rem),
    linear-gradient(135deg, #ffffff 0%, #f6f0ed 52%, #ffffff 100%);
  overflow-x: hidden;
}

/* Tmavé pozadí rebrandu - hodnoty NEUPRAVOVAT (žádné vlastní odchylky) */
html.theme-dark body {
  background:
    radial-gradient(circle at 14% 10%, rgba(152, 48, 35, .36), transparent 25rem),
    radial-gradient(circle at 84% 12%, rgba(255, 255, 255, .09), transparent 18rem),
    linear-gradient(135deg, #050505 0%, #0b0908 52%, #050505 100%);
}

/* Textura pozadí přesně dle rebrand prototypu: mřížka + zrno (dekor) */
.grain,
.grid-surface {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: -2;
}
.grain::before {
  content: "";
  position: absolute;
  inset: -80px;
  opacity: .14;
  background-image:
    repeating-radial-gradient(circle at 0 0, rgba(255, 255, 255, .4) 0 1px, transparent 1px 6px);
  mix-blend-mode: overlay;
  transform: rotate(-7deg);
}
.grid-surface {
  z-index: -3;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 78%);
  mask-image: linear-gradient(to bottom, black, transparent 78%);
}
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 118px;
  z-index: 1000;
  pointer-events: none;
  background: linear-gradient(to bottom, #f8f6f2 0%, #f8f6f2 72%, rgba(248, 246, 242, 0) 100%);
}
html.theme-dark body::before {
  background: linear-gradient(to bottom, #050505 0%, #050505 72%, rgba(5, 5, 5, 0) 100%);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font);
  letter-spacing: -.04em;
  color: var(--text);
}

/* Velké „redakční" nadpisy dle rebrandingu */
h1 {
  font-size: clamp(1.9rem, 4.2vw, 3.1rem);
  font-weight: 850;
  line-height: .95;
  letter-spacing: -.05em;
  text-transform: lowercase;
  margin: 8px 0 18px;
  text-wrap: balance;
}
h1 em { color: var(--accent); font-style: normal; }
/* Tečka za každým nadpisem (rebrand podpis); .h1-bez-tecky pro nadpisy končící ?/! */
h1::after { content: "."; color: var(--accent); }
h1.h1-bez-tecky::after { content: none; }

/* Eyebrow - cesta stránky (pill s tečkou, dle prototypu).
   display:flex (blokový) = vždy na vlastním řádku NAD nadpisem,
   i když má stránka h1 jako inline-block. */
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  max-width: 100%;
  padding: 7px 13px;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-pill);
  color: var(--text-2);
  background: var(--glass);
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 clamp(32px, 4vw, 54px);
}
/* Jednotná svislá mezera DROBEČKY → NADPIS napříč VŠEMI stránkami - i když je <h1>
   obalený. Mezera žije na .eyebrow (vždy přímý potomek <article> na konzistentní pozici);
   první nadpis (přímý i v obalu) proto nepřidává vlastní horní mezeru. Ladí se JEDNÍM místem. */
article > .eyebrow ~ h1:first-of-type,                /* h1 přímý potomek <article> */
article > .eyebrow ~ div > h1:first-child,             /* h1 první v <div> obalu (sprava_klientu/uzivatelu) */
article > .eyebrow ~ #vycentrovani-formulare > h1 {   /* centrovaný obal (dotazníky, „nový…" formuláře) */
  margin-top: 0;
}
/* Nadpis v centrovaném obalu = zarovnat vlevo (jako nastaveni_notifikaci), ne vycentrovaný. */
#vycentrovani-formulare > h1 { align-self: flex-start; text-align: left; }
.eyebrow::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: inset 0 0 0 4px var(--surface);
}
html.theme-dark .eyebrow::before {
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .88);
}
.eyebrow .oddelovac { color: var(--text-3); margin: 0 2px; }

h2 { font-weight: 800; letter-spacing: -.045em; }
h3 { font-weight: 750; }

p { font-size: 13px; color: inherit; }

input, select, textarea, button { font-family: var(--font); }

/* Všechna tlačítka malými písmeny (rebrand) - plošně, přebíjí vlastní text-transform.
   Netýká se odznáčků .stitek-ramecku (ty jsou záměrně UPPERCASE, nejsou to tlačítka). */
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.tlacitko-odeslat,
.mime-button-red,
.btn-primary,
.btn,
.btn-save,
.btn-cancel {
  text-transform: lowercase !important;
}

label { font-size: 13px; }

::selection { background: var(--accent); color: #fff; }

/* Textový kurzor (caret) jen v editovatelných polích. Chrome s caret browsingem
   (přepíná se F7) jinak po kliknutí bliká černý kurzor i v běžném textu -
   v rotujícím spinneru pak vypadal jako rotující „černá čára navíc". */
body { caret-color: transparent; }
input, textarea, [contenteditable]:not([contenteditable="false"]) { caret-color: auto; }

/* Viditelný focus pro klávesnici (WCAG 2.4.7) - nulová specificita */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Obyčejné vystředění */
.stred { text-align: center; }

/* Schování některých inputů */
.hidden { display: none; }

/* Scrollbary v duchu brandu */
* { scrollbar-width: thin; scrollbar-color: var(--seda) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; background: transparent; }
::-webkit-scrollbar-thumb { background: var(--seda); border-radius: var(--radius-pill); border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: var(--tmaveseda); background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ================= 3. LAYOUT: TOPBAR / RAIL / OBSAH ================= */

/* --- Topbar (header) - lepí se k vrchu, plný zákryt, sklo --- */
header {
  position: fixed;
  top: 28px;
  left: clamp(18px, 4vw, 68px);
  right: calc(var(--rail-w) + clamp(18px, 4vw, 68px));
  z-index: 1004;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 78px;
  margin: 0;
  padding: 16px 0;
  background: transparent;
  border-bottom: 0;
  color: var(--text);
  text-align: left;
  font-size: inherit;
  height: auto;
  isolation: isolate;
  container-type: inline-size;
}
/* Vrchní kompozice topbaru dle rebrandu: fixed lišta s rozpitým podkladem. */
header::before {
  content: "";
  position: absolute;
  inset: -18px -18px -16px -18px;
  z-index: -1;
  pointer-events: none;
  border-radius: 0 0 30px 30px;
  background: linear-gradient(to bottom, rgba(248, 246, 242, .92), rgba(248, 246, 242, .55), rgba(248, 246, 242, 0));
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
html.theme-dark header::before {
  background: linear-gradient(to bottom, rgba(5, 5, 5, .72), rgba(5, 5, 5, .36), rgba(5, 5, 5, 0));
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  max-width: 100%;
  letter-spacing: 0;
  font-weight: 900;
  text-transform: lowercase;
  color: inherit;
  text-decoration: none;
  overflow: visible;
}
.brand-glyph {
  position: relative;
  width: clamp(46px, 3.75vw, 54px);
  height: clamp(46px, 3.75vw, 54px);
  display: block;
  flex: 0 0 auto;
}
.brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brand-logo-dark {
  display: none;
}
html.theme-dark .brand-logo-light {
  display: none;
}
html.theme-dark .brand-logo-dark {
  display: block;
}
.brand-name {
  display: block;
  min-width: 0;
  line-height: .86;
  font-family: "Segoe UI Black", "Segoe UI", "Arial Black", var(--font);
  overflow: visible;
  padding-right: 10px;
}
.brand-name strong {
  display: inline-block;
  overflow: visible;
  font-size: clamp(1.58rem, 2.34vw, 2.06rem);
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
  transform: scaleX(1.03) scaleY(1.04);
  transform-origin: left center;
  -webkit-text-stroke: .08px currentColor;
}

@container (max-width: 330px) {
  .brand-name { display: none; }
}

.top-actions { display: flex; align-items: center; justify-self: end; gap: 10px; }
.top-actions > * { flex: 0 0 auto; }   /* tlačítka se nesmí mačkat (mobil) */

.icon-button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: var(--radius-pill);
  color: var(--on-accent);
  background: var(--accent);
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(152, 48, 35, .25);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}
.icon-button:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(152, 48, 35, .34); }
.top-actions .icon-button:hover {
  box-shadow: 0 14px 34px rgba(152, 48, 35, .25);
}
.icon-button:active { transform: translateY(0); }
.icon-button svg { width: 19px; height: 19px; }
#themeToggle .ikona-slunce { display: none; }
#themeToggle .ikona-mesic { display: block; }
html.theme-dark #themeToggle .ikona-slunce { display: block; }
html.theme-dark #themeToggle .ikona-mesic { display: none; }

/* --- Pravý rail (nav) - bílý podpis brandu v obou režimech --- */
nav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1005;
  width: var(--rail-w);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  padding: 14px 10px;
  margin: 0;
  background: #ffffff;
  color: #141210;
  text-align: center;
  text-transform: none;
  border: 0;
  border-left: 1px solid rgba(0, 0, 0, .1);
  border-radius: 0;
  box-shadow: -16px 0 70px rgba(0, 0, 0, .18);
  overflow: hidden;
}
html.theme-dark nav { box-shadow: -16px 0 70px rgba(0, 0, 0, .5); }
nav::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  height: auto;
  margin: 0;
  background: var(--accent);
  transform: none;
  transition: none;
  display: block;
  pointer-events: none;
}
nav:hover::before { transform: none; }

/* Wordmark „mi/me" nahoře v railu */
#logo {
  float: none;
  display: grid;
  place-items: center;
  min-height: 76px;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 24px;
  background: #050505;
  color: #fff;
  font-weight: 950;
  line-height: .9;
  letter-spacing: -.08em;
  text-transform: lowercase;
  font-size: 1.15rem;
  text-decoration: none;
  transition: transform .3s ease;
}
#logo:hover { transform: scale(1.04); }
#logo { background: transparent; border: 0; }
#logo img.logo-rail { display: block; width: 78%; max-width: 86px; height: auto; }
#logo img.logo-mobilni { display: none; }

/* Přihlášený uživatel nahoře nad běžnými sekcemi i po přesunutí menu do mobilního draweru.
   Nepřihlášené menu necháváme v původním toku. */
#nav-menu.nav-menu-prihlasen > li { order: 10; }
#nav-menu.nav-menu-prihlasen > li.desktop-notifications { order: 1; }
#nav-menu.nav-menu-prihlasen > li.sekce-uzivatel { order: 2; }
#nav-menu.nav-menu-prihlasen > li.sekce-nastaveni { order: 3; } /* hned pod sekcí Uživatel */

/* Desktop: zvoneček (nahoře) + Uživatel hned pod logem, mezera, pak zbytek menu */
@media (min-width: 769px) {
  nav ul { justify-content: flex-start; }
  #nav-menu > li.sekce-uzivatel { margin-bottom: 22px; }
  /* Když je pod Uživatelem sekce Nastavení: stejný rozestup jako zvoneček↔Uživatel
     (čistý flex gap, bez extra marginu); mezera před zbytkem menu patří až za Nastavení. */
  #nav-menu > li.sekce-uzivatel:has(+ li.sekce-nastaveni) { margin-bottom: 0; }
  #nav-menu > li.sekce-nastaveni { margin-bottom: 22px; }
  /* Flyouty Uživatel/Nastavení pozicuje JS (mimePositionRailFlyout) jako všem
     ostatním sekcím - dřívější !important pin na top:-6px (z doby, kdy tyhle
     sekce seděly úplně nahoře) přebíjel inline styl z JS a flyout skákal
     k hornímu okraji obrazovky místo k položce. */
  /* Fixní pozice (souřadnice dopočítá JS mimePositionNotificationDropdown), aby dropdown
     neořízl overflow:hidden na <nav>/#nav-menu - stejný princip jako rail flyouty. */
  #nav-menu > li.desktop-notifications .notification-dropdown { position: fixed; top: -6px; bottom: auto; right: calc(var(--rail-w) + 10px); }
  /* Otevření na hover (jako submenu flyouty) - dropdown je DOM potomek <li>, takže :hover platí i nad ním */
  #nav-menu > li.desktop-notifications:hover .notification-dropdown,
  #nav-menu > li.desktop-notifications:focus-within .notification-dropdown { display: block; }
}

nav img { float: none; }

nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  text-align: center;
  position: relative;
}
nav ul::-webkit-scrollbar { width: 6px; }
nav ul::-webkit-scrollbar-thumb {
  background: rgba(152, 48, 35, .42);
  border-radius: 999px;
}
nav ul::-webkit-scrollbar-track { background: transparent; }
nav ul::after { content: none; }

nav li {
  float: none;
  margin: 0;
  display: block;
  position: relative;
}

/* Položka railu (odkaz i rozbalovací) - POZOR: jen přímé položky menu,
   ne odkazy uvnitř flyout podmenu */
#nav-menu > li > a,
nav .rozbalovaci-podmenu > span {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 72px;
  padding: 9px 7px;
  border: 1px solid transparent;
  border-radius: 24px;
  color: rgba(5, 5, 5, .52);
  background: transparent;
  font-size: .64rem;
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  transition: color .22s ease, background .22s ease, transform .22s var(--ease), box-shadow .22s ease;
}
#nav-menu > li > a:hover,
nav .rozbalovaci-podmenu:hover > span,
nav .rozbalovaci-podmenu:focus-within > span {
  color: #050505;
  background: rgba(152, 48, 35, .08);
  transform: translateX(-2px);
}
nav ul a::before { content: none; }
nav ul a:hover::before { transform: none; }

/* Aktivní sekce (nastavuje PHP třídou .aktivni-sekce na li) */
nav li.aktivni-sekce > a,
nav li.aktivni-sekce .rozbalovaci-podmenu > span {
  color: #fff;
  background: var(--accent);
  box-shadow: 0 16px 32px rgba(152, 48, 35, .23);
}

/* Ikony položek (masky - barva dle currentColor) */
.nav-ico {
  display: inline-block;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
}
.nav-ico-svg { display: inline-grid; place-items: center; width: 22px; height: 22px; }
.nav-ico-svg svg { width: 22px; height: 22px; }
/* AI ikona (přepis meetingů) - line-styl jako ostatní nav ikony, obarví se currentColorem přes mask. */
.nav-ico.i-ai {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4 H8 A4 4 0 0 0 4 8 V16 A4 4 0 0 0 8 20 H16 A4 4 0 0 0 20 16 V12 M7 17 L10 9 L13 17 M8.1 14 H11.9 M16 9 V17 M14.6 9 H17.4 M14.6 17 H17.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 2.3 C18.2 4.25 18.75 4.8 20.7 5 C18.75 5.2 18.2 5.75 18 7.7 C17.8 5.75 17.25 5.2 15.3 5 C17.25 4.8 17.8 4.25 18 2.3 Z' fill='%23000'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4 H8 A4 4 0 0 0 4 8 V16 A4 4 0 0 0 8 20 H16 A4 4 0 0 0 20 16 V12 M7 17 L10 9 L13 17 M8.1 14 H11.9 M16 9 V17 M14.6 9 H17.4 M14.6 17 H17.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 2.3 C18.2 4.25 18.75 4.8 20.7 5 C18.75 5.2 18.2 5.75 18 7.7 C17.8 5.75 17.25 5.2 15.3 5 C17.25 4.8 17.8 4.25 18 2.3 Z' fill='%23000'/%3E%3C/svg%3E");
}

/* Flyout podmenu - vyjíždí vlevo od railu, bílé v obou režimech */
nav .rozbalovaci-podmenu { position: static; display: block; }

@media (min-width: 769px) {
  nav .rozbalovaci-podmenu-obsah {
    display: none;
    position: fixed;
    right: calc(var(--rail-w) + 10px); /* plošný odstup railu od flyoutu (dřív nekonzistentně nastavoval JS) */
    top: -6px;
    min-width: 280px;
    max-width: min(360px, calc(100vw - var(--rail-w) - 24px));
    max-height: min(72vh, 600px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 16px 14px;
    background: rgba(255, 255, 255, .97);
    color: #1a1613;
    border: 1px solid rgba(5, 5, 5, .12);
    border-right: 4px solid var(--accent);
    border-radius: 20px 0 0 20px;
    box-shadow: -24px 22px 70px rgba(0, 0, 0, .28);
    z-index: 1006;
    font-size: 12px;
    text-align: left;
    text-transform: none;
  }
  /* Spodní položky menu - flyout kotvit ke spodní hraně, ať nepřeteče */
  nav li:nth-last-child(-n+3) .rozbalovaci-podmenu-obsah {
    top: auto;
    bottom: -6px;
  }
  nav .rozbalovaci-podmenu:hover .rozbalovaci-podmenu-obsah,
  nav .rozbalovaci-podmenu:focus-within .rozbalovaci-podmenu-obsah,
  nav .rozbalovaci-podmenu.is-open .rozbalovaci-podmenu-obsah {
    display: block;
  }
  /* Neviditelný můstek mezi položkou a flyoutem (aby hover nepadal) */
  nav .rozbalovaci-podmenu::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 16px;
    display: none;
  }
  nav .rozbalovaci-podmenu:hover::after { display: block; }
}

/* Mobil (≤ 768 px) - obsah v toku (animace řeší mobilní blok níže) */
@media (max-width: 768px) {
  nav .rozbalovaci-podmenu-obsah { display: block !important; }
}

/* Položky uvnitř flyoutu */
nav .rozbalovaci-podmenu-obsah > div {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
  list-style: none;
  border-radius: 10px;
  padding: 7px 9px;
  transition: background .16s ease;
}
nav .rozbalovaci-podmenu-obsah > div:hover { background: rgba(152, 48, 35, .08); }
nav .rozbalovaci-podmenu-obsah > div::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: var(--radius-pill);
  background: var(--accent);
  opacity: .65;
  font-size: 0;
  margin-right: 9px;
  display: inline-block;
  flex: 0 0 auto;
}
nav .rozbalovaci-podmenu-obsah > div a {
  position: relative;
  display: inline-block;
  color: #1a1613;
  text-decoration: none;
  font-weight: 600;
  font-size: .82rem;
}
nav .rozbalovaci-podmenu-obsah > div a:hover { color: var(--accent-2); }
nav .rozbalovaci-podmenu-obsah p { color: #1a1613; }
nav .rozbalovaci-podmenu-obsah td { color: #1a1613; font-size: 12px; }

/* Aktivní podstránka v podmenu = červená pilulka (jako v prototypu) */
.rozbalovaci-podmenu-obsah div.aktivni-odkaz {
  background: var(--accent) !important;
  box-shadow: 0 12px 24px rgba(152, 48, 35, .2);
}
.rozbalovaci-podmenu-obsah div.aktivni-odkaz::before { background: #fff !important; opacity: .9; }
.rozbalovaci-podmenu-obsah div.aktivni-odkaz a { color: #fff !important; }
.rozbalovaci-podmenu-obsah div.aktivni-odkaz a:hover { color: #fff !important; }

/* Odhlášení - bez tečky, vycentrované. Selektory bez nav platí i v mobilním draweru,
   protože JS přesouvá #nav-menu mimo <nav>. */
.rozbalovaci-podmenu-obsah .odhlaseni-wrapper,
nav .rozbalovaci-podmenu-obsah .odhlaseni-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
}
.rozbalovaci-podmenu-obsah .odhlaseni-wrapper::before,
nav .rozbalovaci-podmenu-obsah .odhlaseni-wrapper::before { display: none !important; }
.rozbalovaci-podmenu-obsah .odhlaseni-wrapper form,
nav .rozbalovaci-podmenu-obsah .odhlaseni-wrapper form {
  margin: 10px auto !important;
  text-align: center !important;
  display: block !important;
}
.rozbalovaci-podmenu-obsah .odhlaseni-wrapper .tlacitko-odeslat,
nav .rozbalovaci-podmenu-obsah .odhlaseni-wrapper .tlacitko-odeslat {
  margin: 0 auto !important;
  display: inline-flex !important;
  position: relative !important;
  left: 0 !important;
}

nav input[type="text"], nav input[type="password"] {
  width: 100%;
  color: #1a1613;
  background: #fff;
  font-size: 12px;
  padding: 8px 10px;
  border: 1px solid rgba(5, 5, 5, .16);
  border-radius: 10px;
}

/* Svislý popisek dole v railu (podpis hubu) */
.nav-caption {
  display: grid;
  place-items: center;
  padding: 12px 0 4px;
  color: rgba(5, 5, 5, .46);
  font-family: var(--mono);
  font-size: .61rem;
  letter-spacing: .11em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-transform: uppercase;
  justify-self: center;
  /* VŽDY u dna railu (margin-top:auto drží pozici i při prázdném/přesunutém ul) */
  margin: auto auto 0;
  flex: 0 0 auto;
}
@media (max-width: 768px) {
  .nav-caption { display: none; }
}

/* Sticky legacy třída (JS ji už nepřidává; ponecháno neškodné) */
.sticky { position: static; }
/* (Neutralizace JS placeholderu odstraněna - placeholder už scripty.js nevytváří
   a hned za nav teď sedí mobilní drawer #mobile-fullscreen.) */

/* --- Obsah --- */
/* Okraje dle rebrand prototypu (site-shell): clamp(18px, 4vw, 68px) */
section {
  display: block;
  padding: 118px 0 0 clamp(18px, 4vw, 68px);
  margin-right: var(--rail-w);
}
section::after { content: ""; display: table; clear: both; }

/* Obsah leží PŘÍMO na texturovaném pozadí (jako v prototypu) -
   karty tvoří jednotlivé komponenty (tabulky, panely, filtry). */
article {
  display: block;
  padding: 6px 0 0;
  width: auto;
  margin: 14px clamp(18px, 4vw, 68px) 30px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-height: 60vh;
}

/* Odkazy v textu */
article a { color: var(--accent); text-decoration: none; font-weight: 600; }
article a:hover { color: var(--accent-2); text-decoration: underline; }
html.theme-dark article a:hover { color: var(--accent-2); }
article ul li,
article ol li {
  font-size: 13px;
  color: inherit;
}

/* --- Footer --- */
footer {
  width: auto;
  margin-right: var(--rail-w);
  background: transparent;
  padding: 14px clamp(14px, 2.5vw, 28px) 20px;
  text-align: center;
  color: var(--text-3);
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
footer p { margin: 0; font-size: inherit; color: inherit; }

/* Responzivita základu */
@media (max-width: 600px) {
  nav, article { width: auto; height: auto; }
}
/* ==================== 5. ADMIN BANNER + PŘEPÍNAČE ==================== */
/* Přepínače zobrazení jsou v topbaru (.top-actions) vlevo od tužky - inline, ne plovoucí. */
.admin-banner-stack {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.admin-impersonation-banner {
  background: var(--accent);
  color: #fff;
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, .35);
  box-shadow: var(--shadow-sm);
  min-width: 0;
}

.admin-control-banner { display: flex; flex-direction: column; gap: 8px; }
.admin-control-row { display: flex; justify-content: flex-end; }
.admin-impersonation-banner-form { margin: 0; }

.admin-date-simulation-banner-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.admin-date-simulation-banner-form-active {
  background: transparent; color: inherit; border: 0; border-radius: 0; padding: 0;
}
.admin-date-simulation-banner-form-active .admin-date-simulation-banner-text { color: #fff; }
.admin-date-simulation-banner-form .admin-switch-slider { background: rgba(255, 255, 255, .35); }
.admin-date-simulation-banner-form .admin-switch input:checked + .admin-switch-slider { background: #f6e7cf; }
.admin-date-simulation-banner-form .admin-switch input:checked + .admin-switch-slider::before { background: var(--accent); }
.admin-date-simulation-banner-form .admin-switch input:focus + .admin-switch-slider { box-shadow: 0 0 0 2px rgba(255, 255, 255, .25); }

.admin-date-simulation-banner-text {
  font-size: 12px;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
  text-align: right;
  color: #fff;
}

.admin-switch {
  position: relative;
  display: inline-flex;
  width: 42px;
  height: 24px;
  cursor: pointer;
  flex-shrink: 0;
}
.admin-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.admin-switch-slider {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .25);
  border-radius: var(--radius-pill);
  transition: background .2s ease;
}
.admin-switch-slider::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  top: 3px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
  transition: transform .2s ease;
}
.admin-switch input:checked + .admin-switch-slider { background: #198754; }
.admin-switch input:checked + .admin-switch-slider::before { transform: translateX(18px); }
.admin-switch input:focus + .admin-switch-slider { box-shadow: 0 0 0 2px rgba(25, 135, 84, .2); }

.admin-impersonation-banner-form .tlacitko-odeslat {
  background: transparent !important;
  color: #fff !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0;
  min-height: 0 !important;
  font-size: 12px !important;
  font-weight: bold !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}
.admin-impersonation-banner-form .tlacitko-odeslat:hover,
.admin-impersonation-banner-form .tlacitko-odeslat:focus {
  background: transparent !important;
  color: #fff !important;
  border: 0 !important;
  text-decoration: underline;
}

.admin-client-login-cell { text-align: center; vertical-align: middle; }
.admin-client-login-form { margin: 0; display: inline-flex; justify-content: center; }

@media (max-width: 768px) {
  /* Přepínače režimu se na mobilu nevejdou do topbaru vedle tlačítek → dáme je jako
     samostatný celoškálový proužek hned pod fixní header (čitelné, s popiskem). */
  .admin-banner-stack {
    position: fixed;
    top: 62px;
    left: 12px;
    right: 12px;
    z-index: 1003;
    justify-content: center;
  }
  .admin-impersonation-banner { padding: 6px 13px; max-width: 100%; }
  .admin-control-banner { gap: 5px; }
  .admin-control-row { justify-content: center; }
  .admin-impersonation-banner-form .tlacitko-odeslat { white-space: normal; text-align: center; }
  .admin-date-simulation-banner-form { gap: 9px; justify-content: center; }
  .admin-date-simulation-banner-text { white-space: normal; text-align: left; font-size: 12px; }
  .admin-switch { width: 38px; height: 22px; }
}

/* ======================== 4. MOBILNÍ MENU =========================== */
/* Hamburger - defaultně skrytý (desktop má rail) */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1001;
}
.hamburger span {
  display: block;
  width: 25px;
  height: 3px;
  background-color: #fff;
  margin: 5px 0;
  border-radius: 2px;
  transition: all .3s ease;
}

@media (max-width: 768px) {
  /* Topbar na mobilu kompaktní */
  body::before { height: 150px; }
  header {
    --mobile-topbar-gap: clamp(6px, 2vw, 10px);
    --mobile-action-size: clamp(34px, 10vw, 44px);
    --mobile-action-icon-size: clamp(15px, 4.2vw, 19px);
    --mobile-brand-glyph-size: clamp(32px, 10vw, 40px);
    --mobile-brand-gap: clamp(5px, 1.8vw, 8px);
    --mobile-brand-title-size: clamp(.74rem, 3.2vw, .98rem);
    --mobile-brand-subtitle-size: clamp(.38rem, 1.65vw, .52rem);
    --mobile-menu-font-size: clamp(11.5px, 3.2vw, 13.5px);
    --mobile-menu-pad-x: clamp(10px, 3.4vw, 16px);
    top: 0;
    left: clamp(12px, 4vw, 16px);
    right: clamp(12px, 4vw, 16px);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(8px, 2.6vw, 18px);
    min-height: 56px;
    padding: 16px 0 10px;
    margin: 0;
  }
  header::before {
    inset: 0 -16px -18px -16px;
    border-radius: 0 0 26px 26px;
  }
  header h2 { font-size: 22px; margin: 0; line-height: 70px; }
  .brand-mark {
    min-width: 0;
    max-width: 100%;
    gap: var(--mobile-brand-gap);
    overflow: visible;
  }
  .brand-glyph {
    width: var(--mobile-brand-glyph-size);
    height: var(--mobile-brand-glyph-size);
  }
  .brand-name {
    min-width: 0;
    overflow: hidden;
  }
  .brand-name strong {
    display: block;
    font-size: var(--mobile-brand-title-size);
    white-space: nowrap;
  }

  .top-actions {
    gap: var(--mobile-topbar-gap);
    min-width: 0;
  }
  .top-actions .icon-button {
    width: var(--mobile-action-size);
    height: var(--mobile-action-size);
  }
  .top-actions .icon-button svg {
    width: var(--mobile-action-icon-size);
    height: var(--mobile-action-icon-size);
  }

  /* Tlačítko Menu v topbaru (pill dle rebrandingu) */
  .hamburger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: static;
    transform: none;
    min-height: clamp(34px, 10vw, 40px);
    padding: 0 var(--mobile-menu-pad-x);
    margin: 0;
    border: 1px solid var(--line-c);
    border-radius: var(--radius-pill);
    background: var(--surface);
    color: var(--text);
    font-size: var(--mobile-menu-font-size);
    font-weight: 750;
    letter-spacing: -.01em;
    cursor: pointer;
    z-index: 1001;
    white-space: nowrap;
  }
  .hamburger span { display: none; }

  /* Zvoneček notifikací v topbaru - kulaté tlačítko jako přepínač režimu */
  .mobile-notifications {
    display: inline-flex;
    position: static;
    transform: none;
    margin: 0;
  }
  .mobile-notifications .notification-icon.icon-button {
    color: var(--on-accent);
    font-size: clamp(13px, 4vw, 16px);
    padding: 0;
  }
  .mobile-notifications .notification-icon.icon-button:hover { opacity: 1; }
  .mobile-notifications .notification-badge { top: -4px; right: -4px; }

  /* Černý pruh menu na mobilu NENÍ (dle rebrandingu) - vše řídí topbar */
  nav { display: none; }

  .sticky { position: static; width: 100%; margin-left: 0; left: 0; }
  .sticky::after { content: none; }
  body.menu-open .sticky::after { display: none; }

  article { margin: 10px 12px 20px; padding: 0; }
  section { margin-right: 0; padding: 142px 0 0; }
  footer { margin-right: 0; }
  .sticky + section article { padding-top: 0; }

  /* ===== DRAWER - bílý zaoblený panel, položky zarovnané VLEVO (na přání) ===== */
  #mobile-fullscreen #nav-menu {
    display: none;
    position: static;
    width: 100%;
    background: transparent;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;                    /* rozestupy řeší symetrický padding položek */
    padding: 10px 10px 26px;
    margin: 0;
    max-height: none;
    overflow: visible;
    list-style: none;
    text-align: left;
  }
  #mobile-fullscreen #nav-menu.active { display: flex; }

  #mobile-fullscreen #nav-menu > li {
    float: none;
    width: 100%;
    margin: 0;
    padding: 6px 0;            /* stejná mezera nad kategorií (pod čarou) i pod ní (nad čarou) */
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: block;
    position: static;
  }

  /* Jemná oddělovací čára mezi kategoriemi. Vizuálně první položku řídí flex
     order (u přihlášeného menu je to zvoneček), proto se čára ruší podle ní,
     ne podle :first-child v DOM. */
  #mobile-fullscreen #nav-menu > li { border-top: 1px solid #F7EFEE; }
  #mobile-fullscreen #nav-menu > li:first-child { border-top: 0; }
  #mobile-fullscreen #nav-menu.nav-menu-prihlasen > li:first-child { border-top: 1px solid #F7EFEE; }
  #mobile-fullscreen #nav-menu.nav-menu-prihlasen > li.desktop-notifications { border-top: 0; }
  /* Zvoneček je v draweru skrytý → vizuálně první je sekce Uživatel (order 2) */
  #mobile-fullscreen #nav-menu.nav-menu-prihlasen > li.sekce-uzivatel { border-top: 0; }

  /* Položka: ikona + název v řádku, zarovnané vlevo */
  #mobile-fullscreen #nav-menu > li > a,
  #mobile-fullscreen .rozbalovaci-podmenu > span {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    min-height: 54px;
    padding: 10px 14px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 24px;
    background: transparent;
    color: rgba(5, 5, 5, .55) !important;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.15;
    text-align: left;
    text-transform: none;
    text-decoration: none;
    cursor: pointer;
    transform: none;
  }
  #mobile-fullscreen .rozbalovaci-podmenu { width: 100%; display: block; margin: 0; line-height: normal; position: static; }
  #mobile-fullscreen #nav-menu > li > a:hover,
  #mobile-fullscreen .rozbalovaci-podmenu:hover > span,
  #mobile-fullscreen .rozbalovaci-podmenu.active > span {
    color: #050505 !important;
    background: rgba(152, 48, 35, .08);
  }
  /* Aktivní sekce = plná červená pilulka */
  #mobile-fullscreen li.aktivni-sekce > a,
  #mobile-fullscreen li.aktivni-sekce .rozbalovaci-podmenu > span {
    color: #fff !important;
    background: var(--accent);
    box-shadow: 0 14px 30px rgba(152, 48, 35, .25);
  }
  /* Bez šipek (dle prototypu) */
  #mobile-fullscreen .rozbalovaci-podmenu > span::after { content: none; }
  #mobile-fullscreen #nav-menu a::before { content: none; }

  /* Accordion podmenu */
  #mobile-fullscreen .rozbalovaci-podmenu-obsah {
    display: block !important;
    position: static;
    width: 100%;
    min-width: 0;
    max-width: none;
    box-shadow: none;
    border: 0;
    border-radius: 18px;
    background: rgba(5, 5, 5, .04);
    padding: 0 14px;
    margin: 0;                 /* sbalený nesmí přidávat mezeru pod kategorii (kazil symetrii čar) */
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: max-height .3s var(--ease), opacity .3s ease, padding .3s ease;
    text-align: left;
    font-size: 12px;
  }
  /* Otevřený accordion NEMÁ vlastní scroll - scrolluje celý drawer
     (jako v prototypu; jinak lišta posouvá obsah kategorie) */
  #mobile-fullscreen .rozbalovaci-podmenu.active .rozbalovaci-podmenu-obsah {
    max-height: none;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    padding: 12px 14px;
    margin: 2px 0 6px;
  }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah > div {
    display: flex !important;
    align-items: center;
    margin: 0;
    padding: 7px 6px;
    border-radius: 10px;
    color: #1a1613 !important;
  }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah > div:hover { background: rgba(152, 48, 35, .08); }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah > div::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--accent);
    opacity: .65;
    margin-right: 9px;
    flex: 0 0 auto;
    display: inline-block;
  }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah > div a { color: #1a1613; font-size: .86rem; font-weight: 600; margin: 0; text-decoration: none; }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah > div:first-child { margin-top: 0 !important; }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah > div:last-child { margin-bottom: 0; }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah td { color: #1a1613; font-size: 12px; }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah p { color: #1a1613; }
  /* Odhlášení v draweru vlevo (na přání) - desktop flyout zůstává centrovaný */
  #mobile-fullscreen .rozbalovaci-podmenu-obsah .odhlaseni-wrapper {
    justify-content: flex-start !important;
    padding: 7px 6px !important;
    width: 100% !important;
  }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah .odhlaseni-wrapper::before { display: none !important; }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah .odhlaseni-wrapper form {
    margin: 10px 0 !important;
    text-align: left !important;
  }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah .odhlaseni-wrapper .tlacitko-odeslat {
    width: auto !important;
    margin: 0 !important;
  }

  /* Formuláře v draweru (přihlášení) */
  #mobile-fullscreen .login-menu-form {
    width: 100%;
  }
  #mobile-fullscreen .login-menu-form table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0 10px;
  }
  #mobile-fullscreen .login-menu-form td {
    padding: 0;
    vertical-align: middle;
  }
  #mobile-fullscreen .login-menu-form td:first-child:not([colspan]) {
    width: 54px !important;
    padding-right: 10px;
    text-align: left;
    white-space: nowrap;
  }
  #mobile-fullscreen .login-menu-form td[colspan] {
    width: 100% !important;
    text-align: center;
  }
  #mobile-fullscreen input[type="text"],
  #mobile-fullscreen input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    color: #1a1613;
    background: #fff;
    border: 1px solid rgba(5, 5, 5, .16);
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 12px;
  }
  #mobile-fullscreen .tlacitko-odeslat { width: 100%; margin: 10px 0; text-align: center; font-size: 12px; }
  #mobile-fullscreen a.tlacitko-odeslat { display: inline-block; box-sizing: border-box; text-decoration: none; }
  #mobile-fullscreen a.reset-hesla-login-button { justify-content: center; text-transform: none !important; }
  #mobile-fullscreen .login-menu-form .login-turnstile-cell {
    padding: 4px 0 2px;
  }
  #mobile-fullscreen .login-menu-form .login-turnstile-cell .cf-turnstile {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    min-height: 145px;
    max-width: 100%;
    overflow: visible;
  }
  #mobile-fullscreen .login-menu-form .login-turnstile-cell iframe {
    max-width: 100% !important;
  }
  #mobile-fullscreen .rozbalovaci-podmenu-obsah .login-menu-form div::before,
  #mobile-fullscreen .login-menu-form .login-turnstile-cell div::before,
  #mobile-fullscreen .login-menu-form .login-turnstile-cell iframe::before {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 560px) {
  section { padding-top: 132px; }
  .rp-sekce { scroll-margin-top: 140px; }
}

/* Zabránit scrollování body když je menu otevřené */
body.menu-open { overflow: hidden; }

/* Reset stylů na desktopu */
@media (min-width: 769px) {
  nav ul {
    display: flex !important;
    position: relative !important;
    top: auto !important;
    height: auto !important;
  }
}

/* Střední obrazovky - rail zůstává, jen kompaktnější */
@media (min-width: 769px) and (max-width: 1200px) {
  :root { --rail-w: 96px; }
  nav { gap: 6px; padding: 10px 8px; }
  nav ul { gap: 3px; }
  #nav-menu > li > a, nav .rozbalovaci-podmenu > span { font-size: .58rem; min-height: 48px; padding: 6px 5px; }
  #nav-menu > li.sekce-uzivatel { margin-bottom: 10px; }
  #logo { min-height: 54px; font-size: 1rem; }
  #logo img.logo-rail { max-width: 76px; }
  .nav-caption { display: none; }
  .desktop-notifications .notification-icon { font-size: 16px !important; }
  .desktop-notifications .notification-icon .fa-bell { font-size: 16px !important; }
  .desktop-notifications .notification-badge { font-size: 10px !important; padding: 2px 5px; top: -5px; right: -7px; }
}

@media (min-width: 769px) and (max-height: 820px) {
  #nav-menu > li > a, nav .rozbalovaci-podmenu > span { min-height: 44px; gap: 3px; padding-top: 5px; padding-bottom: 5px; }
  nav ul { gap: 2px; }
  #logo { min-height: 48px; }
  .nav-caption { display: none; }
}

@media (min-width: 769px) and (max-width: 1000px) {
  #nav-menu > li > a, nav .rozbalovaci-podmenu > span { font-size: .56rem; }
  nav .rozbalovaci-podmenu > span { max-width: none; overflow: visible; text-overflow: clip; white-space: normal; }
  .desktop-notifications .notification-icon { font-size: 14px !important; }
  .desktop-notifications .notification-icon .fa-bell { font-size: 14px !important; }
  .desktop-notifications .notification-badge { font-size: 9px !important; padding: 1px 4px; top: -4px; right: -6px; }
}

/* Mobilní menu - drawer dle rebrand prototypu: vyjíždí ZESPODU jako
   zaoblený bílý panel pod topbarem, s akcentovým proužkem nahoře
   a tmavou podložkou. JS mechanika (hamburger/.active) beze změny. */
.mobile-fullscreen {
  display: block;
  position: fixed;
  top: 16px;
  right: 0;
  bottom: 16px;
  left: 0;
  /* O 20 % užší než dřívější plná šířka (100vw − 2×16px), vycentrovaný */
  width: calc((100vw - 32px) * .8);
  margin: 0 auto;
  max-width: none;
  height: auto;
  background-color: #ffffff;
  color: #141210;
  z-index: 1010;
  display: flex;
  flex-direction: column;
  overflow-y: hidden;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;   /* lišta nerozhodí šířku obsahu při rozbalení sekce */
  padding: 5px 10px 18px;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 30px;
  transform: translateY(calc(100% + 28px));
  transition: transform .32s var(--ease);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .35);
}
/* Lišta draweru nesmí přetékat přes zaoblené rohy */
.mobile-fullscreen::before {
  content: "";
  position: sticky;
  top: 0;
  display: block;
  width: 100%;
  height: 5px;
  background: var(--accent);
  z-index: 5;
  border-radius: 999px;
}
#mobile-menu-container {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  padding: 0 4px 0 0;
}
#mobile-menu-container::-webkit-scrollbar { width: 8px; }
#mobile-menu-container::-webkit-scrollbar-track { margin: 12px 0 18px; }
#mobile-menu-container::-webkit-scrollbar-thumb {
  border: 2px solid #ffffff;
  border-radius: 999px;
}
.mobile-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(5, 5, 5, .9);
  z-index: 1009;
  opacity: 0;
  transition: opacity .3s ease;
}
.mobile-overlay.active { display: block; opacity: 1; }
.mobile-fullscreen.active { transform: translateY(0); display: flex; }

.mobile-header {
  background: transparent;
  color: #141210;
  padding: 12px 4px 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  border-bottom: 0;
  flex: 0 0 auto;
}
.mobile-header img { display: none; }

.close-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
  position: relative;
  width: 30px;
  height: 30px;
}
.close-btn span { position: absolute; height: 2px; width: 20px; background: #141210; left: 5px; }
.close-btn span:first-child { transform: rotate(45deg); top: 14px; }
.close-btn span:last-child { transform: rotate(-45deg); top: 14px; }

/* ========================== 6. NOTIFIKACE =========================== */
.notification-container { position: relative; }

.notification-icon {
  cursor: pointer;
  padding: 0;
  position: relative;
  color: currentColor;
  font-size: 18px;
}
.notification-icon:hover { opacity: .8; }

/* Zvoneček v railu - vzhled jako položka menu */
nav .desktop-notifications { margin-top: 2px; }
nav .desktop-notifications .notification-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: var(--radius-lg);
  color: rgba(5, 5, 5, .52);
  transition: color .22s ease, background .22s ease;
}
nav .desktop-notifications .notification-icon:hover {
  color: #050505;
  background: rgba(152, 48, 35, .08);
  opacity: 1;
}

.notification-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 10px;
  min-width: 18px;
  text-align: center;
  font-weight: bold;
}
nav .desktop-notifications .notification-badge { top: 2px; right: 12px; }

.notification-dropdown {
  --notification-text: #1a1613;
  --notification-muted: #6f6862;
  --notification-line: rgba(5, 5, 5, .1);
  --notification-hover: rgba(152, 48, 35, .08);
  --notification-control-bg: #ffffff;
  display: none;
  position: absolute;
  right: calc(100% + 14px);
  top: auto;
  bottom: -6px;
  width: 400px;
  max-width: min(420px, calc(100vw - var(--rail-w) - 40px));
  max-height: min(72vh, 520px);
  background: #ffffff;
  color: #1a1613; /* dropdown má vždy světlé pozadí → tmavý text i v tmavém režimu (jinak nečitelné) */
  border: 1px solid var(--line-c);
  border-right: 4px solid var(--accent);
  border-radius: 18px;
  box-shadow: var(--shadow-1);
  z-index: 1006;
  overflow: hidden;
  text-align: left;
  text-transform: none;
}
.notification-dropdown.show { display: block; }

.notification-header {
  padding: 15px;
  border-bottom: 1px solid var(--notification-line, var(--line-soft));
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f6f2ee;
}
.notification-header h4 { margin: 0; font-size: 14px; color: #1a1613; letter-spacing: -.02em; }

.notification-header-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.mark-all-read {
  background: none;
  border: none;
  color: var(--accent);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: var(--radius-pill);
  transition: background .2s;
}
.mark-all-read:hover { background: var(--accent-soft); }

.notification-all-link {
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  text-decoration: none;
  transition: background-color .2s ease;
}
.notification-all-link:hover,
.notification-all-link:focus-visible { background: var(--accent-soft); text-decoration: none; }

.notification-list { max-height: 400px; overflow-y: auto; }

.notification-item {
  padding: 15px;
  border-bottom: 1px solid var(--notification-line, var(--line-soft));
  transition: background .2s;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
}
.notification-item:hover { background: var(--notification-hover, var(--row-hover)); }
.notification-item:last-child { border-bottom: none; }

.notification-open {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  text-transform: none !important;
}
.notification-open:hover,
.notification-open:focus-visible { background: transparent; color: inherit; transform: none; }
.notification-open:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

.notification-content { display: block; font-size: 11px; line-height: 1.5; color: var(--notification-text, var(--text)); }
.notification-content strong { font-weight: 600; }

.notification-project {
  display: block;
  font-size: 11px;
  color: var(--accent);
  text-decoration: none;
  margin-top: 4px;
}
.notification-time { display: block; font-size: 10px; color: var(--notification-muted, var(--text-3)); margin-top: 5px; }
.notification-loading, .notification-empty { padding: 40px; text-align: center; color: var(--notification-muted, var(--text-3)); }

.notification-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}

.notification-star-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--notification-line, var(--line-c));
  border-radius: 50%;
  background: var(--notification-control-bg, var(--surface));
  color: var(--notification-muted, var(--text-3));
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.notification-star-button i {
  display: block;
  line-height: 1;
  transform: scale(1);
  transform-origin: top left;
  transition: transform .28s ease-in-out;
  will-change: transform;
}
.notification-star-button:hover,
.notification-star-button:focus-visible,
.notification-star-button[aria-pressed="true"] {
  background: var(--accent-soft);
  border-color: var(--accent-mid);
  color: var(--accent);
}
.notification-star-button:hover,
.notification-star-button:focus-visible {
}
.notification-star-button:hover i,
.notification-star-button:focus-visible i {
  transform: scale(1.05);
}
.notification-star-button[aria-pressed="true"]:hover,
.notification-star-button[aria-pressed="true"]:focus-visible {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}

.notification-state-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--btn-ink);
  border-radius: var(--radius-pill);
  background: var(--btn-ink);
  color: var(--btn-on-ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.notification-state-button:hover,
.notification-state-button:focus-visible {
  background: transparent;
  border-color: var(--notification-text, var(--text));
  color: var(--notification-text, var(--text));
}
/* Výjimka pro tlačítko ve zvonečku: jeho světlý černobílý vzhled se nemění ani v tmavém skinu. */
.notification-dropdown .notification-state-button,
.notification-dropdown-mobile .notification-state-button {
  background: #0e0f11;
  border-color: #0e0f11;
  color: #ffffff;
}
.notification-dropdown .notification-state-button:hover,
.notification-dropdown .notification-state-button:focus-visible,
.notification-dropdown-mobile .notification-state-button:hover,
.notification-dropdown-mobile .notification-state-button:focus-visible {
  background: #ffffff;
  border-color: #0e0f11;
  color: #0e0f11;
}
.notification-star-button:disabled,
.notification-state-button:disabled { cursor: wait; opacity: .6; }

.notification-list--page {
  --notification-text: var(--text);
  --notification-muted: var(--text-3);
  --notification-line: var(--line-soft);
  --notification-hover: var(--row-hover);
  --notification-control-bg: var(--surface);
  max-height: none;
  overflow: visible;
}
.notification-list--page .notification-item { padding: 16px 2px; }
.notification-list--page .notification-content { font-size: 13px; }
.notification-list--page .notification-project { font-size: 12px; }
.notification-list--page .notification-time { font-size: 11px; }
.notification-list--page .notification-item {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.notification-list--page .notification-state-button { max-width: 230px; }

.notification-row-select {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0 4px;
}
.notification-row-select input,
.notification-select-all-label input {
  flex: 0 0 auto;
  height: 16px;
  margin: 0;
  width: 16px;
}

.notification-settings-hint {
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-pill);
  display: inline-block;
  margin: 0 0 4px;
  padding: 8px 14px;
}
.notification-settings-hint a { color: var(--accent); font-weight: 700; }

.notification-filters { margin: 24px 0; }
.notification-filters .stitek-ramecku { margin-bottom: 14px; }
.notification-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.notification-filter-grid .filter-group { min-width: 0; }
.notification-filter-grid .filter-select,
.notification-filter-multiselect { min-width: 0; width: 100%; }
.notification-filter-multiselect .multiselect-toggle { width: 100%; }
.notification-filter-multiselect.is-disabled .multiselect-toggle {
  cursor: not-allowed;
  opacity: .65;
}
.notification-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 16px;
}

/* --- Sekce „Nevystavené faktury" v kartě Neschválené výkazy (funkce/nevystavene_faktury_tab.php,
       sdílená pro seznam kontinuálu i supportu). Filtr používá sdílený panel .notification-filters,
       tady jsou jen doplňky sekce - barvy z tokenů, takže light i dark jedou samy. --- */
.nf-nadpis { margin: 28px 0 6px; }
.nf-popis { margin: 0 0 12px; }
.nf-varovani {
  display: block;
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--cervena);
}
.nf-filtry { margin: 0 0 14px; }
/* Skrytí musí přebít .filter-group{display:flex} (to je v souboru níž, stejná specificita),
   proto složený selektor - jinak by pole Od-Do zůstala vidět i mimo volbu „Rozmezí". */
.nf-rozmezi.nf-skryto { display: none; }
/* Tlačítko „Zobrazit" je buňka mřížky filtru → zarovnej ho k dolní hraně (na úroveň vstupů)
   a nenech ho roztáhnout na celou buňku. Na mobilu (mřížka = 1 sloupec) je celou šířkou. */
.nf-akce { justify-content: flex-end; }
.nf-akce .tlacitko-odeslat { align-self: flex-start; white-space: nowrap; }
@media (max-width: 900px) {
  .nf-akce .tlacitko-odeslat { align-self: stretch; }
}
.nf-tabulka { height: auto; }
/* Souhrn nad tabulkami jde přes celou šířku jako ostatní tabulky karty. */
.nf-stred { text-align: center; }
.nf-podradek {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.3;
  color: var(--text-3);
}
.nf-podradek--vystraha { color: var(--cervena); font-weight: bold; }
.nf-rucne { color: var(--text-3); cursor: help; }

.notification-page-panel { margin-top: 4px; }
.notification-page-panel .stitek-ramecku { margin-bottom: 8px; }
.notification-bulk-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--line-soft);
  border-top: 1px solid var(--line-soft);
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  justify-content: space-between;
  margin: 10px 0 14px;
  padding: 14px 0;
}
.notification-select-all-label {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  gap: 9px;
  margin: 0;
}
.notification-bulk-action {
  align-items: center;
  display: flex;
  flex: 1 1 620px;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.notification-bulk-action label { margin: 0; }
.notification-bulk-action .filter-select { min-width: 180px; }
.notification-bulk-action .select2-container { min-width: 180px; width: auto !important; }
.notification-pagination-summary {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  justify-content: space-between;
}
.notification-pagination-summary p { margin: 8px 0; }
.notification-tab-count { margin-left: 6px; font-family: var(--mono); font-size: 10px; }

#notificationDropdown,
#notificationDropdown * { text-transform: none !important; font-variant: normal !important; }

/* Výjimka uvnitř zvonečku: akce se drží rebrandového zápisu malými písmeny. */
#notificationDropdown .mark-all-read,
#notificationDropdownMobile .mark-all-read {
  text-transform: lowercase !important;
}

/* Zákaz podtrhávání v notifikacích (legacy) */
.notification-dropdown a::before,
.notification-dropdown-mobile a::before,
.notification-item a::before,
.notification-project::before { display: none !important; }
.notification-project:hover { text-decoration: underline; opacity: .8; }

@media (max-width: 768px) {
  .notification-dropdown { width: 100vw; right: -15px; border-radius: 0; }
  .desktop-notifications { display: none !important; }

  .notification-settings-hint {
    border-radius: var(--radius-md);
    display: inline-block;
    line-height: 1.45;
  }
  .notification-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .notification-filter-actions > * { flex: 1 1 130px; }
  .notification-bulk-toolbar,
  .notification-bulk-action {
    align-items: stretch;
    flex-direction: column;
  }
  .notification-bulk-action { flex-basis: auto; justify-content: flex-start; }
  .notification-bulk-action .filter-select,
  .notification-bulk-action .select2-container { width: 100% !important; }
  .notification-bulk-action .tlacitko-odeslat { width: 100%; }
  .notification-list--page .notification-item {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
  }
  .notification-list--page .notification-actions {
    align-items: center;
    flex-direction: row;
    grid-column: 2;
    justify-content: flex-end;
  }
  .notification-list--page .notification-state-button { max-width: min(100%, 280px); }
  .notification-row-select { align-items: flex-start; padding-top: 8px; }
}

/* Animace zvonečku */
@keyframes bellPulse {
  0% { transform: scale(1) rotate(15deg); }
  50% { transform: scale(1.1) rotate(15deg); }
  100% { transform: scale(1) rotate(15deg); }
}
.notification-icon:hover .fa-bell { transform: rotate(15deg) scale(1.2); transition: transform .2s ease; }
.notification-icon.has-notifications .fa-bell { transform: rotate(15deg); animation: bellPulse 1s infinite; }
.desktop-notifications .notification-icon.has-notifications .fa-bell,
.mobile-notifications .notification-icon.has-notifications .fa-bell { animation: bellPulse 1s ease-in-out infinite; }

/* Mobilní notifikace */
/* Zvoneček mobilních notifikací žije v topbaru (.top-actions) -
   vzhled řídí mobilní blok menu výše; na desktopu je skrytý. */
.mobile-notifications {
  display: none;
  position: static;
  transform: none;
  z-index: auto;
}
@media (max-width: 768px) {
  .mobile-notifications { display: inline-flex; }
}

/* Mobilní notification dropdown jako fullscreen modal */
@media (max-width: 768px) {
  .notification-dropdown-mobile {
    --notification-text: var(--text);
    --notification-muted: var(--text-3);
    --notification-line: var(--line-soft);
    --notification-hover: var(--row-hover);
    --notification-control-bg: var(--surface);
    --notification-mobile-bg: #ffffff;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    background: var(--notification-mobile-bg);
    color: var(--text);
    z-index: 1012;
    overflow-y: auto;
    transform: translateY(100%);
    transition: transform .3s ease;
    overscroll-behavior: contain;
  }

  #editorContainer { flex: 1; min-width: 0; margin-right: 8px; }

  .notification-dropdown-mobile.show { display: block; transform: translateY(0); }
  .notification-dropdown-mobile .notification-list {
    max-height: calc(100vh - 80px) !important;
    max-height: calc(100dvh - 80px) !important;
  }
  .notification-dropdown-mobile .notification-header {
    position: sticky;
    top: 0;
    background: var(--notification-mobile-bg);
    z-index: 10;
    padding: 20px 15px;
    border-bottom: 2px solid var(--line-soft);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 58px;
  }
  .notification-dropdown-mobile .notification-header h4 { color: var(--text); }
  .notification-dropdown-mobile .notification-header-actions { align-items: flex-end; }
  .notification-dropdown-mobile .close-notifications {
    position: absolute;
    top: 16px;
    right: 12px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    padding: 5px;
    color: var(--text);
  }
  .notification-dropdown-mobile .notification-list { padding-bottom: 20px; }
  .notification-dropdown-mobile .notification-item { padding: 20px 15px; }

  html.theme-dark .notification-dropdown-mobile {
    --notification-mobile-bg: #0b0908;
  }
}
/* ========================= 7. KOMPONENTY ============================ */

/* --- Sdílený základ filtrů s multiselectem --- */
.filters-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  margin-bottom: 26px;
  padding: 16px 18px;
  background: var(--glass);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(10px);
}

.filter-group { display: flex; flex-direction: column; gap: 5px; }

.filter-label {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-2);
}

.filter-select {
  box-sizing: border-box;
  min-height: var(--control-height);
  padding: 9px 14px;
  border-radius: var(--radius-md);
  border: 1px solid var(--line-c);
  background: var(--surface);
  color: var(--text);
  font-family: var(--font);
  font-size: 13px;
  cursor: pointer;
  min-width: 180px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.filter-select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.filter-select { background: #ffffff; }
html.theme-dark .filter-select { background: #181412; }

.filter-btn {
  padding: 9px 18px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-c);
  background: var(--surface);
  color: var(--text);
  text-decoration: none;
  text-transform: lowercase;
  display: inline-block;
  cursor: pointer;
  font-weight: 600;
  transition: all .2s;
}
.filter-btn.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.filter-btn:hover { background: var(--surface-2); border-color: var(--accent-mid); }
.filter-btn.active:hover { background: var(--accent-2); color: var(--on-accent); }

/* --- Načítací overlaye --- */
.mime-loading-overlay {
  align-items: center;
  background: rgba(255, 255, 255, .8);
  bottom: 0;
  display: none;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
  backdrop-filter: blur(4px);
}
html.theme-dark .mime-loading-overlay { background: rgba(5, 5, 5, .72); }
.mime-loading-overlay.is-visible { display: flex; }

.mime-loading-box {
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  color: var(--text);
  font-weight: 700;
  padding: 18px 28px;
  text-align: center;
}
/* JEDNOTNÝ spinner pro VŠECHNY loadingy/savingy/deletingy (světlý i tmavý režim).
   Kruh (track) + akcentový oblouk na kruhu + ČÁRA/paprsek uprostřed.
   Oblouk a čára rotují KAŽDÝ SVOU rychlostí (asynchronně, čára pomaleji) -
   element sám se netočí. */
.mime-loading-spinner,
.mime-saving-spinner,
.dokumenty-saving-spinner {
  position: relative;
  border: 3px solid rgba(0, 0, 0, .16);   /* stálý kruh (track) - jasně viditelný na světlém boxu */
  border-radius: 50%;
  box-sizing: border-box;
  height: 30px;
  margin: 0 auto 10px;
  width: 30px;
}
/* Akcentový oblouk přesně přes track - vlastní (rychlejší) rotace. */
.mime-loading-spinner::before,
.mime-saving-spinner::before,
.dokumenty-saving-spinner::before {
  content: "";
  position: absolute;
  inset: -3px;               /* překrýt 3px border track elementu */
  box-sizing: border-box;
  border: 3px solid transparent;
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: mimeLoadingSpin 1.4s linear infinite;
}
/* Čára/paprsek ze středu ke kraji - vlastní, pomalejší rotace. */
.mime-loading-spinner::after,
.mime-saving-spinner::after,
.dokumenty-saving-spinner::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 8%;
  right: 8%;                 /* CELÝ průměr, vycentrovaný - dřív jen poloměr => druhá půlka prosvítala bíle */
  height: 2px;
  margin-top: -1px;
  background: var(--accent);
  border-radius: 2px;
  animation: mimeLoadingSpin 2.2s linear infinite;
}
html.theme-dark .mime-loading-spinner,
html.theme-dark .mime-saving-spinner,
html.theme-dark .dokumenty-saving-spinner {
  border-color: rgba(255, 255, 255, .24);  /* track viditelný na tmavém boxu */
}
@keyframes mimeLoadingSpin { to { transform: rotate(360deg); } }

/* Malý inline spinner do tlačítek při čekání (Ukládám.../Mažu.../Odesílám...).
   currentColor = přizpůsobí se barvě textu tlačítka (bílá na červeném, tmavá na světlém). */
.mime-inline-spinner {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  margin-right: .5em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: mimeLoadingSpin .8s linear infinite;
}

.notification-toggle-btn { transition: opacity .2s; border-radius: var(--radius-sm); }
.notification-toggle-btn:hover { opacity: .85; }
/* Ikony projektových notifikací (zvoneček / e-mail / Slack) - jednotné barvy
   dle stavu, funkční ve světlém i tmavém režimu (stav drží data-enabled) */
.notification-toggle-btn i { color: var(--text-3); transition: color .2s ease; }
.notification-toggle-btn[data-enabled="1"] i { color: var(--accent); }
.notification-toggle-btn:hover i { color: var(--text); }

/* --- Filtr rozbalovátka ve výpisech --- */
.filt-toggle { cursor: pointer; font-size: .9em; margin-left: .35em; user-select: none; color: var(--accent); }
.status-filter { display: inline-flex; align-items: center; position: relative; }
.status-filter form { margin: 0; }
.check-master { font-weight: 600; }
.checkbox-group label { display: block; text-align: left; padding: .12em 0; white-space: normal; }

#filters-content.filter-wrapper,
.status-filter .filter-wrapper {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  min-width: 260px;
  max-width: min(360px, calc(100vw - 24px));
  max-height: min(70vh, 420px);
  overflow-y: auto;
  box-sizing: border-box;
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--line-c);
  box-shadow: var(--shadow-1);
  padding: .7em .95em;
  border-radius: var(--radius-md);
  white-space: normal;
}
#filters-content.filter-wrapper hr,
.status-filter .filter-wrapper hr { margin: .5em 0; border: 0; border-top: 1px solid var(--line-soft); }
#filters-content.filter-wrapper .checkbox-group,
.status-filter .filter-wrapper .checkbox-group { max-height: min(42vh, 260px); overflow-y: auto; padding-right: .25em; }
#filters-content.filter-wrapper { white-space: normal; }
#filters-content.filter-wrapper.open,
.status-filter .filter-wrapper.open { display: block; }

/* Sjednocené sortovací šipky v hlavičkách tabulek (helper ziskatRazeniHlavicky ve funkce.php).
   Řadí se KLIKEM NA ŠIPKU (ne na text). Barvy 1:1 s referencí (dotaznik_spokojenosti/sprava):
   neaktivní = --accent (#983023), aktivní/hover = --tmavecervena (tmavší). Tučnost dědí z <th>.
   Globální (a.sort) - helper je jediný zdroj šipek napříč tabulkami; !important přebíjí legacy
   page-CSS s vyšší specificitou (např. .tasks-table th.sortable a v projekty-index-1.css),
   aby šipky vypadaly stejně bez ohledu na obal tabulky (.tabulka / .tasks-table-wrapper / …). */
a.sort { text-decoration: none; margin-left: .3em; color: var(--accent) !important; cursor: pointer; }
a.sort:hover,
a.sort:focus { color: var(--tmavecervena) !important; }
a.sort.sort--aktivni { color: var(--tmavecervena) !important; }

/* --- Drobné utility (log, caflou) --- */
.caflou-link { display: inline-block; transition: transform .2s ease; }
.caflou-link:hover { transform: scale(1.3) rotate(45deg); }
.caflou-link img { vertical-align: middle; }

.logo-upload-form { display: inline-flex; align-items: center; gap: 5px; }
.logo-upload-form input[type="file"] { font-size: .8em; width: 120px; }
.logo-upload-form button { font-size: .8em; padding: 2px 8px; }

.logo-container { display: inline-flex; align-items: center; gap: 5px; }
.logo-container .delete-btn,
.logo-container .replace-btn {
  background: none;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  cursor: pointer;
  padding: 2px 5px;
  opacity: .7;
  color: var(--text);
}
.logo-container .delete-btn:hover,
.logo-container .replace-btn:hover { opacity: 1; background: var(--surface-2); }

.replace-form {
  display: none;
  position: absolute;
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-md);
  padding: 10px;
  box-shadow: var(--shadow-sm);
  z-index: 10;
  margin-top: 5px;
}
.replace-form input[type="file"] { font-size: .8em; margin-bottom: 5px; }
.replace-form button { font-size: .8em; padding: 2px 8px; margin-right: 5px; }

/* --- Rámečky (panely) dle prototypu ---
   Sjednocený vzhled boxů na stránkách (vyhledávání, nastavení, souhrny…):
   skleněný panel + pill štítek s tečkou uvnitř. ČERVENÁ tečka = rámeček
   vyhledávání/nastavování, ŠEDÁ tečka = ostatní rámečky. */
.ramecek {
  position: relative;
  overflow: hidden;
  background: var(--glass);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  padding: 16px 18px;
  margin-bottom: 20px;
}
.ramecek::after,
.tab-content-container::after {
  content: "";
  position: absolute;
  inset: auto -11% -20% auto;   /* přesah přes roh; obal má overflow:hidden → ořízne (a nescrolluje) */
  width: clamp(220px, 36vw, 540px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 44px solid var(--accent);
  opacity: .22;
  filter: blur(.1px);
  pointer-events: none;
  z-index: 0;
}
.tabulka-obal::after,
.ramecek .tabulka-obal::after,
.tab-content-container .tabulka-obal::after {
  content: none;
}
.ramecek > *,
.tab-content-container > *,
.tabulka > * {
  position: relative;
  z-index: 1;
}
.stitek-ramecku {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  padding: 6px 12px;
  margin: 0 0 10px;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-pill);
  background: var(--glass);
  color: var(--text-2);
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.2;
}
.stitek-ramecku::before {
  content: "";
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--text-3);
}
.stitek-ramecku--cervena::before { background: var(--accent); }

/* Chip „zpět nahoru" (mimedataTlacitkoZpetNahoru ve funkce.php). Tentýž odznáček
   jako nadpis rámečku, jen jako odkaz v pravém horním rohu. Sedí v hlavičce sekce,
   která je flex - na úzké obrazovce se proto zalomí pod nadpis, nepřekryje ho. */
.mime-nahoru-obal { display: flex; justify-content: flex-end; flex: 1 1 auto; margin: 0 0 10px; }
.mime-nahoru { margin: 0; text-decoration: none; cursor: pointer; }
.mime-nahoru:hover { color: var(--text); border-color: var(--accent); }

/* --- Multiselect --- */
.multiselect { position: relative; min-width: 180px; }
.multiselect.open { z-index: 10020; }

.multiselect-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  /* Odsazení jako u Select2 pole (to má 6px 10px, .filter-select dával 9px 14px). */
  padding: 6px 10px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
/* JEDNOTNÝ VZHLED TEXTU VE FILTRECH (globální, platí všude na webu).
   Referenční vzhled = text v Select2 poli („Všichni manažeři"): font-size 12px
   a barva var(--text-3). Checkbox multiselect a obyčejný <select> stály vedle
   Select2 se 13px a plnou barvou textu, takže vypadaly jiným písmem i barvou.
   Dorovnávají se OSTATNÍ k Select2 - Select2 se nemění (výslovné zadání).
   Platí to i pro vybranou hodnotu („Vybráno: 3", název položky, zvolená volba
   selectu) - je to pořád obyčejný text, nikdy pilulka s akcentním pozadím.
   Textové, číselné a datumové inputy se ZÁMĚRNĚ nemění: jejich hodnota je
   uživatelský vstup a patří jí plná barva textu (placeholder už --text-3 má). */
.multiselect-toggle,
select.filter-select,
.employee-filter-toggle {
  font-size: 12px;
  color: var(--text-3);
}
.multiselect-arrow { font-size: 10px; margin-left: 8px; color: var(--text-3); transition: transform .2s var(--ease); }
.multiselect.open .multiselect-arrow { transform: rotate(180deg); }

.multiselect-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 10020;
  background: #ffffff;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-md);
  max-height: 240px;
  overflow-y: auto;
  overflow-x: hidden; /* žádný horizontální scroll - obsah má být vidět celý */
  box-shadow: var(--shadow-1);
  padding: 5px;
}
html.theme-dark .multiselect-dropdown {
  background: #181412;
}
.multiselect.open .multiselect-dropdown,
.multiselect-dropdown.show { display: block; }
/* Tlačítka "vybrat vše / nevybrat vše" v multiselect dropdownu: kompaktní a zalamovatelná,
   ať se vejdou (rebrand unified pill je zvětšil → přetékaly doprava). */
.kontinu-vyvoj-multiselect-tools,
.support-projekty-multiselect-tools,
.admin-session-multiselect-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.kontinu-vyvoj-multiselect-tools button,
.support-projekty-multiselect-tools button,
.admin-session-multiselect-tools button {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
  white-space: nowrap;
}
.multiselect.open .multiselect-toggle {
  border-radius: var(--radius-md);
  border-color: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft);
}

.multiselect-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  cursor: pointer;
  font-size: 13px;
  border-radius: var(--radius-sm);
  transition: background .15s;
}
.multiselect-item:hover { background: var(--accent-soft); }
.multiselect-item input[type="checkbox"] { accent-color: var(--accent); cursor: pointer; margin: 0; }

/* --- Jednotný tab systém --- */
.tabs-container {
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  margin-top: 20px;
}

.tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  height: auto;
  min-height: 44px;
  position: relative;
  border-bottom: 0;
  overflow-x: auto;
  /* Rezerva okolo tabů: scroll kontejner ořezává stíny prvního/posledního aktivního tabu. */
  padding: 8px 18px 14px;
  scroll-padding-inline: 18px;
}
.tabs.tabs-disabled { opacity: .65; }
.tabs.tabs-disabled .tab { cursor: not-allowed; }

.tabs-disabled-tooltip-icon,
.support-tab-disabled .tabs-disabled-tooltip-icon {
  margin-left: 6px;
  color: var(--accent);
  font-size: 12px;
  pointer-events: auto;
}

.tab {
  position: relative;
  box-sizing: border-box;
  min-width: 140px;
  max-width: none;
  height: 38px;
  margin: 0;
  padding: 0 22px;
  background-color: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s var(--ease);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-2);
  z-index: 1;
  text-decoration: none;
  text-transform: lowercase;
  user-select: none;
  white-space: nowrap;
}
.tab:hover { background-color: var(--surface-2); border-color: var(--accent-mid); color: var(--text); z-index: 2; text-decoration: none; transform: translateY(-1px); }
.tab.active {
  background-color: var(--accent);
  border-color: var(--accent);
  height: 38px;
  color: var(--on-accent);
  z-index: 3;
  box-shadow: 0 12px 26px rgba(152, 48, 35, .22);
}

.tab--highlight {
  min-width: 260px;
  max-width: none;
  flex: 0 0 auto;
  background-color: var(--btn-ink);
  border-color: var(--btn-ink);
  color: var(--btn-on-ink);
  white-space: nowrap;
}
.tab--highlight:hover,
.tab--highlight.active {
  background-color: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(152, 48, 35, .22);
}

.support-tab-disabled { opacity: .55; cursor: not-allowed; pointer-events: auto; }
.support-tab-disabled:hover { background-color: var(--surface); transform: none; }

.tab-content-container {
  position: relative;
  overflow: hidden;
  background: var(--glass);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  padding: 30px;
}
/* Když je v tabu otevřený modal (dokumenty apod.), vypnout backdrop-filter kontejneru:
   backdrop-filter dělá z position:fixed containing block → modal by se neroztáhl přes celou
   obrazovku a spodek (zavřít/editovat/uložit) by se ořízl overflow:hidden. Modal kontejner
   stejně překryje, takže blur tou dobou stejně není vidět. */
.tab-content-container:has(.mime-modal-overlay-motion) {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
/* Když je v tabu otevřený modal: tab-content má z-index:1 (z .tab-content-container > *),
   což je stacking context POD hlavičkou (1004)/railem (1005)/bannerem (9999) → modal by byl pod nimi.
   Zvedneme ho nad ně, aby popup i s pozadím překryl vrchní menu i tlačítka. */
.tab-content:has(.mime-modal-overlay-motion) {
  position: relative;
  z-index: 10001;
}
.tab-content { display: none; }
.tab-content.active { display: block; }

@media (max-width: 1280px) {
  .tabs {
    font-size: 12px;
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 8px;
    align-items: stretch;
    border-bottom: none;
    overflow: visible;
    padding: 8px 18px 14px;
    scroll-padding-inline: 18px;
  }
  .tab {
    min-width: 0;
    max-width: none;
    width: 100%;
    height: auto;
    min-height: 38px;
    margin: 0;
    padding: 8px 10px;
    font-size: 12px;
    border-radius: var(--radius-md);
    text-align: center;
    white-space: normal;
    line-height: 1.25;
    box-shadow: none;
  }
  .tab.active { height: auto; min-height: 38px; }
  .tab--highlight { min-width: 0; }
  .tabs.tabs-disabled { opacity: .75; }
}
@media (max-width: 768px) {
  .tab-content-container { padding: 20px; }
}
@media (max-width: 500px) {
  .tabs-container { padding: 0; }
  .tab { min-height: 36px; padding: 8px; font-size: 11px; }
  .tab-content-container { padding: 10px; border-radius: var(--radius-md); }
}

/* --- Tabulky ---
   max-height dělá z .tabulka vertikální scroller → sticky záhlaví zůstává
   přichycené nahoře, dokud se nedojede na konec tabulky. */
/* OBAL tabulky: nese veškerý vizuál panelu (rám, zaoblení, sklo, stín) a hlavně
   overflow:hidden - tím OŘÍZNE posuvníky vnitřní .tabulka do zaoblených rohů.
   (Webkit scrollbary se podle border-radius samy neořezávají → jinak přetékají rohy.)
   Obal vkládá scripty.js kolem každé .tabulka. */
.tabulka-shell {
  --tabulka-scrollbar-bg: var(--thead);
  position: relative;
  overflow: hidden;
  /* Obal je flex-item (např. v #vycentrovani-formulare align-items:center) - bez max-width
     by se roztáhl na šířku obsahu (široká tabulka) a přetekl stránku. Zastropovat na 100 %. */
  max-width: 100%;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  background: var(--glass);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
}
.tabulka-obal {
  --tabulka-scrollbar-bg: var(--thead);
  position: relative;
  overflow: hidden;
  /* viz .tabulka-shell - bez max-width přeteče stránku na úzkých displejích */
  max-width: 100%;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  background: var(--glass);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
}
/* .tabulka = jen scroller uvnitř obalu (bez rámu/zaoblení/skla - to má obal). */
.tabulka {
  position: relative;
  z-index: 1;
  overflow: auto;
  height: auto;
  max-height: calc(100vh - 150px);
  background:
    linear-gradient(to right, transparent calc(100% - 12px), var(--tabulka-scrollbar-bg) calc(100% - 12px)),
    linear-gradient(to bottom, transparent calc(100% - 12px), var(--tabulka-scrollbar-bg) calc(100% - 12px));
}
/* Prototyp sklo NEVNOŘUJE - obal uvnitř skleněného kontejneru nesmí sklo zdvojit. */
.tab-content-container .tabulka-obal,
.ramecek .tabulka-obal {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}
.tabulka-shell .tabulka-obal {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
/* Jednotne posuvniky (spodni/pravy/horni): plovouci zaobleny thumb + plny gutter,
   aby pres scrollbar neprosvital dekor pozadi stranky. */
.tabulka::-webkit-scrollbar,
.tabulka-horni-posuvnik::-webkit-scrollbar {
  width: 12px;
  height: 12px;
  background: var(--tabulka-scrollbar-bg);
}
.tabulka::-webkit-scrollbar-track,
.tabulka::-webkit-scrollbar-corner,
.tabulka-horni-posuvnik::-webkit-scrollbar-track,
.tabulka-horni-posuvnik::-webkit-scrollbar-corner { background: var(--tabulka-scrollbar-bg); }
.tabulka::-webkit-scrollbar-track:horizontal,
.tabulka-horni-posuvnik::-webkit-scrollbar-track:horizontal {
  margin-left: 0;
  margin-right: 0;
}
.tabulka::-webkit-scrollbar-track:vertical,
.tabulka-horni-posuvnik::-webkit-scrollbar-track:vertical {
  margin-top: 0;
  margin-bottom: 0;
}
/* WebKit/Chromium po nastylovani scrollbaru nekresli spolehlive nativni ikony buttonu.
   Proto kreslime sipky primo pres scrollbar-button, ne pres extra DOM vrstvu. */
.tabulka::-webkit-scrollbar-button,
.tabulka-horni-posuvnik::-webkit-scrollbar-button {
  display: block;
  background-color: var(--tabulka-scrollbar-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7px 7px;
}
.tabulka::-webkit-scrollbar-button:horizontal,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:horizontal {
  width: 28px;
  height: 12px;
}
.tabulka::-webkit-scrollbar-button:vertical,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:vertical {
  width: 12px;
  height: 20px;
}
.tabulka::-webkit-scrollbar-button:horizontal:start,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:horizontal:start {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath fill='%238a847e' d='M4.9.7 1.6 3.5l3.3 2.8V.7z'/%3E%3C/svg%3E");
  background-position: right 8px center;
}
.tabulka::-webkit-scrollbar-button:horizontal:end,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:horizontal:end {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath fill='%238a847e' d='M2.1.7v5.6l3.3-2.8L2.1.7z'/%3E%3C/svg%3E");
  background-position: left 8px center;
}
.tabulka::-webkit-scrollbar-button:vertical:start,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:vertical:start {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath fill='%238a847e' d='M.7 4.9 3.5 1.6l2.8 3.3H.7z'/%3E%3C/svg%3E");
  background-position: center bottom 6px;
}
.tabulka::-webkit-scrollbar-button:vertical:end,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:vertical:end {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath fill='%238a847e' d='M.7 2.1h5.6L3.5 5.4.7 2.1z'/%3E%3C/svg%3E");
  background-position: center top 6px;
}
.tabulka::-webkit-scrollbar-button:horizontal:start:increment,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:horizontal:start:increment,
.tabulka::-webkit-scrollbar-button:horizontal:end:decrement,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:horizontal:end:decrement,
.tabulka::-webkit-scrollbar-button:vertical:start:increment,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:vertical:start:increment,
.tabulka::-webkit-scrollbar-button:vertical:end:decrement,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:vertical:end:decrement {
  display: none;
  width: 0;
  height: 0;
  background-image: none;
}
.tabulka::-webkit-scrollbar-button:disabled,
.tabulka-horni-posuvnik::-webkit-scrollbar-button:disabled {
  opacity: 1;
}
.tabulka::-webkit-scrollbar-thumb,
.tabulka-horni-posuvnik::-webkit-scrollbar-thumb {
  background: var(--line-c);
  background-clip: padding-box;
  border: 3px solid transparent;   /* plovoucí thumb s odsazením od kraje gutteru */
  border-radius: 999px;
}
.tabulka::-webkit-scrollbar-thumb:hover,
.tabulka-horni-posuvnik::-webkit-scrollbar-thumb:hover {
  background: var(--text-3);
  background-clip: padding-box;
}
.tabulka,
.tabulka-horni-posuvnik { scrollbar-width: auto; scrollbar-color: auto; }
@supports not selector(::-webkit-scrollbar) {
  .tabulka,
  .tabulka-horni-posuvnik { scrollbar-width: thin; scrollbar-color: var(--line-c) transparent; }
}

/* Horní posuvník širokých tabulek (vkládá scripty.js, synchronizovaný) - vizuálně navázaný
   na tabulku (bez mezery, zaoblené horní rohy jako tabulka). */
.tabulka-horni-posuvnik {
  --tabulka-scrollbar-bg: var(--thead);
  display: none;
  overflow-x: auto;
  overflow-y: hidden;
  height: 14px;
  margin-bottom: 0;
  border: 1px solid var(--line-c);
  border-bottom: 0;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: var(--tabulka-scrollbar-bg);
  background-clip: padding-box;
  box-shadow: none;
}
.tabulka-shell .tabulka-horni-posuvnik {
  border: 0;
  border-radius: 0;
}
/* Uvnitr skleneneho kontejneru nezdvojovat blur, jen drzet stejny podklad jako bocni scrollbar. */
.tab-content-container .tabulka-horni-posuvnik,
.ramecek .tabulka-horni-posuvnik { background: var(--tabulka-scrollbar-bg); -webkit-backdrop-filter: none; backdrop-filter: none; }
.tabulka-horni-posuvnik.je-videt { display: block; }
/* Lišta a tabulka splývají v jeden celek: žádná čára mezi nimi (posuvník bez border-bottom,
   tabulka bez border-top) + rovné horní rohy tabulky. */
.tabulka-horni-posuvnik.je-videt + .tabulka-obal { border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
.tabulka-horni-posuvnik > div { height: 1px; }

.tabulka table { border-collapse: separate; border-spacing: 0; width: 100%; }

.tabulka th, .tabulka td {
  padding: 9px 14px;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-right: 1px solid var(--line-soft);
  font-size: 14px;
  min-width: 100%;
  color: var(--text);
}

.tabulka thead th {
  position: sticky;
  top: 0;
  background: var(--thead);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line-c);
  z-index: 2;
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text-2);
  text-align: left;
}
/* Rohy zaobluje .tabulka-obal (overflow:hidden) - hlavička je nechává rovné,
   obal je ořízne (a při zapnuté horní liště nechá horní rohy hranaté). */

.tabulka th:first-child, .tabulka td:first-child {
  position: sticky;
  left: -1px;
  background-color: var(--sticky-col);
  border-right: 1px solid var(--line-c);
  z-index: 1;
  font-size: 12px;
  min-width: 200px;
}
.tabulka thead th:first-child { z-index: 3; font-size: 10.5px; background: var(--thead); }

/* Řádky PRŮHLEDNÉ - sklem tabulky prosvítá textura pozadí (dle prototypu);
   kryté zůstávají jen sticky záhlaví a první sloupec. */
.tabulka td { font-size: 12px; background-color: transparent; }
.tabulka td:first-child { background-color: var(--sticky-col); }

.tabulka tbody tr:nth-child(even) td { background-color: var(--zebra); }
.tabulka tbody tr:nth-child(even) td:first-child { background-color: var(--sticky-col-2); }
/* Hover NEPRŮHLEDNOU barvou - sticky první sloupec nesmí propouštět text pod sebou */
.tabulka tbody tr:hover td { background-color: var(--row-hover); }
/* Sticky první sloupec musí i při hoveru zůstat NEPRŮHLEDNÝ (jinak prosvítá text zpod ním).
   Vyšší specificita než pravidlo hover výše - pro liché i sudé řádky. */
.tabulka tbody tr:hover td:first-child { background-color: var(--sticky-col); }
.tabulka tbody tr:nth-child(even):hover td:first-child { background-color: var(--sticky-col-2); }

.nazev_sloupce { font-size: 10px; color: var(--text-3); font-family: var(--mono); }

/* Popisky checkboxů v datových tabulkách dědí velikost písma buňky - globální label (13px)
   patří formulářům; v tabulce působil popisek (např. „klient" u role-checkboxu) jiným písmem
   než okolní text buněk (12px). Formulářové tabulky (.tabulka--form) zůstávají na 13px,
   .multiselect-item je položka dropdown popoveru s vlastním designem. */
.tabulka:not(.tabulka--form) td label:not(.multiselect-item) { font-size: inherit; }

/* --- Stránkování --- */
.strankovani-obal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.strankovani-informace {
  margin: 0;
}
.strankovani {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  border-radius: 0;
  text-align: center;
  padding: 0;
  margin: 0 0 12px;
  max-width: 100%;
  list-style: none;
}
.strankovani > li { display: flex; }

.strankovani > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  padding: 8px 13px;
  margin-left: 0;
  line-height: 1.2;
  color: var(--text-2);
  text-decoration: none;
  background-color: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-pill);
  font-weight: 600;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
  white-space: nowrap;
}
.strankovani-skok > a {
  gap: 8px;
}
.strankovani-ikona {
  line-height: 1;
}
.strankovani > li > a:focus, .strankovani > li > a:hover {
  color: var(--accent);
  background-color: var(--surface);
  border-color: var(--accent-mid);
}
.strankovani > .active > a, .strankovani > .active > a:focus, .strankovani > .active > a:hover {
  color: var(--on-accent);
  cursor: default;
  background-color: var(--accent);
  border-color: var(--accent);
}
.strankovani > .neaktivni_policko > a, .strankovani > .neaktivni_policko > a:focus, .strankovani > .neaktivni_policko > a:hover {
  color: var(--text-3);
  cursor: not-allowed;
  background-color: var(--surface-2);
  border-color: var(--line-soft);
}

@media (max-width: 768px) {
  .strankovani-obal {
    gap: 8px;
  }
  .strankovani {
    gap: 4px;
  }
  .strankovani > li > a {
    min-width: 30px;
    padding: 6px 9px;
    font-size: 12px;
  }
  .strankovani-popisek {
    display: none;
  }
  .strankovani-skok > a {
    gap: 0;
    padding-inline: 8px;
  }
}

@media (max-width: 480px) {
  .strankovani > li > a {
    min-width: 28px;
    padding: 6px 8px;
    font-size: 11px;
  }
}

/* --- Tooltip (sdílený #tooltip ze spodni_cast) --- */
#tooltip {
  position: absolute;
  border: 1px solid var(--line-c);
  background-color: #101010;
  color: #fff;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-1);
  display: none;
  z-index: 10005;
  cursor: text;
  max-width: 50%;
  font-size: 12px;
  line-height: 1.45;
}
/* Odkazy uvnitř tooltipu (tmavé pozadí #101010) - světlý čitelný link místo tmavého accentu. */
#tooltip a,
#tooltip a:link,
#tooltip a:visited { color: #ff9d8e; text-decoration: underline; }
#tooltip a:hover,
#tooltip a:focus { color: #fff; }

/* Jednotná barva nápovědních/info otazníků (?) napříč webem (nízká specificita, konkrétní pravidla ji přebijí). */
.fa-circle-question { color: var(--tmaveseda); }

/* --- Zaškrtávací tlačítka (viditelnost sloupců) --- */
.zaskrtavaci-ovladani {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  min-width: 0;
  padding-bottom: 20px;
}
.zaskrtavaci-ovladani > .zaskrtavaci-tlacitka {
  max-width: 100%;
  min-width: 0;
}
.zaskrtavaci-tlacitka { display: flex; flex-wrap: wrap; }
.zaskrtavaci-tlacitka-sloupce {
  width: auto;
  white-space: nowrap;
  box-sizing: border-box;
  padding-right: 20px;
  font-size: 12px;
}
.zaskrtavaci-tlacitko + label { color: var(--text-3); }
.zaskrtavaci-tlacitko { accent-color: var(--accent); }
.zaskrtavaci-tlacitko:checked + label { color: var(--text); }

/* --- Posuvníky (range) --- */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 19%;
  height: 4px;
  background: var(--seda);
  border-radius: var(--radius-pill);
  outline: none;
  opacity: .85;
  transition: opacity .2s;
}
input[type="range"]:hover { opacity: 1; }
input[type="range"]::-webkit-slider-runnable-track {
  width: 300px;
  height: 4px;
  background: var(--seda);
  border: none;
  border-radius: var(--radius-pill);
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: var(--accent);
  cursor: pointer;
  margin-top: -6px;
  box-shadow: 0 0 0 4px var(--accent-soft);
}
input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: var(--accent);
  cursor: pointer;
  border-radius: 50%;
  border: none;
  box-shadow: 0 0 0 4px var(--accent-soft);
}
input[type="range"]:focus { outline: none; }
input[type="range"]:focus::-webkit-slider-runnable-track { background: var(--tmaveseda); }

/* --- Prémioví klienti --- */
.premiovi-klienti-sloupce { display: flex; flex-wrap: wrap; }
.premiovi-klienti-sloupec { flex: 1; min-width: 200px; }

/* --- Konfigurátor / dotazníkové formuláře --- */
#vycentrovani-formulare { display: flex; flex-direction: column; align-items: center; }
#vycentrovani-formulare .tabulka { width: 100%; max-width: 800px; }

.dotaznik-formular { width: 100%; max-width: 800px; overflow: visible; }
.dotaznik-formular table { width: 100%; }
.dotaznik-formular th:first-child,
.dotaznik-formular td:first-child { position: static; background-color: transparent; min-width: auto; }
.dotaznik-formular textarea { width: 100%; box-sizing: border-box; }
.dotaznik-formular input[type="email"] { width: 100%; box-sizing: border-box; }

@media (max-width: 768px) {
  .dotaznik-formular table,
  .dotaznik-formular thead,
  .dotaznik-formular tbody,
  .dotaznik-formular tr,
  .dotaznik-formular td,
  .dotaznik-formular th { display: block; width: 100%; }
  .dotaznik-formular tr { margin-bottom: 10px; }
  .dotaznik-formular td,
  .dotaznik-formular th { padding: 6px 8px; border: none; text-align: left; }
  .dotaznik-formular td:first-child { font-weight: bold; padding-bottom: 2px; background-color: transparent; }
  .dotaznik-formular select,
  .dotaznik-formular textarea,
  .dotaznik-formular input[type="email"] { width: 100%; font-size: 12px; box-sizing: border-box; }
  .dotaznik-formular th { text-align: center; }
}

/* --- Nápověda (otazníčky) --- */
.fa-question-circle { cursor: help; margin-left: 0; padding: 0; }
.tooltip-container { display: inline-block; position: relative; cursor: help; }
.tooltip-icon { font-size: 10px; vertical-align: top; margin-left: 0; }

.tooltip-text {
  visibility: hidden;
  width: 250px;
  font-size: 11px;
  background-color: #101010;
  color: #fff;
  text-align: center;
  border-radius: var(--radius-md);
  border: 1px solid var(--line-c);
  padding: 8px 10px;
  position: absolute;
  z-index: 1;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  transition: opacity .3s, visibility .3s;
  box-shadow: var(--shadow-sm);
}
.tooltip-container:hover .tooltip-text { visibility: visible; opacity: 1; }

/* --- Chybové hlášky (vyskakovací) --- */
.center-container { display: grid; place-items: center; margin-top: 10px; }

#chybovetlacitko {
  background-color: var(--accent);
  color: #fff;
  border: 1px solid var(--accent);
  border-radius: var(--radius-pill);
  padding: 10px 20px;
  cursor: pointer;
  font-weight: 700;
  transition: background .2s ease, color .2s ease;
}
#chybovetlacitko:hover { background-color: #fff; color: var(--accent); border-color: var(--accent); }

#chybovahlaska {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(10, 8, 7, .97);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  padding: 18px 20px;
  margin: 5px;
  z-index: 10001;
  max-width: min(560px, calc(100vw - 32px));
  line-height: 1.5;
}
/* Nadpis uvnitř modalu musí být bílý (modal má vždy tmavé pozadí). Bez toho by ve světlém
   režimu zdědil tmavý var(--text) => tmavý text na tmavém = neviditelný. */
#chybovahlaska h1,
#chybovahlaska h2,
#chybovahlaska h3 { color: #fff; margin-top: 0; }

/* --- Formulářové prvky --- */
input[type="text"], textarea, select {
  width: 300px;
  color: var(--text);
  background: var(--surface);
  font-size: 12px;
  padding: 8px 10px;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  transition: border-color .2s ease, box-shadow .2s ease;
}
input[type="text"], select {
  box-sizing: border-box;
  min-height: var(--control-height);
}
/* Native selecty v tmavém režimu: var(--surface) je skoro průhledné → nativní dropdown
   vykreslí světlý text na světlém podkladu = nečitelné. Dáme neprůhledné tmavé pozadí + světlý text. */
html.theme-dark select:not(.select2-hidden-accessible),
html.theme-dark select:not(.select2-hidden-accessible) option {
  background-color: #201c19;
  color: var(--text);
}
/* Vybraná/najetá položka nativního selectu accentem místo systémové modré (best-effort dle prohlížeče). */
select:not(.select2-hidden-accessible) option:checked,
select:not(.select2-hidden-accessible) option:hover {
  background: var(--accent) linear-gradient(0deg, var(--accent), var(--accent)) !important;
  color: #fff !important;
}
input[type="number"] {
  box-sizing: border-box;
  min-height: var(--control-height);
  width: 300px;
  color: var(--text);
  background: var(--surface);
  font-size: 12px;
  padding: 8px 10px;
  text-align: center;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  transition: border-color .2s ease, box-shadow .2s ease;
}
input[type="date"], input[type="datetime-local"], input[type="time"], input[type="email"], input[type="password"], input[type="url"], input[type="search"], input[type="tel"] {
  box-sizing: border-box;
  min-height: var(--control-height);
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  font-size: 12px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
input[type="text"]:focus, textarea:focus, select:focus,
input[type="number"]:focus, input[type="date"]:focus, input[type="datetime-local"]:focus,
input[type="time"]:focus, input[type="email"]:focus, input[type="password"]:focus,
input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft);
}
input::placeholder, textarea::placeholder { color: var(--text-3); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--accent); }
html.theme-dark input[type="date"], html.theme-dark input[type="datetime-local"], html.theme-dark input[type="time"] { color-scheme: dark; }
/* Nativní spinner čísla necháváme v tmavém skinu řídit prohlížečem.
   Nezůstává tedy trvale viditelný a neobjevuje se za ním vynucený pruh. */
html.theme-dark input[type="number"] { color-scheme: dark; }

/* Nastavení některých generovaných labelů */
.popis {
  color: var(--text-3);
  font-size: 10px;
  max-width: 300px;
  word-break: break-word;
  display: block;
  margin: 5px 0 -15px 0;
}
/* --- Tlačítko pro odeslání formuláře (základ) --- */
/* Sjednocená běžná černá a červená tlačítka napříč webem (pill dle rebrandingu). */
.mime-button,
.mime-button-black,
.mime-button-red,
.tlacitko-odeslat,
.kontinu-vyvoj-multiselect-tools button,
.support-projekty-multiselect-tools button,
.kontinu-vyvoj-filtry-akce .tlacitko-odeslat,
.support-projekty-filtry-akce .tlacitko-odeslat,
.kontinu-vyvoj-zrusit,
.support-projekty-zrusit,
.specialiste-vyhledat-btn,
.specialiste-zrusit-btn,
.employee-filter-actions .tlacitko-odeslat,
.employee-filter-cancel,
.employee-filter-tool,
.admin-session-multiselect-tools button,
.filters .btn,
.btn-cancel,
.marketing-vykazy-button,
.kalkulacka-red-button,
.kalkulacka-black-button,
.mime-alert .mime-alert-btn-secondary,
.files-dialog .btn,
.files-dialog .btn-primary,
.files-dialog .btn-secondary,
.discussion-modal .btn-primary,
.discussion-modal .btn-secondary,
.discussion-modal .btn-more,
.btn-close-dialog,
.uzivatele-delete-button,
.klienti-delete-button,
.prihlasky-delete,
.prihlasky-reset,
.prihlasky-resend,
.prihlasky-filter-reset,
.btn-remove-file,
.slack-tool .btn,
.sprava-delete-button,
.support-pozadavky-delete,
.support-pozadavky-filter-reset,
.btn-submit-bug-report,
.skoleni-container .wiki-link,
.skoleni-container .btn-primary {
  appearance: none !important;
  border-radius: var(--radius-pill) !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 39px !important;
  padding: 10px 20px !important;
  font-family: var(--font) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: -.01em !important;
  height: var(--control-height) !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: lowercase !important;
  transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
  vertical-align: middle !important;
  white-space: nowrap !important;
}

/* Tlačítka „vybrat vše / nevybrat nic" v MULTISELECTECH kompaktní (~50 % pill základu výše) -
   je to ZA pill blokem, takže přebíjí jeho velikost. Týká se JEN multiselect tools tlačítek
   (kontinu/support/nastavení), nikde jinde. Hodnoty laditelné. */
.kontinu-vyvoj-multiselect-tools button,
.support-projekty-multiselect-tools button,
.admin-session-multiselect-tools button,
.employee-filter-tool {
  min-height: 20px !important;
  height: auto !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

/* ==============================================================================
   GLOBÁLNÍ „vybrat vše / nevybrat nic" pro multiselecty (bary injectuje funkce/scripty.js).
   .ms-tools        = uvnitř custom .multiselect-dropdown (checkboxové multiselecty)
   .ms-select2-tools = uvnitř .select2-dropdown (Select2 multi), nad hledáním.
   Vzhled = stejný kompaktní ink pill jako tools v kontinuálním vývoji (~50 % pill základu). */
.ms-tools,
.ms-select2-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ms-tools {
  padding: 6px 6px 4px;
}
.ms-select2-tools {
  padding: 6px;
  border-bottom: 1px solid var(--line-c);
  margin-bottom: 4px;
}
.ms-tools button,
.ms-select2-tools button {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  appearance: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--radius-pill) !important;
  border: 1px solid var(--btn-ink) !important;
  background: var(--btn-ink) !important;
  color: var(--btn-on-ink) !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: -.01em !important;
  text-transform: lowercase !important;
  min-height: 20px !important;
  height: auto !important;
  padding: 4px 10px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.ms-tools button:hover,
.ms-tools button:focus,
.ms-select2-tools button:hover,
.ms-select2-tools button:focus {
  background: transparent !important;
  border-color: var(--text) !important;
  color: var(--text) !important;
}

.multiselect-item,
.employee-filter-option,
.support-projekty-multiselect .multiselect-item,
.prihlasky-multiselect .multiselect-item {
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.25 !important;
}

.employee-filter-toggle {
  box-sizing: border-box !important;
  min-height: var(--control-height) !important;
  height: var(--control-height) !important;
  padding: 9px 14px !important;
  border-color: var(--line-c) !important;
  border-radius: var(--radius-md) !important;
  background: var(--surface) !important;
  /* --text-3 = stejná barva jako text v Select2 poli, viz jednotný vzhled filtrů výš */
  color: var(--text-3) !important;
}

.employee-filter-option {
  padding: 7px 10px !important;
  border-radius: var(--radius-sm) !important;
}

.employee-filter-option:hover {
  background: var(--accent-soft) !important;
}

.multiselect-item input[type="checkbox"],
.employee-filter-option input[type="checkbox"],
.checkbox-group input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  accent-color: var(--accent) !important;
}

/* Černá (ink) varianta */
.mime-button,
.mime-button-black,
.tlacitko-odeslat,
.kontinu-vyvoj-multiselect-tools button,
.support-projekty-multiselect-tools button,
.kontinu-vyvoj-filtry-akce .tlacitko-odeslat,
.support-projekty-filtry-akce .tlacitko-odeslat,
.specialiste-vyhledat-btn,
.employee-filter-actions .tlacitko-odeslat,
.employee-filter-tool,
.admin-session-multiselect-tools button,
.filters .btn,
.btn-cancel,
.marketing-vykazy-button,
.kalkulacka-black-button,
.mime-alert .mime-alert-btn-secondary,
.files-dialog .btn-secondary,
.discussion-modal .btn-secondary,
.discussion-modal .btn-more,
.prihlasky-resend {
  background: var(--btn-ink) !important;
  border: 1px solid var(--btn-ink) !important;
  color: var(--btn-on-ink) !important;
}

.mime-button:hover,
.mime-button:focus,
.mime-button-black:hover,
.mime-button-black:focus,
.tlacitko-odeslat:hover,
.tlacitko-odeslat:focus,
.kontinu-vyvoj-multiselect-tools button:hover,
.kontinu-vyvoj-multiselect-tools button:focus,
.support-projekty-multiselect-tools button:hover,
.support-projekty-multiselect-tools button:focus,
.kontinu-vyvoj-filtry-akce .tlacitko-odeslat:hover,
.kontinu-vyvoj-filtry-akce .tlacitko-odeslat:focus,
.support-projekty-filtry-akce .tlacitko-odeslat:hover,
.support-projekty-filtry-akce .tlacitko-odeslat:focus,
.specialiste-vyhledat-btn:hover,
.specialiste-vyhledat-btn:focus,
.employee-filter-actions .tlacitko-odeslat:hover,
.employee-filter-actions .tlacitko-odeslat:focus,
.employee-filter-tool:hover,
.employee-filter-tool:focus,
.admin-session-multiselect-tools button:hover,
.admin-session-multiselect-tools button:focus,
.filters .btn:hover,
.filters .btn:focus,
.btn-cancel:hover,
.btn-cancel:focus,
.marketing-vykazy-button:hover,
.marketing-vykazy-button:focus,
.kalkulacka-black-button:hover,
.kalkulacka-black-button:focus,
.mime-alert .mime-alert-btn-secondary:hover,
.mime-alert .mime-alert-btn-secondary:focus,
.files-dialog .btn-secondary:hover,
.files-dialog .btn-secondary:focus,
.discussion-modal .btn-secondary:hover,
.discussion-modal .btn-secondary:focus,
.discussion-modal .btn-more:hover,
.discussion-modal .btn-more:focus,
.prihlasky-resend:hover,
.prihlasky-resend:focus {
  background: transparent !important;
  border-color: var(--text) !important;
  color: var(--text) !important;
  text-decoration: none;
}

/* Červená (accent) varianta */
.mime-button-red,
.kontinu-vyvoj-zrusit,
.support-projekty-zrusit,
.specialiste-zrusit-btn,
.smazat-sloupce-btn,
.employee-filter-cancel,
.uzivatele-delete-button,
.klienti-delete-button,
.prihlasky-delete,
.prihlasky-reset,
.prihlasky-filter-reset,
.btn-remove-file,
.slack-tool .btn,
.marketing-vykazy-copy-button,
.kalkulacka-red-button,
.sprava-delete-button,
.support-pozadavky-delete,
.support-pozadavky-filter-reset,
.btn-submit-bug-report,
.files-dialog .btn-primary,
.discussion-modal .btn-primary,
.discussion-modal .btn-close-dialog,
.btn-close-dialog {
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: var(--on-accent) !important;
}

.mime-button-red:hover,
.mime-button-red:focus,
.kontinu-vyvoj-zrusit:hover,
.kontinu-vyvoj-zrusit:focus,
.support-projekty-zrusit:hover,
.support-projekty-zrusit:focus,
.specialiste-zrusit-btn:hover,
.specialiste-zrusit-btn:focus,
.smazat-sloupce-btn:hover,
.smazat-sloupce-btn:focus,
.employee-filter-cancel:hover,
.employee-filter-cancel:focus,
.uzivatele-delete-button:hover,
.uzivatele-delete-button:focus,
.klienti-delete-button:hover,
.klienti-delete-button:focus,
.prihlasky-delete:hover,
.prihlasky-delete:focus,
.prihlasky-reset:hover,
.prihlasky-reset:focus,
.prihlasky-filter-reset:hover,
.prihlasky-filter-reset:focus,
.btn-remove-file:hover,
.btn-remove-file:focus,
.slack-tool .btn:hover,
.slack-tool .btn:focus,
.marketing-vykazy-copy-button:hover,
.marketing-vykazy-copy-button:focus,
.kalkulacka-red-button:hover,
.kalkulacka-red-button:focus,
.sprava-delete-button:hover,
.sprava-delete-button:focus,
.support-pozadavky-delete:hover,
.support-pozadavky-delete:focus,
.support-pozadavky-filter-reset:hover,
.support-pozadavky-filter-reset:focus,
.btn-submit-bug-report:hover,
.btn-submit-bug-report:focus,
.files-dialog .btn-primary:hover,
.files-dialog .btn-primary:focus,
.discussion-modal .btn-primary:hover,
.discussion-modal .btn-primary:focus,
.discussion-modal .btn-close-dialog:hover,
.discussion-modal .btn-close-dialog:focus,
.btn-close-dialog:hover,
.btn-close-dialog:focus {
  background: transparent !important;
  border-color: var(--accent) !important;
  color: var(--accent-2) !important;
  text-decoration: none;
}

/* Disabled stav - sjednocený */
.mime-button:disabled,
.mime-button-black:disabled,
.mime-button-red:disabled,
.tlacitko-odeslat:disabled,
.kontinu-vyvoj-filtry-akce .tlacitko-odeslat:disabled,
.support-projekty-filtry-akce .tlacitko-odeslat:disabled,
.specialiste-vyhledat-btn:disabled,
.specialiste-zrusit-btn:disabled,
.employee-filter-actions .tlacitko-odeslat:disabled,
.employee-filter-cancel:disabled,
.employee-filter-tool:disabled,
.filters .btn:disabled,
.btn-cancel:disabled,
.marketing-vykazy-button:disabled,
.kalkulacka-red-button:disabled,
.kalkulacka-black-button:disabled,
.files-dialog .btn:disabled,
.files-dialog .btn-primary:disabled,
.files-dialog .btn-secondary:disabled,
.discussion-modal .btn-primary:disabled,
.discussion-modal .btn-secondary:disabled,
.discussion-modal .btn-more:disabled,
.btn-close-dialog:disabled,
.uzivatele-delete-button:disabled,
.klienti-delete-button:disabled,
.prihlasky-delete:disabled,
.prihlasky-reset:disabled,
.prihlasky-resend:disabled,
.prihlasky-filter-reset:disabled,
.btn-remove-file:disabled,
.slack-tool .btn:disabled,
.sprava-delete-button:disabled,
.support-pozadavky-delete:disabled,
.support-pozadavky-filter-reset:disabled,
.btn-submit-bug-report:disabled {
  background: var(--surface-3) !important;
  border: 1px solid var(--line-c) !important;
  color: var(--text-3) !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}
.mime-button:disabled:hover,
.mime-button-black:disabled:hover,
.mime-button-red:disabled:hover,
.tlacitko-odeslat:disabled:hover,
.btn-submit-bug-report:disabled:hover {
  background: var(--surface-3) !important;
  border-color: var(--line-c) !important;
  color: var(--text-3) !important;
}

/* --- Posuvník na výběr počtu kroků --- */
#pocetkroku {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 12px;
  color: var(--text);
  font-weight: bold;
}

/* --- Iframe (Looker Studio apod.) --- */
.iframe {
  position: relative;
  width: 100%;
  height: 1200px;
  overflow: hidden;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* -------------------------------------------------
   MIMÁCKÁ ALERT OKNA (univerzální styl hlášek)
   ------------------------------------------------- */
.mime-alert-overlay {
  position: fixed; inset: 0; display: flex;
  align-items: center; justify-content: center;
  background: rgba(5, 5, 5, .62); z-index: 11000;
  backdrop-filter: blur(8px);
  animation: fadeIn .25s ease;
}
.mime-alert {
  position: relative;
  overflow: hidden;
  background: var(--glass);
  color: var(--text);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  padding: 2.5em 3em; width: 90%; max-width: 600px;
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  animation: pop .25s cubic-bezier(.175, .885, .32, 1.275);
  text-align: left; line-height: 1.55;
}
.mime-alert::after {
  content: "";
  position: absolute;
  inset: auto -11% -20% auto;
  width: clamp(220px, 36vw, 540px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 44px solid var(--accent);
  opacity: .22;
  filter: blur(.1px);
  pointer-events: none;
  z-index: 0;
}
.mime-alert > * {
  position: relative;
  z-index: 1;
}
.mime-alert h2 { margin: 0 0 .6em; font-size: 1.55rem; font-weight: 800; letter-spacing: -.045em; color: var(--text); }
.mime-alert p { margin: 0 0 1.8em; font-size: 1rem; color: var(--text-2); }
.mime-alert a.btn,
.mime-alert button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  height: var(--control-height);
  padding: 10px 20px;
  border: 1px solid var(--accent);
  border-radius: var(--radius-pill);
  box-sizing: border-box;
  cursor: pointer;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: -.01em;
  line-height: 1.2;
  background: var(--accent);
  color: var(--on-accent);
  transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
  text-decoration: none;
  text-transform: lowercase;
  white-space: nowrap;
}
.mime-alert button:not(.mime-alert-btn-secondary):hover,
.mime-alert button:not(.mime-alert-btn-secondary):focus,
.mime-alert a.btn:not(.mime-alert-btn-secondary):hover,
.mime-alert a.btn:not(.mime-alert-btn-secondary):focus {
  background: transparent !important;
  color: var(--accent-2) !important;
  border-color: var(--accent) !important;
  text-decoration: none;
}
.mime-alert a.btn:visited,
.mime-alert a.btn:active { color: var(--on-accent); text-decoration: none; }
.mime-alert a.btn:focus { text-decoration: none; }
.mime-alert .mime-alert-btn-secondary,
.mime-alert .mime-alert-btn-secondary:visited {
  background: var(--btn-ink) !important;
  color: var(--btn-on-ink) !important;
  border-color: var(--btn-ink) !important;
  text-decoration: none;
}
.mime-alert .mime-alert-btn-secondary:hover,
.mime-alert .mime-alert-btn-secondary:focus {
  background: transparent !important;
  color: var(--text) !important;
  border-color: var(--text) !important;
  text-decoration: none;
}
.mime-alert .mime-alert-btn-secondary:active { text-decoration: none; }
/* Volitelné barevné varianty */
.mime-alert--success,
.mime-alert--info,
.mime-alert--warning { background: var(--glass); }

.mime-saving-overlay {
  position: fixed; inset: 0; z-index: 11010;
  display: flex; align-items: center; justify-content: center;
  background: rgba(5, 5, 5, .38);
  backdrop-filter: blur(3px);
}
.mime-saving-box {
  display: flex; align-items: center; gap: 14px;
  min-width: 220px;
  padding: 18px 22px;
  border-radius: var(--radius-lg);
  background: var(--surface);
  border: 1px solid var(--line-c);
  box-shadow: var(--shadow-1);
  color: var(--text);
  font-weight: 600;
}
/* .mime-saving-spinner: sjednoceno s .mime-loading-spinner (kanonický combined rule výše). */
@keyframes mimeSavingSpin { to { transform: rotate(360deg); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes pop {
  from { transform: translateY(-10px) scale(.95); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

/* ============================================================= */
/* ONBOARDING - FINALIZACE PROJEKTU (scope .skoleni-container)   */
/* ============================================================= */
.skoleni-container .project-delete-box { margin-top: 18px; }
.skoleni-container .project-delete-intro-image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 14px 0 10px;
  border-radius: var(--radius-md);
}
.skoleni-container .project-delete-danger-button { width: 100%; margin-top: 12px; }
.skoleni-container .project-delete-summary {
  margin-top: 16px;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-md);
}
.skoleni-container .project-delete-summary h4 { margin-top: 0; margin-bottom: 12px; color: var(--text); }
.skoleni-container .project-delete-summary > p:last-of-type { margin-bottom: 18px; }
.skoleni-container .project-delete-section {
  margin-bottom: 14px;
  padding: 14px 16px;
  background: var(--surface-2);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
}
.skoleni-container .project-delete-section:last-child { margin-bottom: 0; }
.skoleni-container .project-delete-section h5 { margin-top: 0; margin-bottom: 10px; color: var(--text); }
.skoleni-container .project-delete-count { color: var(--text-2); font-weight: 500; }
.skoleni-container .project-delete-list { margin: 0; padding-left: 22px; }
.skoleni-container .project-delete-empty { margin: 0; color: var(--text-2); font-style: italic; }

body.project-delete-loading-open { overflow: hidden; }

.project-delete-loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 5, 5, .68);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100000;
  padding: 24px;
}
.project-delete-loading-box {
  width: min(100%, 520px);
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  padding: 28px 24px;
  text-align: center;
}
.project-delete-loading-box h3 { margin: 0 0 12px; color: var(--text); font-size: 26px; letter-spacing: -.045em; }
.project-delete-loading-box p { margin: 0 0 18px; color: var(--text-2); line-height: 1.5; }
.project-delete-loading-progress {
  width: 100%;
  height: 14px;
  border-radius: var(--radius-pill);
  overflow: hidden;
  background: var(--surface-3);
  position: relative;
}
.project-delete-loading-progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%);
  border-radius: var(--radius-pill);
  transition: width .3s ease;
}
.project-delete-loading-percent { margin-top: 12px; font-size: 24px; font-weight: 800; color: var(--text); letter-spacing: -.04em; }
.project-delete-loading-detail { margin-top: 8px; font-size: 13px; color: var(--text-2); line-height: 1.5; }

.skoleni-container .task-review-toggle-wrap { margin-bottom: 14px; }
.skoleni-container .task-review-toggle-button { width: 100%; }
.skoleni-container .task-review-host .task-review-inline {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  margin-top: 0;
  transition: grid-template-rows .35s ease, opacity .25s ease, margin-top .35s ease;
}
.skoleni-container .task-review-host .task-review-inline-content { min-height: 0; overflow: hidden; }
.skoleni-container .task-review-host.is-open .task-review-inline {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 10px;
}
.skoleni-container .task-review-host.is-open .task-review-inline-content {
  padding: 12px 14px;
  background: var(--accent-soft);
  border: 1px solid var(--accent-mid);
  border-radius: var(--radius-md);
}
.skoleni-container .task-review-answer { line-height: 1.6; }
.skoleni-container .task-review-answer strong { color: var(--accent-2); }
/* ================= 8. VENDOR SKINY: QUILL, SELECT2 ================== */

/* Quill editor styling */
#editorContainer { flex: 1; }

.ql-toolbar {
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  border: 1px solid var(--line-c) !important;
  background: var(--surface-2);
}
.ql-container {
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
  border: 1px solid var(--line-c) !important;
  font-family: inherit;
  font-size: 14px;
  background: var(--surface);
  color: var(--text);
}
.ql-editor { min-height: 60px; max-height: 150px; overflow-y: auto; padding: 10px 16px; }
.ql-editor.ql-blank::before { font-style: normal; color: var(--text-3); left: 16px; }

html.theme-dark .ql-snow .ql-stroke { stroke: var(--text-2); }
html.theme-dark .ql-snow .ql-fill { fill: var(--text-2); }
html.theme-dark .ql-snow .ql-picker { color: var(--text-2); }
html.theme-dark .ql-snow .ql-picker-options { background: var(--surface-2); border-color: var(--line-c) !important; }

.ql-snow .ql-toolbar button,
.ql-snow.ql-toolbar button,
.ql-toolbar.ql-snow button {
  color: var(--text-2) !important;
}
.ql-toolbar.ql-snow button svg [fill="currentColor"],
.ql-snow .ql-toolbar button svg [fill="currentColor"],
.ql-snow.ql-toolbar button svg [fill="currentColor"] {
  fill: currentColor !important;
}
.ql-toolbar.ql-snow button svg [stroke="currentColor"],
.ql-snow .ql-toolbar button svg [stroke="currentColor"],
.ql-snow.ql-toolbar button svg [stroke="currentColor"] {
  stroke: currentColor !important;
}

/* Disabled state */
#editorContainer.disabled { opacity: .5; pointer-events: none; }
#editorContainer.disabled .ql-editor.ql-blank::before { content: 'Diskuze je uzavřena' !important; }

/* ========== LAYOUT TOOLBARU ========== */
.ql-toolbar.ql-snow {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.ql-toolbar.ql-snow .ql-formats { display: inline-flex; margin-right: 8px; }
.ql-toolbar.ql-snow .ql-formats:last-child {
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-left: 12px;
  border-left: 1px solid var(--line-c);
}

/* ========== HOVER/ACTIVE BARVY QUILL (akcent) ========== */
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-toolbar.ql-snow button:hover .ql-stroke { stroke: var(--tmavecervena) !important; }
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-toolbar.ql-snow button:hover .ql-fill { fill: var(--tmavecervena) !important; }
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-toolbar.ql-snow button:hover .ql-stroke.ql-fill { fill: var(--tmavecervena) !important; stroke: var(--tmavecervena) !important; }
.ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button:hover,
.ql-toolbar.ql-snow button:hover { color: var(--tmavecervena) !important; }
.ql-toolbar.ql-snow button:hover svg [fill="currentColor"],
.ql-snow .ql-toolbar button:hover svg [fill="currentColor"],
.ql-snow.ql-toolbar button:hover svg [fill="currentColor"] { fill: var(--tmavecervena) !important; }
.ql-toolbar.ql-snow button:hover svg [stroke="currentColor"],
.ql-snow .ql-toolbar button:hover svg [stroke="currentColor"],
.ql-snow.ql-toolbar button:hover svg [stroke="currentColor"] { stroke: var(--tmavecervena) !important; }
.ql-snow .ql-toolbar button.ql-active,
.ql-snow.ql-toolbar button.ql-active,
.ql-toolbar.ql-snow button.ql-active { color: var(--tmavecervena) !important; }
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-toolbar.ql-snow button.ql-active .ql-stroke { stroke: var(--tmavecervena) !important; }
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-toolbar.ql-snow button.ql-active .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-toolbar.ql-snow button.ql-active .ql-stroke.ql-fill { fill: var(--tmavecervena) !important; }
.ql-toolbar.ql-snow button.ql-active svg [fill="currentColor"],
.ql-snow .ql-toolbar button.ql-active svg [fill="currentColor"],
.ql-snow.ql-toolbar button.ql-active svg [fill="currentColor"] { fill: var(--tmavecervena) !important; }
.ql-toolbar.ql-snow button.ql-active svg [stroke="currentColor"],
.ql-snow .ql-toolbar button.ql-active svg [stroke="currentColor"],
.ql-snow.ql-toolbar button.ql-active svg [stroke="currentColor"] { stroke: var(--tmavecervena) !important; }

/* Dropdowny - picker labely */
.ql-snow .ql-picker-label:hover,
.ql-snow .ql-picker-label:hover .ql-stroke,
.ql-toolbar.ql-snow .ql-picker-label:hover,
.ql-toolbar.ql-snow .ql-picker-label:hover .ql-stroke {
  stroke: var(--tmavecervena) !important;
  color: var(--tmavecervena) !important;
}
.ql-snow .ql-picker-label:hover .ql-fill,
.ql-toolbar.ql-snow .ql-picker-label:hover .ql-fill { fill: var(--tmavecervena) !important; }

/* Dropdown položky */
.ql-snow .ql-picker-options .ql-picker-item:hover,
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item:hover {
  color: var(--tmavecervena) !important;
  background-color: var(--surface-2) !important;
}

/* Picker šipky */
.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg,
.ql-toolbar.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  position: absolute;
  margin-top: -9px;
  right: 0;
  top: 50%;
  width: 18px;
}
.ql-snow .ql-picker-label:hover svg,
.ql-toolbar.ql-snow .ql-picker-label:hover svg,
.ql-snow .ql-picker-label:hover svg .ql-stroke,
.ql-toolbar.ql-snow .ql-picker-label:hover svg .ql-stroke { stroke: var(--tmavecervena) !important; }
.ql-snow .ql-color-picker .ql-picker-label:hover svg,
.ql-toolbar.ql-snow .ql-color-picker .ql-picker-label:hover svg { stroke: var(--tmavecervena) !important; }
.ql-snow .ql-color-picker .ql-picker-label:hover svg line,
.ql-toolbar.ql-snow .ql-color-picker .ql-picker-label:hover svg line { stroke: var(--tmavecervena) !important; }

/* ========== SEND BUTTON ========== */
button.ql-send svg polygon,
button.ql-send svg.ql-send-icon polygon,
.ql-toolbar button.ql-send svg polygon,
.ql-snow .ql-toolbar button.ql-send svg polygon,
.ql-snow .ql-toolbar .ql-formats button.ql-send svg polygon {
  fill: var(--cervena) !important;
  stroke: var(--cervena) !important;
}
button.ql-send:hover svg polygon,
button.ql-send:hover svg.ql-send-icon polygon,
.ql-toolbar button.ql-send:hover svg polygon,
.ql-snow .ql-toolbar button.ql-send:hover svg polygon,
.ql-snow .ql-toolbar .ql-formats button.ql-send:hover svg polygon {
  fill: var(--tmavecervena) !important;
  stroke: var(--tmavecervena) !important;
}

/* ========== EMOJI TLAČÍTKO ========== */
button.ql-emoji svg circle:first-of-type,
.ql-toolbar button.ql-emoji svg circle:first-of-type,
.ql-snow .ql-toolbar button.ql-emoji svg circle:first-of-type,
.ql-snow .ql-toolbar .ql-formats button.ql-emoji svg circle:first-of-type {
  fill: none !important;
  stroke: var(--hodnetmaveseda) !important;
}
button.ql-emoji svg circle:nth-of-type(2),
button.ql-emoji svg circle:nth-of-type(3),
.ql-toolbar button.ql-emoji svg circle:nth-of-type(2),
.ql-toolbar button.ql-emoji svg circle:nth-of-type(3),
.ql-snow .ql-toolbar button.ql-emoji svg circle:nth-of-type(2),
.ql-snow .ql-toolbar button.ql-emoji svg circle:nth-of-type(3),
.ql-snow .ql-toolbar .ql-formats button.ql-emoji svg circle:nth-of-type(2),
.ql-snow .ql-toolbar .ql-formats button.ql-emoji svg circle:nth-of-type(3) {
  fill: var(--hodnetmaveseda) !important;
  stroke: none !important;
}
button.ql-emoji svg path,
.ql-toolbar button.ql-emoji svg path,
.ql-snow .ql-toolbar button.ql-emoji svg path,
.ql-snow .ql-toolbar .ql-formats button.ql-emoji svg path {
  fill: none !important;
  stroke: var(--hodnetmaveseda) !important;
}
button.ql-emoji:hover svg circle:first-of-type,
.ql-toolbar button.ql-emoji:hover svg circle:first-of-type,
.ql-snow .ql-toolbar button.ql-emoji:hover svg circle:first-of-type,
.ql-snow .ql-toolbar .ql-formats button.ql-emoji:hover svg circle:first-of-type {
  fill: none !important;
  stroke: var(--tmavecervena) !important;
}
button.ql-emoji:hover svg circle:nth-of-type(2),
button.ql-emoji:hover svg circle:nth-of-type(3),
.ql-toolbar button.ql-emoji:hover svg circle:nth-of-type(2),
.ql-toolbar button.ql-emoji:hover svg circle:nth-of-type(3),
.ql-snow .ql-toolbar button.ql-emoji:hover svg circle:nth-of-type(2),
.ql-snow .ql-toolbar button.ql-emoji:hover svg circle:nth-of-type(3),
.ql-snow .ql-toolbar .ql-formats button.ql-emoji:hover svg circle:nth-of-type(2),
.ql-snow .ql-toolbar .ql-formats button.ql-emoji:hover svg circle:nth-of-type(3) {
  fill: var(--tmavecervena) !important;
  stroke: none !important;
}
button.ql-emoji:hover svg path,
.ql-toolbar button.ql-emoji:hover svg path,
.ql-snow .ql-toolbar button.ql-emoji:hover svg path,
.ql-snow .ql-toolbar .ql-formats button.ql-emoji:hover svg path {
  fill: none !important;
  stroke: var(--tmavecervena) !important;
}

/* ===== QUILL FORMÁTOVANÉ ZPRÁVY ===== */
.message-body {
  padding: 10px 14px;
  border-radius: 18px;
  font-size: 14px;
  line-height: 1.5;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.message-body * { margin-top: 0; }
.message-body h1,
.message-body h2,
.message-body h3,
.message-body h4,
.message-body h5,
.message-body h6 {
  margin: 12px 0 8px 0;
  line-height: 1.3;
  font-weight: 600;
  color: inherit;
  text-transform: none;
  font-size: revert;
  letter-spacing: -.02em;
}
.message-body h1 { font-size: 1.8em; }
.message-body h2 { font-size: 1.5em; }
.message-body h3 { font-size: 1.3em; }
.message-body h4 { font-size: 1.15em; }
.message-body h5 { font-size: 1em; }
.message-body h6 { font-size: .9em; }
.message-body > :first-child { margin-top: 0 !important; }
.message-body p { margin: 8px 0; }
.message-body blockquote {
  border-left: 3px solid var(--accent-mid);
  margin: 10px 0;
  padding: 5px 0 5px 15px;
  color: var(--text-2);
  font-style: italic;
}
.message-body a { color: var(--cervena); text-decoration: underline; word-break: break-word; }
.message-body a:hover { text-decoration: none; opacity: .8; }
.message-body img,
.message-body video {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 10px 0;
  display: block;
}

/* IKONA PRO VELKÉ OBRÁZKY V DISKUZI */
.image-icon-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  padding: 12px;
  margin: 10px 0;
  background: linear-gradient(135deg, var(--surface-2) 0%, var(--surface-3) 100%);
  border: 2px solid var(--line-c);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all .3s ease;
  position: relative;
  flex-shrink: 0;
}
.image-icon-placeholder:hover {
  background: linear-gradient(135deg, var(--surface-3) 0%, var(--surface-2) 100%);
  border-color: var(--accent-mid);
  transform: scale(1.05);
  box-shadow: var(--shadow-sm);
}
.image-icon-placeholder:active { transform: scale(.98); }
.image-icon-placeholder svg { width: 50px; height: 50px; opacity: .6; transition: opacity .3s ease; }
.image-icon-placeholder:hover svg { opacity: .8; }
.image-icon-size {
  position: absolute;
  bottom: 4px;
  right: 4px;
  font-size: 10px;
  color: var(--text-3);
  background: var(--glass);
  padding: 2px 4px;
  border-radius: 2px;
}

/* LIGHTBOX MODAL */
.image-lightbox-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .85);
  backdrop-filter: blur(6px);
  z-index: 10003;
  animation: fadeIn .3s ease;
}
.image-lightbox-overlay.active { display: flex; align-items: center; justify-content: center; }
.image-lightbox-overlay.is-closing { display: flex; align-items: center; justify-content: center; animation: fadeOut .22s ease forwards; }

@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes slideIn { from { transform: scale(.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes slideOut { from { transform: scale(1); opacity: 1; } to { transform: scale(.88); opacity: 0; } }

.image-lightbox-content {
  position: relative;
  max-width: 95vw;
  max-height: 95vh;
  animation: slideIn .3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.image-lightbox-overlay.is-closing .image-lightbox-content { animation: slideOut .22s ease forwards; }
.image-lightbox-img {
  max-width: 100%;
  max-height: 90vh;
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: contain;
}
.image-lightbox-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: rgba(18, 18, 18, .72);
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
  color: white;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color .2s ease, box-shadow .2s ease;
  z-index: 10000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.image-lightbox-close:hover { background: rgba(18, 18, 18, .9); box-shadow: 0 8px 22px rgba(0, 0, 0, .42); }

@media (max-width: 768px) {
  .image-icon-placeholder { width: 70px; height: 70px; min-width: 50px; min-height: 50px; padding: 10px; }
  .image-icon-placeholder svg { width: 40px; height: 40px; }
  .image-lightbox-close { width: 36px; height: 36px; font-size: 20px; top: 10px; right: 10px; }
  .image-lightbox-img { max-height: 85vh; }
}

/* QUILL zarovnání / odsazení / velikosti / fonty */
.message-body .ql-align-center { text-align: center; }
.message-body .ql-align-right { text-align: right; }
.message-body .ql-align-justify { text-align: justify; }
.message-body .ql-indent-1 { padding-left: 3em; }
.message-body .ql-indent-2 { padding-left: 6em; }
.message-body .ql-indent-3 { padding-left: 9em; }
.message-body .ql-indent-4 { padding-left: 12em; }
.message-body .ql-indent-5 { padding-left: 15em; }
.message-body .ql-indent-6 { padding-left: 18em; }
.message-body .ql-indent-7 { padding-left: 21em; }
.message-body .ql-indent-8 { padding-left: 24em; }
.message-body .ql-size-large { font-size: 1.5em; }
.message-body .ql-size-huge { font-size: 2.5em; }
.message-body .ql-font-serif { font-family: Georgia, Times, 'Times New Roman', serif; }
.message-body .ql-font-monospace { font-family: Monaco, 'Courier New', monospace; }
.message-body .ql-direction-rtl { direction: rtl; text-align: right; }
.message-body hr { border: none; border-top: 1px solid var(--line-c); margin: 15px 0; }
.message-body sub { vertical-align: sub; font-size: .8em; }
.message-body sup { vertical-align: super; font-size: .8em; }
.message-body small,
.message-body .ql-size-small { font-size: .75em !important; line-height: 1.2; color: inherit; }

/* SEZNAMY */
.message-body ul,
.message-body ol { padding-left: 1.5em !important; margin: .5em 0 !important; }
.message-body li { margin: 4px 0; }
.message-body ul,
.message-body ul:not([data-checked]) { list-style-type: disc !important; }
.message-body ul > li,
.message-body ul:not([data-checked]) > li { list-style-type: disc !important; display: list-item !important; margin-left: 0 !important; }
.message-body ol:not([data-list="bullet"]) { list-style-type: decimal !important; }
.message-body ol:not([data-list="bullet"]) > li { list-style-type: decimal !important; display: list-item !important; margin-left: 0 !important; }
.message-body ol[data-list="bullet"] { list-style-type: disc !important; padding-left: 1.5em !important; }
.message-body ol[data-list="bullet"] > li,
.message-body li[data-list="bullet"] { list-style-type: disc !important; display: list-item !important; }
.message-body ul ul { list-style-type: circle !important; }
.message-body ul ul ul { list-style-type: square !important; }

/* Check listy */
.message-body li[data-list="checked"],
.message-body li[data-checked="true"] {
  text-decoration: line-through;
  opacity: .7;
  list-style: none !important;
  position: relative;
  padding-left: 1.5em;
}
.message-body li[data-list="checked"]::before,
.message-body li[data-checked="true"]::before {
  content: "☑" !important;
  position: absolute;
  left: 0;
  color: var(--cervena);
  font-weight: bold;
}
.message-body li[data-list="unchecked"],
.message-body li[data-checked="false"] { list-style: none !important; position: relative; padding-left: 1.5em; }
.message-body li[data-list="unchecked"]::before,
.message-body li[data-checked="false"]::before { content: "☐" !important; position: absolute; left: 0; }

/* CODE BLOCK */
.message-body pre,
.message-body .ql-syntax,
.message-body .ql-code-block {
  display: block !important;
  background: #1e1e1e !important;
  color: #d4d4d4 !important;
  border: 1px solid #3c3c3c !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  margin: 10px 0 !important;
  overflow-x: auto !important;
  font-family: var(--mono) !important;
  font-size: .9em !important;
  line-height: 1.5 !important;
  white-space: pre !important;
  word-wrap: normal !important;
  tab-size: 4 !important;
}
.message-body pre code,
.message-body .ql-syntax code {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border: none !important;
  font-size: inherit !important;
}
.message-body code:not(pre code) {
  background: var(--accent-soft) !important;
  color: var(--accent-2) !important;
  padding: 2px 5px !important;
  border-radius: 3px !important;
  font-family: var(--mono) !important;
  font-size: .9em !important;
}
.message.own .message-body pre,
.message.own .message-body .ql-syntax,
.message.own .message-body .ql-code-block { background: #2d2d2d !important; color: #f8f8f2 !important; border-color: #444 !important; }
.message.other .message-body pre,
.message.other .message-body .ql-syntax,
.message.other .message-body .ql-code-block { background: #1a1a1a !important; color: #e0e0e0 !important; border-color: #333 !important; }

.message-body pre::-webkit-scrollbar,
.message-body .ql-syntax::-webkit-scrollbar { height: 8px; background: rgba(255, 255, 255, .1); }
.message-body pre::-webkit-scrollbar-thumb,
.message-body .ql-syntax::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .3); border-radius: 4px; }
.message-body pre::-webkit-scrollbar-thumb:hover,
.message-body .ql-syntax::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .5); }

.message-body span.ql-ui { display: none !important; }
.message-body .ql-code-block-container {
  background: #1e1e1e !important;
  border-radius: 6px !important;
  padding: 2px !important;
  margin: 10px 0 !important;
}
.message-body .ql-code-block { background: transparent !important; color: #d4d4d4 !important; padding: 12px 16px !important; font-family: var(--mono) !important; }

.messages-area .message-body ul:not([data-checked]) > li { list-style-type: disc !important; }
.messages-area .message-body ol > li { list-style-type: decimal !important; }
.message-body .ql-size-small { font-size: .75em !important; font-size: 11px !important; }
.message-body .ql-size-large { font-size: 1.5em !important; }
.message-body .ql-size-huge { font-size: 2.5em !important; }
.messages-area ol li[data-list="bullet"] { list-style-type: disc !important; }
.messages-area ol:has(li[data-list="bullet"]) { list-style-type: disc !important; }
.messages-area ol { list-style-type: disc; }
.messages-area ol li[data-list="ordered"] { list-style-type: decimal !important; }
.message-body ol li[data-list="bullet"] { list-style-type: disc !important; }
.message-body ol:has(li[data-list="bullet"]) { list-style-type: disc !important; padding-left: 1.5em !important; }

/* HTML editor */
.html-editor {
  width: 100%;
  min-height: 120px;
  max-height: 300px;
  padding: 10px;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.4;
  background: #2d2d2d;
  color: #f8f8f2;
  resize: vertical;
  display: none;
  tab-size: 2;
  overflow-y: auto;
}
.html-editor:focus { outline: none; border-color: var(--cervena); }
.ql-toolbar .ql-html.ql-active { background: var(--accent) !important; color: white !important; border-radius: 4px; }
.ql-toolbar .ql-html.ql-active svg { fill: white; }
.ql-toolbar .ql-html.ql-active:hover { background: transparent !important; color: var(--accent) !important; }
.html-editor::-webkit-scrollbar { width: 8px; }
.html-editor::-webkit-scrollbar-track { background: #1e1e1e; }
.html-editor::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; }
.html-editor::-webkit-scrollbar-thumb:hover { background: #777; }
.html-editor::selection { background: rgba(255, 255, 255, .2); }
.html-editor:disabled { opacity: .5; cursor: not-allowed; background: #1a1a1a; }

/* FORCE OVERRIDE - layout Quill toolbaru */
.ql-toolbar.ql-snow { border-bottom: 1px solid var(--line-c) !important; position: relative !important; }
.ql-toolbar.ql-snow .ql-formats:last-child {
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-left: 12px !important;
  border-left: none !important;
  position: relative !important;
  z-index: 2 !important;
}
.ql-toolbar .ql-send { position: relative !important; top: 50% !important; transform: translateY(-50%) !important; }

@media (max-width: 768px) {
  .ql-toolbar .ql-send {
    position: relative !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .discussion-modal .ql-toolbar.ql-snow,
  .message-input-area .ql-toolbar.ql-snow { align-items: center !important; }
}

/* ========== MOBILNÍ QUILL TOOLBAR FIX ========== */
@media (max-width: 768px) {
  #quillEditor {
    background: var(--surface) !important;
    min-height: 40px;
    border: 1px solid var(--line-c);
    border-radius: 24px;
  }
  .ql-toolbar { display: flex !important; flex-wrap: wrap; padding: 8px; border-radius: var(--radius-md) var(--radius-md) 0 0; }
  .ql-container { font-size: 16px; }
  .ql-editor { padding: 10px 16px; min-height: 40px; line-height: 1.4; }

  /* Oprava Quill dropdown menu */
  .ql-toolbar .ql-picker-options {
    min-width: 140px !important;
    max-height: 300px !important;
    overflow-y: auto !important;
    z-index: 99999 !important;
    background: var(--surface) !important;
    border: 1px solid var(--line-c) !important;
    box-shadow: var(--shadow-sm) !important;
  }
  #editorContainer { overflow: visible !important; }
  .ql-container { overflow: visible !important; }
  .ql-toolbar { overflow: visible !important; }
  .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { bottom: auto !important; top: 100% !important; }

  @media screen and (max-height: 600px) {
    .ql-toolbar .ql-picker-options { bottom: 100% !important; top: auto !important; margin-bottom: 5px; }
  }

  .ql-snow .ql-picker.ql-header .ql-picker-options { min-height: auto !important; max-height: 280px !important; }
  .ql-snow .ql-picker-options .ql-picker-item { padding: 5px 10px !important; line-height: normal !important; height: auto !important; min-height: 25px !important; }
  .ql-snow .ql-picker.ql-size .ql-picker-options { min-height: auto !important; max-height: 200px !important; }
  .ql-formats:last-child .ql-picker-options,
  .ql-formats:nth-last-child(2) .ql-picker-options { right: 0 !important; left: auto !important; }

  .ql-picker-options::-webkit-scrollbar { width: 8px !important; }
  .ql-picker-options::-webkit-scrollbar-track { background: var(--surface-2) !important; border-radius: 4px !important; }
  .ql-picker-options::-webkit-scrollbar-thumb { background: var(--tmaveseda) !important; border-radius: 4px !important; }
  .ql-picker-options::-webkit-scrollbar-thumb:hover { background: var(--hodnetmaveseda) !important; }

  @media (max-width: 768px) {
    .ql-toolbar .ql-picker-options {
      position: fixed !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      right: auto !important;
      max-width: 90vw !important;
    }
  }

  .message-input-area { overflow: visible !important; position: relative; z-index: 1; }
  .message-input-container { overflow: visible !important; margin-bottom: 20px; }

  .discussion-modal .ql-toolbar,
  .discussion-modal .ql-toolbar.ql-snow,
  .message-input-area .ql-toolbar,
  .message-input-area .ql-toolbar.ql-snow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 999 !important;
    flex-wrap: wrap;
    padding: 8px 4px !important;
    min-height: auto;
    width: 100% !important;
    background: var(--surface-2) !important;
    border: 1px solid var(--line-c) !important;
    border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  }
  .discussion-modal .ql-toolbar .ql-formats,
  .message-input-area .ql-toolbar .ql-formats {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .discussion-modal #editorContainer,
  .message-input-area #editorContainer { width: 100%; display: block !important; }
  .ql-toolbar.ql-snow .ql-formats:last-child { margin-left: auto !important; padding-left: 6px !important; }
  .discussion-modal .ql-container,
  .message-input-area .ql-container { border-radius: 0 0 var(--radius-md) var(--radius-md) !important; font-size: 16px !important; }
  .discussion-modal .ql-editor,
  .message-input-area .ql-editor { font-size: 16px !important; min-height: 50px; max-height: 120px; }
}

@media (max-width: 380px) {
  .ql-toolbar.ql-snow .ql-formats { margin-right: 4px !important; margin-bottom: 4px !important; }
  .ql-toolbar .ql-formats:nth-child(3) { display: none !important; }
}

/* ========== QUILL TOOLTIP FIX ========== */
.ql-tooltip {
  position: fixed !important;
  z-index: 100000 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  top: auto !important;
  bottom: auto !important;
}
.ql-tooltip.ql-flip {
  bottom: auto !important;
  top: 50% !important;
  transform: translateX(-50%) translateY(-50%) !important;
}
@media (max-width: 768px) {
  .ql-tooltip { max-width: 90vw !important; left: 5vw !important; right: 5vw !important; transform: none !important; }
  .ql-tooltip input[type="text"] { width: 100% !important; font-size: 16px !important; }
}
.message-input-area .ql-tooltip { bottom: 100px !important; top: auto !important; }

/* === QUILL: fix pro všechna rozlišení === */
.ql-toolbar.ql-snow {
  position: relative !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  padding-right: 56px !important;
}
.ql-toolbar.ql-snow .ql-formats:last-child {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  padding-left: 10px !important;
  border-left: 1px solid var(--line-c) !important;
  margin: 0 !important;
  z-index: 3 !important;
}
.ql-toolbar .ql-send { position: static !important; top: auto !important; transform: none !important; }

@media (max-width: 1024px) {
  .ql-toolbar.ql-snow .ql-formats:last-child { right: 8px !important; top: 50% !important; transform: translateY(-50%) !important; }
}
@media (max-width: 768px) {
  body .discussion-modal-body .discussion-content .message-input-area #editorContainer .ql-toolbar.ql-snow { padding-right: 52px !important; }
}

/* === FIX: Quill toolbar stabilní layout === */
.ql-toolbar.ql-snow.ql-editing .ql-formats:last-child,
.ql-toolbar.ql-snow .ql-formats:last-child { position: absolute !important; right: 8px !important; }
@media (max-width: 768px) {
  .ql-toolbar.ql-snow { padding-right: 52px !important; }
  .ql-toolbar.ql-snow .ql-formats:last-child { right: 4px !important; }
}

/* ============================================================= */
/* SELECT2 STYLY */
/* ============================================================= */
select.projekty-select[multiple]:not(.select2-hidden-accessible),
select#projekt_ids[multiple]:not(.select2-hidden-accessible),
select#select-projekty[multiple]:not(.select2-hidden-accessible),
select#specialiste-vyhledavani[multiple]:not(.select2-hidden-accessible),
select#projekty-vyhledavani[multiple]:not(.select2-hidden-accessible),
select#support_projekty_select[multiple]:not(.select2-hidden-accessible),
select#hledat_projekt_kv[multiple]:not(.select2-hidden-accessible) {
  display: block !important;
  height: var(--control-height) !important;
  min-height: var(--control-height) !important;
  max-height: var(--control-height) !important;
  opacity: 0;
  overflow: hidden !important;
}

.select2-container {
  min-height: var(--control-height);
  width: 100% !important;
}
.select2-container--open { z-index: 10020; }

.select2-container--default .select2-selection--multiple {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: var(--control-height);
  padding: 6px 30px 6px 10px;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  font-size: 12px;
  overflow: visible;
  background-color: var(--surface);   /* background-color, ať nepřepíše tečku filtru */
}
.select2-container--default .select2-selection--single {
  box-sizing: border-box;
  height: var(--control-height);
  min-height: var(--control-height);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  background-color: var(--surface);
  color: var(--text);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: calc(var(--control-height) - 2px);
  padding-left: 12px;
  padding-right: 32px;
  /* Ořezat dlouhý text, ať single-select nerozšiřuje grid/flex (jinak rozbije layout řádku). */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  box-sizing: border-box;
  /* Barva a velikost jako multiselect/.filter-select (select2 default dával #444 = šedý a větší). */
  color: var(--text) !important;
  font-size: 13px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: calc(var(--control-height) - 2px);
}
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
  background-color: #ffffff;
}
html.theme-dark .select2-container--default .select2-selection--multiple,
html.theme-dark .select2-container--default .select2-selection--single {
  background-color: #181412;
}
/* Zašedlý (disabled) Select2 v tmavém režimu - světlý řeší vendor default, ale tmavý override výše ho přebíjí,
   takže disabled by jinak vypadal stejně jako aktivní. Ztlum ho, ať je „zašednutí" vidět i v dark skinu. */
html.theme-dark .select2-container--disabled .select2-selection--single,
html.theme-dark .select2-container--disabled .select2-selection--multiple {
  background-color: #221d1a;
  opacity: .55;
  cursor: not-allowed;
}
.select2-container--default .select2-selection--multiple .select2-search__field { font-size: 12px; color: var(--text); }
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft);
}
.select2-container--default .select2-selection--multiple .select2-selection__clear {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 9px !important;
  height: 9px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--accent) !important;
  background-color: var(--accent) !important;
  color: var(--on-accent) !important;
  font-size: 0 !important;
  font-weight: 700;
  line-height: 1;
  opacity: 1 !important;
  overflow: hidden !important;
  transform: translateY(-50%) !important;
  transition: background-color .18s ease, color .18s ease;
}
.select2-container--default .select2-selection--multiple .select2-selection__clear::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;
  -webkit-mask: center / 5px 5px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2L8 8M2 8L8 2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
  mask: center / 5px 5px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2L8 8M2 8L8 2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
}
.select2-container--default .select2-selection--multiple .select2-selection__clear:hover,
.select2-container--default .select2-selection--multiple .select2-selection__clear:focus {
  background: #ece7e1 !important;
  background-color: #ece7e1 !important;
  color: #050505 !important;
}
/* Obsah multiselectu vertikálně na střed (placeholder i vybrané pilulky).
   display:contents - pilulky i inline search tečou v JEDNOM flex řádku selectionu
   (jinak prázdný <ul> drží vlastní výšku a widget se nafoukne). */
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: contents;
}
.select2-container--default .select2-selection--multiple .select2-search--inline,
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
  margin-top: 0;
  margin-bottom: 0;
}
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
  height: 22px;
  line-height: 22px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  background-color: var(--accent);
  border: 1px solid var(--accent);
  border-radius: var(--radius-pill);
  color: #fff;
  font-size: 11px;
  padding: 2px 9px !important;
  margin: 2px;
  line-height: 1.2;
  vertical-align: middle;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  display: inline-flex;
  align-items: center;
  min-height: 16px;
  line-height: 1.2;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  position: relative !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--on-accent);
  font-size: 0;
  font-weight: 700;
  line-height: 1;
  background: var(--accent) !important;
  background-color: var(--accent) !important;
  cursor: pointer;
  opacity: 1 !important;
  overflow: hidden !important;
  transition: background-color .18s ease, color .18s ease;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;
  -webkit-mask: center / 5px 5px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2L8 8M2 8L8 2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
  mask: center / 5px 5px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2L8 8M2 8L8 2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove span {
  display: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus {
  background: #ece7e1 !important;
  background-color: #ece7e1 !important;
  border-radius: 50% !important;
  color: #050505 !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover::before,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus::before {
  color: #050505 !important;
}

.select2-dropdown {
  z-index: 10020;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  font-size: 12px;
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow-1);
}
html.theme-dark .select2-dropdown {
  background: rgba(18, 14, 12, .98);
}
.select2-search--dropdown .select2-search__field {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--line-c);
  border-radius: 6px;
}
.select2-results__option { font-size: 12px; padding: 5px 8px; color: var(--text) !important; }
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option--selected {
  background-color: var(--accent) !important;
  color: var(--on-accent) !important;
}
.select2-results__option--highlighted[aria-selected] { background-color: var(--accent); color: #fff !important; }

.tabulka .select2-container { min-width: 220px !important; }
.tabulka .select2-container--default .select2-selection--multiple { min-height: 28px; font-size: 11px; }
.tabulka .select2-container--default .select2-selection--multiple .select2-selection__choice { font-size: 10px; padding: 1px 6px !important; }

@media (max-width: 768px) {
  .select2-container { width: 100% !important; max-width: 100% !important; }
}

/* ── Picker měsíc + rok (sdílený helper mimedataVyberMesiceRokuHtml) ──
   Renderuje se přes select2 (stejný skin jako ostatní dropdowny = červené
   zvýraznění při najetí) a je responzivní: šířku řídí flex wrappery níže,
   select2 kontejner je jen vyplní. */
/* wrap = na širokém prostoru měsíc+rok vedle sebe, na úzkém (mobil) měsíc SKOČÍ
   na další řádek nad/pod rok místo scvrknutí na „Čer…". Práh zlomu ~242px (basis
   140+96+gap). Definitivní width:264px (ne obsahová) je nutná, protože select2
   kontejnery mají width:100% → jinak by se picker v nested-flexu (vedle #saveStatus
   v index.php) zhroutil na šířku textu a lámal se předčasně i na desktopu.
   max-width:100% + .tabulka--form override = responzivní. */
.vyber-mesic-rok { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 264px; max-width: 100%; }
.vyber-mesic-rok .vmr-wrap { min-width: 0; }
.vyber-mesic-rok .vmr-wrap--mesic { flex: 1 1 140px; max-width: 190px; }
.vyber-mesic-rok .vmr-wrap--rok { flex: 1 1 96px; max-width: 128px; }
/* přebít .tabulka .select2-container { min-width:220px !important } (picker je uvnitř .tabulka) */
.vyber-mesic-rok .vmr-wrap .select2-container { width: 100% !important; min-width: 0 !important; }
/* fallback, kdyby se select2 nenačetl: nativní select vyplní wrapper */
.vyber-mesic-rok .vmr-mesic, .vyber-mesic-rok .vmr-rok { width: 100%; box-sizing: border-box; }

/* ── Formulářové layout tabulky (label | pole) na mobilu ──
   Značka .tabulka--form (helper vypisBufferovanouTabulku). Na rozdíl od datových
   tabulek (mají <thead> + vodorovný scroll) se formulář na úzké obrazovce skládá
   pod sebe, aby nepřetékal a nescrolloval doprava. */
@media (max-width: 768px) {
  /* odsazení formuláře od okraje obrazovky (jinak jsou pole nalepená vlevo) */
  .tabulka--form { padding-left: 16px; padding-right: 16px; box-sizing: border-box; max-width: 100%; }
  .tabulka--form table,
  .tabulka--form tbody,
  .tabulka--form tr,
  .tabulka--form td { display: block; width: 100%; box-sizing: border-box; }
  .tabulka--form tr { margin: 0 0 14px; }
  .tabulka--form td { padding: 2px 0; border: none; text-align: left; vertical-align: top; }
  .tabulka--form td:first-child { font-weight: 600; padding-bottom: 4px; }
  .tabulka--form input[type="text"],
  .tabulka--form input[type="email"],
  .tabulka--form input[type="password"],
  .tabulka--form input[type="number"],
  .tabulka--form input[type="date"],
  .tabulka--form textarea,
  .tabulka--form select:not(.select2-hidden-accessible) { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
  .tabulka--form .vyber-mesic-rok { width: 100%; }
}

/* ============================================================================== */
/* SPRÁVCE SOUBORŮ + NÁHLEDY */
/* ============================================================================== */
.file-thumbnail-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--radius-sm);
}
.file-thumbnail-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; }

.file-thumbnail-placeholder {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--surface-2) 0%, var(--surface-3) 100%);
  border: 2px dashed var(--line-c);
  border-radius: var(--radius-sm);
}
.file-image-icon { width: 48px; height: 48px; color: var(--text-3); opacity: .7; }

.file-preview-btn {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 1px solid var(--accent);
  border-radius: 50%;
  background: var(--accent);
  color: white;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
  z-index: 10;
  font-weight: bold;
}
.file-preview-btn:hover { background: #fff; color: var(--accent); box-shadow: 0 3px 8px rgba(0, 0, 0, .3); transform: scale(1.15); }
.file-preview-btn:active { transform: scale(.9); }

.large-image-preview-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .85);
  backdrop-filter: blur(6px);
  z-index: 10002;
  align-items: center;
  justify-content: center;
  animation: fadeIn .3s ease;
}
.large-image-preview-overlay.active { display: flex; }
.large-image-preview-overlay.is-closing { display: flex; animation: fadeOut .22s ease forwards; }

.large-image-preview-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-1);
  animation: slideUp .3s ease;
}
.large-image-preview-overlay.is-closing .large-image-preview-content { animation: slideDownOut .22s ease forwards; }

.large-image-preview-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--line-c);
  gap: 10px;
  flex-wrap: wrap;
}
.large-image-preview-filename { font-weight: 600; color: var(--text); word-break: break-word; flex: 1; }
.large-image-preview-size {
  font-size: 12px;
  color: var(--text-2);
  background: var(--surface-3);
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
}
.large-image-preview-img { max-width: 100%; max-height: calc(90vh - 60px); object-fit: contain; display: block; }

.large-image-preview-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  padding: 0;
  background: rgba(18, 18, 18, .72);
  color: white;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .35);
  transition: background-color .2s ease, box-shadow .2s ease;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.large-image-preview-close:hover { background: rgba(0, 0, 0, .9); box-shadow: 0 8px 22px rgba(0, 0, 0, .42); }
.large-image-preview-close:active { box-shadow: 0 4px 12px rgba(0, 0, 0, .32); }

@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideDownOut { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(18px); } }

/* Sdílený nástup/výstup velkých popup oken */
.mime-modal-overlay-motion { animation: fadeIn .2s ease both; }
.mime-modal-surface-motion { animation: slideUp .3s ease both; }
.mime-modal-overlay-motion.is-closing { animation: mimeModalOverlayOut .18s ease both; }
.mime-modal-overlay-motion.is-closing .mime-modal-surface-motion,
.mime-modal-surface-motion.is-closing { animation: mimeModalSurfaceOut .18s ease both; }
@keyframes mimeModalOverlayOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes mimeModalSurfaceOut { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(18px); } }
@media (prefers-reduced-motion: reduce) {
  .mime-modal-overlay-motion,
  .mime-modal-surface-motion,
  .mime-modal-overlay-motion.is-closing,
  .mime-modal-overlay-motion.is-closing .mime-modal-surface-motion,
  .mime-modal-surface-motion.is-closing { animation: none !important; }
}

/* Animovaný odkaz na externí systém (logo se při najetí zvětší a pootočí) - sdílené
   napříč stránkami. Vzor: task-external-link v projekty/index.php.
   Použij <a class="caflou-ikona-odkaz"> pro Caflou, <a class="hub-ikona-odkaz"> pro mime hub,
   uvnitř <img> loga. Animace je pro obě stejná, ať se ikony v řádku chovají jednotně.
   POZOR: `display: inline-block` je nutnost - na `display: inline` se transform nevykreslí. */
.caflou-ikona-odkaz,
.hub-ikona-odkaz {
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  line-height: 0;
  transition: transform 0.2s ease;
}
.caflou-ikona-odkaz img,
.hub-ikona-odkaz img {
  display: block;
}
.caflou-ikona-odkaz:hover,
.caflou-ikona-odkaz:focus-visible,
.hub-ikona-odkaz:hover,
.hub-ikona-odkaz:focus-visible {
  transform: scale(1.3) rotate(45deg);
}
/* Logo mime hubu má dvě varianty, přepínají se podle motivu (stejně jako .brand-logo
   v hlavičce). Ve světlém motivu svítí `logo_hub_svetle`, v tmavém `logo_hub_tmave`. */
.hub-ikona-odkaz .hub-logo-tmave {
  display: none;
}
html.theme-dark .hub-ikona-odkaz .hub-logo-svetle {
  display: none;
}
html.theme-dark .hub-ikona-odkaz .hub-logo-tmave {
  display: block;
}

/* ===== Sdílený popup/modal (mime-modal) =====
   JEDNOTNÉ vyskakovací okno pro celý projekt: overlay + povrch + hlavička s křížkem
   (+ volitelný iframe obsah). Vzhled 1:1 dle schváleného popupu „Nový klient".
   Otevírání/zavírání řeší globální JS ve scripty.js: trigger [data-mime-modal-open="#idOverlaye"]
   (volitelně data-popup-url pro iframe), zavírání [data-mime-modal-close] / klik na overlay / Escape.
   Nedělej si vlastní modal - použij tyhle třídy (motion třídy výše se přidávají vedle nich). */
body.mime-modal-open { overflow: hidden; }

.mime-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(12, 18, 28, 0.62);
  backdrop-filter: blur(5px);
}
.mime-modal-overlay[hidden] { display: none; }

.mime-modal {
  width: min(720px, 100%);
  height: auto;
  max-height: calc(100vh - 44px);
  max-height: calc(100dvh - 44px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-1);
}
html.theme-dark .mime-modal { background: #151312; }

.mime-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  background: linear-gradient(135deg, #ffffff 0%, #f6f2ee 100%);
  border-bottom: 1px solid var(--line-c);
}
html.theme-dark .mime-modal-header { background: linear-gradient(135deg, #151312 0%, #201c19 100%); }
.mime-modal-header h3 { margin: 0; }
.mime-modal-header p { margin: 6px 0 0; color: var(--text-2); }

.mime-modal-close {
  position: relative;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: block;
  border: 1px solid var(--line-c);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  color: var(--text);
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  padding: 0;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.mime-modal-close::before,
.mime-modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: currentColor;
  transform-origin: center;
}
.mime-modal-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.mime-modal-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.mime-modal-close:hover,
.mime-modal-close:focus-visible {
  background: var(--surface);
  border-color: var(--cervena);
  color: var(--cervena);
}

.mime-modal-body { flex: 1 1 auto; min-height: 0; overflow: auto; }
.mime-modal-body--iframe {
  flex: 0 1 auto;
  overflow: hidden;
  height: min(520px, calc(100vh - 136px));
  height: min(520px, calc(100dvh - 136px));
}
.mime-modal-body iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--surface);
}

@media (max-width: 720px) {
  .mime-modal-overlay { padding: 10px; }
  .mime-modal {
    width: 100%;
    height: calc(100vh - 20px);
    height: calc(100dvh - 20px);
    max-height: none;
  }
  .mime-modal-body,
  .mime-modal-body--iframe {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
  }
  .mime-modal-header { padding: 16px; }
}

/* Shell stránky vykreslené UVNITŘ iframe popupu (?popup=1): skryje layout (header/nav/footer),
   vynuluje odsazení a roztáhne formulářovou tabulku (#configForm) do mřížky popisek | pole. */
html.mime-popup-page,
html.mime-popup-page body {
  min-height: 100%;
  background: var(--surface);
  scroll-padding-top: 0 !important;
}
html.mime-popup-page body { margin: 0; color: var(--text); }
html.mime-popup-page body::before { content: none !important; display: none !important; }
html.mime-popup-page header,
html.mime-popup-page nav,
html.mime-popup-page footer,
html.mime-popup-page #mobile-fullscreen { display: none !important; }
html.mime-popup-page section { margin: 0 !important; padding: 0 !important; }
html.mime-popup-page article { margin: 0 !important; padding: 14px 16px 18px !important; min-height: 0; }
html.mime-popup-page .mime-popup-shell { padding: 14px 16px 18px; }
html.mime-popup-page article > .eyebrow { display: none; }
html.mime-popup-page #vycentrovani-formulare {
  align-items: stretch;
  min-height: auto;
  width: 100%;
}
html.mime-popup-page h1 { margin-top: 0; }
html.mime-popup-page #configForm { width: 100%; }
html.mime-popup-page #configForm .tabulka-shell,
html.mime-popup-page #configForm .tabulka-obal,
html.mime-popup-page #configForm .tabulka {
  width: 100%;
  max-width: none;
}
html.mime-popup-page #configForm .tabulka {
  overflow: visible;
  max-height: none;
  background: transparent;
}
html.mime-popup-page #configForm .tabulka table,
html.mime-popup-page #configForm .tabulka tbody {
  display: block;
  width: 100%;
}
html.mime-popup-page #configForm .tabulka tr {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  border-bottom: 1px solid var(--line-soft);
}
html.mime-popup-page #configForm .tabulka tr:last-child { border-bottom: 0; }
html.mime-popup-page #configForm .tabulka td,
html.mime-popup-page #configForm .tabulka td:first-child {
  position: static !important;
  display: block;
  min-width: 0 !important;
  width: auto !important;
  padding: 9px 12px;
  border: 0;
  font-size: 13px;
  background: transparent !important;
}
html.mime-popup-page #configForm .tabulka td:first-child {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: var(--surface-2) !important;
  border-right: 1px solid var(--line-soft);
  font-weight: 650;
}
html.mime-popup-page #configForm input[type="text"],
html.mime-popup-page #configForm select:not(.select2-hidden-accessible),
html.mime-popup-page #configForm .select2-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
html.mime-popup-page #configForm .center-container { margin-top: 16px; }
@media (max-width: 640px) {
  html.mime-popup-page article { padding: 12px !important; }
  html.mime-popup-page #configForm .tabulka tr { display: block; }
  html.mime-popup-page #configForm .tabulka td:first-child {
    width: 100%;
    min-width: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-soft);
  }
}

@media (max-width: 768px) {
  .large-image-preview-content { max-width: 95%; max-height: 95%; }
  .large-image-preview-img { max-height: calc(95vh - 50px); }
  .large-image-preview-info { flex-direction: column; align-items: flex-start; }
  .large-image-preview-size { align-self: flex-start; }
}

/* Quill header picker doplňky */
.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]::before { content: attr(data-label) !important; }
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="small"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="small"]::before { font-size: 12px !important; }

/* Emoji picker */
.mime-quill-emoji-picker {
  position: fixed;
  display: none;
  z-index: 10002;
  min-width: 260px;
  max-height: 220px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-1);
  padding: 6px;
}
.mime-quill-emoji-picker.show { display: block; }
.mime-quill-emoji-suggestion {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  cursor: pointer;
}
.mime-quill-emoji-suggestion:hover,
.mime-quill-emoji-suggestion.selected { background: var(--surface-2); }
.mime-quill-emoji-icon { font-size: 19px; }
.mime-quill-emoji-name { font-weight: 600; color: var(--text); }
.mime-quill-emoji-shortcode { color: var(--text-3); font-size: 12px; }

.mime-quill-emoji-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  display: none;
  flex-direction: column;
  width: min(520px, calc(100vw - 32px));
  max-height: min(620px, calc(100vh - 32px));
  transform: translate(-50%, -50%);
  z-index: 10002;
  background: var(--surface);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.mime-quill-emoji-panel.show { display: flex; }
.mime-quill-emoji-panel-header { display: flex; gap: 10px; padding: 14px; border-bottom: 1px solid var(--line-soft); }
.mime-quill-emoji-search { flex: 1; border: 1px solid var(--line-c); border-radius: var(--radius-sm); padding: 10px 12px; background: var(--surface); color: var(--text); }
.mime-quill-emoji-close { border: none; background: var(--surface-2); color: var(--text); border-radius: var(--radius-sm); width: 40px; cursor: pointer; }
.mime-quill-emoji-categories { display: flex; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--line-soft); }
.mime-quill-emoji-category { border: none; background: var(--surface-2); color: var(--text); border-radius: var(--radius-pill); padding: 8px 12px; cursor: pointer; }
.mime-quill-emoji-category.active { background: var(--accent); color: #fff; }
.mime-quill-emoji-panel-content { overflow-y: auto; padding: 14px; }
.mime-quill-emoji-section-title { margin: 0 0 10px; font-weight: 700; color: var(--text); }
.mime-quill-emoji-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 8px; }
.mime-quill-emoji-item {
  min-height: 42px;
  border: 1px solid var(--line-soft);
  background: var(--surface);
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 22px;
}
.mime-quill-emoji-item:hover { background: var(--surface-2); border-color: var(--accent-mid); }
.mime-quill-emoji-panel-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-top: 1px solid var(--line-soft);
  color: var(--text-3);
  font-size: 12px;
}

/* Files dialog */
.files-dialog {
  --files-dialog-surface: #ffffff;
  --files-dialog-surface-2: #f6f2ee;
  background: var(--files-dialog-surface);
  color: var(--text);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-lg);
  padding: 0;
  width: 90%;
  max-width: 700px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
html.theme-dark .files-dialog {
  --files-dialog-surface: #151312;
  --files-dialog-surface-2: #201c19;
}
.files-dialog h2 {
  margin: 0;
  padding: 20px;
  background: linear-gradient(135deg, var(--accent) 0%, #6f2015 100%);
  color: white;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  font-size: 20px;
  letter-spacing: -.03em;
}
.files-dialog-tabs { display: flex; border-bottom: 1px solid var(--line-c); background: var(--files-dialog-surface-2); }
.files-dialog .tab-btn {
  flex: 1;
  padding: 12px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-2);
  transition: all .2s;
}
.files-dialog .tab-btn:hover { background: var(--accent-soft); }
.files-dialog .tab-btn.active { color: var(--accent); border-bottom: 2px solid var(--accent); font-weight: 600; }
.files-dialog-content { flex: 1; overflow-y: auto; padding: 20px; background: var(--files-dialog-surface); }
.files-dialog .btn {
  padding: 8px 16px;
  border: none;
  border-radius: var(--radius-pill);
  font-size: 13px;
  cursor: pointer;
  transition: all .2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  line-height: 1.2;
  text-decoration: none;
}
.files-dialog .btn:disabled { opacity: .65; cursor: not-allowed; }

.upload-area { text-align: center; padding: 20px; }
.files-loading { text-align: center; padding: 40px; color: var(--text-3); }
.files-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 15px; }

.file-item {
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  padding: 10px;
  cursor: pointer;
  transition: all .2s;
  text-align: center;
  background: var(--surface);
}
.file-item:hover { border-color: var(--accent-mid); box-shadow: var(--shadow-sm); }
.file-item.file-item--disabled {
  position: relative;
  cursor: not-allowed;
  opacity: .52;
  filter: grayscale(.75);
}
.file-item.file-item--disabled:hover { border-color: var(--line-c); box-shadow: none; }
.file-item.selected { border-color: var(--accent); background: var(--accent-soft); }

.mime-disabled-file-tooltip {
  position: fixed;
  z-index: 12000;
  display: none;
  max-width: min(320px, calc(100vw - 24px));
  padding: 9px 11px;
  border-radius: var(--radius-sm);
  background: #101010;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  box-shadow: var(--shadow-sm);
  pointer-events: none;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .14s ease, transform .14s ease;
}
.mime-disabled-file-tooltip.is-visible { display: block; opacity: 1; transform: translateY(0); }

.file-thumbnail-wrapper,
.file-thumbnail-placeholder,
.file-icon {
  position: relative;
  display: flex;
  height: 80px;
  min-height: 80px;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  background: var(--surface-2);
  border-radius: 4px;
  overflow: hidden;
}
.file-thumbnail-wrapper img { width: 100%; height: 80px; object-fit: cover; border-radius: 4px; }
.file-thumbnail-placeholder { aspect-ratio: auto; border: 2px dashed var(--line-c); }
.file-image-icon { width: 48px; height: 48px; color: var(--text-3); opacity: .7; }
.file-preview-btn {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, .72);
  color: #fff;
  cursor: pointer;
  line-height: 1;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.file-name {
  margin-top: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.2;
}
.file-info { margin-top: 4px; color: var(--text-2); font-size: 11px; }
.files-dialog-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 20px;
  border-top: 1px solid var(--line-c);
  background: var(--files-dialog-surface-2);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}
.btn-close-dialog {
  margin-left: auto;
  padding: 8px 16px;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.files-dialog-footer button:only-child { margin-left: auto; }

.message-body img,
.dokumenty-document-body img { cursor: zoom-in; }

/* Login formulář v menu (nepřihlášený stav) */
.login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat,
.login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:link,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:link,
.login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:visited,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:visited,
.login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:hover,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:hover,
.login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:focus,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:focus,
.login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:active,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:active {
  box-sizing: border-box !important;
  display: inline-flex !important;
  font-size: 13px !important;
  text-decoration: none !important;
  text-transform: lowercase !important;
  width: 100% !important;
}
nav .login-menu-form button.tlacitko-odeslat {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
}
nav .login-menu-form .login-turnstile-cell { padding: 10px 0 6px; text-align: center; }
nav .login-menu-form .login-turnstile-cell .cf-turnstile {
  display: block;
  width: 100%;
  min-height: 65px;
  max-width: 100%;
  overflow: visible;
}
nav .login-menu-form .login-turnstile-cell .cf-turnstile > div { margin: 0 auto; max-width: 100%; }
nav .login-menu-form div::before,
nav .login-menu-form .login-turnstile-cell div::before,
nav .login-menu-form .login-turnstile-cell iframe::before { content: none !important; display: none !important; }
nav .login-menu-form .login-turnstile-error { color: var(--accent); font-size: 12px; margin: 6px 0; text-align: center; }
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat::before,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:hover::before,
nav .login-menu-form a#resetHeslaLoginButton.tlacitko-odeslat:focus::before { content: none !important; display: none !important; }

.dvoufaktor-captcha .cf-turnstile,
#reset_hesla_formular .cf-turnstile {
  display: block;
  max-width: 100%;
  min-height: 65px;
  overflow: visible;
}

.dvoufaktor-captcha .cf-turnstile > div,
#reset_hesla_formular .cf-turnstile > div {
  margin: 0 auto;
  max-width: 100%;
}

@media (max-width: 768px) {
  .dvoufaktor-captcha .cf-turnstile,
  #reset_hesla_formular .cf-turnstile {
    min-height: 145px;
  }
}

/* Hláška o dočasné blokaci přihlášení (chyba.php) - automaticky light/dark přes tokeny */
.login-blokace-hlaska {
  max-width: 640px;
  margin: 0 0 18px;
  padding: 12px 16px;
  border: 1px solid var(--err-bd);
  border-radius: var(--radius-sm);
  background: var(--err-bg);
  color: var(--err);
  font-weight: 600;
}

/* Tlačítko "odhlásit se" v menu: červené jako .mime-button-red ("Zrušit").
   Menu má PEVNÉ pozadí nehledě na skin → i barvy tlačítka jsou pevné (světlý skin) a v obou
   režimech TOTOŽNÉ. Záměrně netokenizované (--accent-2 apod. by se v dark flipnul). */
nav .odhlaseni-wrapper button.tlacitko-odeslat,
nav .odhlaseni-wrapper button.tlacitko-odeslat:link,
nav .odhlaseni-wrapper button.tlacitko-odeslat:visited {
  background: #983023 !important;
  border: 1px solid #983023 !important;
  color: #fff !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  font-size: 13px !important;
  width: auto !important;
  min-width: 0 !important;
}
nav .odhlaseni-wrapper button.tlacitko-odeslat:hover,
nav .odhlaseni-wrapper button.tlacitko-odeslat:focus {
  background: #7a2318 !important;
  border-color: #7a2318 !important;
  color: #fff !important;
}
nav .odhlaseni-wrapper button.tlacitko-odeslat::before,
nav .odhlaseni-wrapper button.tlacitko-odeslat:hover::before,
nav .odhlaseni-wrapper button.tlacitko-odeslat:focus::before { content: none !important; display: none !important; }

/* Dvoufázové ověření (registrace/prihlaseni_2fa.php) - vlevo, ve sloupci, v bublině .ramecek:
   kód → captcha → ověřit a přihlásit → poslat nový kód. */
.dvoufaktor-wrap { text-align: center; }               /* vycentruje nadpis i bublinu na střed */
.dvoufaktor-box { display: inline-block; max-width: 560px; text-align: left; }  /* bublina na střed, obsah uvnitř vlevo */
.dvoufaktor-info { color: var(--text-2); margin: 0 0 14px; }
.dvoufaktor-uspech { margin: 0 0 14px; padding: 10px 14px; border: 1px solid var(--ok-bd); border-radius: var(--radius-sm); background: var(--ok-bg); color: var(--ok); font-weight: 600; }
.dvoufaktor-label { display: block; margin: 6px 0 8px; font-weight: 600; text-align: center; }
.dvoufaktor-radek { display: flex; flex-direction: column; gap: 16px; align-items: center; flex-wrap: wrap; margin: 4px 0 6px; text-align: center; }
.dvoufaktor-radek #kod { flex: 0 0 auto; }
.dvoufaktor-captcha {
  flex: 0 1 auto;
  margin: 0;
  min-width: 140px;
  text-align: center;
}
.dvoufaktor-captcha .cf-turnstile { width: 100%; margin-left: auto; margin-right: auto; }
.dvoufaktor-akce { margin-top: 14px; text-align: center; }
.dvoufaktor-znovu { margin-top: 12px; text-align: center; }
.dvoufaktor-akce .tlacitko-odeslat,
.dvoufaktor-znovu .mime-button-red { display: inline-block; width: auto; }
#kod { letter-spacing: 6px; text-align: center; font-size: 18px; width: 160px; }

@media (max-width: 768px) {
  .dvoufaktor-radek {
    justify-content: center;
    text-align: center;
  }

  .dvoufaktor-radek #kod {
    margin-left: auto;
    margin-right: auto;
  }

  .dvoufaktor-captcha {
    flex: 1 1 100%;
    min-width: 0;
    text-align: center;
  }

  .dvoufaktor-captcha .cf-turnstile {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Shortcode generátor */
.shortcode-generator-help-toggle { caret-color: transparent; gap: 8px; margin: 0 0 12px; user-select: none; }
.shortcode-generator-help-arrow::before { content: "\25B2"; display: inline-block; font-size: 11px; line-height: 1; }
.shortcode-generator-help-toggle[aria-expanded="true"] .shortcode-generator-help-arrow::before { content: "\25BC"; }

.shortcode-generator-intro {
  margin: 0;
  max-width: 980px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .35s ease, opacity .35s ease, margin .35s ease;
  visibility: hidden;
}
.shortcode-generator-intro.is-open { margin: 0 0 24px; max-height: 1800px; opacity: 1; visibility: visible; }
.shortcode-generator-intro h2 { margin: 22px 0 8px; }
.shortcode-generator-intro p { margin: 0 0 12px; }
.shortcode-generator-intro figure { margin: 12px 0 18px; }
.shortcode-generator-intro figure img {
  border: 1px solid var(--line-c);
  border-radius: var(--radius-md);
  display: block;
  height: auto;
  max-width: 100%;
  width: 70%;
}

.shortcode-generator-code-wrap { align-items: stretch; display: flex; gap: 10px; margin: 10px 0 14px; max-width: 100%; }
.shortcode-generator-code {
  background: var(--surface-2);
  border: 1px solid var(--line-c);
  border-radius: var(--radius-sm);
  box-sizing: border-box;
  flex: 1 1 auto;
  font-size: 13px;
  font-family: var(--mono);
  line-height: 1.5;
  margin: 0;
  max-width: 100%;
  overflow-x: auto;
  padding: 14px;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text);
}
.shortcode-generator-code-wrap .mime-button-black { flex: 0 0 auto; }

#shortcode-generator { display: flex; flex-direction: column; min-height: 75vh; }
#shortcode-generator .controls { border-bottom: 1px solid var(--line-c); display: flex; gap: 10px; padding: 10px 0; width: 100%; }
#shortcode-generator .controls input { flex: 1; font-family: var(--mono); font-size: 14px; min-width: 0; padding: 8px; }
#shortcode-generator .controls .mime-button-black { flex: 0 0 auto; white-space: nowrap; }
#shortcode-generator .panes { display: flex; flex: 1; height: 60vh; min-height: 60vh; width: 100%; }
#shortcode-generator textarea,
#shortcode-generator #output {
  border: none;
  box-sizing: border-box;
  display: block;
  font-family: var(--mono);
  font-size: 14px;
  height: 100%;
  min-height: 60vh;
  outline: none;
  overflow-y: auto;
  padding: 20px;
  white-space: pre-wrap;
  width: 50%;
  background: var(--surface);
  color: var(--text);
}
#shortcode-generator textarea { border-right: 1px solid var(--line-c); border-radius: 0; }
#shortcode-generator #output.preview-mode { font-family: inherit; white-space: normal; }
#shortcode-generator img { height: auto; max-width: 100%; }

@media (max-width: 900px) {
  .shortcode-generator-intro figure img { width: 100%; }
  .shortcode-generator-code-wrap { flex-direction: column; }
  .shortcode-generator-code-wrap .mime-button-black { width: 100%; }
  #shortcode-generator .controls,
  #shortcode-generator .panes { flex-direction: column; }
  #shortcode-generator .controls .mime-button-black { width: 100%; }
  #shortcode-generator textarea,
  #shortcode-generator #output { height: auto; min-height: 280px; width: 100%; }
  #shortcode-generator .controls input { box-sizing: border-box; width: 100%; }
  #shortcode-generator textarea { border-bottom: 1px solid var(--line-c); border-right: none; }
}

/* ========== 10. IKONY MENU (CSS masky, data-URI) ========== */
/* Ikony menu jako data-URI masky - nezávislé na cestě a na file:// omezeních.
   Generováno z mask-*.png (skript ikony/mkcss.php). Barvu řídí currentColor položky. */
.nav-ico.i-app { -webkit-mask-image:url("data:image/png;base64,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"); mask-image:url("data:image/png;base64,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"); }
.nav-ico.i-folder { -webkit-mask-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEc0lEQVR4nO3dT6hUZRzG8e8dLiIXCRFpJbYRu1FUiIv+QElQWOQiyNpVZFHQLoh2QSuLNrVLQsGCCkIoqWhlBWIgJSRh1qI/LlyESEhIXIa5LX7euE7v5Nx7fmfOnfd5PiDCHHjP69zvzLzn3JF3ZnFxEdPV63oC1i0HIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOJmWxr3IWAPsB3Y0OJ5liwAl4FTwAdX/rYxzCT/z6AdwEHg9sxBV2gAfA7sA/7ocB5TITOAJ4ADwPqsARs6BzyC3w3+V1YAdwBfA+syBkt0FrgbuNj1RNaqjEXgLPAOa++HDzAPvN71JNayjHeAR4GPRhy7DJxpeoIx9IBbGb3YvIH4SLAhGavzvSMePwY8DlxIOMc45oH3gJ2FY08BH05oHiuxAJy/8ncnMt4BfiSe/OUuAjcyuR/+kh3AdxM+ZxN94rm6BHxBvJMeJ65kJiIjgNIAp4Hbmg68Cj3gJ2BbB+fOcgx4gVjAtq62O4FL9wCm2X3AN8RldetqCwBGL0inyUbgMLF2aVWNAZxg8muPthwEdrd5grbv0XdhABwFni4cOwn8PNnpXNNW4splrnCsR9xjuZlYKKarMQCATygHcBZ4csJzGcdW4gf9QOHYFuLf8mYbJ67xIwDgK8qvmIcpv9K6dg54EHh7xPFn2zpxrQFcIi6nhm0C7prwXMY1AF4Cfikcmyd+tZ6u1gAAjox4fC/xG8u1+KdPrP6H9YB7VvEcXFNtN4KWux74lf++5S8Af05+OmNbD1xXePwosX5JnXvNAQB8CezqehKJLgAvA4eyBqz5IwDiaqAmm4l7A69kDVh7AB93PYGWvAo8nzFQ7QH8Brzf9SRa8gbxjtBIrTeClttHfF3t3q4nsko7KV8CbgCeAV5rMnjti8AarANeBPYXjp0gvvO4ag5gOswSX7wpfc9hpsnAta8BatEHvm1jYAcwPf5uY1AHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHMD02NjGoBkBlLY530LCbhb2rzli44hhC00HzgjgdOGxTcQu3o6guc3AW8SLatjxpoNnbBlzBHis8Pgu4HfgTMI5lG2nvI8gxIuskYwdQ3rA98AtTQeyFTkP3ETDXcUzPgIGxMZMjT+PbGx94DkStpTPugo4Sexw3cquFnaVPvGC+zRjsMzLwHeBO4FTiWPa1X4A7iee6xQZa4CS3cAeYtvzOWLrM1u5PvAXsaX8Z8QG0oPME7QVgE0J3wkU5wDEOQBxDkCcAxDnAMQ5AHEOQJwDEOcAxDkAcQ5AnAMQ5wDEOQBxDkCcAxDnAMQ5AHEOQJwDEOcAxDkAcf8AojKwf0sg62EAAAAASUVORK5CYII="); mask-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEc0lEQVR4nO3dT6hUZRzG8e8dLiIXCRFpJbYRu1FUiIv+QElQWOQiyNpVZFHQLoh2QSuLNrVLQsGCCkIoqWhlBWIgJSRh1qI/LlyESEhIXIa5LX7euE7v5Nx7fmfOnfd5PiDCHHjP69zvzLzn3JF3ZnFxEdPV63oC1i0HIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOJmWxr3IWAPsB3Y0OJ5liwAl4FTwAdX/rYxzCT/z6AdwEHg9sxBV2gAfA7sA/7ocB5TITOAJ4ADwPqsARs6BzyC3w3+V1YAdwBfA+syBkt0FrgbuNj1RNaqjEXgLPAOa++HDzAPvN71JNayjHeAR4GPRhy7DJxpeoIx9IBbGb3YvIH4SLAhGavzvSMePwY8DlxIOMc45oH3gJ2FY08BH05oHiuxAJy/8ncnMt4BfiSe/OUuAjcyuR/+kh3AdxM+ZxN94rm6BHxBvJMeJ65kJiIjgNIAp4Hbmg68Cj3gJ2BbB+fOcgx4gVjAtq62O4FL9wCm2X3AN8RldetqCwBGL0inyUbgMLF2aVWNAZxg8muPthwEdrd5grbv0XdhABwFni4cOwn8PNnpXNNW4splrnCsR9xjuZlYKKarMQCATygHcBZ4csJzGcdW4gf9QOHYFuLf8mYbJ67xIwDgK8qvmIcpv9K6dg54EHh7xPFn2zpxrQFcIi6nhm0C7prwXMY1AF4Cfikcmyd+tZ6u1gAAjox4fC/xG8u1+KdPrP6H9YB7VvEcXFNtN4KWux74lf++5S8Af05+OmNbD1xXePwosX5JnXvNAQB8CezqehKJLgAvA4eyBqz5IwDiaqAmm4l7A69kDVh7AB93PYGWvAo8nzFQ7QH8Brzf9SRa8gbxjtBIrTeClttHfF3t3q4nsko7KV8CbgCeAV5rMnjti8AarANeBPYXjp0gvvO4ag5gOswSX7wpfc9hpsnAta8BatEHvm1jYAcwPf5uY1AHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHIA4ByDOAYhzAOIcgDgHIM4BiHMA4hyAOAcgzgGIcwDiHMD02NjGoBkBlLY530LCbhb2rzli44hhC00HzgjgdOGxTcQu3o6guc3AW8SLatjxpoNnbBlzBHis8Pgu4HfgTMI5lG2nvI8gxIuskYwdQ3rA98AtTQeyFTkP3ETDXcUzPgIGxMZMjT+PbGx94DkStpTPugo4Sexw3cquFnaVPvGC+zRjsMzLwHeBO4FTiWPa1X4A7iee6xQZa4CS3cAeYtvzOWLrM1u5PvAXsaX8Z8QG0oPME7QVgE0J3wkU5wDEOQBxDkCcAxDnAMQ5AHEOQJwDEOcAxDkAcQ5AnAMQ5wDEOQBxDkCcAxDnAMQ5AHEOQJwDEOcAxDkAcf8AojKwf0sg62EAAAAASUVORK5CYII="); }
.nav-ico.i-hack { -webkit-mask-image:url("data:image/png;base64,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"); mask-image:url("data:image/png;base64,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"); }
.nav-ico.i-stat { -webkit-mask-image:url("data:image/png;base64,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"); mask-image:url("data:image/png;base64,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"); }
.nav-ico.i-bau { -webkit-mask-image:url("data:image/png;base64,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"); mask-image:url("data:image/png;base64,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"); }
.nav-ico.i-hr { -webkit-mask-image:url("data:image/png;base64,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"); mask-image:url("data:image/png;base64,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"); }
.nav-ico.i-user { -webkit-mask-image:url("data:image/png;base64,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"); mask-image:url("data:image/png;base64,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"); }

/* Ikona sekce Nastavení v levém menu (tři ozubená kola, maska jako ostatní nav ikony) */
.nav-ico.i-settings { -webkit-mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABHCAYAAACQwsCOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEw0lEQVR42u1bT0iUQRT/GZts4GERCaEIkUXEg1iELB6WJUI8SIhISIR0ihCJEOkQEZTIIh1ExENIdPDQISJDIkLCQwcJiwgJAwkvyRISi0hUaGwHd2EYv/nmzb9vdz+/B99l3ps3837f++a9eTMfEFFEEUUUUUQRRRRRRBFFxFASwDkBrxtAXQTRYaoDUPB43hX5XrzdCDYxOOwzJeHv6QxaEyLwbNAfACeOmuc1+HhSTOBtJWr04R0ZuigBIEb4TLUBPFbFwGUB5AGcBLDvI7dfXKpqABwn6H0KYBtAR5jXwIJlm7T1VaMH+kXLsw7GmwpzujIjWbtWBEGk20O2j+EvhjWwbCoYViA81P6h9L64IXgycH6HEUSKQTxAIxx/W2ErF2oABz34KaLRswS5jbADWADwyYf/SkFXp2SctbAAGJOsYSoec5mRfSsBMDR54D6Ar5Z0fef20yJ6EKYovKfggb0SXVuM7JhAT2m81rCugTy9t5TnlbVKM6qRIqQcpjG6MoGnMcs+yWqMkRv0kctaAPC2QPeqoL1eoGcmCAAbNDJ+kx0Cy8/5zOsjcYwE8WX1BrUmlZ55IljAQf2NCmLSg98p2NY1a7ygRgZU597nNakBTuaaggGDRDmdfW0WwBsANwX8OoOig9N9KQBMekzoroHupANjAwdPx8V7cHB+YUP3SEAAopIAdKW7lSDfAOB+udOVGIB0GQFMC2QzPimTl3c94/hNrgGMwayya3tNogaWDo+SFNt/OKjPVmZMj4MxBxRBpMhTnphtQ9YlA553uGRMS8Ze5eTjBMBFvOVKDRQJHC6hF4ptOtRInNMNRmaC47HzibsMGg8NATQ91KHovVMtpaNJhX6DGmtPrYL+R6iCs4qU5iTbIb/AmCi28XLtASwtrQCecBWYOIC5YjrjxPvWLRY8ZZUcV5/xuMdYeQA7Hu3jtgHMOgBPp0Ql6jPnI9dkkNIY0YSGYbYCg4xysH9DYccFiCp3iNssAtimCAhVbz/ha0nBcoDiBxL9GsBumdIa47D9NwQyp6F3lmGypFgBctdnI24r4b5F0MGeuYw5LE0p9accrLNe95kgX6sB4CmCzAcuyfeiv4L2BZ/1nb/asaCoW2lDL6J5jagteuvzCt4xIPkShgyqPEM4XOo3Wv8mJV5nK4jUKkRgdqws9M9SqP3qqQZtagDCyk8rgDdrOFafR9s9Tr6L4y8xvCWO1+WThC/peERGs/RF2Rp1cH2uaETteQEQOYE9XgdaW4KXuCsBV0grliLYqo/sP0uRMkXI73SvcRRsrYE2ylhfJAVaG3PLOQQwZwLguiUQbYAnAqnPwAMvuPDAhGFkbScAlzSM2HFB+y+uD3+438zwmiXZxjfQrw2Tg4nqdm0YwMvi06/YNy3YjfAv9WcAacyoKoAZBH+kSTU4o7Fum94Ic2LIngPw9iwYyz4tkujPrvEtLpwlj8o5WM/79DvjsJjQ7NLIStLd7QDALlSYkUHpFulht6orAdqlPRCbQM+VCcDS88Oj7TrKfL1tzWKB0+Y/ao+hf6jUGiSAoojsd3OfvVcTcxjhr2qAdwkBkcqk+qB+a8E2lbz7OdO2iDL/UNgD+785ZHBE6TX0L0S+qEaD/wPidCsqzyvkYQAAAABJRU5ErkJggg=="); mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABHCAYAAACQwsCOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEw0lEQVR42u1bT0iUQRT/GZts4GERCaEIkUXEg1iELB6WJUI8SIhISIR0ihCJEOkQEZTIIh1ExENIdPDQISJDIkLCQwcJiwgJAwkvyRISi0hUaGwHd2EYv/nmzb9vdz+/B99l3ps3837f++a9eTMfEFFEEUUUUUQRRRRRRBFFxFASwDkBrxtAXQTRYaoDUPB43hX5XrzdCDYxOOwzJeHv6QxaEyLwbNAfACeOmuc1+HhSTOBtJWr04R0ZuigBIEb4TLUBPFbFwGUB5AGcBLDvI7dfXKpqABwn6H0KYBtAR5jXwIJlm7T1VaMH+kXLsw7GmwpzujIjWbtWBEGk20O2j+EvhjWwbCoYViA81P6h9L64IXgycH6HEUSKQTxAIxx/W2ErF2oABz34KaLRswS5jbADWADwyYf/SkFXp2SctbAAGJOsYSoec5mRfSsBMDR54D6Ar5Z0fef20yJ6EKYovKfggb0SXVuM7JhAT2m81rCugTy9t5TnlbVKM6qRIqQcpjG6MoGnMcs+yWqMkRv0kctaAPC2QPeqoL1eoGcmCAAbNDJ+kx0Cy8/5zOsjcYwE8WX1BrUmlZ55IljAQf2NCmLSg98p2NY1a7ygRgZU597nNakBTuaaggGDRDmdfW0WwBsANwX8OoOig9N9KQBMekzoroHupANjAwdPx8V7cHB+YUP3SEAAopIAdKW7lSDfAOB+udOVGIB0GQFMC2QzPimTl3c94/hNrgGMwayya3tNogaWDo+SFNt/OKjPVmZMj4MxBxRBpMhTnphtQ9YlA553uGRMS8Ze5eTjBMBFvOVKDRQJHC6hF4ptOtRInNMNRmaC47HzibsMGg8NATQ91KHovVMtpaNJhX6DGmtPrYL+R6iCs4qU5iTbIb/AmCi28XLtASwtrQCecBWYOIC5YjrjxPvWLRY8ZZUcV5/xuMdYeQA7Hu3jtgHMOgBPp0Ql6jPnI9dkkNIY0YSGYbYCg4xysH9DYccFiCp3iNssAtimCAhVbz/ha0nBcoDiBxL9GsBumdIa47D9NwQyp6F3lmGypFgBctdnI24r4b5F0MGeuYw5LE0p9accrLNe95kgX6sB4CmCzAcuyfeiv4L2BZ/1nb/asaCoW2lDL6J5jagteuvzCt4xIPkShgyqPEM4XOo3Wv8mJV5nK4jUKkRgdqws9M9SqP3qqQZtagDCyk8rgDdrOFafR9s9Tr6L4y8xvCWO1+WThC/peERGs/RF2Rp1cH2uaETteQEQOYE9XgdaW4KXuCsBV0grliLYqo/sP0uRMkXI73SvcRRsrYE2ylhfJAVaG3PLOQQwZwLguiUQbYAnAqnPwAMvuPDAhGFkbScAlzSM2HFB+y+uD3+438zwmiXZxjfQrw2Tg4nqdm0YwMvi06/YNy3YjfAv9WcAacyoKoAZBH+kSTU4o7Fum94Ic2LIngPw9iwYyz4tkujPrvEtLpwlj8o5WM/79DvjsJjQ7NLIStLd7QDALlSYkUHpFulht6orAdqlPRCbQM+VCcDS88Oj7TrKfL1tzWKB0+Y/ao+hf6jUGiSAoojsd3OfvVcTcxjhr2qAdwkBkcqk+qB+a8E2lbz7OdO2iDL/UNgD+785ZHBE6TX0L0S+qEaD/wPidCsqzyvkYQAAAABJRU5ErkJggg=="); }

/* ============================================================================
   REALTIME ULOŽENÍ DO DB - sjednocená vizuální zpětná vazba pro pole (select/input/
   textarea) ukládaná OKAMŽITĚ (ne přes tlačítko Uložit). Stavové tokeny → světlý i tmavý
   režim. Aplikuje JS helper mimedataRealtimeStav(el, 'saving'|'saved'|'error'|'reset').
   U Select2 polí se třída přidává na viditelný box .select2-selection.
   ============================================================================ */
.rt-saving, .rt-saved, .rt-error,
.select2-selection.rt-saving, .select2-selection.rt-saved, .select2-selection.rt-error {
  transition: background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.rt-saving, .select2-selection.rt-saving { background-color: var(--warn-bg) !important; border-color: var(--warn-bd) !important; color: var(--warn) !important; }
.rt-saved,  .select2-selection.rt-saved  { background-color: var(--ok-bg)  !important; border-color: var(--ok-bd)  !important; color: var(--ok)  !important; }
.rt-error,  .select2-selection.rt-error  { background-color: var(--err-bg) !important; border-color: var(--err-bd) !important; color: var(--err) !important; }
/* text uvnitř Select2 boxu (má vlastní render span) */
.select2-selection.rt-saving .select2-selection__rendered { color: var(--warn) !important; }
.select2-selection.rt-saved  .select2-selection__rendered { color: var(--ok)  !important; }
.select2-selection.rt-error  .select2-selection__rendered { color: var(--err) !important; }

/* Realtime-save STAV textem = pilulka (pro pole, kde se stav píše vedle pole, ne barvením pole).
   Vzhled jako drobečková pilulka (● text), sjednoceno se stavovými tokeny → světlý i tmavý režim. */
.rt-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 11px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .02em;
  border: 1px solid transparent;
  transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.rt-status::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  flex: 0 0 auto;
}
.rt-status--saving { background: var(--warn-bg); border-color: var(--warn-bd); color: var(--warn); }
.rt-status--saved  { background: var(--ok-bg);   border-color: var(--ok-bd);   color: var(--ok); }
.rt-status--error  { background: var(--err-bg);  border-color: var(--err-bd);  color: var(--err); }
/* Neutrální stav - ne chyba, jen pokyn („ještě něco vyberte"), aby uživatel nečekal na uložení. */
.rt-status--info   { background: var(--surface-3); border-color: var(--line-c);  color: var(--text-3); }

/* Správcovské role-checkboxy (sprava_stranek / sprava_uzivatelu / sprava_klientu):
   místo úzkého svislého sloupce mřížka, která vyplní šířku a zalomí role do více sloupců.
   flex-wrap → responzivní (desktop i mobil), bez natvrdo barev → light i tmavý režim beze změny. */
.sprava-role-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  align-content: flex-start;
}
.sprava-role-grid > div {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.sprava-role-grid > div label {
  margin: 0;
  cursor: pointer;
}
/* Sloupec s rolemi (správcovské tabulky) musí dostat šířku - jinak auto-layout tabulky nechá
   flex mřížku úzkou (bere min-content = nejširší role). :has cílí buňku obsahující role. */
td:has(> .sprava-role-grid) { width: 55%; min-width: 340px; }
/* Správcovské tabulky s rolemi smějí využít plnou šířku - výchozí #vycentrovani-formulare .tabulka
   je krotí na 800px (kvůli úzkým formulářům), což u široké role-tabulky plýtvá desktopem. */
#vycentrovani-formulare .tabulka:has(.sprava-role-grid) { max-width: 100%; }
/* Role checkboxy „pod sebou" (na přání) - svislý seznam místo horizontální mřížky (přebíjí výše). */
.sprava-role-grid { flex-direction: column; flex-wrap: nowrap; gap: 5px; }
/* Stacked sloupec nepotřebuje 55 % - ať se přizpůsobí obsahu. */
#vycentrovani-formulare .tabulka:has(.sprava-role-grid) td:has(> .sprava-role-grid) { width: auto; min-width: 0; }
/* Slot pro realtime status pilulku (Ukládám…/Uloženo/Chyba) nad checkboxy - ať se nepřekrývá. */
.rt-status-slot { display: block; min-height: 24px; margin: 0 0 8px; }
/* Hláška o automatickém ukládání na správcovských stránkách. */
.auto-save-note { text-align: center; color: var(--text-2); font-size: 13px; margin: 0 0 18px; }
/* Plovoucí overlay pilulka realtime uložení (mimedataRealtimeStavOverlay) - vedle změněného prvku,
   nad obsahem, neovlivní layout, hlídá okraje viewportu. */
.rt-overlay { position: fixed; z-index: 9999; pointer-events: none; opacity: 0; transform: translateY(3px); transition: opacity .16s var(--ease), transform .16s var(--ease); }
.rt-overlay.is-visible { opacity: 1; transform: translateY(0); }
.rt-overlay .rt-status { box-shadow: var(--shadow-sm); }

/* Rozbalovátko (mime-vic-*): jeden vzhled pro celý projekt. Chování navěšuje
   mimedataInitRozbalovatka() ve scripty.js, animaci dělá mimeSlideOpen/Close.
   Vzor převzatý z bau/prehled_vyvojare - šipka ▶ se otočí o 90°. */
.mime-vic-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--text-2);
  font: inherit;
  /* Je to druhotné ovládání, ne nadpis - bez tohohle dědí 16px z rámečku
     a působí větší než text, který rozbaluje. */
  font-size: .85rem;
  cursor: pointer;
}
.mime-vic-toggle:hover { color: var(--accent); }
.mime-vic-sipka::before {
  content: "\25B6";
  display: inline-block;
  font-size: 9px;
  line-height: 1;
  transition: transform .3s ease;
}
.mime-vic-toggle[aria-expanded="true"] .mime-vic-sipka::before { transform: rotate(90deg); }
/* Zavřený stav; třídu expanded přidává a po doběhnutí animace odebírá JS. */
.mime-vic-obsah { display: none; }
.mime-vic-obsah.expanded { display: block; }

/* Reporting (bau/reporting.php) - stránka se skládá z nezávislých sekcí, tohle jsou
   jejich společné drobnosti. Barvy jen přes stavové tokeny, ať sedí i tmavý režim. */
.rp-datum { color: var(--text-3); font-size: 13px; margin: -6px 0 18px; }
/* scroll-margin-top = výška fixní horní lišty, ať se sekce po přesunu neschová pod ni. */
.rp-sekce { margin-bottom: 26px; scroll-margin-top: 120px; }
/* Hlavička sekce: nadpis vlevo, „zpět nahoru" v pravém horním rohu rámečku. */
.rp-sekce-hlavicka { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
/* Rozcestník sekcí - řádka odznáčků, klik plynule odscrolluje (data-mime-scroll).
   ZÁMĚRNĚ div, ne <nav>: holý element nav je v tomhle projektu pravý rail s menu. */
.rp-navigace { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.rp-navigace a { margin: 0; text-decoration: none; }
.rp-navigace a:hover { color: var(--text); border-color: var(--accent); }
/* Úvodní odstavec sekce: vysvětluje, co se v ní vlastně měří. Tlumený, ať nepřebíjí čísla. */
.rp-popis { margin: 0 0 14px; color: var(--text-2); }
/* Přepínač u jedné sekce (např. „zobrazit i pozastavené projekty"). Odesílá se
   změnou checkboxu, takže tlačítko nemá - je to jen zarovnaný řádek s popiskem. */
.rp-prepinac { margin: 0 0 14px; }
.rp-prepinac label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; color: var(--text-2); }
.rp-prepinac input[type="checkbox"] { margin: 0; cursor: pointer; }
.rp-tabulka { max-width: 100%; }
.rp-stred { text-align: center; }
/* Smluvené hodiny kontinuálů: za široký výpis měsíců se na malém displeji
   vodorovně posouvá jen tabulka, ne celá stránka. */
.rp-smluvene-obdobi { margin: 0 0 14px; }
.rp-smluvene-hodiny-obal { overflow-x: auto; }
.rp-smluvene-hodiny-tabulka { min-width: max-content; }
.rp-smluvene-hodiny-tabulka th,
.rp-smluvene-hodiny-tabulka td { white-space: nowrap; }
.rp-smluvene-cislo { min-width: 96px; text-align: right; }
.rp-smluvene-hodiny-tabulka td.rp-smluvene-cislo--ok { color: var(--ok) !important; font-weight: 700; }
.rp-smluvene-hodiny-tabulka td.rp-smluvene-cislo--problem { color: var(--err) !important; font-weight: 700; }
.rp-smluvene-celkem td {
    background: var(--accent-soft);
    border-bottom: 2px solid var(--accent);
    font-weight: 700;
}
/* Nevykázané změřené časy: jeden řádek = jeden ÚKOL, lidé se svými hodinami jsou
   podřádky ve dvou sloupcích („Člověk s výkazem" a „Počet nevykázaných hodin").
   Oba sloupce mají stejný počet podřádků a stejnou výšku řádku, takže si navzájem
   odpovídají. Verdikt „nutnost zvednout" je na řádku jen jednou - počítá se ze
   SOUČTU za celý úkol, protože rozpočet je na úkolu, ne na člověku.
   Barvy jdou přes tokeny, takže platí ve světlém i tmavém režimu. */
.rp-podradky-cell { padding-top: 0; padding-bottom: 0; vertical-align: top; }
/* Výška podřádku je FIXNÍ, ne min-height. Jen tak si oba sloupce odpovídají:
   v jednom je jméno (může se zlomit na dva řádky), ve druhém hodiny + datum
   (dva řádky vždy). S min-height by každá buňka narostla jinak a podřádky by
   se rozešly - přesně to bylo vidět na produkci. 52 px pokryje dvě řádky textu. */
.rp-podradek {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    height: 52px;
    line-height: 1.35;
    overflow: hidden;
    padding: 4px 0;
    border-top: 1px solid var(--line-soft);
}
.rp-podradky-cell .rp-podradek:first-child { border-top: 0; }
.rp-stred.rp-podradky-cell .rp-podradek { align-items: center; }
/* Součet za úkol - ukáže se jen když je lidí víc, aby bylo proti čemu poměřovat
   verdikt ve vedlejším sloupci. Nižší než podřádek, protože nemá párový řádek
   ve sloupci se jmény a nic zarovnávat nemusí. */
.rp-podradek--soucet {
    height: auto;
    padding: 6px 0;
    font-weight: 600;
    border-top: 1px solid var(--line-c);
}
/* Datum poslední aktivity - druhá řádka podřádku, ať je jasné, že patří k hodinám. */
.rp-podradek .dd-tlumene { font-size: 12px; }
.rp-ok { color: var(--ok); font-weight: 600; }
.rp-problem { color: var(--err); }
.rp-chyba { color: var(--err); font-style: italic; }

/* Sloupec „cíleně nefakturováno" v seznamech projektů. Nenulová hodnota se zvýrazní,
   ať je na první pohled vidět, že se část odvedené práce klientovi neúčtuje. */
.nefakturovano-hodiny { white-space: nowrap; }
.nefakturovano-hodiny.nefakturovano-nenulove { color: var(--accent); font-weight: 600; }

/* ── Buňka „poslední komunikace s klientem" ────────────────────────────────
   Semaforové kolečko + text, případně proškrtnutí. Vykresluje ji sdílená
   mimedataBunkaPosledniKomunikace() (funkce/posledni_komunikace_klienta.php),
   takže styly musí být tady, ne v CSS jedné stránky - používá je Portfolio
   projektů i bau/reporting.php. Selektory ani deklarace se při přesunu
   nezměnily, aby dashboard vypadal 1:1 stejně.
   ────────────────────────────────────────────────────────────────────────── */
.dd-tlumene { color: var(--text-3); }

/* Semafor zdraví projektu: barevný kruh (nejhorší dimenze) + tři samostatně barvené řádky
   (Termín / Rozpočet / Již překročený rozpočet). Barvy přes tokeny (light i dark). */
.dd-semafor-obal { display: flex; align-items: center; gap: 9px; }
.dd-semafor-kruh {
    display: inline-block;
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18);
}
/* Bez cursor:help - nápověda visí na otazníku, ne na textu. Kurzor s otazníkem nad
   textem by sliboval nápovědu, která se tam už nezobrazí. */
.dd-semafor-radek { font-size: 0.78rem; font-weight: 600; line-height: 1.3; }
.dd-semafor-kruh.dd-sem--zelena  { background: var(--ok); }
.dd-semafor-kruh.dd-sem--zluta   { background: var(--warn); }
.dd-semafor-kruh.dd-sem--cervena { background: var(--err); }
.dd-semafor-kruh.dd-sem--nelze   { background: var(--text-3); }
.dd-semafor-radek.dd-sem--zelena  { color: var(--ok); }
.dd-semafor-radek.dd-sem--zluta   { color: var(--warn); }
.dd-semafor-radek.dd-sem--cervena { color: var(--err); }

/* Stupně navíc pro sloupec „Poslední informování klienta" (týdenní semafor).
   Oranžová sdílí token s --warn, světle zelená má vlastní token --ok-soft. */
.dd-semafor-kruh.dd-sem--svetle-zelena  { background: var(--ok-soft); }
.dd-semafor-kruh.dd-sem--oranzova       { background: var(--warn); }
.dd-semafor-radek.dd-sem--svetle-zelena { color: var(--ok-soft); }
.dd-semafor-radek.dd-sem--oranzova      { color: var(--warn); }
/* „zjišťuje se" = hodnotu ještě neznáme (cron nedoskenoval), ne poplach → neutrální šedá */
.dd-semafor-radek.dd-sem--nelze         { color: var(--text-3); font-weight: 500; }

/* Nápověda visí na otazníku VLEVO před hodnotou, ne na celém textu. */
.dd-napoveda {
    color: var(--text-3);
    font-size: 0.78rem;
    margin-right: 6px;
    cursor: help;
    flex: 0 0 auto;
}
.dd-napoveda:hover { color: var(--accent); }

/* Buňky poslední komunikace jsou prokliky na tu konkrétní zprávu/komentář. */
.dd-komunikace-odkaz { text-decoration: none; }
.dd-komunikace-odkaz:hover .dd-semafor-radek,
.dd-komunikace-odkaz:focus-visible .dd-semafor-radek { text-decoration: underline; }

/* ── Štítek (tag) ──────────────────────────────────────────────────────────
   Krátké sdělení jako pilulka. Stejný tvar jako .rt-status, ale bez tečky
   a bez vazby na ukládání - používá se pro souhrnná hlášení („vše je v pořádku").
   Barvy jen přes stavové tokeny, takže sedí i tmavý režim.
   ────────────────────────────────────────────────────────────────────────── */
.mime-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  border: 1px solid transparent;
}
.mime-tag--ok { background: var(--ok-bg); border-color: var(--ok-bd); color: var(--ok); }
.mime-tag--problem { background: var(--err-bg); border-color: var(--err-bd); color: var(--err); }
.mime-tag--neutral { background: var(--surface-3); border-color: var(--line-c); color: var(--text-3); }
.mime-tag--warn { background: var(--warn-bg); border-color: var(--warn-bd); color: var(--warn); }
/* Uvnitř tabulky: .tabulka td má vlastní color, proto barvu drží až tag samotný
   (obyčejná třída na buňce se přebije - viz .rp-problem). Menší, ať řádek nenaroste. */
.tabulka td .mime-tag { padding: 2px 9px; font-size: 12px; }

/* Reporting: obě tlačítka filtru v jedné buňce mřížky VEDLE SEBE, zarovnaná ke
   spodku (popisky ostatních filtrů je posouvají níž). flex-direction se musí
   přepsat - .filter-group je nastavená na column, jinak by se naskládala pod sebe.
   Na úzké obrazovce se zalomí a roztáhnou na celou šířku. */
.rp-filtr-akce {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
}
.rp-filtr-akce > * { flex: 0 1 auto; white-space: nowrap; }
@media (max-width: 560px) {
  .rp-filtr-akce > * { flex: 1 1 140px; justify-content: center; }
}

/* Rozpad přírůstku hodin na položky (karta „Upozornění a varování" v detailu projektu).
   Ukazuje, KDE hodiny přibyly - tabulka sama drží jen součet. Odkaz vede na výkazy
   toho úkolu v Caflou; položky bez úkolu (přesuny hodin, korekce, projektové řízení)
   odkaz nemají. Barvy jdou přes tokeny, takže platí ve světlém i tmavém režimu. */
/* Seznam má vlastní sloupec, takže oddělovací linka nad ním je zbytečná
   (dřív se rozpad mačkal do buňky „Hodin navíc" a linka ho odsazovala). */
.upoz-polozky {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}
/* Jedna věta na událost: kdo - kolik - na čem - kdy. Zalomí se přirozeně,
   nemá smysl to lámat do sloupců, když jsou položky nejvýš čtyři. */
.upoz-udalost { max-width: 62ch; }
.upoz-udalost + .upoz-udalost { padding-top: 5px; border-top: 1px solid var(--line-soft); }
/* Název bez odkazu je ztlumený - dává tím najevo, že na něj nejde kliknout. */
.upoz-polozka-bez-odkazu { color: var(--text-3); }
