/* Schnitt- und Setzliste im Druckformat: A4 quer, je Mannschaft GENAU EIN Blatt. Oben und unten das Druckband
   (druckband.css: Logos, Titel, Überschrift in der Karte; Partnerleiste des ÖSB) – auf jedem Blatt gleich groß.
   Die Tabelle hat das Format der Webseite und auf jedem Blatt dieselbe Größe (15 Zeilen zu 6 mm passen); nur Mannschaften
   mit mehr Schützen verdichtet die Seite stufenweise (eng → enger → engst) und verkleinert zuletzt die Tabelle. */
.sl-seite {
    width: 277mm; height: 190mm; margin: 14px auto; background: #fff; overflow: hidden;
    box-shadow: 0 0 0 10mm #fff, 0 4px 24px rgba(0,0,0,.25);
    display: flex; flex-direction: column;
    break-after: page; page-break-after: always; break-inside: avoid; page-break-inside: avoid;
}
.sl-seite:last-of-type { break-after: auto; page-break-after: auto; }
.sl-seite > .db-kopf, .sl-seite > .db-meta, .sl-seite > .sl-tabelle, .sl-seite > .sl-legende { flex: 0 0 auto; }
.sl-seite > .db-meta { margin-top: 1.2mm; margin-bottom: 1.2mm; }
.sl-seite > .db-fuss { margin-top: auto; flex: 0 0 auto; }   /* Partnerleiste immer am Seitenende */
/* Karte und Tabelle im Format der Webseite: Mannschaftskopf mit Logo und Anzahl, Spaltenköpfe in grauen Versalien,
   Zeilen durch feine Linien getrennt, Rangkästchen, „Schnitt Setzliste“ grün. Verein in eigener Spalte neben dem Namen
   (umbrechend statt abgeschnitten), „L“ als Abzeichen am Namen. Tabellen in Arial (druck.css). */
.sl-karte { border: 0.3mm solid #cfd6dc; border-radius: 3mm; overflow: hidden; background: #fff; }
.sl-karte-kopf { display: flex; align-items: center; justify-content: space-between; gap: 4mm; padding: 1.2mm 4mm; border-bottom: 0.3mm solid #e3e7ec; }
.sl-team-zeile { display: inline-flex; align-items: center; gap: 2.5mm; min-width: 0; }
.sl-team-logo { height: 7mm; width: auto; max-width: 12mm; object-fit: contain; flex: 0 0 auto; }   /* ohne Logo kein Platzhalter */
.sl-team-name { font-size: 12pt; font-weight: 800; min-width: 0; overflow-wrap: anywhere; }
.sl-team-name a { color: inherit; text-decoration: none; }
.sl-team-region { font-size: 9pt; font-weight: 500; color: #6b7684; }
.sl-karte-neben { font-size: 8.5pt; color: #6b7684; white-space: nowrap; }
.sl-tbl { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 9.5pt; }
.sl-tbl col.c-rang { width: 9mm; }
.sl-tbl col.c-verein { width: 34mm; }
.sl-tbl col.c-geb { width: 12mm; }
.sl-tbl col.c-zahl { width: 17mm; }
.sl-tbl col.c-runde { width: 10mm; }
.sl-tbl th, .sl-tbl td { border: 0; padding: 0.3mm 2.2mm; text-align: left; white-space: nowrap; vertical-align: middle; box-sizing: border-box; }
.sl-tbl th.num, .sl-tbl td.num { text-align: right; font-variant-numeric: tabular-nums; }
.sl-tbl thead th { color: #6b7684; font-size: 7.5pt; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; line-height: 1.05; padding-top: 0.8mm; padding-bottom: 0.8mm; border-bottom: 0.5mm solid #e3e7ec; background: #fff; }
.sl-tbl tbody tr { border-bottom: 0.25mm solid #e3e7ec; }
/* Feste Zeilenhöhe (Rahmen eingerechnet): 15 Zeilen passen mit Druckband (26 mm), Partnerleiste (35 mm), Kopf, Summe und Legende auf 190 mm */
.sl-tbl tbody td { height: 6mm; }
.sl-rang { display: inline-grid; place-items: center; min-width: 4.8mm; height: 4.8mm; padding: 0 0.8mm; border-radius: 1.3mm; background: #eef1f4; font-weight: 700; font-size: 8pt; color: #1c2530; }   /* niedriger als die Zeile (6 mm), sonst bestimmt das Kästchen die Zeilenhöhe */
.sl-tbl td.name { white-space: normal; overflow-wrap: anywhere; line-height: 1.15; font-weight: 600; }
.sl-tbl td.verein { white-space: normal; overflow-wrap: anywhere; line-height: 1.1; font-size: 8.5pt; }
.sl-badge-l { display: inline-block; background: #eef1f4; color: #6b7684; font-size: 7pt; font-weight: 700; padding: 0 1.2mm; border-radius: 1mm; margin-left: 0.5mm; vertical-align: 0.2mm; }
.sl-tbl td.grau { color: #6b7684; }
.sl-tbl td.runde.leer { color: #c2c9d0; }
.sl-tbl td.akt { font-weight: 700; color: #0a5f2c; }
.sl-tbl tr.summe td { border-top: 0.5mm solid #1c2530; font-weight: 700; background: #f3f6f4; height: 6mm; }
.sl-n { font-size: 6.5pt; font-weight: 800; color: #8a5a00; }
.sl-legende { margin: 0.8mm 0 0; font-size: 7pt; color: #6b6b6b; line-height: 1.25; min-height: 3.2mm; }
/* Verdichtungsstufen nur für volle Blätter (mehr als 15 Zeilen) – ausschließlich Tabelle und Legende, nie das Druckband */
.sl-seite.eng .sl-tbl { font-size: 9pt; }
.sl-seite.eng .sl-tbl tbody td { height: 5.5mm; padding-top: 0.3mm; padding-bottom: 0.3mm; }
.sl-seite.eng .sl-karte-kopf { padding: 1.5mm 4mm; }
.sl-seite.enger .sl-tbl { font-size: 8.5pt; }
.sl-seite.enger .sl-tbl tbody td { height: 4.8mm; padding-top: 0.2mm; padding-bottom: 0.2mm; }
.sl-seite.enger .sl-tbl thead th { font-size: 7pt; }
.sl-seite.enger .sl-legende { font-size: 6.5pt; }
.sl-seite.engst .sl-tbl { font-size: 8pt; }
.sl-seite.engst .sl-tbl tbody td { height: 4.2mm; padding-top: 0.1mm; padding-bottom: 0.1mm; }
.sl-seite.engst .sl-tbl thead th { font-size: 6.5pt; padding-top: 0.6mm; padding-bottom: 0.6mm; }
.sl-seite.engst .sl-tbl td.verein { font-size: 7pt; }
.sl-seite.engst .sl-rang { min-width: 4.6mm; height: 4.6mm; font-size: 7.5pt; }
.sl-seite.engst .sl-karte-kopf { padding: 1mm 4mm; }
.sl-seite.engst .sl-team-name { font-size: 10.5pt; }
.sl-seite.engst .sl-legende { font-size: 6pt; min-height: 0; }
.druck-leiste label { display: inline-flex; gap: 6px; align-items: center; color: #cfe6d8; }
.druck-leiste select { font: inherit; padding: 4px 6px; border-radius: 6px; border: 0; }
@media print {
    /* Seitenrand 0 (druck.css): das Blatt füllt die Seite und trägt den Rand selbst – Browser drucken so keine Kopf-/Fußzeilen */
    .sl-seite { width: auto; height: 209mm; margin: 0; padding: 10mm; box-shadow: none; }
}
@media screen and (max-width: 1150px) {
    .sl-seite { width: auto; height: auto; min-height: 0; margin: 12px; padding: 12px; overflow-x: auto; box-shadow: 0 4px 24px rgba(0,0,0,.25); }
    .sl-tbl { min-width: 960px; }
}
