.report-print {
    display: none;
}

@page report-print {
    size: A4 portrait;
    margin: 12mm;
}

@media print {
    .report-print {
        display: block !important;
        page: report-print;
        width: 100%;
        color: #000;
        background: #fff;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 9pt;
        line-height: 1.25;
        overflow: visible;
    }

    .report-print * {
        max-height: none !important;
        box-shadow: none !important;
        box-sizing: border-box;
    }

    .report-print-header {
        padding-bottom: 4mm;
        border-bottom: 0.3mm solid #000;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .report-print-header h1 {
        margin: 0 0 2mm;
        font-size: 18pt;
        line-height: 1.1;
    }

    .report-print-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 2mm 8mm;
    }

    .report-print-meta-label {
        font-weight: 700;
        margin-right: 1mm;
    }

    .report-print section,
    .report-print-section {
        margin-top: 5mm;
    }

    .report-print-totals {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .report-print-section--long {
        break-inside: auto;
        page-break-inside: auto;
    }

    .report-print-section-title,
    .report-print-section h2 {
        margin: 0 0 2mm;
        font-size: 11pt;
        line-height: 1.15;
        break-after: avoid;
        page-break-after: avoid;
    }

    .report-print-table,
    .report-print-totals {
        width: 100%;
        border-collapse: collapse;
        table-layout: auto;
    }

    .report-print-table th,
    .report-print-table td,
    .report-print-totals th,
    .report-print-totals td {
        padding: 1.5mm 2mm;
        border: 0.2mm solid #777;
        vertical-align: top;
        overflow-wrap: anywhere;
    }

    .report-print-table th,
    .report-print-totals th {
        font-weight: 700;
        text-align: left;
    }

    .report-print-table thead,
    .report-print-totals thead {
        display: table-header-group;
    }

    .report-print-table tfoot,
    .report-print-totals tfoot {
        display: table-footer-group;
    }

    .report-print-table tr,
    .report-print-totals tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .report-print-totals th {
        width: 19%;
    }

    .report-print-totals td {
        width: 31%;
    }

    .report-print-totals th,
    .report-print-totals td {
        padding-top: 1.2mm;
        padding-bottom: 1.2mm;
    }

    .numeric-cell {
        text-align: right !important;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .report-print-table--compact th,
    .report-print-table--compact td {
        padding-top: 1.2mm;
        padding-bottom: 1.2mm;
    }

    .report-print-table--overview,
    .report-print-table--financial,
    .report-print-table--abc,
    .report-print-table--abc-matrix {
        table-layout: fixed;
    }

    .report-print-table--overview .numeric-header,
    .report-print-table--financial .numeric-header,
    .report-print-table--abc .numeric-header,
    .report-print-table--abc-matrix .numeric-header {
        text-align: right;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .report-print-note {
        margin: 0 0 2mm;
        font-size: 8pt;
        font-style: italic;
    }

    .report-print-category-section {
        break-inside: auto;
        page-break-inside: auto;
    }

    .report-print-category-heading {
        margin: 4mm 0 1mm;
        font-size: 10pt;
        line-height: 1.15;
        break-after: avoid;
        page-break-after: avoid;
    }

    .report-print-category-subtotal {
        margin: 0 0 1.5mm;
        font-size: 8.5pt;
        break-after: avoid;
        page-break-after: avoid;
    }
}