/* ai.dashboard.cz — app.css
 * ============================================================================
 * Jediný stylopis. Žádný preprocesor, žádný build — barvy a rozměry jsou
 * vlastní vlastnosti na :root, takže tmavý režim i tisk jen přepíšou hodnoty
 * a zbytek souboru se nemusí duplikovat.
 *
 * Pozor na jednu věc: v CSP nemáme 'unsafe-inline', takže se nikde nesmí
 * objevit setAttribute('style', …) ani element.style.cssText. Všechno, co se
 * mění za běhu, se přepíná třídou nebo vlastní vlastností přes
 * style.setProperty, což CSP dovolí.
 * ========================================================================= */

/* ==========================================================================
   1. Barvy a rozměry
   ========================================================================== */

:root {
  color-scheme: light dark;

  --podklad: #f4f6fa;
  --panel: #ffffff;
  --panel-2: #f7f9fc;
  --text: #16202e;
  --text-tlumeny: #58677d;
  --obrys: #e2e8f1;
  --obrys-silny: #c8d2e0;

  --akcent: #2f5fd0;
  --akcent-tmavy: #244bab;
  --akcent-jemny: #e7eefc;
  --akcent-text: #ffffff;

  --zelena: #197a52;
  --cervena: #b5303a;
  --jantar: #8a5a10;

  /* Paleta grafů. Osm odstínů, které se dají rozlišit i při zhoršeném
     barvocitu, a které nejsou tak syté, aby překřičely text. */
  --g1: #3b6fd4;
  --g2: #d97b2b;
  --g3: #2f8f68;
  --g4: #b84f70;
  --g5: #6f5fb3;
  --g6: #3f97b0;
  --g7: #a37a21;
  --g8: #76808e;

  --radius: 14px;
  --radius-maly: 9px;
  --stin: 0 1px 2px rgba(16, 32, 46, .05), 0 8px 24px rgba(16, 32, 46, .06);
  --stin-maly: 0 1px 2px rgba(16, 32, 46, .07);

  --pismo: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
           "Helvetica Neue", Arial, sans-serif;
  --pismo-cisla: "Inter", ui-monospace, "SF Mono", "Segoe UI Mono", monospace;

  --mezera: 16px;
  --cil-dotyku: 44px;
  --sirka-obalu: 1180px;
}

/* Tmavý vzhled. Bez volby se řídí systémem; přepínač v hlavičce nastaví
   data-tema na <html> (viz začátek app.js). */
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="svetly"]) {
    color-scheme: dark;
    --podklad: #0e141c;
    --panel: #161e29;
    --panel-2: #1c2634;
    --text: #e8edf4;
    --text-tlumeny: #97a6ba;
    --obrys: #28323f;
    --obrys-silny: #3a4656;

    --akcent: #6a9bff;
    --akcent-tmavy: #86aeff;
    --akcent-jemny: #1a2740;
    --akcent-text: #0e141c;

    --zelena: #4ec08a;
    --cervena: #ef7b83;
    --jantar: #d9a441;

    --g1: #6a9bff;
    --g2: #f0a057;
    --g3: #52bd8e;
    --g4: #e07b9c;
    --g5: #9a8ae0;
    --g6: #5fc0db;
    --g7: #cfa441;
    --g8: #97a1b0;

    --stin: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .28);
    --stin-maly: 0 1px 2px rgba(0, 0, 0, .35);
  }
}

:root[data-tema="svetly"] { color-scheme: light; }

:root[data-tema="tmavy"] {
  color-scheme: dark;
  --podklad: #0e141c;
  --panel: #161e29;
  --panel-2: #1c2634;
  --text: #e8edf4;
  --text-tlumeny: #97a6ba;
  --obrys: #28323f;
  --obrys-silny: #3a4656;

  --akcent: #6a9bff;
  --akcent-tmavy: #86aeff;
  --akcent-jemny: #1a2740;
  --akcent-text: #0e141c;

  --zelena: #4ec08a;
  --cervena: #ef7b83;
  --jantar: #d9a441;

  --g1: #6a9bff;
  --g2: #f0a057;
  --g3: #52bd8e;
  --g4: #e07b9c;
  --g5: #9a8ae0;
  --g6: #5fc0db;
  --g7: #cfa441;
  --g8: #97a1b0;

  --stin: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .28);
  --stin-maly: 0 1px 2px rgba(0, 0, 0, .35);
}

/* ==========================================================================
   2. Základ
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

/* Atribut hidden musí vyhrát i nad třídami, které nastavují display
   (třeba .vyber-listu s inline-flex). */
[hidden] { display: none !important; }

/* Dashboard dostává fokus programově po načtení — rámeček kolem celé
   stránky by jen rušil. */
.aplikace:focus { outline: none; }

body {
  margin: 0;
  background: var(--podklad);
  color: var(--text);
  font-family: var(--pismo);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: -.012em;
  margin: 0 0 .5em;
}

h1 { font-size: clamp(27px, 5vw, 40px); }
h2 { font-size: clamp(21px, 3vw, 27px); }
h3 { font-size: clamp(17px, 2.2vw, 20px); }

p { margin: 0 0 1em; }

a { color: var(--akcent); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--akcent-tmavy); }

/* Text se nesmí roztáhnout přes celou šířku monitoru — nad zhruba
   75 znaků na řádek oko ztrácí návaznost. */
.obsah p, .obsah li, .perex { max-width: 68ch; }

/* Zalamování na počítači. Nadpisy se vyvažují (žádné „Jak vytvořit
   dashboard z / Excelu“), odstavce nenechávají osamocené slovo na
   posledním řádku. Delší texty stojí v jednom sloupci uprostřed, ne u levého
   okraje s prázdnou polovinou obrazovky vpravo. Telefon má vlastní,
   vyladěné rozvržení — tohle se ho netýká. */
@media (min-width: 761px) {
  h1, h2, h3 { text-wrap: balance; }
  p, li, dd { text-wrap: pretty; }

  /* Úvodní stránka — článek pod aplikací */
  .obsah:not(.podstranka) > .obal { max-width: 820px; }
  .obsah:not(.podstranka) p,
  .obsah:not(.podstranka) li { max-width: none; }
  .obsah:not(.podstranka) .faq { max-width: none; }

  /* Podstránky — obsah v užším sloupci, text v kartách na celou šířku karty */
  .podstranka .obal { max-width: 1000px; }
  .podstranka .hero-podstranka h1 { max-width: none; }
  .podstranka .perex { max-width: 62ch; }
  .podstranka .blok p,
  .podstranka .blok li,
  .podstranka .sekce-podstranky > p { max-width: none; }
  .tipy.dva { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mrizka-karet.dve { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

code {
  font-family: var(--pismo-cisla);
  font-size: .92em;
  background: var(--panel-2);
  padding: .1em .35em;
  border-radius: 5px;
}

.obal {
  max-width: var(--sirka-obalu);
  margin: 0 auto;
  padding: 0 var(--mezera);
}

/* Viditelný fokus všude. Bez něj se aplikace nedá ovládat klávesnicí,
   i kdyby všechno ostatní fungovalo. */
:focus-visible {
  outline: 3px solid var(--akcent);
  outline-offset: 2px;
  border-radius: 4px;
}

.preskoc {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 100;
  background: var(--panel);
  color: var(--text);
  padding: 10px 16px;
  border-radius: var(--radius-maly);
  box-shadow: var(--stin);
}
.preskoc:focus { left: 8px; }

.jen-pro-ctecky {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   3. Hlavička a patička
   ========================================================================== */

.hlavicka {
  background: var(--panel);
  border-bottom: 1px solid var(--obrys);
}

.hlavicka-obsah {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mezera);
  min-height: 60px;
  flex-wrap: wrap;
}

/* Logo DataScope. Je vložené přímo sem jako data: URI — žádný další soubor
   na serveru, který by se mohl při nasazení ztratit nebo dostat špatná práva.
   CSP obrázky z data: povoluje (img-src 'self' data:). */
.logo-datascope {
  display: inline-block;
  flex: none;
  width: 116px;
  height: 30px;
  background: url("data:image/png;base64,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") no-repeat center / contain;
}
.logo-datascope.velke { width: 186px; height: 48px; margin-bottom: 16px; }

.znacky { display: flex; align-items: center; gap: 14px; }
.znacky .oddelovac { width: 1px; height: 26px; background: var(--obrys-silny); }
.znacka {
  font-weight: 700;
  font-size: 18px;
  color: var(--text);
  text-decoration: none;
  letter-spacing: -.02em;
}
.znacka span { color: var(--akcent); }

.hlavicka nav {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.hlavicka nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: var(--radius-maly);
  color: var(--text-tlumeny);
  text-decoration: none;
  font-size: 15px;
}
.hlavicka nav a:hover { background: var(--panel-2); color: var(--text); }
.hlavicka nav a[aria-current="page"] { background: var(--akcent-jemny); color: var(--akcent); }

.paticka {
  margin-top: 56px;
  padding: 32px 0 40px;
  background: var(--panel);
  border-top: 1px solid var(--obrys);
  font-size: 14.5px;
  color: var(--text-tlumeny);
}
.paticka nav { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-bottom: 14px; }
.paticka p { max-width: 70ch; }
.paticka .provozovatel { font-size: 13.5px; }

/* ==========================================================================
   4. Úvodní část a nahrávání
   ========================================================================== */

.uvod { padding: clamp(32px, 6vw, 72px) 0 8px; }
.perex { font-size: clamp(17px, 2.3vw, 20px); color: var(--text-tlumeny); }

.uvod-mrizka {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 56px);
  align-items: center;
}
@media (max-width: 860px) {
  .uvod-mrizka { grid-template-columns: minmax(0, 1fr); }
}
.uvod-text h1 { font-size: clamp(30px, 5.2vw, 50px); letter-spacing: -.025em; margin-bottom: .4em; }

.odznak-uvod {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--akcent-jemny);
  color: var(--akcent);
  font-size: 13.5px;
  font-weight: 600;
}
.odznak-uvod::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--zelena);
}

.vyhody {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  gap: 10px;
}
.vyhody li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15.5px;
}
.vyhody li::before {
  content: "✓";
  display: grid;
  place-items: center;
  flex: none;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--zelena) 16%, transparent);
  color: var(--zelena);
  font-size: 12px;
  font-weight: 700;
}

.uvod-nahrani .slib { margin-top: 14px; max-width: none; }

.nahravaci {
  margin: 0;
  background: var(--panel);
  border: 2px dashed var(--obrys-silny);
  border-radius: calc(var(--radius) + 6px);
  padding: clamp(28px, 5vw, 48px) clamp(20px, 4vw, 36px);
  text-align: center;
  box-shadow: var(--stin);
  transition: border-color .15s, background .15s, transform .15s;
}
.nahravaci:hover { border-color: var(--akcent); }
.nahravaci-ikona {
  display: grid;
  place-items: center;
  width: 64px; height: 64px;
  margin: 0 auto 16px;
  border-radius: 20px;
  background: var(--akcent-jemny);
  color: var(--akcent);
}

.sekce-uvod { padding: clamp(28px, 5vw, 48px) 0 0; }
.sekce-uvod > .obal > h2 { text-align: center; margin-bottom: 6px; }
.sekce-uvod .podtitul-sekce {
  text-align: center;
  color: var(--text-tlumeny);
  margin: 0 auto 8px;
  max-width: 56ch;
}

.vlastnosti {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}
.vlastnosti li {
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  padding: 20px;
  box-shadow: var(--stin-maly);
}
.vlastnosti .ikona-vlastnosti {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  border-radius: 12px;
  background: var(--akcent-jemny);
  color: var(--akcent);
  margin-bottom: 12px;
}
.vlastnosti h3 { font-size: 16.5px; margin: 0 0 4px; }
.vlastnosti p { margin: 0; font-size: 14.5px; color: var(--text-tlumeny); }

/* --- přepínač tématu v hlavičce --- */

.hlavicka-prava { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.prepinac {
  display: inline-flex;
  padding: 3px;
  gap: 2px;
  background: var(--panel-2);
  border: 1px solid var(--obrys);
  border-radius: 999px;
}
.prepinac button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-tlumeny);
  font: inherit;
  font-size: 13.5px;
  font-weight: 550;
  cursor: pointer;
  white-space: nowrap;
}
.prepinac button:hover { color: var(--text); }
.prepinac button[aria-pressed="true"] {
  background: var(--panel);
  color: var(--text);
  box-shadow: var(--stin-maly);
}
.prepinac.mal button { min-height: 28px; padding: 0 10px; font-size: 12.5px; }
/* Na telefonu: přepínač vzhledu (jen ikony) na prvním řádku vpravo vedle
   loga, navigace pod tím. Bez toho by přepínač spadl na vlastní třetí řádek
   a hlavička by zbytečně narostla. display: contents rozpustí obal
   .hlavicka-prava, takže nav i přepínač jsou přímé položky flexu a dají
   se přeskládat přes order. */
@media (max-width: 760px) {
  .hlavicka-obsah { gap: 4px 12px; padding-top: 8px; padding-bottom: 6px; }
  .hlavicka-prava { display: contents; }
  .hlavicka .prepinac-tematu { order: 2; margin-left: auto; }
  .hlavicka .prepinac-tematu button { padding: 0 9px; min-height: 30px; }
  .hlavicka .prepinac-tematu button span { display: none; }
  .hlavicka nav { order: 3; width: 100%; }
  .znacky { gap: 10px; }
  .znacky .logo-datascope { width: 92px; height: 24px; }
}

.popisek-volby { font-size: 13.5px; color: var(--text-tlumeny); font-weight: 600; }
.nahravaci.pretahuje {
  border-color: var(--akcent);
  background: var(--akcent-jemny);
}
.nahravaci h2 { font-size: clamp(19px, 2.6vw, 23px); margin-bottom: 6px; }
.nahravaci p { color: var(--text-tlumeny); margin-bottom: 18px; }

.tlacitko {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--cil-dotyku);
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: var(--radius-maly);
  background: var(--akcent);
  color: var(--akcent-text);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.tlacitko:hover { background: var(--akcent-tmavy); }
.tlacitko:disabled { opacity: .5; cursor: default; }

.tlacitko.druhotne {
  background: var(--panel);
  color: var(--text);
  border-color: var(--obrys-silny);
}
.tlacitko.druhotne:hover { background: var(--panel-2); }

.tlacitko.mal {
  min-height: 34px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 500;
}

.formaty {
  font-size: 14px;
  color: var(--text-tlumeny);
  margin: 0;
}

.slib {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 18px 0 0;
  padding: 14px 16px;
  background: var(--akcent-jemny);
  border-radius: var(--radius-maly);
  font-size: 14.5px;
  color: var(--text);
  max-width: 62ch;
}
.slib svg { flex: none; margin-top: 2px; }

.chyba {
  margin: 18px 0 0;
  padding: 14px 16px;
  border-radius: var(--radius-maly);
  background: color-mix(in srgb, var(--cervena) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--cervena) 35%, transparent);
  color: var(--text);
  font-size: 15px;
}

/* Ukazatel průběhu */
.prubeh { margin: 20px auto 0; max-width: 420px; }
.prubeh-drah {
  height: 6px;
  background: var(--obrys);
  border-radius: 999px;
  overflow: hidden;
}
.prubeh-vypln {
  height: 100%;
  width: 0;
  background: var(--akcent);
  border-radius: 999px;
  transition: width .2s ease;
}
.prubeh p { margin: 10px 0 0; font-size: 14px; color: var(--text-tlumeny); }

/* ==========================================================================
   5. Dashboard
   ========================================================================== */

.aplikace { padding: 24px 0 0; }

.listek {
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  box-shadow: var(--stin-maly);
}

.pruh-souboru {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  margin-bottom: 14px;
}
.pruh-souboru .nazev-souboru {
  font-weight: 650;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.pruh-souboru .nazev-souboru span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pruh-souboru .meta { color: var(--text-tlumeny); font-size: 14px; }
.pruh-souboru .odsazovac { margin-left: auto; }
.pruh-souboru .akce { display: flex; gap: 8px; flex-wrap: wrap; }

.vyber-listu {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text-tlumeny);
}
select, input[type="text"], input[type="search"], input[type="number"], input[type="date"] {
  font: inherit;
  font-size: 14.5px;
  color: var(--text);
  background: var(--panel);
  border: 1px solid var(--obrys-silny);
  border-radius: var(--radius-maly);
  padding: 7px 10px;
  min-height: 38px;
  max-width: 100%;
}
input[type="number"], input[type="date"] { font-variant-numeric: tabular-nums; }

/* --- pruh s volbou role a zobrazení --- */

.ovladani {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 10px 14px;
  margin-bottom: 14px;
}
.ovladani .popisek-volby { font-size: 13.5px; color: var(--text-tlumeny); font-weight: 600; }
.ovladani .odsazovac { margin-left: auto; }
.ovladani .skupina-volby { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ovladani .popis-role { font-size: 13px; color: var(--text-tlumeny); width: 100%; margin: 0; }

.tlacitko.prepnout { gap: 7px; }
.tlacitko.prepnout::before {
  content: "";
  width: 9px; height: 9px;
  border-radius: 3px;
  border: 2px solid var(--obrys-silny);
  flex: none;
}
.tlacitko.prepnout[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--akcent) 45%, transparent);
  color: var(--akcent);
  background: var(--akcent-jemny);
}
.tlacitko.prepnout[aria-pressed="true"]::before { background: var(--akcent); border-color: var(--akcent); }

/* --- shrnutí pro vedení --- */

.shrnuti {
  padding: 18px 20px;
  margin-bottom: 16px;
}
.shrnuti h2 { font-size: 16px; margin: 0 0 10px; }
.shrnuti ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.shrnuti li { display: flex; gap: 10px; align-items: baseline; font-size: 15px; }
.shrnuti li::before {
  content: "";
  flex: none;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--akcent);
  transform: translateY(-1px);
}
.shrnuti .nahoru { color: var(--zelena); font-weight: 650; }
.shrnuti .dolu { color: var(--cervena); font-weight: 650; }

/* --- pruh s rozpoznáním --- */

.rozpoznani {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 13px 18px;
  margin-bottom: 14px;
  background: var(--akcent-jemny);
  border: 1px solid color-mix(in srgb, var(--akcent) 22%, transparent);
  border-radius: var(--radius);
  font-size: 15px;
}
.rozpoznani strong { font-weight: 650; }
.rozpoznani .duvod { color: var(--text-tlumeny); font-size: 13.5px; width: 100%; margin: 0; }

.poznamky { margin-bottom: 14px; }
.poznamka {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 11px 15px;
  margin-bottom: 8px;
  background: color-mix(in srgb, var(--jantar) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--jantar) 28%, transparent);
  border-radius: var(--radius-maly);
  font-size: 14.5px;
}
.poznamka svg { flex: none; margin-top: 2px; color: var(--jantar); }

/* --- karty --- */

.karty {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.karta {
  padding: 16px 18px;
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  box-shadow: var(--stin-maly);
}
.karta .nazev {
  font-size: 13px;
  color: var(--text-tlumeny);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 600;
  margin: 0 0 6px;
}
.karta .hodnota {
  font-size: clamp(22px, 3.2vw, 30px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.karta.hlavni { background: var(--akcent-jemny); border-color: color-mix(in srgb, var(--akcent) 25%, transparent); }
.karta.hlavni .hodnota { color: var(--akcent); }
.karta .podnadpis { font-size: 12.5px; color: var(--text-tlumeny); margin: 3px 0 0; }
/* Období je datumový rozsah, ne jedno číslo — na velikost hlavního údaje
   je moc dlouhé a lámalo by se. */
.karta .hodnota.male { font-size: clamp(15px, 1.9vw, 18px); font-weight: 650; }

/* Ředitel: méně karet, zato větších. */
.karty.velke { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.karty.velke .karta { padding: 22px 22px; }
.karty.velke .karta .hodnota { font-size: clamp(24px, 2.7vw, 34px); }
.karty.velke .karta .hodnota.male { font-size: clamp(16px, 2vw, 21px); }

/* --- mřížka filtrů a panelů --- */

.mrizka {
  display: grid;
  grid-template-columns: 276px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.mrizka.bez-filtru { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 900px) {
  .mrizka { grid-template-columns: minmax(0, 1fr); }
}

.filtry { padding: 4px; position: sticky; top: 12px; }
@media (max-width: 900px) { .filtry { position: static; } }

.filtry-hlava {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px 6px;
}
.filtry-hlava h2 { font-size: 15px; margin: 0; }

.filtr { border-top: 1px solid var(--obrys); }
.filtr > summary {
  cursor: pointer;
  padding: 11px 12px;
  font-size: 14.5px;
  font-weight: 600;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 42px;
}
.filtr > summary::-webkit-details-marker { display: none; }
.filtr > summary::after {
  content: "";
  width: 8px; height: 8px;
  border-right: 2px solid var(--text-tlumeny);
  border-bottom: 2px solid var(--text-tlumeny);
  transform: rotate(45deg);
  transition: transform .15s;
  flex: none;
}
.filtr[open] > summary::after { transform: rotate(-135deg); }
.filtr > summary .pocet-vybranych {
  font-weight: 500;
  font-size: 12.5px;
  color: var(--akcent);
  background: var(--akcent-jemny);
  padding: 1px 7px;
  border-radius: 999px;
  margin-left: auto;
  margin-right: 6px;
}
.filtr-telo { padding: 0 12px 14px; }

.seznam-hodnot {
  max-height: 232px;
  overflow-y: auto;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.seznam-hodnot li { margin: 0; }
.seznam-hodnot label {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 4px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  min-height: 32px;
}
.seznam-hodnot label:hover { background: var(--panel-2); }
.seznam-hodnot .popis { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seznam-hodnot .pocet { color: var(--text-tlumeny); font-size: 12.5px; font-variant-numeric: tabular-nums; }

input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--akcent); flex: none; }

.dvojice { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.dvojice input { flex: 1; min-width: 0; }
.dvojice span { color: var(--text-tlumeny); font-size: 13px; }

.rychle-volby { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }

.stitky-filtru {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}
.stitek {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 7px 5px 11px;
  background: var(--panel);
  border: 1px solid var(--obrys-silny);
  border-radius: 999px;
  font-size: 13.5px;
}
.stitek button {
  border: 0;
  background: var(--panel-2);
  color: var(--text-tlumeny);
  width: 20px; height: 20px;
  border-radius: 50%;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  display: grid;
  place-items: center;
}
.stitek button:hover { background: var(--cervena); color: #fff; }

/* --- panely s grafy --- */

/* align-items: start — rozbalená data pod jedním grafem nesmí natáhnout
   sousední panel ve stejném řádku do prázdna. */
.panely {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 16px;
  align-items: start;
}
.panel-hlava {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.panel-hlava h3 { margin: 0; padding-top: 4px; }
.panel-volby { display: flex; flex-wrap: wrap; gap: 8px; }
.panel {
  padding: 16px 18px 14px;
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  box-shadow: var(--stin-maly);
  min-width: 0;
}
.panel.siroky { grid-column: 1 / -1; }
.panel h3 { font-size: 15.5px; margin: 0 0 12px; }
.panel .graf { width: 100%; height: auto; display: block; }

.panel details { margin-top: 10px; border-top: 1px solid var(--obrys); padding-top: 8px; }
.panel details summary {
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--akcent);
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  list-style: none;
}
.panel details summary::-webkit-details-marker { display: none; }
.panel details summary::after {
  content: "";
  width: 6px; height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .15s;
}
.panel details[open] summary::after { transform: rotate(-135deg) translateY(-1px); }
.panel details .napoveda { font-size: 12.5px; color: var(--text-tlumeny); margin: 4px 0 0; }
.panel details tr.vybrano td { background: var(--akcent-jemny); }
.panel details td.c.podil { color: var(--text-tlumeny); width: 1%; white-space: nowrap; }
.radek-filtr {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  color: var(--akcent);
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--akcent) 35%, transparent);
  text-underline-offset: 3px;
}
.radek-filtr:hover { text-decoration-color: currentColor; }
.panel details table { width: 100%; border-collapse: collapse; font-size: 13.5px; margin-top: 6px; }
.panel details th, .panel details td { text-align: left; padding: 4px 6px; border-bottom: 1px solid var(--obrys); }
.panel details td.c { text-align: right; font-variant-numeric: tabular-nums; }

/* --- grafy (SVG) --- */

.graf text { font-family: var(--pismo); fill: var(--text-tlumeny); }
.graf .popisek-osy { font-size: 12px; }
.graf .popisek-pruhu { font-size: 13px; fill: var(--text); }
.graf .hodnota-pruhu { font-size: 12.5px; fill: var(--text-tlumeny); font-variant-numeric: tabular-nums; }
.graf .popisek-legendy { font-size: 13px; fill: var(--text); }
.graf .nazev-osy { font-size: 12.5px; }
.graf .prazdno { font-size: 14px; }

.graf .mrizka { stroke: var(--obrys); stroke-width: 1; }
.graf .mrizka.nula { stroke: var(--obrys-silny); stroke-width: 1.5; }

.graf .sloupec { fill: var(--g1); transition: fill .12s; }
.graf .klikaci:hover .sloupec { fill: var(--akcent-tmavy); }
.graf .sloupec.vybrano { fill: var(--g2); }

.graf .pruh-pozadi { fill: transparent; }
.graf .klikaci:hover .pruh-pozadi { fill: var(--panel-2); }

.graf .cara { fill: none; stroke: var(--g1); stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.graf .plocha { fill: var(--g1); opacity: .12; stroke: none; }
.graf .bod { fill: var(--panel); stroke: var(--g1); stroke-width: 2; }
.graf .klikaci:hover .bod { fill: var(--g1); }
.graf .bod.vybrano { fill: var(--g2); stroke: var(--g2); }
.graf .bod-rozptyl { fill: var(--g1); opacity: .5; }

.graf .bunka-mapy { fill: var(--g1); }
.graf .bunka-mapy.prazdna { fill: var(--panel-2); }
.graf .legenda-mapy { fill: var(--g1); }

.graf .vysec { stroke: var(--panel); stroke-width: 2; }
.graf .klikaci:hover .vysec { opacity: .82; }
.graf .vysec.vybrano { stroke: var(--text); stroke-width: 2.5; }

.graf .serie-1, .graf .znacka.serie-1 { fill: var(--g1); }
.graf .serie-2, .graf .znacka.serie-2 { fill: var(--g2); }
.graf .serie-3, .graf .znacka.serie-3 { fill: var(--g3); }
.graf .serie-4, .graf .znacka.serie-4 { fill: var(--g4); }
.graf .serie-5, .graf .znacka.serie-5 { fill: var(--g5); }
.graf .serie-6, .graf .znacka.serie-6 { fill: var(--g6); }
.graf .serie-7, .graf .znacka.serie-7 { fill: var(--g7); }
.graf .serie-8, .graf .znacka.serie-8 { fill: var(--g8); }

/* .polozka je nekliktelný prvek grafu. Necháváme mu ukazování myší, aby
   fungoval tooltip z <title>, ale nedostává roli tlačítka ani fokus. */
.graf .klikaci { cursor: pointer; }
.graf .klikaci:focus-visible { outline: 3px solid var(--akcent); outline-offset: 1px; }

/* --- tabulka --- */

.tabulka-obal { margin: 18px 0 0; overflow: hidden; }
.tabulka-hlava {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--obrys);
}
.tabulka-hlava h2 { font-size: 16px; margin: 0; }
.tabulka-hlava .odsazovac { margin-left: auto; }

.tabulka-posuv { overflow-x: auto; }

table.data {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  table-layout: auto;
}
table.data th, table.data td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--obrys);
  text-align: left;
  white-space: nowrap;
}
table.data thead th {
  position: sticky;
  top: 0;
  background: var(--panel-2);
  font-weight: 650;
  font-size: 13px;
  z-index: 1;
  padding: 0;
}
table.data thead th button {
  width: 100%;
  background: none;
  border: 0;
  font: inherit;
  font-weight: 650;
  color: var(--text);
  cursor: pointer;
  padding: 9px 12px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
}
table.data thead th button:hover { background: var(--obrys); }
table.data thead th .sipka { color: var(--akcent); font-size: 11px; }
table.data td.c { text-align: right; font-variant-numeric: tabular-nums; }
table.data tbody tr:hover { background: var(--panel-2); }
table.data .typ-znacka {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--text-tlumeny);
  text-transform: uppercase;
  letter-spacing: .03em;
}

.strankovani {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-top: 1px solid var(--obrys);
  font-size: 14px;
  color: var(--text-tlumeny);
}
.strankovani .odsazovac { margin-left: auto; }

/* --- panel rozpoznaných sloupců --- */

.sloupce-prehled { margin-top: 18px; }
.sloupce-prehled table { width: 100%; border-collapse: collapse; font-size: 14px; }
.sloupce-prehled th, .sloupce-prehled td {
  text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--obrys);
}
.sloupce-prehled select { min-height: 34px; padding: 4px 8px; font-size: 13.5px; }

.odznak {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  background: var(--panel-2);
  color: var(--text-tlumeny);
  border: 1px solid var(--obrys);
}

/* ==========================================================================
   6. Statický obsah pro čtenáře a vyhledávače
   ========================================================================== */

.obsah { padding: 40px 0 8px; }
.obsah h2 { margin-top: 1.6em; }
.obsah h3 { margin-top: 1.4em; }
.obsah ul, .obsah ol { max-width: 68ch; padding-left: 1.3em; }
.obsah li { margin-bottom: .4em; }

.kroky {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  max-width: none;
}
.kroky li {
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  padding: 18px;
  margin: 0;
}
.kroky .cislo {
  display: grid;
  place-items: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--akcent);
  color: var(--akcent-text);
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 10px;
}
.kroky h3 { margin: 0 0 4px; font-size: 16.5px; }
.kroky p { margin: 0; font-size: 14.5px; color: var(--text-tlumeny); }

.ukazka-rozpoznani {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  margin: 18px 0 24px;
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  overflow: hidden;
}
.ukazka-rozpoznani caption {
  text-align: left;
  padding: 12px 14px 10px;
  color: var(--text-tlumeny);
  font-size: 14px;
}
.ukazka-rozpoznani th, .ukazka-rozpoznani td {
  text-align: left; padding: 9px 14px; border-top: 1px solid var(--obrys);
}
.ukazka-rozpoznani th { background: var(--panel-2); font-size: 13px; }
.ukazka-rozpoznani code { background: none; padding: 0; }

.faq { margin: 20px 0 0; max-width: 72ch; }
.faq details {
  border: 1px solid var(--obrys);
  border-radius: var(--radius-maly);
  background: var(--panel);
  margin-bottom: 9px;
}
.faq summary {
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 600;
  min-height: var(--cil-dotyku);
  display: flex;
  align-items: center;
}
.faq details > div { padding: 0 16px 14px; }
.faq details > div p:last-child { margin-bottom: 0; }

.rozcestnik {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
  margin: 24px 0;
}
.rozcestnik a {
  display: block;
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  text-decoration: none;
  color: var(--text);
}
.rozcestnik a:hover { border-color: var(--akcent); }
.rozcestnik strong { display: block; color: var(--akcent); margin-bottom: 4px; }
.rozcestnik span { font-size: 14.5px; color: var(--text-tlumeny); }

.drobky { font-size: 13.5px; color: var(--text-tlumeny); padding: 18px 0 0; }
.drobky a { color: var(--text-tlumeny); }

/* --- podstránky (Jak to funguje, Ochrana dat) --- */

.obsah.podstranka { padding-top: 0; }

.hero-podstranka {
  padding: 8px 0 clamp(32px, 5vw, 52px);
  margin-bottom: clamp(24px, 4vw, 40px);
  background:
    radial-gradient(700px 300px at 85% 0%, color-mix(in srgb, var(--akcent) 14%, transparent), transparent 70%),
    radial-gradient(600px 300px at 0% 100%, color-mix(in srgb, var(--g3) 10%, transparent), transparent 70%);
  border-bottom: 1px solid var(--obrys);
}
.hero-podstranka .drobky { padding-bottom: 22px; }
.hero-podstranka h1 { font-size: clamp(30px, 4.6vw, 46px); letter-spacing: -.025em; margin-bottom: .35em; max-width: 22ch; }
.hero-podstranka .perex { margin-bottom: 0; }
.hero-akce { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 24px; }

.cipy { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; max-width: none; }
.cipy li {
  margin: 0;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--panel);
  border: 1px solid var(--obrys);
  font-size: 13.5px;
  color: var(--text-tlumeny);
}

.rychle-odkazy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 28px;
  font-size: 14px;
}
.rychle-odkazy a {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--akcent-jemny);
  color: var(--akcent);
  text-decoration: none;
  font-weight: 550;
}
.rychle-odkazy a:hover { background: color-mix(in srgb, var(--akcent) 22%, transparent); }

/* Postup jako svislá časová osa s čísly. */
.casova-osa {
  list-style: none;
  padding: 0 !important;
  margin: 0 0 12px;
  max-width: none !important;
  position: relative;
}
.casova-osa::before {
  content: "";
  position: absolute;
  left: 21px; top: 24px; bottom: 24px;
  width: 2px;
  background: linear-gradient(var(--akcent), color-mix(in srgb, var(--akcent) 10%, transparent));
}
.casova-osa > li {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 18px;
  margin: 0 0 18px;
  max-width: none;
}
.casova-osa .cislo-kroku {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--akcent);
  color: var(--akcent-text);
  font-weight: 700;
  font-size: 17px;
  box-shadow: 0 0 0 6px var(--podklad);
}
.blok {
  background: var(--panel);
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  box-shadow: var(--stin-maly);
  padding: clamp(18px, 3vw, 26px);
  min-width: 0;
}
.blok > h2, .blok > h3:first-child { margin-top: 0; }
.blok > :last-child { margin-bottom: 0; }
.obsah .blok h2 { font-size: clamp(19px, 2.4vw, 23px); }
.poznamka-kroku {
  margin: 14px 0 0;
  padding: 11px 14px;
  border-radius: var(--radius-maly);
  background: var(--akcent-jemny);
  font-size: 14.5px;
}

.tipy {
  list-style: none;
  padding: 0 !important;
  margin: 14px 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
  max-width: none !important;
}
.tipy li {
  margin: 0;
  padding: 13px 15px;
  border-radius: var(--radius-maly);
  background: var(--panel-2);
  border: 1px solid var(--obrys);
  font-size: 14.5px;
  color: var(--text-tlumeny);
}
.tipy li strong { display: block; color: var(--text); margin-bottom: 2px; }

.sekce-podstranky { margin-top: clamp(36px, 5vw, 56px); }
.sekce-podstranky > h2 { margin-top: 0; }
.obsah .sekce-podstranky > p { margin-bottom: 1em; }

.mrizka-karet {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.mrizka-karet .blok h3 { margin: 0 0 6px; font-size: 16.5px; }
.mrizka-karet .blok p { font-size: 14.5px; color: var(--text-tlumeny); }
.ikona-bloku {
  display: grid;
  place-items: center;
  width: 42px; height: 42px;
  border-radius: 12px;
  background: var(--akcent-jemny);
  color: var(--akcent);
  margin-bottom: 12px;
}
.ikona-bloku.zelena { background: color-mix(in srgb, var(--zelena) 15%, transparent); color: var(--zelena); }
.ikona-bloku.jantar { background: color-mix(in srgb, var(--jantar) 15%, transparent); color: var(--jantar); }

.udaje {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 10px 22px;
  margin: 0;
  font-size: 15px;
}
.udaje dt { color: var(--text-tlumeny); }
.udaje dd { margin: 0; font-weight: 600; }
@media (max-width: 520px) {
  .udaje { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .udaje dd { margin-bottom: 10px; }
}

.obsah .poznamka-kroku.blok { max-width: none; margin-top: 14px; box-shadow: none; }
.sekce-podstranky.dve-kolony { margin-top: clamp(36px, 5vw, 56px); }

.dve-kolony {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 14px;
  margin-top: 14px;
}



/* ==========================================================================
   7. Stránka s testy
   ========================================================================== */

.stranka-testy .obal { padding-top: 24px; padding-bottom: 60px; }
.stranka-testy .podtitul { color: var(--text-tlumeny); font-size: 14.5px; }
.souhrn { font-size: 17px; font-weight: 700; padding: 12px 0; }
.souhrn.ok { color: var(--zelena); }
.souhrn.fail { color: var(--cervena); }
.tabulka-testu {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  background: var(--panel);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--stin-maly);
}
.tabulka-testu td { padding: 6px 10px; border-bottom: 1px solid var(--obrys); vertical-align: top; }
.tabulka-testu td.skupina { font-weight: 700; background: var(--panel-2); padding-top: 10px; }
.tabulka-testu td.stav { white-space: nowrap; font-weight: 700; width: 90px; }
.tabulka-testu td.stav.ok { color: var(--zelena); }
.tabulka-testu td.stav.fail { color: var(--cervena); }
.tabulka-testu td.stav.skip { color: var(--text-tlumeny); font-weight: 500; }
.tabulka-testu td.zprava { color: var(--cervena); font-family: var(--pismo-cisla); font-size: 12.5px; }
.stranka-testy iframe {
  width: 100%;
  max-width: 1100px;
  height: 700px;
  border: 1px solid var(--obrys);
  border-radius: var(--radius);
  background: var(--panel);
}
.stranka-testy h2 { margin-top: 32px; }

/* ==========================================================================
   8. Pohyb
   ========================================================================== */

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

/* ==========================================================================
   9. Tisk a uložení do PDF
   *
   * Tlačítko „Stáhnout PDF“ otevře tiskový dialog. Vektorový výstup, ostrý
   * v jakémkoli zvětšení, bez jediné knihovny.
   *
   * Nejdůležitější pravidlo je break-inside: avoid na panelech — bez něj se
   * graf rozřízne mezi dvě stránky a PDF je k ničemu.
   ========================================================================== */

.tisk-hlavicka { display: none; }

@media print {
  /* :root[data-tema] kvůli specifičnosti — tmavé téma se do
     PDF propsat nesmí. */
  :root, :root[data-tema] {
    color-scheme: light;
    --g1: #3b6fd4; --g2: #d97b2b; --g3: #2f8f68; --g4: #b84f70;
    --g5: #6f5fb3; --g6: #3f97b0; --g7: #a37a21; --g8: #76808e;
    --akcent: #2f5fd0;
    --podklad: #fff;
    --panel: #fff;
    --panel-2: #fff;
    --text: #000;
    --text-tlumeny: #333;
    --obrys: #bbb;
    --obrys-silny: #888;
    --akcent-jemny: #fff;
    --stin: none;
    --stin-maly: none;
  }

  @page { size: A4 landscape; margin: 10mm; }

  body, :root[data-tema] body { background: #fff; font-size: 10pt; }
  :root[data-tema] h1 { color: #000; background: none; }
  :root[data-tema] .karta.hlavni { background: #fff; }
  :root[data-tema] .karta.hlavni .hodnota { color: #2f5fd0; }
  :root[data-tema] table.data thead th { background: #fff; }
  .ovladani, .panel-hlava .prepinac, .sekce-uvod { display: none !important; }
  .panel-hlava h3 { padding-top: 0; }

  /* Ovládání do tisku nepatří. Pruh se souborem a pruh s rozpoznáním se
     skrývají celé — obojí je i s rozbalovacími nabídkami zopakované
     v tiskové hlavičce, tentokrát jako čitelný text. */
  .hlavicka, .paticka, .uvod, .obsah, .filtry, .pruh-souboru, .rozpoznani,
  .stitky-filtru, .strankovani, .tabulka-hlava .odsazovac,
  .preskoc, .prubeh, .sloupce-prehled { display: none !important; }

  .aplikace { padding: 0; }
  .obal { max-width: none; padding: 0; }
  .mrizka { display: block; }

  .tisk-hlavicka {
    display: block;
    border-bottom: 2px solid #000;
    padding-bottom: 8px;
    margin-bottom: 12px;
  }
  .tisk-hlavicka h1 { font-size: 16pt; margin: 0 0 4px; }
  .tisk-hlavicka dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 14px;
    font-size: 9pt;
    margin: 0;
  }
  .tisk-hlavicka dt { color: #333; }
  .tisk-hlavicka dd { margin: 0; font-weight: 600; }

  .karty { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .karta { border: 1px solid #bbb; padding: 8px 10px; break-inside: avoid; }
  .karta .hodnota { font-size: 14pt; }

  /* Tohle je ten podstatný řádek. */
  .panel, .listek, .tabulka-obal, .rozpoznani, .poznamka {
    break-inside: avoid;
    page-break-inside: avoid;
    border: 1px solid #bbb;
    box-shadow: none;
  }

  /* Dva sloupce i v tisku. Přes celou šířku A4 na šířku by prstencový graf
     vyšel přes tři čtvrtě stránky a přehled by se roztáhl na pět listů. */
  .panely { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .panel { margin-bottom: 0; }
  .panel.siroky { grid-column: 1 / -1; }
  .panel details { display: none; }

  /* Záhlaví tabulky se opakuje na každé stránce. */
  thead { display: table-header-group; }
  table.data tbody tr:hover { background: none; }

  a { text-decoration: none; color: #000; }

  /* Barvy grafů se musí vytisknout, jinak z nich zbudou bílé obdélníky. */
  .graf, .graf *, .karta.hlavni, .odznak {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
/* Patička na počítači: kompaktní a na střed. Na telefonu zůstává původní. */
@media (min-width: 761px) {
  .paticka { margin-top: 40px; padding: 20px 0 24px; font-size: 13.5px; text-align: center; }
  .paticka nav { justify-content: center; gap: 4px 20px; margin-bottom: 8px; }
  .paticka p { max-width: 1000px; margin: 0 auto 4px; text-wrap: balance; }
  .paticka .provozovatel { font-size: 12.5px; margin-bottom: 0; }
}