@media print {
    @page {
        size: A4 portrait;
        margin: 10mm;
    }

    .sidebar,
    .top-bar,
    .global-actions,
    .section-footer button,
    .page-actions,
    .mobile-toggle,
    .toast,
    .overlay,
    .ios-install-guide,
    #pwa-install-btn {
        display: none !important;
    }

    * {
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
        animation: none !important;
        transition: none !important;
    }

    html,
    body {
        background: #fff !important;
        height: auto !important;
        overflow: visible !important;
    }

    body {
        display: block !important;
        font-size: 11pt;
        line-height: 1.35;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .main-content,
    .scroll-area,
    .scroll-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .section-card {
        display: none !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: #fff !important;
    }

    .section-card.section-to-print,
    .section-card.active {
        display: block !important;
        page-break-after: always;
    }

    .section-card.section-to-print:last-child,
    .section-card.active:last-child {
        page-break-after: auto;
    }

    .card-header {
        display: block !important;
        padding: 0 0 10px !important;
        margin: 0 0 14px !important;
        border: 0 !important;
        border-bottom: 2px solid #000 !important;
        background: transparent !important;
    }

    .card-header h2,
    .card-header .progress-pill {
        color: #000 !important;
    }

    .card-header h2 {
        margin: 0;
        font-size: 16pt !important;
        line-height: 1.2;
    }

    .progress-pill {
        display: inline-block !important;
        margin-top: 6px;
        padding: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
        font-size: 10pt !important;
        font-weight: 700;
    }

    .card-body {
        padding: 0 !important;
    }

    .form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: 14px !important;
    }

    .form-group {
        gap: 4px !important;
        page-break-inside: avoid;
    }

    .form-group label,
    .sig-block label,
    .routing-inline-label {
        color: #000 !important;
        font-size: 9pt !important;
        letter-spacing: 0.2px !important;
    }

    .input-group {
        display: block !important;
    }

    .input-group .btn,
    .register-group .btn,
    .btn,
    button {
        display: none !important;
    }

    input[type="text"],
    input[type="date"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select,
    .form-control {
        min-height: 0 !important;
        padding: 6px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #555 !important;
        border-radius: 0 !important;
        background: transparent !important;
        font-size: 11pt !important;
    }

    textarea {
        resize: none !important;
    }

    .alert-box {
        padding: 8px 10px !important;
        margin-bottom: 12px !important;
        border: 1px solid #000 !important;
        background: transparent !important;
        font-size: 10pt !important;
    }

    .table-responsive {
        overflow: visible !important;
        border-radius: 0 !important;
    }

    .table-responsive table,
    .requirements-table,
    .summary-table,
    .report-table {
        width: 100% !important;
        min-width: 0 !important;
    }

    .requirements-table,
    .report-table {
        margin-bottom: 12px !important;
        border: 1px solid #000 !important;
    }

    .requirements-table th,
    .requirements-table td,
    .report-table th,
    .report-table td {
        padding: 6px !important;
        font-size: 9.5pt !important;
        border: 1px solid #000 !important;
        vertical-align: top !important;
    }

    .requirements-table th,
    .report-table th {
        background: #f0f0f0 !important;
    }

    .requirements-table .radio-group {
        display: flex !important;
        justify-content: center !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }

    .requirements-table .custom-radio {
        padding: 0 !important;
        min-height: 0 !important;
        font-size: 9pt !important;
    }

    .routing-panel {
        margin-top: 12px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .routing-panel h3 {
        margin-bottom: 8px !important;
        font-size: 11pt !important;
    }

    .routing-unified {
        border: 1px solid #000 !important;
        border-radius: 0 !important;
    }

    .routing-head,
    .routing-row {
        grid-template-columns: minmax(180px, 2fr) repeat(3, minmax(110px, 1fr)) !important;
    }

    .routing-head {
        background: #f0f0f0 !important;
    }

    .routing-head > div,
    .routing-cell {
        padding: 6px !important;
        border-color: #000 !important;
    }

    .routing-row .routing-cell:not(.routing-cell-title) {
        display: block !important;
    }

    .routing-row .routing-cell:not(.routing-cell-title) input {
        text-align: left !important;
    }

    .section-footer,
    .signature-area {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    .sig-block {
        min-width: 0 !important;
    }

    .sig-block input {
        padding: 6px 0 !important;
    }

    .summary-pagination,
    .summary-export-bar {
        display: none !important;
    }

    #dashboard-charts {
        display: flex !important;
        flex-direction: row !important;
        page-break-inside: avoid;
    }

    #dashboard-charts canvas {
        max-height: 250px !important;
    }

    .report-print-container {
        width: 100%;
        font-family: "Times New Roman", Times, serif;
        color: #000 !important;
    }

    .report-header {
        text-align: center;
        border-bottom: 3px double #000;
        padding-bottom: 15px;
        margin-bottom: 25px;
    }

    .report-title {
        font-size: 20px;
        font-weight: bold;
        text-transform: uppercase;
        margin: 5px 0;
    }

    .report-meta {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        margin-bottom: 20px;
    }

    .stats-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-bottom: 30px;
    }

    .stats-box {
        border: 1px solid #000;
        padding: 15px;
    }

    .stats-box h4 {
        margin: 0 0 10px 0;
        border-bottom: 1px solid #000;
        font-size: 14px;
    }

    .text-center {
        text-align: center !important;
    }

    .text-right {
        text-align: right !important;
    }

    tr,
    td,
    th,
    .form-group,
    .routing-row,
    .section-footer,
    .alert-box {
        page-break-inside: avoid;
        break-inside: avoid;
    }
}

