.report-kpi-table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
}

.report-kpi-table th {
    background: #f2f2f2;
    font-size: 13px;
    border: 1px solid #000;
    padding: 7px;
    text-align: center;
}

.report-kpi-table td {
    border: 1px solid #000;
    padding: 10px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}

.report-section-title {
    text-align: center;
    margin: 20px 0 8px;
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
    border-top: 2px solid #000;
    padding-top: 8px;
}

.report-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    margin-bottom: 14px;
}

.report-table th {
    background: #f2f2f2;
    border: 1px solid #000;
    padding: 5px;
    text-align: center;
}

.report-table td {
    border: 1px solid #000;
    padding: 5px;
    text-align: center;
}

.report-signature-row {
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
    text-align: center;
    font-size: 13px;
}

.health-report-header {
    display: grid;
    grid-template-columns: 90px 1fr 90px;
    align-items: center;
    margin-bottom: 18px;
}

.health-report-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.health-report-logo img {
    width: 75px;
    height: 75px;
    object-fit: contain;
}

.health-report-title {
    text-align: center;
    line-height: 1.2;
    font-family: "Times New Roman", serif;
}

.health-report-title h4 {
    margin: 8px 0 3px 0;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: .5px;
}

@media print {
    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
    }

    body * {
        visibility: hidden !important;
    }

    .health-report-container,
    .health-report-container * {
        visibility: visible !important;
    }

    .health-report-container {
        position: static !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        height: auto !important;
        min-height: auto !important;
    }

    table {
        page-break-inside: auto !important;
    }

    tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .no-print {
        display: none !important;
    }
}

@page {
    size: Letter;
    margin: 5mm;
}