#pdf-report { display: none; }
@media print {
    @page {
        size: A4; margin: 25mm 20mm; background-color: #fafafa;
        @top-left { content: ""; }
        @top-center { content: ""; }
        @top-right { content: ""; }
        @bottom-left { content: ""; }
        @bottom-center { content: ""; }
        @bottom-right { content: "Seite " counter(page) " / " counter(pages); font-family: sans-serif; font-size: 8.5pt; color: #a0aec0; }
    }
    @page :first { @bottom-right { content: ""; } }
    body:has(#pdf-report) { margin: 0 !important; padding: 0 !important; background: #fafafa !important; }
    body:has(#pdf-report) > :not(#pdf-report) { display: none !important; }
    body #pdf-report { display: block !important; color: #2c3e50; font: 10.5pt/1.6 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background: #fafafa; }
    #pdf-report * { box-sizing: border-box; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    #pdf-report .title-page { height: 246mm; padding-top: 22mm; display: flex; flex-direction: column; break-after: page; page-break-after: always; }
    #pdf-report .title-accent-bar { width: 60px; height: 6px; flex-shrink: 0; background: #0ea5e9; margin-bottom: 25px; border-radius: 3px; }
    #pdf-report .title-header h1 { font-size: 38pt; color: #0f172a; margin: 0 0 5px; font-weight: 800; letter-spacing: -1px; line-height: 1.1; overflow-wrap: anywhere; }
    #pdf-report .subtitle { font-size: 18pt; color: #64748b; margin: 15px 0 45px; font-weight: 500; }
    #pdf-report .meta-box { background: #f1f5f9; border-left: 4px solid #0ea5e9; padding: 20px 25px; border-radius: 0 8px 8px 0; width: 100%; overflow-wrap: anywhere; }
    #pdf-report .export-head { display: block; border: 0; padding: 0; margin: 0; }
    #pdf-report .export-logo { max-width: 45mm; max-height: 20mm; object-fit: contain; }
    #pdf-report .disclaimer { margin-top: auto; margin-bottom: 0; padding: 15px 0; border-top: 1px solid #e2e8f0; font-size: 9pt; color: #64748b; }
    #pdf-report .toc-page { break-after: page; page-break-after: always; }
    #pdf-report .click-hint { font-size: 10pt; color: #0369a1; font-weight: 500; margin-bottom: 25px; background: #e0f2fe; padding: 8px 15px; border-radius: 6px; }
    #pdf-report .toc-list a { display: block; text-decoration: none; color: #334155; font-size: 12pt; font-weight: 600; border-bottom: 1px dashed #cbd5e1; padding: 5px 0; margin-bottom: 12px; break-inside: avoid; }
    #pdf-report a::after { content: none; }
    @supports (content: target-counter(attr(href), page)) {
        #pdf-report .toc-list a::after { content: target-counter(attr(href), page); color: #0ea5e9; float: right; }
    }
    #pdf-report .module { break-inside: avoid; page-break-inside: avoid; margin-bottom: 16px; background: #fff; padding: 16px; border-radius: 12px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 5%); border: 1px solid #f1f5f9; box-decoration-break: slice; }
    #pdf-report h2 { break-after: avoid; page-break-after: avoid; color: #0f172a; font-size: 18pt; font-weight: 700; margin: 0 0 14px; }
    #pdf-report .anchor-icon { font-size: 14pt; margin-right: 10px; color: #cbd5e1; }
    #pdf-report .badge { display: inline-block; background: #fef3c7; color: #b45309; padding: 5px 12px; border-radius: 20px; font-size: 8.5pt; font-weight: 700; text-transform: uppercase; margin-bottom: 10px; }
    #pdf-report h3 { font-size: 10.5pt; font-weight: 700; color: #0ea5e9; margin: 10px 0 5px; text-transform: uppercase; letter-spacing: .8px; break-after: avoid; }
    #pdf-report p, #pdf-report li { orphans: 3; widows: 3; }
    #pdf-report .card-section { break-inside: auto; page-break-inside: auto; }
    #pdf-report li { break-inside: avoid; page-break-inside: avoid; }
    #pdf-report ul { padding-left: 20px; }
    #pdf-report .report-reference { break-before: page; page-break-before: always; }
    #pdf-report .glossary-grid { display: block; }
    #pdf-report .glossary-entry, #pdf-report .source-entry, #pdf-report .reference-card { break-inside: avoid; background: white; padding: 15px; margin-bottom: 15px; border-radius: 12px; }
    #pdf-report a { overflow-wrap: anywhere; color: #0369a1; }
}

@media print {
    #pdf-report .module-long { break-inside: auto; page-break-inside: auto; }
    #pdf-report p { margin: 6px 0; }
    #pdf-report ul { margin: 6px 0; }
    #pdf-report li { margin: 3px 0; }
    #pdf-report .source-entry, #pdf-report .glossary-entry { padding: 8px 12px; margin-bottom: 8px; }
    #pdf-report .profile-record { font-size: 9pt; }
    #pdf-report .profile-record dl { margin: 0; }
    #pdf-report .profile-record dt { font-weight: 600; }
    #pdf-report .profile-record dd { margin: 0 0 6px; overflow-wrap: anywhere; }
}

@media print {
    body #pdf-report.report-short { font-size: 9.5pt; line-height: 1.35; }
    #pdf-report.report-short .title-page { height: auto; padding-top: 0; display: block; break-after: auto; page-break-after: auto; }
    #pdf-report.report-short .title-header h1 { font-size: 24pt; }
    #pdf-report.report-short .title-accent-bar { margin-bottom: 10px; }
    #pdf-report.report-short .subtitle { font-size: 12pt; margin: 8px 0; }
    #pdf-report.report-short .meta-box { padding: 10px 14px; }
    #pdf-report.report-short .disclaimer { margin: 8px 0 14px; padding: 8px 0; }
    #pdf-report.report-short .short-note { font-size: 9pt; }
    #pdf-report.report-short .toc-list { columns: 2; column-gap: 20px; }
    #pdf-report.report-short .toc-list a { font-size: 9pt; margin-bottom: 3px; padding: 3px 0; }
    #pdf-report.report-short .click-hint { margin-bottom: 10px; padding: 5px 8px; }
    #pdf-report.report-short .module { padding: 10px; margin-bottom: 10px; border-radius: 6px; box-shadow: none; }
    #pdf-report.report-short h2 { font-size: 13pt; margin-bottom: 6px; }
    #pdf-report.report-short h3 { font-size: 9.5pt; letter-spacing: 0; margin: 6px 0 3px; }
    #pdf-report.report-short .badge { font-size: 8pt; margin-bottom: 5px; padding: 3px 7px; }
    #pdf-report.report-short p, #pdf-report.report-short ul { margin: 3px 0; }
    #pdf-report.report-short li { margin: 2px 0; }
    #pdf-report.report-short .module-sources li { display: inline; }
    #pdf-report.report-short .module-sources li + li::before { content: '; '; }
    #pdf-report.report-short .module-sources ul { list-style: none; padding: 0; }
    #pdf-report.report-short .source-entry, #pdf-report.report-short .reference-card { padding: 6px 8px; margin-bottom: 6px; border-radius: 4px; }
}

@media print {
    /* Flow short cards continuously; keep headings attached to their content. */
    #pdf-report.report-short .module { break-inside: auto; page-break-inside: auto; }
    #pdf-report.report-short .shared-links { line-height: 1.5; }
    #pdf-report.report-short .shared-links a { margin-right: 5px; }
    #pdf-report.report-short .shared-entry { padding: 5px 0; border-bottom: 1px solid #e2e8f0; break-inside: avoid; }
    #pdf-report.report-short .shared-context { color: #475569; }
    #pdf-report.report-short .reference-card h3 { display: inline; text-transform: none; }
    #pdf-report.report-short .reference-card p { display: inline; }
    #pdf-report.report-short .reference-card p::before { content: ' · '; }
    #pdf-report.report-short .reference-card { background: transparent; border-bottom: 1px solid #e2e8f0; }
}

@media print {
    #pdf-report .shortcut-page { break-after: page; page-break-after: always; font-size: 9pt; line-height: 1.3; }
    #pdf-report .shortcut-page h2 { font-size: 18pt; }
    #pdf-report .shortcut-page table { width: 100%; border-collapse: collapse; table-layout: fixed; }
    #pdf-report .shortcut-page th, #pdf-report .shortcut-page td { padding: 5px 6px; border-bottom: 1px solid #cbd5e1; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
    #pdf-report .shortcut-page th { color: #0f172a; background: #e0f2fe; }
    #pdf-report .shortcut-page th:first-child { width: 25%; }
    #pdf-report .shortcut-page th:last-child { width: 15%; }
    #pdf-report .shortcut-page tr { break-inside: avoid; }
    #pdf-report .shortcut-page thead { display: table-header-group; }
    #pdf-report .shortcut-identity { border-left: 4px solid #0ea5e9; padding: 6px 10px; margin-bottom: 15px; }
    #pdf-report .shortcut-identity p { font-size: 8pt; }
    #pdf-report .shortcut-identity .export-logo { max-height: 12mm; }
}

@media print {
    /* Identical summary typography in both report formats, independent of inherited styles. */
    #pdf-report .shortcut-page { font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; font-size: 9pt; line-height: 1.2; color: #2c3e50; }
    #pdf-report .shortcut-page p, #pdf-report .shortcut-page td, #pdf-report .shortcut-page th { font-size: 9pt; line-height: 1.2; }
    #pdf-report .shortcut-page th, #pdf-report .shortcut-page td { padding: 3px 5px; }
    #pdf-report .shortcut-page th:first-child { width: 24%; }
    #pdf-report .shortcut-page th:last-child { width: 21%; }
    #pdf-report #shortcut-vorschriften th:last-child { width: 13%; }
    #pdf-report .shortcut-page h2 { font-size: 16pt; margin: 0 0 12px; }
    #pdf-report .shortcut-page .shortcut-note { margin: 8px 0 0; color: #475569; }
    #pdf-report .shortcut-identity { margin-bottom: 8px; padding: 4px 8px; }
    #pdf-report .shortcut-identity .export-head { margin: 0; padding: 0; }
    #pdf-report .shortcut-identity h1, #pdf-report .shortcut-identity h2 { font-size: 12pt; margin: 0; }
    #pdf-report .shortcut-identity p { font-size: 8pt; margin: 2px 0; }
}

@media print {
    #pdf-report #shortcut-intervalle th:first-child { width: 23%; }
    #pdf-report #shortcut-intervalle th:last-child { width: 77%; }
    #pdf-report #shortcut-intervalle td { line-height: 1.15; }
    #pdf-report .shortcut-inline-source { color: #475569; }
}
@media print {
    #pdf-report #shortcut-intervalle td, #pdf-report #shortcut-intervalle th { font-size: 8.5pt; line-height: 1.15; padding-top: 2px; padding-bottom: 2px; }
}
@media print {
    #pdf-report #shortcut-intervalle .shortcut-note { font-size: 8pt; line-height: 1.1; margin-top: 4px; }
    #pdf-report #shortcut-intervalle h2 { margin-bottom: 8px; }
}

@media print {
    #pdf-report #shortcut-kennzahlen th:first-child { width: 25%; }
    #pdf-report #shortcut-kennzahlen th:last-child { width: 75%; }
    #pdf-report #shortcut-kennzahlen td, #pdf-report #shortcut-kennzahlen th { font-size: 8.5pt; line-height: 1.15; padding-top: 2px; padding-bottom: 2px; }
    #pdf-report .module-related { font-size: 9pt; }
}

@media print {
    #pdf-report #shortcut-intervalle td, #pdf-report #shortcut-intervalle th { padding-top: 1px; padding-bottom: 1px; }
}
