/* ==========================================================================
   MPOZ – PŘÍPADOVÁ STUDIE
   Linkuj na stránce kauzy až ZA mpoz-doplnky.css:
     <link rel="stylesheet" href="../style.css">
     <link rel="stylesheet" href="../mpoz-doplnky.css">
     <link rel="stylesheet" href="../kauza.css">

   DVA BAREVNÉ KANÁLY – nemíchat:
   1) identita orgánu … ikona + tlumená lišta, vlastní odstín na typ
      orgánu (akteri.js) – NENÍ jednobarevná škála, KVS/ÚVS mají barvu
      úmyslně shodnou (jedna instituce, dva stupně), ostatní se liší i
      barevným tónem, ne jen jeho světlostí
   2) hlas MPOZ ……… oranžová, výhradně analytická vrstva
      (prodlevy, zjištění, konfrontace, otevřené otázky)
   Výsledek úkonu se neoznačuje barvou, ale textovým štítkem.
   ========================================================================== */

.kauza { max-width: 1080px; margin: 0 auto; }

/* ===== A. HLAVIČKA PŘÍPADU ===== */
.kauza-head { margin: 0 0 32px; }
.kauza-head .badges { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.kauza-head h1 { font-size: clamp(28px, 4.4vw, 46px); line-height: 1.1; margin: 0 0 8px; }
.kauza-head .podtitul { font-size: 19px; color: var(--muted); margin: 0 0 14px; font-weight: 600; }
.kauza-meta { display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: 15px; color: var(--muted); margin: 0; padding: 0; list-style: none; }
.kauza-meta li { display: flex; align-items: center; gap: 7px; }
.kauza-meta strong { color: var(--text); font-weight: 700; }
.kauza-hero { margin: 22px 0 0; border-radius: 18px; overflow: hidden; border: 1px solid var(--border); }
.kauza-hero img { width: 100%; height: auto; display: block; }
.kauza-hero figcaption { font-size: 13px; color: var(--muted); padding: 10px 16px; background: var(--soft); }

/* ===== B. SHRNUTÍ ===== */
.kauza-shrnuti { font-size: 19px; line-height: 1.6; font-weight: 600; color: var(--text);
  border-left: 4px solid var(--navy); padding: 4px 0 4px 22px; margin: 0 0 44px; max-width: 780px; }

/* ===== redakční upozornění (ne analytické zjištění → bez oranžové) ===== */
.kauza-disclosure { background: var(--navy-tint); border: 1px solid var(--navy);
  border-radius: 14px; padding: 16px 22px; margin: 0 0 44px; max-width: 780px; }
.kauza-disclosure .kdo { font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--navy); margin: 0 0 6px; }
.kauza-disclosure p { font-size: 14.5px; line-height: 1.6; margin: 0; color: var(--text); }

/* ===== spolecny nadpis sekce =====
   .kauza-sekce a .kauza-sekce > h2 jsou teď v mpoz-doplnky.css — sdílí je
   i clanek-editor.html/renderClanek(), a mpoz-doplnky.css je linkovaný
   všude, kde je i kauza.css. */

/* ===== ŘÍZENÍ – identita orgánu (--lista), NE hlas MPOZ =====
   Barva jen na postranní lince a ikoně (stejný kanál jako .akter-card
   a časová osa). Probíhá/uzavřeno = tečka jako v .stav-panel. Samotný
   VÝSLEDEK se barvou neznačí nikdy, jen textem – "Nezjištěn" je ztlumený
   text, ne červená/šedá "chyba".

   Řízení má vlastní sekci "Jednotlivá řízení" POD pruhem Řetězec, sbalovací
   a ve výchozím stavu sbalenou. Krátce 20. 8. 2026 byla karta záhlavím řady
   uvnitř pruhu – neosvědčilo se, karta je odstavec textu a mezi chipy
   působila cizorodě. Vazbu karty na řadu drží ikona a barva aktéra. */
.rizeni-grid { display: grid; gap: 14px; }
.rizeni-card { background: #fff; border: 1px solid var(--border);
  border-left: 4px solid var(--lista, var(--navy)); border-radius: 0 14px 14px 0;
  padding: 20px 22px; display: grid; grid-template-columns: 40px 1fr; gap: 0 14px; align-items: start; }
.rizeni-ikona { width: 40px; height: 40px; border-radius: 50%; background: #fff;
  border: 2px solid var(--lista, var(--navy)); display: flex; align-items: center;
  justify-content: center; overflow: hidden; }
.rizeni-ikona img { width: 28px; height: 28px; object-fit: contain; }
.rizeni-ikona .zkr { font-size: 10px; font-weight: 700; color: var(--lista, var(--navy)); }
.rizeni-nazev { font-size: 16px; font-weight: 700; margin: 0 0 4px; line-height: 1.3;
  color: var(--lista, var(--navy)); }
.rizeni-popis { font-size: 14px; color: var(--text); margin: 0 0 10px; }
.rizeni-stav { display: flex; align-items: center; gap: 8px; font-size: 13.5px;
  font-weight: 600; color: var(--text); margin: 0 0 6px; }
.rizeni-stav .tecka { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.rizeni-stav .tecka.zije { background: var(--orange); box-shadow: 0 0 0 3px rgba(242,140,40,.2); }
.rizeni-stav .tecka.hotovo { background: #7fbe79; }
.rizeni-vysledek { font-size: 14.5px; color: var(--text); margin: 0; }
.rizeni-vysledek .neznamo { color: var(--muted); font-style: italic; font-weight: 400; }
.rizeni-datum { font-size: 12.5px; color: var(--muted); margin: 6px 0 0; }


/* ===== B3. ŘETĚZEC =====
   Pruh nad osou: jedna řada na linku, kmen (článek s víc linkami) navrch.
   Nad řadou stojí záhlaví – karta řízení té linky (.rizeni-card). Je to
   samostatný řádek přes celou šířku řady, ne článek v pruhu: text se v něm
   normálně zalomí a šířku pruhu neovlivní.
   Stavy se značí BAREVNĚ I ZNAKEM (● ◐ ○) a slovo k nim dodává legenda NAD
   pruhem – na barvu samotnou se nespoléhá nikde. V článku samotném slovo
   není: řada jich má až sedm a tři řádky na článek by z pruhu udělaly druhou
   časovou osu. Odečítač ho dostane z aria-label, viz kauza-render.js.
   Oranžová se tu nepoužívá: články jsou faktické konstatování a oranžová je
   vyhrazená hlasu MPOZ (invariant 5). Nese ji jen .retezec-poznamka. */
.retezec-pruh { display: flex; flex-direction: column; gap: 10px; }
/* Řádkové mezery uvnitř řady jsou schválně těsné (8px): karta řízení si nad
   sebou bere vlastní margin, takže nahoru má víc místa než dolů a čte se jako
   ZÁHLAVÍ následujících linek, ne jako závěr té předchozí. */
.retezec-rada { display: grid; grid-template-columns: 56px 1fr; align-items: start;
  gap: 8px 12px; }
.retezec-rada.je-kmen { padding-bottom: 16px; border-bottom: 1px dashed var(--border); }
/* Řádek aktéra: jen ikona, bez zkratky. Zkratka vedle ikony zalamovala řadu
   na dva řádky (dlouhý název nebo dva aktéři u kmene), takže identitu drží
   ikona a jméno je v title/aria-label – viz blok Řetězec v kauza-render.js. */
.retezec-linka { padding-top: 4px;
  display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.retezec-ikona { width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid var(--border); }
.retezec-ikona img { width: 34px; height: 34px; object-fit: contain; }
/* Aktér bez obrázku (dnes ČPI) spadne na zkratku – ta se musí vejít. */
.retezec-ikona .zkr { font-size: 13px; font-weight: 700; line-height: 1;
  color: var(--lista, var(--navy)); }

/* Karty stejně široké: řada má číst jako pruh, ne jako shluk chipů. Mřížka,
   ne flex – flex: 1 1 0 drží stejnou šířku jen v plném řádku, ale poslední
   zalomenou kartu roztáhne přes celou šířku, takže nejširším prvkem pruhu se
   stane náhodou ten článek, který zbyl (u cesky-tesin nedoložená "Sankce za
   pokyn"). auto-fill + minmax drží stejný raster i na druhém řádku. */
.retezec-clanky { list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(158px, 1fr));
  gap: 8px; }
.retezec-clanek .clanek-telo { display: block; height: 100%; text-decoration: none;
  color: inherit; border: 1px solid var(--border); border-left: 3px solid var(--border);
  border-radius: 3px 10px 10px 3px; padding: 8px 12px; background: #fff; }
a.clanek-telo:hover, a.clanek-telo:focus-visible { border-color: currentColor;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .18); }
.clanek-znak { font-size: 10px; margin-right: 6px; vertical-align: 1px; }
/* 28 znaků se do karty vejde na dva řádky; break-word je pojistka na dlouhé
   č. j. bez mezery, které by na úzké obrazovce vytekly z karty */
.clanek-nazev { font-size: 13.5px; font-weight: 700; overflow-wrap: break-word; }
/* datum kotvy – druhý řádek, malý a nevýrazný; článek bez kotvy ho nemá */
.clanek-datum { display: block; margin-top: 3px; padding-left: 16px;
  font-size: 11.5px; font-weight: 400; color: var(--muted); text-decoration: none; }
/* proklikávatelný článek se pozná i bez najetí myší */
a.clanek-telo .clanek-nazev { text-decoration: underline; text-underline-offset: 2px; }

/* --- Tři stavy: barva nese AKTÉRA, sytost doloženost --------------------
   Hue je --lista z registru aktérů, tedy tatáž barva, jakou má orgán
   v liště časové osy a na kartách aktérů. Stav se značí sytostí v rámci
   té barvy, ne vlastní paletou:

     doloženo   → světlý tón + silný rámeček kolem dokola v plné barvě
     sdělení    → týž světlý tón i text, jen jemný rámeček a levá lišta
     nedoloženo → šedá, bez barvy aktéra

   Doloženo a sdělení mají schválně stejné pozadí i text – liší se jen
   rámečkem. Nedoložený krok barvu aktéra ztrácí: o kroku nevíme, že
   proběhl, nemá tedy co nést ani identitu orgánu, který ho měl udělat.

   --lista-ink (text na tónu) dopočítává renderer, aby prošel kontrastem
   4,5 : 1 i u světlejších odstínů (utulek, plemenarska, chovatel se kvůli
   tomu ztmaví). Bílý text na plné výplni se nepoužívá nikde, takže se
   nedopočítává ani barva textu na výplni.

   Kmen (článek dvou orgánů) --lista NEDOSTÁVÁ – propadne fallbackem na
   --navy. Žádná z obou barev by pro sdílený úkon nebyla správně.

   Oranžová se tu neobjevuje (invariant 5) – nese ji jen .retezec-poznamka. */

/* Vnější rozměr karty se nemění: box-sizing: border-box je globální
   (style.css), takže silnější rámeček ubere zevnitř a raster pruhu drží. */
.retezec-clanek.je-dokument .clanek-telo {
  background: color-mix(in srgb, var(--lista, var(--navy)) 10%, #fff);
  border: 2px solid var(--lista, var(--navy));
  color: var(--lista-ink, var(--lista, var(--navy)));
}
.retezec-clanek.je-dokument .clanek-znak { color: inherit; }
.retezec-clanek.je-dokument .clanek-datum { color: inherit; opacity: .8; }

.retezec-clanek.je-sdeleni .clanek-telo {
  background: color-mix(in srgb, var(--lista, var(--navy)) 10%, #fff);
  border-color: color-mix(in srgb, var(--lista, var(--navy)) 45%, #fff);
  border-left-color: var(--lista, var(--navy));
  color: var(--lista-ink, var(--lista, var(--navy)));
}
.retezec-clanek.je-sdeleni .clanek-znak { color: inherit; }
.retezec-clanek.je-sdeleni .clanek-datum { color: inherit; opacity: .8; }

/* Text #6b6b73 na #f4f4f5 = 4,81 : 1 – nízký důraz, ale pořád čitelný.
   Přerušovaný rámeček zůstává nositelem „tady nic není“. */
.retezec-clanek.je-chybi .clanek-telo {
  background: #f4f4f5;
  border: 1px dashed #b9b9be;
  border-left: 3px solid #b9b9be;
  color: #6b6b73;
}
.retezec-clanek.je-chybi .clanek-znak { color: inherit; }
.retezec-clanek.je-chybi .clanek-datum { color: inherit; opacity: .85; }

.retezec-poznamka { margin: 16px 0 0; background: var(--orange-tint);
  border-left: 3px solid var(--orange); border-radius: 0 10px 10px 0; padding: 14px 18px; }
.retezec-poznamka .kdo { font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--orange-dark); margin: 0 0 6px; }
.retezec-poznamka p { margin: 0; font-size: 14.5px; line-height: 1.6; }

/* legenda stojí NAD pruhem – co znak znamená, má čtenář vědět dřív, než
   na první znak narazí */
/* Legenda ukazuje VZOREK ve tvaru článku, ne znak: stav se od 20. 8. 2026
   pozná rámečkem a sytostí, což znak sám nevysvětlí. Znaky ● ◐ ○ zůstávají
   v článcích kvůli odečítačům a černobílému tisku. Vzorek je navy jako
   zástupná barva – v pruhu ho nahradí barva té které linky. */
.retezec-legenda { list-style: none; margin: 0 0 16px; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center;
  font-size: 12px; color: var(--muted); }
.retezec-legenda li { display: flex; align-items: center; gap: 7px; }
.retezec-legenda .vzorek { width: 26px; height: 14px; border-radius: 2px 6px 6px 2px;
  border: 1px solid var(--border); border-left: 3px solid var(--border); flex-shrink: 0; }
.retezec-legenda .je-dokument .vzorek {
  background: color-mix(in srgb, var(--navy) 10%, #fff);
  border: 2px solid var(--navy); }
.retezec-legenda .je-sdeleni .vzorek {
  background: color-mix(in srgb, var(--navy) 10%, #fff);
  border-color: color-mix(in srgb, var(--navy) 45%, #fff);
  border-left-color: var(--navy); }
.retezec-legenda .je-chybi .vzorek { background: #f4f4f5;
  border: 1px dashed #b9b9be; border-left: 3px solid #b9b9be; }

/* zpětný směr: z úkonu v ose zpátky do pruhu. Čipů smí být na jednom úkonu
   víc – tentýž protokol bývá článkem u dvou linek zároveň. */
.osa-retezec { display: inline-block; margin-top: 8px; margin-right: 6px; font-size: 12px;
  color: var(--muted); text-decoration: none; border: 1px solid var(--border);
  border-radius: 999px; padding: 2px 10px; }
.osa-retezec:hover, .osa-retezec:focus-visible { color: var(--navy); border-color: var(--navy); }

/* Prokotveni osy na Zdrojove dokumenty (30. 8. 2026). Stejny tvar cipu jako
   .osa-retezec – jde o tentyz druh odkazu, jen mirí do jine sekce. Cip
   .dok-osa stoji AZ ZA radkem dokumentu, ne uvnitr nej: .dok-radek je sam
   <a> na PDF a odkaz uvnitr odkazu je neplatne HTML. */
.osa-dokument, .dok-osa { display: inline-block; margin-top: 8px; margin-right: 6px;
  font-size: 12px; color: var(--muted); text-decoration: none;
  border: 1px solid var(--border); border-radius: 999px; padding: 2px 10px; }
.osa-dokument:hover, .osa-dokument:focus-visible,
.dok-osa:hover, .dok-osa:focus-visible { color: var(--navy); border-color: var(--navy); }
.dokumenty .dok-osa { margin-top: 4px; margin-left: 34px; }

/* cíl prokliku – krátké zvýraznění, ať je po skoku vidět, kam se skočilo */
.je-zvyraznena { animation: mpoz-zvyrazneni 2.2s ease-out; }
@keyframes mpoz-zvyrazneni {
  0%, 55% { background: var(--navy-tint); }
  100% { background: transparent; }
}
@media (prefers-reduced-motion: reduce) {
  .je-zvyraznena { animation: none; outline: 2px solid var(--navy); outline-offset: 3px; }
}

@media (max-width: 620px) {
  .retezec-rada { grid-template-columns: 1fr; gap: 8px; }
  .retezec-linka { padding-top: 0; }
  /* na úzké obrazovce se dva sloupce karet nevejdou – jedna na řádek; bez
     tohohle by minmax(158px…) na 320px displeji nechal vzniknout dvěma
     sloupcům po 150px a názvy by se rozsekaly */
  .retezec-clanky { grid-template-columns: 1fr; }
  .rizeni-card { padding: 16px 18px; }
}

/* ===== C. ČASOVÁ OSA ===== */
.osa { list-style: none; margin: 0; padding: 0; position: relative; }

.osa-udalost { position: relative; display: grid; grid-template-columns: 96px 40px 1fr;
  gap: 0 16px; align-items: start; padding: 0 0 26px; }

/* svislá spojnice */
.osa-udalost::before { content: ""; position: absolute; left: 115px; top: 34px; bottom: -6px;
  width: 2px; background: var(--border); }
.osa-udalost:last-child::before { display: none; }

.osa-datum { grid-column: 1; text-align: right; font-size: 14px; font-weight: 700;
  color: var(--muted); padding-top: 8px; white-space: nowrap; }

.osa-znak { grid-column: 2; width: 40px; height: 40px; border-radius: 50%;
  background: #fff; border: 2px solid var(--lista, var(--navy));
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  position: relative; z-index: 1; }
.osa-znak img { width: 30px; height: 30px; object-fit: contain; display: block; }
.osa-znak .zkr { font-size: 10px; font-weight: 700; color: var(--lista, var(--navy)); letter-spacing: .02em; }

.osa-telo { grid-column: 3; background: #fff; border: 1px solid var(--border);
  border-left: 4px solid var(--lista, var(--navy)); border-radius: 0 14px 14px 0;
  padding: 14px 20px; }
.osa-udalost.je-klicova .osa-telo { box-shadow: 0 6px 20px rgba(11,31,78,.09); }

.osa-akter { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--lista, var(--navy)); margin: 0 0 4px; }
.osa-nazev { font-size: 17px; margin: 0 0 6px; line-height: 1.3; }
.osa-popis { font-size: 15px; color: var(--text); margin: 0; }
.osa-zdroj { font-size: 12.5px; color: var(--muted); margin: 10px 0 0; padding-top: 9px;
  border-top: 1px solid var(--border); }

/* mezera mezi událostmi – neutrální fakt, dopočítaný z datumů */
.osa-mezera { display: grid; grid-template-columns: 96px 40px 1fr; gap: 0 16px;
  padding: 0 0 26px; position: relative; }
.osa-mezera::before { content: ""; position: absolute; left: 115px; top: -6px; bottom: -6px;
  width: 2px; background: var(--border); }
.osa-mezera .txt { grid-column: 3; font-size: 13px; color: var(--muted);
  display: flex; align-items: center; gap: 12px; }
.osa-mezera .txt::before,
.osa-mezera .txt::after { content: ""; height: 1px; background: var(--border); flex: 1; }
/* zvýrazněná mezera = hlas MPOZ (odpovídá zjištění typu "prodleva") */
.osa-mezera.je-zjisteni .txt { color: var(--orange-dark); font-weight: 700; }
.osa-mezera.je-zjisteni .txt::before,
.osa-mezera.je-zjisteni .txt::after { background: var(--orange); }

/* sbalená skupina méně podstatných/opakujících se úkonů (Rozbaleni:"rozklikem")
   – stejná mřížka a spojnice jako .osa-udalost, jen neutrální "znak" místo
   barvy orgánu: je to přepínač zobrazení, ne tvrzení o tom, kdo jednal. */
.osa-znak-skupina { border-style: dashed; border-color: var(--border); background: var(--soft); }
.osa-znak-skupina .zkr { color: var(--muted); font-size: 10.5px; }
.osa-skupina .osa-telo { background: transparent; border: none; padding: 0; }
.osa-skupina summary { cursor: pointer; list-style: none; font-size: 14px; font-weight: 600;
  color: var(--muted); padding: 9px 0; }
.osa-skupina summary::-webkit-details-marker { display: none; }
.osa-skupina summary::before { content: "▸"; display: inline-block; width: 12px;
  font-size: 11px; color: var(--muted); }
.osa-skupina details[open] summary::before { content: "▾"; }
.osa-skupina .osa-vnorena { margin: 6px 0 0; padding: 4px 18px 4px; background: var(--soft);
  border-radius: 12px; }
.osa-skupina .osa-vnorena .osa-udalost:first-child { padding-top: 14px; }
.osa-skupina .osa-vnorena .osa-udalost:last-child::before,
.osa-skupina .osa-vnorena .osa-mezera:last-child::before { display: none; }

/* ===== E. AKTÉŘI ===== */
.akteri-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.akter-card { background: #fff; border: 1px solid var(--border);
  border-top: 4px solid var(--lista, var(--navy)); border-radius: 14px; padding: 20px;
  display: grid; grid-template-columns: 52px 1fr; gap: 0 16px; align-items: start; }
.akter-card .ikona { width: 52px; height: 52px; border-radius: 50%; background: #fff;
  border: 1px solid var(--border); display: flex; align-items: center; justify-content: center;
  overflow: hidden; }
.akter-card .ikona img { width: 40px; height: 40px; object-fit: contain; }
.akter-card .ikona .zkr { font-size: 12px; font-weight: 700; color: var(--lista, var(--navy)); }
.akter-card .nazev { font-size: 16px; font-weight: 700; margin: 0 0 4px; line-height: 1.3;
  color: var(--lista, var(--navy)); }
.akter-card .role { font-size: 14px; color: var(--muted); margin: 0 0 10px; }
.akter-card .ukony { font-size: 13px; font-weight: 700; color: var(--navy); margin: 0; }

/* ===== F. ANALYTICKÁ ZJIŠTĚNÍ (hlas MPOZ → oranžová) ===== */
.zjisteni-list { display: flex; flex-direction: column; gap: 14px; }
.zjisteni-item { background: var(--orange-tint); border: 1px solid var(--orange);
  border-radius: 14px; padding: 18px 22px; }
.zjisteni-item h3 { font-size: 16px; margin: 0 0 6px; color: var(--orange-dark); }
.zjisteni-item p { font-size: 15px; margin: 0; color: var(--text); }
.zjisteni-item .dny { font-size: 16px; font-weight: 700; color: var(--orange-dark);
  line-height: 1.3; margin: 0 0 6px; }
.zjisteni-item .rozsah { font-size: 13px; color: var(--muted); margin: 6px 0 0; }

/* ===== G. KONFRONTACE ZJIŠTĚNÍ =====
   Popisky nad sloupci se nevykreslují (viz blok G v kauza-render.js) —
   pravidla pro .kdo tu proto nejsou. Obě strany jsou citace z listin,
   proto vypadají stejně; ani jedna není hlas MPOZ. Zjištěním MPOZ je
   ale samo postavení těch listin vedle sebe, proto je celý blok
   označený oranžovou — rovnoměrně, ne jedním sloupcem. */
.konfrontace { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0 20px;
  align-items: stretch; margin: 0 0 18px; }
.konf-box { border-radius: 14px; padding: 20px 22px; }
.konf-box .text { font-size: 15px; line-height: 1.55; margin: 0; }
.konf-box .zdroj { font-size: 12.5px; color: var(--muted); margin: 12px 0 0;
  padding-top: 10px; border-top: 1px solid var(--orange); }
.konf-tvrzeni,
.konf-zjisteni { background: #fff; border: 1px solid var(--orange); }
.konf-vs { align-self: center; font-size: 13px; font-weight: 700; color: var(--orange-dark);
  letter-spacing: .06em; }

/* ===== požadavky oznamovatele – stavy, ne jednotné fajfky ===== */
.pozadavky { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.pozadavky li { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center;
  padding: 13px 0; border-bottom: 1px solid var(--border); font-size: 15px; }
.pozadavky li:last-child { border-bottom: none; }
.stav-znak { font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; white-space: nowrap; }
.stav-splneno    { background: var(--green-tint);  color: var(--green); }
.stav-castecne   { background: var(--orange-tint); color: var(--orange-dark); }
.stav-nesplneno  { background: #fbe7e7;            color: #8a2a2a; }
.stav-bezOdpovedi{ background: var(--soft);        color: var(--muted); }

/* ===== sbalovací sekce =====
   Pravidla se 21. 8. 2026 přesunula do mpoz-doplnky.css. Stránky článků
   totiž kauza.css nepřipojují (jen style.css a mpoz-doplnky.css), a od
   téhož dne je sbalovací i jejich sekce Zdrojové dokumenty. Nadpis už
   sdílený byl, chování přepínače tu zůstávalo osamocené. */

/* ===== právní úprava ===== */
.pravni { list-style: none; margin: 0; padding: 0; display: grid;
  grid-template-columns: repeat(2, 1fr); gap: 12px; }
.pravni li { background: var(--navy-tint); border-radius: 12px; padding: 14px 18px; font-size: 14.5px; }
.pravni .ust { font-weight: 700; color: var(--navy); display: block; }
.pravni .pop { color: var(--muted); }

/* ===== H. AKTUÁLNÍ STAV ===== */
.stav-panel { background: var(--navy); color: #fff; border-radius: 18px; padding: 24px 28px;
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.stav-panel .tecka { width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0; }
.stav-panel .tecka.zije { background: var(--orange); box-shadow: 0 0 0 5px rgba(242,140,40,.25); }
.stav-panel .tecka.hotovo { background: #7fbe79; }
.stav-panel .hodnota { font-size: 20px; font-weight: 700; margin: 0; }
.stav-panel .poznamka { font-size: 15px; color: #c7d0e4; margin: 3px 0 0; }

/* ===== I. OTEVŘENÉ OTÁZKY ===== */
.otazky { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.otazky li { background: #fff; border: 1px solid var(--border); border-left: 4px solid var(--orange);
  border-radius: 0 14px 14px 0; padding: 16px 20px; font-size: 16px; font-weight: 600; }

/* štítek orgánu u otázky – identita (--lista), ne hlas MPOZ; drobný chip */
.otazka-linka { display: inline-flex; align-items: center; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; color: var(--lista, var(--navy));
  background: var(--soft); border-radius: 999px; padding: 3px 10px; margin: 0 8px 4px 0;
  vertical-align: middle; }

/* kandidát do vzoru žádosti dle 106/1999 – pracovní signál MPOZ, zůstává oranžový */
.otazka-106 { display: inline-flex; align-items: center; font-size: 11px; font-weight: 700;
  color: var(--orange-dark); background: var(--orange-tint); border-radius: 999px;
  padding: 3px 10px; margin: 4px 0 0 8px; white-space: nowrap; vertical-align: middle; }

/* ===== J. ZDROJOVÉ DOKUMENTY =====
   .dokumenty/.dok-radek* jsou teď v mpoz-doplnky.css — sdílí je i
   clanek-editor.html/renderClanek(). */

.kauza-zdroj { font-size: 13px; color: var(--muted); margin: 30px 0 0; padding-top: 18px;
  border-top: 1px solid var(--border); }

/* ===== RESPONZIVITA ===== */
@media (max-width: 900px) {
  .akteri-grid { grid-template-columns: repeat(2, 1fr); }
  .pravni { grid-template-columns: 1fr; }
  .konfrontace { grid-template-columns: 1fr; gap: 12px; }
  .konf-vs { justify-self: center; }
}
@media (max-width: 620px) {
  .akteri-grid { grid-template-columns: 1fr; }

  /* osa: datum nad kartu, ikona vlevo */
  .osa-udalost { grid-template-columns: 40px 1fr; gap: 0 14px; padding-bottom: 22px; }
  .osa-udalost::before { left: 19px; top: 46px; }
  .osa-datum { grid-column: 2; grid-row: 1; text-align: left; padding: 0 0 6px; font-size: 13px; }
  .osa-znak { grid-column: 1; grid-row: 1 / span 2; }
  .osa-telo { grid-column: 2; grid-row: 2; border-radius: 0 12px 12px 0; padding: 12px 16px; }
  .osa-mezera { grid-template-columns: 40px 1fr; gap: 0 14px; padding-bottom: 22px; }
  .osa-mezera::before { left: 19px; }
  .osa-mezera .txt { grid-column: 2; }
  .osa-mezera .txt::before { display: none; }
}

/* ===== I2. ŠTÍTKY =====
   Navigační prvek, ne tvrzení – proto bez oranžové. Skupina se jmenuje
   podle facetu, pilulka drží stejný tvar jako .otazka-linka.
   .stitky-blok/.stitky-skupina/.stitky-nazev/ul.stitky* jsou teď v
   mpoz-doplnky.css – sdílí je i clanek-editor.html/renderClanek(). */

/* ===== ticho na konci časové osy =====
   Mezera, která nemá druhý konec: spojnice se dole vytrácí, protože
   ten interval ještě neskončil. Zůstává neutrální – je to fakt
   z dokumentů, ne analytická vrstva MPOZ. */
.osa-mezera.osa-ticho::before {
  background: linear-gradient(to bottom, var(--border) 55%, transparent);
  bottom: -20px;
}
.osa-mezera.osa-ticho .txt { font-style: italic; }
.osa-mezera.osa-ticho .txt::after { opacity: .45; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

@media print {
  .osa-telo, .akter-card, .dokumenty { box-shadow: none; }
  .stav-panel { background: var(--soft); color: var(--text); }
  .stav-panel .poznamka { color: var(--muted); }
}
