/* print.css — jeden tiskový stylopis pro celou aplikaci.
   Linkuje se v base.html s `media="print"`, takže na obrazovku nemá vliv vůbec.

   PROČ EXISTUJE. Tisknutelné výstupy (prezenční listina, pozvánka, plné moci, zápis,
   report hlasování, QR kartičky) si každý opisoval jednořádkové
   `@media print { .noprint{display:none} }`. To skryje jen tlačítka nad dokumentem —
   ne ale hlavičku webu (`position:sticky`), 13,5rem boční menu (`.layout` je grid, takže
   dokument se navíc mačkal do `1fr`) ani trojsloupcovou patičku. První stránka tisku byla
   proto navigace a poslední patička.

   Jediná šablona, která to měla správně, byly QR kartičky — tohle je jejich blok
   zobecněný na všechny. Čísla stránek se ZÁMĚRNĚ netisknou: uživatel je nechce
   (11. 9. 2026), a u prezenční listiny se podepisuje po řádcích, ne po stranách. */

@page {
  margin: 10mm;
}

/* Aplikační obal. `!important` proto, že `header.site` je `position:sticky` a `.layout`
   grid — bez něj by je autorská pravidla z base.css přebila. */
header.site,
aside.side,
footer.site,
#nav-toggle,
.noprint {
  display: none !important;
}

/* Grid `13.5rem 1fr` by dokumentu nechal jen pravý sloupec, i když je menu skryté. */
.layout {
  display: block !important;
}

/* Karta je na obrazovce panel, na papíře jen obsah. `overflow`/`height` kvůli tabulkám,
   které by jinak přišly o řádky za koncem první stránky. */
main,
#main,
.card {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.container {
  max-width: none !important;
  padding: 0 !important;
}

/* Odkazy v dokumentu se na papíře nemají barvit ani podtrhávat jako na webu — v pozvánce
   je jich řada a modré podtržení z toho dělá nečitelnou kaši. URL se nedopisuje: u
   pozvánky by za každým slovem přebývala adresa. */
a {
  color: inherit;
  text-decoration: none;
}

/* Tabulky nesmí trhat řádek na hranici stránky a hlavička se má opakovat. */
table {
  page-break-inside: auto;
}

thead {
  display: table-header-group;
}

tr,
img {
  page-break-inside: avoid;
  break-inside: avoid;
}

/* MŘÍŽKA TABULKY PŘES VÍC STRAN.

   `border-collapse: collapse` (což mají všechny dokumentové tabulky na obrazovce) je
   v tiskovém engine Chromu vada: rozdělí-li se tabulka na víc stránek, svislé a vnější
   linky se nakreslí jen na POSLEDNÍM fragmentu a na hranici stránky zůstane tenký
   prázdný pásek s linkou navíc. Nahlášeno 14. 9. 2026 na prezenční listině (7 stran):
   předposlední strana byla bez bočního orámování a jeden řádek uprostřed měl linku
   jinak tlustou.

   `separate` + rámečky na BUŇKÁCH tím netrpí — každá buňka si svou linku nakreslí sama,
   takže každá stránka má mřížku celou. Sousední buňky se nezdvojí, protože každá kreslí
   jen PRAVOU a SPODNÍ hranu; levý okraj tabulky a horní okraj hlavičky se dopisují
   zvlášť. Platí to jen pro `.rtable` (tabulky tisknutelných dokumentů), ať se ostatním
   tabulkám nic nemění.

   Barva je natvrdo černá, ne `var(--border)`/`var(--text)`: v tmavém režimu jsou ty
   proměnné světlé a mřížka by na papíře zmizela. */
.rtable {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 0 !important;
}

.rtable th,
.rtable td {
  border: 0 !important;
  border-right: 1px solid #000 !important;
  border-bottom: 1px solid #000 !important;
}

/* Levý okraj tabulky — na každém řádku, takže i na každé stránce. */
.rtable tr > :first-child {
  border-left: 1px solid #000 !important;
}

/* Horní okraj: u tabulky s `thead` se hlavička díky `table-header-group` opakuje na každé
   stránce, takže se s ní opakuje i horní linka. Tabulka BEZ `thead` (zápis má `<tr><th>`
   přímo v `table`) ji dostane na prvním řádku — `tbody:first-child` sedí jen tehdy, když
   před ním žádná hlavička není, jinak by pod hlavičkou vznikla dvojitá linka. */
.rtable thead tr:first-child > *,
.rtable tbody:first-child tr:first-child > * {
  border-top: 1px solid #000 !important;
}

/* Hlavička zůstává opticky silnější — je to jediné, co má být jinak tlusté. */
.rtable thead th {
  border-bottom-width: 2px !important;
}

h1,
h2,
h3 {
  page-break-after: avoid;
  break-after: avoid;
}
