/* Druckansicht: A4 quer, eine Begegnung je Blatt; Kopf und Fuß jedes Blatts sind das Druckband (druckband.css).
   Seitenrand 0: in den Rand drucken Browser ihre eigenen Kopf-/Fußzeilen (Datum, Seitentitel, Adresse, „1/7“);
   ohne Rand entfallen sie, und jedes Blatt trägt seine 10 mm Rand selbst (padding im Druck). */
@page { size: A4 landscape; margin: 0; }

:root { --ink: #111; --grau: #666; --linie: #999; --hell: #f1f4f2; --gruen: #0a5f2c; --gruen-mittel: #3f8f4a; --gruen-hell: #cfe8cf; --gelb: #ffe9a3; --balken: #7f7f7f; }
* { box-sizing: border-box; }
html { color-scheme: light; }
body.druck {
    margin: 0; background: #d9dedb; color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;   /* Tabellen und Texte: Arial (Vorgabe des ÖSB) */
    font-size: 10.5pt; line-height: 1.3;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
}

.druck-leiste {
    position: sticky; top: 0; z-index: 2; display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
    background: #123a28; color: #fff; padding: 10px 16px; font-size: 14px;
}
.druck-leiste button { font: inherit; font-weight: 600; padding: 7px 14px; border-radius: 8px; border: 0; cursor: pointer; background: #fff; color: #0a5f2c; }
.druck-leiste a { color: #cfe6d8; }
.druck-leiste span { color: #cfe6d8; }
.druck-leer { padding: 40px; text-align: center; }

/* Auf dem Bildschirm: Blätter als Vorschau */
.druck-seite {
    width: 277mm; min-height: 190mm; margin: 14px auto; padding: 0; background: #fff;
    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;
}
.druck-seite:last-of-type { break-after: auto; page-break-after: auto; }
@media screen and (max-width: 1150px) {
    .druck-seite { width: auto; min-height: 0; margin: 12px; box-shadow: 0 4px 24px rgba(0,0,0,.25); padding: 12px; overflow-x: auto; }
}

   metrisch gleiche freie Schrift, sonst Segoe UI/Arial) */

/* Mannschaftsausdruck: Zuordnung des Blatts */
.dk-kontext { display: flex; justify-content: space-between; gap: 6mm; margin-bottom: 2mm; padding: 1.2mm 3mm; border: 0.3mm solid var(--gruen); border-radius: 1.5mm; background: #eef6f0; font-size: 9.5pt; }

/* Angaben wie oberhalb der Begegnung: beschriftete Felder in zwei Zeilen */
.dk-angaben { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1mm 4mm; margin: 2mm 0 2mm; padding: 0; }
.dk-angaben > div { min-width: 0; }
.dk-angaben > div.breit { grid-column: span 1; }
.dk-angaben dt { font-size: 7pt; text-transform: uppercase; letter-spacing: .06em; color: var(--grau); font-weight: 700; }
.dk-angaben dd { margin: 0; font-size: 10pt; font-weight: 600; overflow-wrap: anywhere; line-height: 1.2; }
.dk-neben { font-weight: 400; color: var(--grau); font-size: 8.5pt; }
.dk-status-offiziell { color: var(--gruen); }
.dk-status-live, .dk-status-unterbrochen { color: #b42318; }

/* Mannschaftsbalken: Logo steht auf beiden Seiten links unmittelbar vor dem Namen (Gastseite rechtsbündig) */
.dk-teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 4mm; margin: 0 0 2mm; }
.dk-team { display: flex; align-items: center; gap: 2.5mm; min-width: 0; padding: 1.2mm 3mm; background: #d9d9d9; border: 0.25mm solid #222; font-size: 12.5pt; font-weight: 800; line-height: 1.15; }
.dk-team.gast { justify-content: flex-end; text-align: right; }
.dk-team.sieger { background: #c9e3c9; }
.dk-team.eigen .dk-team-name { text-decoration: underline; text-decoration-thickness: 0.4mm; text-underline-offset: 1mm; }
.dk-team-name { min-width: 0; overflow-wrap: anywhere; }
.dk-team small { font-size: 8.5pt; color: var(--grau); font-weight: 600; }
.dk-team-logo { height: 8mm; width: 11mm; object-fit: contain; flex: 0 0 auto; background: #fff; }
.dk-team-logo.ersatz { display: inline-block; border: 0.25mm dashed #777; border-radius: 1mm; }
.dk-mp { display: flex; align-items: center; gap: 2mm; font-weight: 900; }
.dk-mp-zahl { min-width: 9mm; padding: 0.6mm 2mm; border: 0.3mm solid #222; text-align: center; font-size: 15pt; background: #fff; }
.dk-mp-zahl.sieger { background: var(--gruen-mittel); color: #fff; }
.dk-mp-zahl.gleich { background: var(--gelb); }
.dk-mp-label { font-size: 9pt; font-weight: 700; color: var(--grau); }
.dk-mp-text { font-size: 13pt; padding: 0.6mm 4mm; border: 0.3mm solid #222; }
.dk-kampflos { font-size: 13pt; text-align: center; margin: 10mm 0; }

.dk-tbl { width: 100%; border-collapse: collapse; table-layout: fixed; margin-bottom: 3mm; }
.dk-tbl th, .dk-tbl td { border: 0.25mm solid var(--linie); padding: 0.9mm 0.6mm; text-align: center; white-space: nowrap; }
/* Namen dürfen umbrechen, Zahlen werden nie gekürzt */
.dk-tbl td.l, .dk-tbl td.r { white-space: normal; overflow-wrap: anywhere; line-height: 1.15; }
.dk-tbl thead th { background: var(--hell); font-size: 8pt; text-transform: uppercase; letter-spacing: .02em; overflow: hidden; }
.dk-tbl .l { text-align: left; }
.dk-tbl .r { text-align: right; }
.dk-tbl col.c-st { width: 5.2%; }
.dk-tbl col.c-nm { width: 16.8%; }
.dk-tbl col.c-s { width: 4.4%; }
.dk-tbl col.c-sum { width: 5.4%; }
.dk-tbl col.c-ep { width: 4.2%; }
.dk-tbl tr.haupt td { font-size: 11pt; height: 7mm; }
.dk-tbl tr.haupt td.l, .dk-tbl tr.haupt td.r { font-weight: 600; }
.dk-tbl tr.dp td { font-size: 7.5pt; color: var(--grau); padding-top: 0.4mm; padding-bottom: 0.4mm; border-top: 0; }
.dk-tbl .sum { font-weight: 800; background: #fafafa; }
.dk-tbl .ep { font-weight: 800; }
/* Online-Markierungen: gewonnene Serien/Einzelpunkte grün, Gleichstand gelb; ohne Farbdruck bleibt fett/unterstrichen */
.dk-tbl td.serie.gewinnt, .dk-stechen td.gewinnt { background: var(--gruen-hell); font-weight: 800; }
.dk-tbl td.serie.gleich, .dk-stechen td.gleich { background: var(--gelb); }
.dk-tbl td.ep.sieger { background: var(--gruen-mittel); color: #fff; text-decoration: underline; text-decoration-thickness: 0.3mm; }
.dk-tbl td.ep.gleich { background: var(--gelb); }
.dk-l { display: inline-block; min-width: 3.4mm; padding: 0 0.7mm; border: 0.25mm solid #222; border-radius: 0.8mm; font-size: 7pt; line-height: 1.3; text-align: center; font-weight: 800; vertical-align: 0.3mm; }
.dk-verein { font-size: 7pt; color: var(--grau); font-weight: 500; }
/* Zweite Zeile unter dem Namen: Leihschütze:in (L + Herkunftsverein) bzw. in der Jugend der Verein laut Setzliste –
   vollständig und umbrechend statt abgeschnitten neben dem Namen */
.dk-tbl tr.haupt td .dk-name { display: block; line-height: 1.15; }
.dk-tbl tr.haupt td .dk-unter { display: block; font-size: 7pt; line-height: 1.15; color: var(--grau); font-weight: 500; white-space: normal; overflow-wrap: anywhere; margin-top: 0.3mm; }
.dk-tbl tr.haupt td.r .dk-unter { text-align: right; }
.dk-stechen-hinweis { color: #b42318; font-weight: 700; font-size: 8pt; white-space: normal; }
.dk-leg { display: inline-block; padding: 0 1.2mm; border: 0.2mm solid #999; }
.dk-leg.gewinnt { background: var(--gruen-hell); }
.dk-leg.gleich { background: var(--gelb); }
.dk-tbl tr.gesamt td { font-weight: 800; font-size: 11pt; border-top: 0.6mm solid var(--ink); background: var(--hell); white-space: normal; }
.dk-tbl tr.gesamt td.ep.sieger, .dk-tbl tr.gesamt td.ep.gleich { background: var(--gruen-mittel); }
.dk-tbl tr.gesamt td.ep.gleich { background: var(--gelb); color: var(--ink); }
.dk-tbl tr.dk-seitenkopf th { font-size: 9pt; text-transform: none; letter-spacing: 0; background: #fff; border-bottom: 0; white-space: normal; }
.dk-tbl th.eigen { background: #eef6f0 !important; color: var(--gruen); }
.dk-tbl td.stand { font-weight: 600; }
.dk-tbl tr.dp td.dp-label { font-size: 6.5pt; text-transform: uppercase; letter-spacing: .04em; text-align: left; padding-left: 1.5mm; }
.dk-tbl tr.dp td.dp-label.r { text-align: right; padding-right: 1.5mm; }
.dk-legende { margin: -1.5mm 0 1.5mm; font-size: 7pt; color: var(--grau); }
.dk-stechen td { font-size: 10pt; }
.dk-stechen thead tr.dk-hg th { font-size: 6.5pt; background: #fff; }
.dk-stechen col, .dk-stechen th, .dk-stechen td { width: auto; }

.druck-seite > .db-kopf, .druck-seite > .db-meta { flex: 0 0 auto; }
.dk-fuss { margin-top: auto; padding-top: 4mm; flex: 0 0 auto; display: flex; flex-direction: column; }   /* Unterschriften + Druckband (Partnerleiste) am Blattende */
.dk-fuss .db-fuss { margin-top: 1mm; }
.dk-unterschriften { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10mm; margin-bottom: 1mm; }
.dk-unterschriften span { border-top: 0.25mm solid var(--ink); padding-top: 1mm; font-size: 8.5pt; color: var(--grau); text-align: center; }

@media print {
    body.druck { background: #fff; font-size: 10pt; }
    .druck-leiste { display: none !important; }
    /* Das Blatt füllt die Seite (Seitenrand 0 + eigener Rand 10 mm), der Fuß mit der Partnerleiste steht am Blattende. */
    .druck-seite { width: auto; min-height: 0; height: 209mm; margin: 0; padding: 10mm; box-shadow: none; overflow: hidden; }
    a { color: inherit; text-decoration: none; }
}
/* Falls der Browser die Querformat-Vorgabe ignoriert: kompakter, ohne Spalten zu kürzen. */
@media print and (orientation: portrait) {
    body.druck { font-size: 8pt; }
    .dk-team { font-size: 10pt; }
    .dk-mp-zahl { font-size: 11pt; }
    .dk-tbl thead th { font-size: 6.5pt; letter-spacing: 0; }
    .dk-tbl tr.haupt td, .dk-tbl tr.gesamt td { font-size: 8.5pt; height: auto; }
    .dk-tbl col.c-st { width: 3.6%; }
    .dk-tbl col.c-nm { width: 16%; }
    .dk-tbl col.c-s { width: 4.8%; }
    .dk-tbl col.c-sum { width: 6%; }
    .dk-tbl col.c-ep { width: 4.4%; }
}
/* Bildschirm schmal (Handy): Angaben zweispaltig, Tabelle seitlich scrollbar */
@media screen and (max-width: 700px) {
    .dk-teams { grid-template-columns: 1fr; gap: 2mm; }
    .dk-team.gast { justify-content: flex-start; text-align: left; }
    .dk-tbl { min-width: 900px; }
    .druck-leiste { position: static; }
}

/* Mehrere Stechdurchgänge: Tabelle enger, damit das Blatt auf eine Seite passt (Druckband und Partnerleiste bleiben) */
.druck-seite.eng .dk-tbl tr.haupt td { height: 6mm; font-size: 10.5pt; }
.druck-seite.eng .dk-teams { margin-bottom: 1.5mm; }
.druck-seite.eng .dk-legende { font-size: 6.5pt; margin-bottom: 1mm; }
.druck-seite.eng .dk-fuss { padding-top: 2.5mm; }
.druck-seite.eng .dk-tbl tr.dp td { padding-top: 0.25mm; padding-bottom: 0.25mm; }
.druck-seite.eng .dk-stechen td { padding-top: 0.6mm; padding-bottom: 0.6mm; }
.dk-tbl tr.haupt td.lang { font-size: 9pt; letter-spacing: -0.01em; }
.dk-team.lang { font-size: 12pt; }
/* Zweite Stufe (vom Anpassungsskript gesetzt, wenn ein Blatt sonst umbrechen würde) */
.druck-seite.enger { font-size: 9pt; }
.druck-seite.enger .dk-team { font-size: 10.5pt; }
.druck-seite.enger .dk-mp-zahl { font-size: 12pt; }
.druck-seite.enger .dk-tbl tr.haupt td { height: 5.2mm; font-size: 9.5pt; }
.druck-seite.enger .dk-tbl tr.haupt td.lang { font-size: 8pt; }
.druck-seite.enger .dk-tbl tr.dp td { padding-top: 0.2mm; padding-bottom: 0.2mm; }
.druck-seite.enger .dk-legende { display: none; }
.druck-seite.enger .dk-fuss { padding-top: 2mm; }

   „einheitlich gleich“). Die Verdichtungsstufen verkleinern nur Tabelle und Kopf, nie die Leiste. */
.druck-seite.engst .dk-tbl tr.dp { display: none; }   /* Stechen-Blätter: Duellpunkte-Zeilen entfallen, damit die Leiste voll bleibt */
/* Dritte Stufe (Stechen mit mehreren Durchgängen): alles noch enger */
.druck-seite.engst { font-size: 8.5pt; }
.druck-seite.engst .dk-team { font-size: 10pt; }
.druck-seite.engst .dk-mp-zahl { font-size: 11pt; }
.druck-seite.engst .dk-tbl tr.haupt td { height: 4.8mm; font-size: 9pt; }
.druck-seite.engst .dk-tbl tr.dp td { padding-top: 0.1mm; padding-bottom: 0.1mm; font-size: 6.5pt; }
.druck-seite.engst .dk-legende { display: none; }
.druck-seite.engst .dk-stechen td { padding-top: 0.3mm; padding-bottom: 0.3mm; font-size: 9pt; }
.druck-seite.engst .dk-fuss { padding-top: 1.5mm; }
.druck-seite.engst .dk-unterschriften { margin-bottom: 1mm; }

