/*
 * Ergaenzungen zu Bootstrap 5.3 (AP 9.1).
 *
 * Bewusst klein. Alles, was Bootstrap kann, macht Bootstrap -- eine eigene
 * Formularsprache waere Pflege ohne Gegenwert.
 *
 * KEIN INLINE-STYLE IRGENDWO. Genau deshalb kommt die Backend-CSP ohne
 * 'unsafe-inline' aus; jede Ausnahme hier kostet die ganze Direktive.
 * Keine Webfont-Datei, keine Symbolschrift: Status wird ueber Text UND Farbe
 * angezeigt, damit er auch ohne Farbwahrnehmung lesbar bleibt.
 */

/* Tabellen mit vielen Spalten duerfen waagerecht rollen, die Seite nicht. */
.tabelle-rollbar { overflow-x: auto; }

/* Zahlenspalten rechtsbuendig und mit gleicher Ziffernbreite -- sonst
   "springen" die Restkarten beim Blaettern. */
.zahl { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------------------------------------------------------------------------
 * Die Abendkassenliste auf Papier (AP 9.5)
 *
 * Die Liste wird an der Kasse benutzt, im Stehen, oft bei schlechtem Licht.
 * Deshalb: schwarz auf weiss, ohne Bedienelemente, mit einer Ankreuzspalte,
 * und der Kopf wiederholt sich auf jeder Seite -- eine zweite Blattseite ohne
 * Spaltenueberschriften ist an der Kasse unbrauchbar.
 * ------------------------------------------------------------------------- */

/* Ankreuzkaestchen: leer und nur auf Papier gedacht. Es gibt kein Feld
   "abgeholt" im System (Ae-5), also auch kein Formularfeld hier. */
.liste .haken {
    width: 1.6em;
    border: 1px solid #000;
    text-align: center;
}
.liste thead .haken { border: 0; }

@media print {
    @page { size: A4 portrait; margin: 12mm 10mm; }

    /* Alles, was nicht aufs Papier gehoert. Die Fusszeile des Druckbogens ist
       ausdruecklich ausgenommen -- sie traegt den Druckzeitpunkt, und ohne den
       weiss an der Kasse niemand, wie alt die Liste ist. */
    .navbar,
    body > footer,
    .btn,
    .pagination,
    .alert,
    .nicht-drucken,
    form { display: none !important; }

    .druckbogen footer { display: block !important; }

    body { font-size: 9.5pt; background: #fff !important; color: #000 !important; }
    main.container-fluid { padding: 0 !important; }
    .card { border: 0 !important; box-shadow: none !important; }
    a { text-decoration: none !important; color: #000 !important; }

    /* Der Spaltenkopf auf jeder Blattseite. */
    .liste thead { display: table-header-group; }
    .liste tfoot { display: table-footer-group; }

    /* Eine Zeile darf nicht ueber den Seitenumbruch zerrissen werden: Ein Name
       oben und seine Kartenzahl auf dem naechsten Blatt ist an der Kasse ein
       Fehler, kein Schoenheitsproblem. */
    .liste tr { page-break-inside: avoid; }

    .liste td, .liste th { padding: 2px 4px !important; }

    /* Zeilen abwechselnd grau -- beim Ablesen mit dem Finger die groesste
       Hilfe, die reines Schwarzweiss bieten kann. */
    .liste tbody tr:nth-child(even) { background: #f2f2f2 !important; -webkit-print-color-adjust: exact; }
}
