    body { font-family: Calibri, Arial, sans-serif; margin: 0; padding: 0 0 40px; background: #ccc; }

    /* Legende (Farb-Markierung) — auf der ersten A4-Seite verankert. */
    .legend { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; font-size: 10pt; color: #222; margin: 0 0 12px; }
    .legend .sw { display: inline-block; width: 14px; height: 14px; border: 1px solid #999; vertical-align: middle; margin-right: 6px; }

    .a4-page { width: 210mm; min-height: 297mm; margin: 25px auto; padding: 18mm 14mm; box-sizing: border-box; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.15); }
    .page-title { font-size: 13pt; color: #1a3a6e; font-weight: bold; margin: 0 0 8px; }
    .page-num { float: right; font-size: 10pt; color: #888; font-weight: normal; }
    body.no-page-num .page-num { display: none; }
    .page-meta { text-align: right; padding-top: 6px; margin-top: auto; }

    table.grid { border-collapse: collapse; width: 100%; font-size: 10pt; table-layout: fixed; }
    table.grid th { background: #2F5490; color: #fff; text-align: left; padding: 5px 6px; font-size: 9pt; }
    table.grid td { padding: 3px 6px; border-bottom: 1px solid #ddd; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .col-verb  { font-weight: 600; }
    .col-trans { color: #333; }
    .col-sep   { text-align: center; font-size: 9pt; color: #444; }
    .col-rekt  { font-size: 9pt; color: #555; }
    .col-hilf  { text-align: center; }
    .col-kasus { font-size: 9pt; }
    .col-cefr  { text-align: center; }
    .col-conj  { text-align: center; }

    .refl-mark { color: #1a3a6e; font-style: italic; }

    /* Option "Grundverb-Link": abgeleitetes Verb als Link zur Konjugation des
       Grundverbs (verbs.html, neuer Tab). Klar als Link erkennbar, dezent. */
    a.verb-link { color: #1a3a6e; text-decoration: none; cursor: pointer; }
    a.verb-link:hover { text-decoration: underline; }
    a.verb-link .refl-mark { color: inherit; }

    /* Gruppenkopf (Grundverb) als volle Tabellenzeile */
    tr.group-row td { background: #e8edf6; color: #1a3a6e; font-weight: bold; font-size: 10pt; padding: 5px 6px; border-bottom: 1px solid #c4d0e6; }
    tr.group-row .gcount { float: right; font-weight: normal; color: #5a6b8c; font-size: 9pt; }

    /* Grundverb-Zeile — Hervorhebung */
    tr.is-base-verb td { background: #f5f5f5; font-weight: 600; border-top: 2px solid #ccc; }

    #loading { text-align: center; padding: 60px; font-size: 16pt; color: #555; }

    /* --- Druck: jede HTML-A4 = genau EIN Blatt, strikt A4, Farben erhalten --- */
    @media print {
      /* Kein Browser-Seitenrand -> 210mm wird NICHT verkleinert; keine A4 abgeschnitten. */
      @page { size: A4; margin: 0; }
      html, body { margin: 0; padding: 0; background: #fff; }
      .header, .footer { display: none; }
      .a4-page {
        width: 210mm; height: 297mm; min-height: 0;
        margin: 0; box-shadow: none;
        overflow: hidden;
        break-inside: avoid; page-break-inside: avoid;
        break-after: page; page-break-after: always;
      }
      .a4-page:last-child { break-after: auto; page-break-after: auto; }
      /* Farbdruck: Kopf-/Zeilen-Farben NICHT vom Browser entfernen lassen. */
      .a4-page, .a4-page * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
      }
      /* list-D-Pagination: Zeilen NUR im Druck leicht straffen, damit jede Seite
         ohne Clipping auf genau EIN Blatt passt. Die Pagination/Zeilenzahl bleibt
         unverändert. */
      table.grid td { padding-top: 1px; padding-bottom: 1px; }
      tr.group-row td { padding-top: 2px; padding-bottom: 2px; }
    }
