@media print {
    body * {
        visibility: hidden;
    }

    #results, #results * {
        visibility: visible;
    }

    .disclaimer-box, .disclaimer-box * {
        visibility: visible;
    }

    #results {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }

    body {
        background-color: #fff;
        color: #000;
        font-family: Arial, sans-serif;
        overflow: visible !important;
    }

    * {
        overflow: visible !important;
    }

    .main-container {
        max-width: 100%;
        margin: 0;
        padding: 10px;
    }

    .calculator-container {
        box-shadow: none;
        border: none;
        padding: 0;
        margin: 0;
    }

    #results {
        display: block !important;
    }

    .summary {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    .summary-item {
        border: none !important;
        background: transparent !important;
        text-align: left !important;
        padding: 5px 0 !important;
        display: block !important;
        grid-column: auto !important;
    }

    .summary-label {
        display: inline;
        font-weight: bold;
        color: #000;
    }
    .summary-label::after {
        content: ": ";
    }

    .summary-value {
        display: inline;
        font-weight: normal;
        color: #000;
    }

    .table-container {
        overflow: visible !important;
    }

    .results {
        overflow: visible !important;
    }

    table, th, td {
        border: 1px solid #000 !important;
        font-size: 10pt;
        color: #000 !important;
        background-color: #fff !important;
        page-break-inside: auto;
    }

    tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }

    thead {
        display: table-header-group;
    }

    th {
        background-color: #fff !important;
        color: #000 !important;
    }

    .currency {
        color: #000 !important;
    }

    .initial-period {
        background-color: #fff !important;
    }

    .summary-label, .summary-value {
        color: #000 !important;
    }

    .disclaimer-box {
        background: #fff !important;
        border: 1px solid #000 !important;
        border-left: 4px solid #000 !important;
        padding: 15px !important;
        margin-top: 20px !important;
        page-break-inside: avoid;
    }

    .disclaimer-box h3 {
        color: #000 !important;
        font-size: 14pt;
        margin-top: 0;
    }

    .disclaimer-box p {
        color: #000 !important;
        font-size: 10pt;
        line-height: 1.4;
    }
}
