/* ============================================================================
   Ausdruck-Dokument-Styling (Bildschirm-Vorschau + Druck).
   Aufbau: eine Tabelle .ausdruck-doc mit <thead> (Briefkopf) und <tfoot>
   (Fußzeile) – die wiederholt der Browser beim Drucken zuverlässig auf JEDER
   Seite und reserviert den Platz (kein Überlappen). Inhalt steht im <tbody>.
   Druck-Feinheiten (Umbrüche, Chrome ausblenden) in print.css.
   ============================================================================ */

/* Farbtokens des Ausdrucks = Beta-/Marken-Palette (vragrar-brand.css → --vr-*).
   Literale Fallbacks, falls die Marken-CSS mal nicht geladen ist. So sind ALLE
   Ausdrucke im Beta-Look (Olivgrün/Anthrazit) – unabhängig vom beta-Session-Flag. */
:root {
    --ad-accent:  var(--vr-olivgruen, #717357);   /* Akzent: Olivgrün */
    --ad-accent2: var(--vr-anthrazit, #2F3030);   /* sekundär: Anthrazit */
    --ad-ink:     var(--vr-anthrazit, #2F3030);   /* Haupttext */
    --ad-soft:    #6b6c67;                         /* gedämpfter Text (Beta --bx-muted) */
    --ad-line:    var(--vr-hellgrau, #BFBCBC);     /* Rahmen/Linien */
    --ad-zebra:   #f0f0ee;                         /* Zebra (wie Beta-Tabellen) */
}

/* nur im Druck sichtbar (Bildschirm versteckt; print.css blendet ein) */
.print-only { display: none; }

/* ---------- Dokument-Tabelle ---------- */
.ausdruck-doc {
    width: 100%;
    border-collapse: collapse;
    font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    color: var(--ad-ink);
}
.ausdruck-doc > thead > tr > td,
.ausdruck-doc > tbody > tr > td,
.ausdruck-doc > tfoot > tr > td { padding: 0; border: none; }

/* ---------- Briefkopf (thead – wiederholt sich pro Druckseite) ---------- */
.ad-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 8px;
    margin-bottom: 16px;
    border-bottom: 3px solid var(--ad-accent);
}
.ad-logo { height: 34px; width: auto; }
.ad-head-main { flex: 1; min-width: 0; }
.ad-head-title { font-size: 18px; font-weight: 700; line-height: 1.15; color: var(--ad-accent); }
.ad-head-sub { font-size: 11px; color: var(--ad-soft); }
.ad-head-meta { font-size: 10px; color: var(--ad-ink); text-align: right; white-space: nowrap; line-height: 1.5; }
.ad-head-meta span { color: var(--ad-soft); text-transform: uppercase; letter-spacing: .03em; font-size: 8.5px; }
.ad-head-actions { display: flex; gap: 6px; }

/* ---------- Fußzeile (tfoot – wiederholt sich pro Druckseite) ---------- */
.ad-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--ad-line);
    padding-top: 5px;
    margin-top: 14px;
    font-size: 9px;
    color: var(--ad-soft);
}

/* ---------- Sektionen als Karten ---------- */
.ausdruck-sektion {
    border: 1px solid var(--ad-line);
    border-radius: 12px;
    padding: 14px 18px 16px;
    margin-bottom: 16px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(16,24,40,.05);
    border-left: 4px solid var(--ad-accent);
}
/* Flache Variante ohne Karten-Rahmen – fuer lange Tabellen-Sektionen (z. B.
   Tilgungsplan), die ueber mehrere Seiten laufen; der Rahmen wirkt sonst unruhig. */
.ausdruck-sektion.ausdruck-sektion--flach {
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}
.ausdruck-sektion > h2 {
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--ad-accent);
    margin: 0 0 10px;
    padding: 0 0 7px;
    border-bottom: 1px solid var(--ad-line);
}

/* ---------- Key/Value-Tabellen ---------- */
.kv-grid { width: 100%; border-collapse: collapse; }
.kv-grid td {
    padding: 5px 8px;
    border-bottom: 1px dotted var(--ad-line);
    vertical-align: top;
    font-size: 13px;
}
.kv-grid tr:last-child td { border-bottom: none; }
.kv-grid td:first-child { width: 44%; color: var(--ad-soft); }
.kv-grid td:last-child { font-weight: 600; color: var(--ad-ink); }
.kv-grid td strong { color: var(--ad-accent); }

/* ---------- Daten-Tabellen ---------- */
.ausdruck-sektion table:not(.kv-grid) {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    margin-top: 2px;
}
.ausdruck-sektion table:not(.kv-grid) thead th {
    background: var(--ad-accent);
    color: #fff;
    text-align: left;
    padding: 7px 9px;
    font-weight: 600;
    font-size: 11.5px;
    letter-spacing: .02em;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
.ausdruck-sektion table:not(.kv-grid) tbody td {
    padding: 5px 9px;
    border-bottom: 1px solid var(--ad-line);
}
.ausdruck-sektion table:not(.kv-grid) tbody tr:nth-child(even) {
    background: var(--ad-zebra);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* ---------- Tilgungsplan: kompakter, damit lange Plaene gut in den
   Sektion-Rahmen passen (gleiche Spezifitaet wie oben -> spaeter = gewinnt) ---------- */
.ad-plan-block { margin-bottom: 12px; }
.ad-plan-block h3 { font-size: 11px; margin: 8px 0 4px; }
.ad-plan-block table:not(.kv-grid) { font-size: 10.5px; }
.ad-plan-block table:not(.kv-grid) thead th { padding: 4px 7px; font-size: 9.5px; }
.ad-plan-block table:not(.kv-grid) tbody td { padding: 2.5px 7px; }

/* ---------- Deckungsbeitrag: Formel-Hinweis + hervorgehobene Summenzeile ---------- */
.ausdruck-sektion .hinweis { margin: 2px 0 6px; font-size: 11px; color: var(--ad-soft); }
.ausdruck-sektion table:not(.kv-grid) tbody tr.summe td {
    border-top: 2px solid var(--ad-accent);
    border-bottom: none;
    background: #fff;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
.ausdruck-sektion table:not(.kv-grid) tbody td small { color: var(--ad-soft); font-weight: 400; }
