/**
 * Druckausgabe (Phase 8.6, REDESIGN.md).
 *
 * Angelegt vor allem fuer Adressliste und Protokollliste: der PDF-Export der
 * Adressliste (intern/pdf.php plus die vendorte R&OS-ezPDF-Bibliothek von 2002)
 * ist in Phase 6 ersatzlos entfernt worden, weil er auf PHP 8 nicht lauffaehig zu
 * bekommen war (s. MIGRATION.md Phase 6). Ein Druck-Stylesheet ersetzt den
 * praktischen Teil davon -- eine Liste, die man mitnehmen kann -- ohne eine
 * Bibliothek in den Baum zu holen.
 *
 * Grundsatz: alles wegnehmen, was Bildschirm-Chrome ist (Kopfleiste, Hero,
 * Footer, Aktionslinks, Symbolknoepfe), und den Rest auf Papierbreite bringen.
 * Kein einziger Selektor hier ist druckspezifisch erfunden -- es sind dieselben
 * Klassen wie am Bildschirm.
 */

@media print {
  /* Papier ist weiss und schmal: Flaechen, Schatten und Rundungen kosten nur
     Toner. Farbe bleibt nur, wo sie Information traegt (Strafen-Ampel, Raenge,
     Pflichttermine). */
  body {
    background: #FFFFFF;
    color: #000000;
    font-size: 10pt;
    line-height: 1.35;
  }

  .site-header,
  .site-footer,
  .hero,
  .skip-link,
  .page-actions,
  .legend,
  #ToolTip,
  .icon-button,
  .data-table__actions {
    display: none !important;
  }

  .page-shell {
    background: none;
  }

  .page,
  .page--wide,
  .page--popup {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  /* Das Wasserzeichen liegt seit 8.8 als eigene Ebene hinter dem Inhalt -- im
     Druck ist es nur blasser Toner. (In der Druckvorschau mit
     Emulation.setEmulatedMedia sichtbar geworden.) */
  .page::before {
    content: none;
  }

  .card,
  .tile,
  .side-panel,
  .notice-box,
  .login-card,
  .forum-post,
  .forum-box,
  .admin-member-list li {
    box-shadow: none;
    border-radius: 0;
  }

  /* Tabellen: Kopfzeile auf jeder Seite wiederholen, Zeilen nicht ueber den
     Seitenumbruch reissen. Der .table-scroll-Umschlag muss seinen
     overflow-Kontext abgeben, sonst schneidet er im Druck ab. */
  .table-scroll {
    overflow: visible;
  }

  .data-table {
    width: 100%;
    border-collapse: collapse;
  }

  .data-table thead {
    display: table-header-group;
  }

  .data-table tr {
    break-inside: avoid;
  }

  .data-table th {
    background: none;
    border-bottom: 1pt solid #000000;
  }

  .data-table td {
    border-bottom: .5pt solid #999999;
  }

  /* Der Seitentitel traegt im Druck die Rolle, die am Bildschirm die Kopfleiste
     hat: er sagt, was man in der Hand haelt. */
  .page-title {
    margin-bottom: var(--space-4);
    font-size: 16pt;
  }

  /* Zebra-Streifen und Zeilen-Hover sind Bildschirmhilfen. */
  .data-table--zebra tbody tr:nth-child(even),
  .data-table tbody tr:hover {
    background: none;
  }

  /* Die Ampel des Beitragskontos bleibt -- sie ist der Grund, warum man die
     Liste ausdruckt. Als Kante statt als Flaeche, damit sie auch in
     Schwarzweiss und ohne Hintergrunddruck ankommt. */
  .strafen-row--ok,
  .strafen-row--warn,
  .strafen-row--danger,
  .strafen-row--critical {
    background: none;
  }

  .strafen-row--warn td:first-child     { border-left: 2pt solid #999999; }
  .strafen-row--danger td:first-child   { border-left: 3pt solid #666666; }
  .strafen-row--critical td:first-child { border-left: 4pt solid #000000; }

  /* Links: die URL hinter externen Zielen mitdrucken hilft auf Papier, bei den
     javascript:-Links des Steckbrief-Popups waere es Muell. */
  a {
    color: #000000;
    text-decoration: none;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    word-break: break-all;
  }
}
