/* ================================
   PRINT STYLES
   ================================ */
@media print {

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

    /* Force colour output */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body {
        font-family: Arial, sans-serif;
        font-size: 11pt;
        color: #000;
        background: white;
    }

    /* Hide everything except the report */
    body > *:not(#app),
    .menu-orb,
    .cl-modal-backdrop,
    .report-navigation,
    .no-print,
    nav, .sidebar, .top-row,
    button, .btn {
        display: none !important;
    }

    /* Show only the report content */
    .cl-modal-container {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-height: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .cl-modal-footer {
        display: none !important;
    }

    /* ================================
       REPORT PAGES
       ================================ */
    .report-wrapper {
        width: 100%;
    }

    .report-page {
        page-break-after: always;
        break-after: page;
        padding: 0;
        position: relative;
        min-height: 257mm; /* A4 height minus margins */
    }

    .report-page:last-child {
        page-break-after: avoid;
        break-after: avoid;
    }

    /* ================================
       HEADER
       ================================ */
    .report-header img,
    .report-header-small img {
        max-height: 40px;
        width: auto;
    }

    /* ================================
       TYPOGRAPHY
       ================================ */
    h1 { font-size: 16pt; font-weight: bold; margin-bottom: 6px; }
    h2 { font-size: 13pt; font-weight: bold; margin: 14px 0 6px; }
    h3 { font-size: 11pt; font-weight: bold; margin: 10px 0 4px; }

    p, li, td {
        font-size: 10pt;
        line-height: 1.5;
    }

    ul { margin-top: 8px; padding-left: 18px; }

    /* ================================
       FOOTER PER PAGE
       ================================ */
    .report-footer {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        justify-content: space-between;
        font-size: 8pt;
        color: #777;
        border-top: 1px solid #ddd;
        padding-top: 3mm;
    }

    .footer-gap { margin-top: 30px; }

    /* ================================
       MAP IMAGE — fits A4 column width
       ================================ */
    .map-image {
        max-width: 160mm;
        max-height: 120mm;
        display: block;
        margin: 0 auto;
    }

    /* ================================
       CHARTS & SVGs
       ================================ */
    svg {
        max-width: 100%;
        height: auto;
    }

    /* ================================
       COVERAGE WARNING
       ================================ */
    .coverage-warning {
        color: #b45309;
        font-weight: bold;
    }
}
