@media print {
    @page {
        size: A4 portrait;
        margin: 5mm;
    }

    html, body {
        background: #ffffff !important;
        color: #000000 !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Ocultar absolutamente todo el sistema, contenedores y modales */
    #login-container,
    #app-container,
    header,
    nav,
    .main-content,
    .dashboard-grid,
    .kpi-container,
    .kpi-container-elegante,
    .panel-form,
    .section-view,
    div[id^="modal-"],
    div[id*="modal"] {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        position: absolute !important;
        left: -99999px !important;
        top: -99999px !important;
    }

    /* El único elemento visible es el área de impresión */
    #print-area {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        color: #000000 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    #print-area * {
        visibility: visible !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .hoja-impresion-a4 {
        width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    .talon-orden {
        box-sizing: border-box !important;
        padding: 4px 8px !important;
        position: relative !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .talon-duplicado {
        border-bottom: 2px dashed #444444 !important;
        padding-bottom: 16px !important;
        margin-bottom: 18px !important;
    }

    .comprobante-encabezado {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        border-bottom: 2px solid #1e3c72 !important;
        padding-bottom: 4px !important;
        margin-bottom: 6px !important;
    }

    .comprobante-num-orden {
        font-size: 18px !important;
        font-weight: 900 !important;
        color: #1e3c72 !important;
    }

    .comprobante-cuerpo-grid {
        display: grid !important;
        grid-template-columns: 1.35fr 1.35fr 1.1fr 1fr !important;
        gap: 6px !important;
        margin-bottom: 6px !important;
    }

    .comprobante-seccion {
        border: 1px solid #cbd5e1 !important;
        border-radius: 4px !important;
        padding: 5px 6px !important;
        background: #fafafa !important;
        font-size: 10px !important;
    }

    .comprobante-seccion-titulo {
        font-size: 9.5px !important;
        font-weight: bold !important;
        color: #1e3c72 !important;
        text-transform: uppercase !important;
        border-bottom: 1px solid #e2e8f0 !important;
        padding-bottom: 2px !important;
        margin-bottom: 3px !important;
    }

    .comprobante-item {
        margin-bottom: 2px !important;
        line-height: 1.25 !important;
        font-size: 10px !important;
    }

    .comprobante-observaciones {
        border: 1px solid #cbd5e1 !important;
        border-radius: 4px !important;
        padding: 5px 6px !important;
        font-size: 9.5px !important;
        margin-bottom: 6px !important;
        background: #ffffff !important;
    }

    .comprobante-terminos {
        font-size: 9px !important;
        line-height: 1.25 !important;
        text-align: justify !important;
        color: #333333 !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 3px !important;
        padding: 4px 6px !important;
        background: #fbfbfb !important;
        margin-bottom: 20px !important;
    }

    .comprobante-firmas {
        display: flex !important;
        justify-content: space-around !important;
        margin-top: 30px !important;
        padding-top: 4px !important;
    }

    .firma-linea {
        width: 40% !important;
        border-top: 1px solid #333333 !important;
        text-align: center !important;
        font-size: 9px !important;
        font-weight: bold !important;
        padding-top: 3px !important;
    }

    .copia-indicador-pie {
        text-align: center !important;
        font-size: 9.5px !important;
        font-weight: 800 !important;
        letter-spacing: 1px !important;
        color: #555 !important;
        text-transform: uppercase !important;
        margin-top: 8px !important;
        padding-top: 3px !important;
        border-top: 1px dotted #ccc !important;
    }
}
