.mip-print-masthead,
.mip-print-footer {
    display: none;
}

@page {
    size: A4 portrait;
    margin: 12mm 10mm 14mm;
}

@media print {
    html,
    body {
        width: 100%;
        background: #fff !important;
        color: #000 !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    body {
        margin: 0;
        font-size: 10pt;
    }

    .portal-sidebar,
    .sidebar-overlay,
    .portal-header,
    .portal-footer,
    .mip-table-tools,
    .mip-clear-search,
    .data-note,
    #reportLoadStatus {
        display: none !important;
    }

    .portal-shell,
    .portal-main,
    .report-canvas {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .mip-print-masthead {
        display: flex !important;
        align-items: flex-end;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 8mm;
        padding-bottom: 4mm;
        border-bottom: 1px solid #9db7aa;
    }

    .mip-print-masthead strong,
    .mip-print-masthead span {
        display: block;
    }

    .mip-print-masthead strong {
        color: #007d42;
        font-size: 13pt;
    }

    .mip-print-masthead > div > span {
        margin-top: 2mm;
        color: #4a5a52;
        font-size: 8pt;
    }

    .mip-print-meta {
        text-align: right;
    }

    .mip-print-meta span:first-child {
        color: #111;
        font-size: 11pt;
        font-weight: 800;
    }

    .mip-print-meta span:last-child {
        margin-top: 1.5mm;
        color: #4a5a52;
        font-size: 8pt;
    }

    .report-banner {
        min-height: 0 !important;
        margin: 0 0 5mm !important;
        padding: 7mm !important;
        border-radius: 4mm !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .report-banner h2 {
        font-size: 20pt !important;
    }

    .report-banner p {
        font-size: 9pt !important;
    }

    .mip-kpi-section {
        margin-top: 0 !important;
    }

    .mip-section-heading,
    .panel-heading {
        margin-bottom: 3mm !important;
    }

    .mip-kpi-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 3mm !important;
    }

    .mip-kpi-card {
        min-height: 28mm !important;
        padding: 4mm !important;
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mip-kpi-label {
        min-height: 0 !important;
        font-size: 7pt !important;
    }

    .mip-kpi-value {
        margin-top: 3mm !important;
        font-size: 17pt !important;
    }

    .mip-kpi-footer {
        margin-top: 2mm !important;
    }

    .mip-chart-summary-grid {
        grid-template-columns: 1fr !important;
        gap: 5mm !important;
        margin-top: 5mm !important;
    }

    .dashboard-panel,
    .mip-chart-panel,
    .mip-summary-panel,
    .mip-detail-panel {
        box-shadow: none !important;
        border: 1px solid #cfd8d3 !important;
        break-inside: auto;
    }

    .mip-chart-panel {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mip-chart-container {
        height: 92mm !important;
        min-height: 92mm !important;
    }

    .mip-summary-list {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 3mm !important;
    }

    .mip-summary-item {
        padding: 3mm !important;
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mip-detail-panel {
        margin-top: 5mm !important;
        border: 0 !important;
        padding: 0 !important;
    }

    .mip-detail-meta {
        margin-bottom: 3mm !important;
    }

    .mip-table-section {
        break-inside: auto;
        page-break-inside: auto;
    }

    .mip-table-section + .mip-table-section {
        margin-top: 5mm !important;
    }

    .mip-table-section-header {
        break-after: avoid;
        page-break-after: avoid;
    }

    .mip-table-scroll {
        overflow: visible !important;
        border: 0 !important;
    }

    .mip-market-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed;
        border-collapse: collapse;
    }

    .mip-market-table thead {
        display: table-header-group;
    }

    .mip-market-table tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mip-market-table th,
    .mip-market-table td {
        position: static !important;
        padding: 2mm 1.5mm !important;
        white-space: normal !important;
        word-break: break-word;
        font-size: 6.8pt !important;
    }

    .mip-market-table th:first-child,
    .mip-market-table td:first-child {
        width: 24%;
    }

    .mip-sort-indicator {
        display: none !important;
    }

    .mip-sort-button {
        cursor: default !important;
    }

    .mip-print-footer {
        display: flex !important;
        justify-content: space-between;
        gap: 15px;
        margin-top: 6mm;
        padding-top: 3mm;
        border-top: 1px solid #cfd8d3;
        color: #667085;
        font-size: 7pt;
    }

    a[href]::after {
        content: none !important;
    }
}
