/**
 * BNM Reports — reguły wydruku A4.
 *
 * Render bloków (area, area-cities, costs, rent, rent-cities) używa inline
 * `height: 50vh` na <section>, co przy wydruku skutkuje wykresem szerszym
 * niż obszar A4. Tutaj nadpisujemy wymiary wykresów do bezpiecznej
 * powierzchni A4 (180mm szerokości × 130mm wysokości po marginesach
 * domyślnych przeglądarki). ResizeObserver Chart.js przerysowuje canvas
 * pod nowy rozmiar kontenera bez potrzeby JS.
 */

@page {
    size: A4 portrait;
    margin: 15mm;
}

@media print {
    /* Wykresy słupkowe/koszty/wynajem — wymuszony rozmiar pod A4. */
    [data-bnm-reports-area],
    [data-bnm-reports-area-cities],
    [data-bnm-reports-costs],
    [data-bnm-reports-rent],
    [data-bnm-reports-rent-cities] {
        width: 100% !important;
        max-width: 180mm !important;
        height: 130mm !important;
        margin: 0 auto !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Pie chart — kwadrat, mniejszy max-width na druku. */
    [data-bnm-reports-area-pie] {
        max-width: 150mm !important;
        margin: 0 auto !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .bnm-pie-wrap {
        max-width: 150mm !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .bnm-pie-canvas-wrap {
        max-width: 100mm !important;
    }

    /* Canvas Chart.js — wpisz w kontener. */
    [data-bnm-reports-area] canvas,
    [data-bnm-reports-area-cities] canvas,
    [data-bnm-reports-costs] canvas,
    [data-bnm-reports-rent] canvas,
    [data-bnm-reports-rent-cities] canvas,
    [data-bnm-reports-area-pie] canvas,
    .bnm-pie-canvas-wrap canvas {
        max-width: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        height: 100% !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Tabele/legendy wewnątrz raportu — nie tnij wpół. */
    .bnm-pie-legend {
        page-break-inside: avoid;
        break-inside: avoid;
    }
}
