// Funci¨ŽnN para imprimir ticket usando una ventana emergente (m¨˘s compatible y confiable)
function imprimirTicket(ventaId) {
    const uniqueWindowName = 'PrintTicket_' + Date.now();
    const win = window.open('', uniqueWindowName, 'width=400,height=600');

    if (!win) {
        alert('No se pudo abrir la ventana de impresi¨Žn. Por favor, permita las ventanas emergentes.');
        return;
    }

    $.get('api/imprimir_ticket_factura.php?venta_id=' + ventaId, function(htmlTicket) {
        win.document.open();
        win.document.write(htmlTicket);
        
        // Agregar script de impresi¨Žn autom¨˘tica al final
        win.document.write(`
            <script>
                // Esperar a que carguen im¨˘genes/estilos
                window.onload = function() {
                    setTimeout(function() {
                        window.print();
                        window.onafterprint = function() {
                            window.close();
                        };
                        setTimeout(function() {
                            window.close();
                        }, 500);
                    }, 500);
                };
                
                // Salvaguarda por si window.onload ya se dispar¨Ž
                if (document.readyState === 'complete') {
                    setTimeout(function() {
                        window.print();
                        window.onafterprint = function() {
                            window.close();
                        };
                        setTimeout(function() {
                            window.close();
                        }, 500);
                    }, 500);
                }
            <\/script>
        `);
        win.document.close();
    }).fail(function() {
        win.close();
        alert('Error al obtener el contenido del ticket.');
    });
}