@page {
    size: A4;
    margin: 14mm;
}

@media print {
    html,
    body {
        background: #fff !important;
    }

    body {
        color: #111827;
        font-size: 10pt;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    #app {
        min-height: auto;
        padding: 0;
    }

    [data-no-print="true"],
    .report-actions {
        display: none !important;
    }

    .diagnosis-page {
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
    }

    .diagnosis-page > section {
        margin-bottom: 8mm;
    }

    .executive-summary,
    .finding-section,
    .evidence-section,
    .financial-impact,
    .recommendation-section,
    .scorecard-section {
        border: 1px solid #d9dee7;
        border-radius: 8px;
        box-shadow: none;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .executive-summary {
        padding: 10mm;
    }

    .finding-section,
    .evidence-section,
    .financial-impact,
    .recommendation-section,
    .scorecard-section {
        padding: 8mm;
    }

    .executive-summary__title {
        font-size: 28pt;
    }

    .finding-section__title,
    .evidence-section__title,
    .financial-impact__title,
    .recommendation-section__title,
    .scorecard-section__title {
        font-size: 20pt;
    }

    .executive-summary__intro,
    .finding-section__copy,
    .evidence-section__copy,
    .financial-impact__intro,
    .recommendation-section__intro,
    .scorecard-section__intro {
        font-size: 9.5pt;
        line-height: 1.55;
    }

    .metric-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 3mm;
        margin-top: 8mm;
    }

    .metric-card {
        min-height: 32mm;
        padding: 5mm;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .metric-card:hover {
        transform: none;
        box-shadow: none;
    }

    .metric-card__value {
        font-size: 20pt;
    }

    .evidence-grid,
    .recommendation-grid {
        gap: 3mm;
    }

    .impact-grid {
        gap: 3mm;
    }

    .evidence-card,
    .impact-card,
    .recommendation-card,
    .recommendation-summary,
    .finding-status {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .scorecard-table {
        overflow: visible;
    }

    .scorecard-row {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    a {
        color: inherit;
        text-decoration: none;
    }
}

@media print {
    .closing-page {
        padding: 8mm;
        border: 1px solid #d9dee7;
        border-radius: 8px;
        box-shadow: none;

        page-break-before: always;
        break-before: page;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .closing-page h2 {
        font-size: 28pt;
    }

    .closing-page > p {
        font-size: 11pt;
        line-height: 1.6;
    }

    .closing-page li {
        font-size: 10.5pt;
    }

    .closing-page__cta {
        margin-top: 12mm;
        padding: 9mm;
    }

    .closing-page__cta strong {
        font-size: 17pt;
    }

    .closing-page__cta p {
        font-size: 10pt;
    }
}
