/* // cod- 14-08-2026: Vista previa responsive y salida térmica de 80 mm para recibos de Venta. */
.sale-receipt-overlay{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:1rem;background:rgba(5,22,38,.68)}.sale-receipt-modal{display:flex;flex-direction:column;width:min(520px,100%);max-height:calc(100dvh - 2rem);overflow:hidden;border-radius:16px;background:#f1f3f5;box-shadow:0 24px 70px rgba(0,0,0,.3)}.sale-receipt-screen-header,.sale-receipt-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1rem;background:#fff}.sale-receipt-screen-header{border-bottom:1px solid #dfe4e9}.sale-receipt-screen-header small{color:#18724a;font-size:.65rem;font-weight:850;text-transform:uppercase}.sale-receipt-screen-header h2{margin:.1rem 0;color:#102c4a}.sale-receipt-screen-header>button{border:0;background:transparent;color:#667384;font-size:1.55rem}.sale-receipt-scroll{min-height:0;padding:1rem;overflow-y:auto}.sale-receipt-print{box-sizing:border-box;width:min(80mm,100%);margin:auto;padding:5mm;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.35;box-shadow:0 4px 18px rgba(0,0,0,.12)}.receipt-business{display:flex;flex-direction:column;align-items:center;padding-bottom:3mm;border-bottom:1px dashed #000;text-align:center}.receipt-business h1{margin:0 0 1mm;font-size:16px}.receipt-meta{padding:3mm 0;border-bottom:1px dashed #000}.receipt-meta>div,.receipt-totals>div,.receipt-payments>div{display:flex;justify-content:space-between;gap:3mm}.receipt-meta span{flex:0 0 27%}.receipt-meta b{text-align:right}.receipt-lines{padding:3mm 0;border-bottom:1px dashed #000}.receipt-lines>h2{margin:0 0 2mm;font-size:11px;text-align:center}.receipt-line{display:flex;flex-direction:column;padding:1.5mm 0}.receipt-line+.receipt-line{border-top:1px dotted #777}.receipt-line .code{font-size:10px}.receipt-line>span,.receipt-line>small{font-size:10px}.receipt-line>div{display:flex;justify-content:space-between;gap:2mm}.receipt-totals{padding:3mm 0;border-bottom:1px dashed #000}.receipt-totals .grand-total{margin-top:1mm;padding-top:1mm;border-top:1px solid #000;font-size:14px}.receipt-payments{padding:3mm 0;border-bottom:1px dashed #000}.receipt-cancelled{margin-bottom:3mm;padding:2mm;border:2px solid #000;font-size:14px;font-weight:900;text-align:center}.receipt-cancellation{display:flex;flex-direction:column;padding:3mm 0;border-bottom:1px dashed #000}.receipt-footer{display:flex;flex-direction:column;align-items:center;gap:1mm;padding-top:3mm;text-align:center}.receipt-footer span{font-size:9px}.sale-receipt-actions{justify-content:flex-end;border-top:1px solid #dfe4e9}.sale-receipt-actions button{height:42px;padding:0 .9rem;border-radius:9px;font-weight:750}.sale-receipt-actions .secondary{border:1px solid #d4dde6;background:#fff;color:#344861}.sale-receipt-actions .primary{border:0;background:#df263b;color:#fff}
/* cod- 26-08-2026: estado histórico derivado y neto visible sin alterar el total persistido. */
.receipt-return-state{margin-bottom:3mm;padding:2mm;border:2px solid #000;font-size:14px;font-weight:900;text-align:center}.receipt-return-state.partial{border-style:dashed}.receipt-returns{padding:3mm 0;border-bottom:1px dashed #000}.receipt-returns h2{margin:0 0 2mm;font-size:11px;text-align:center}.receipt-returns>div{display:flex;justify-content:space-between;gap:3mm}.receipt-returns .returned{font-weight:700}.receipt-returns .net{margin-top:1mm;padding-top:1mm;border-top:1px solid #000;font-size:13px;font-weight:900}.receipt-returns .return-entry{margin-top:1.5mm;padding-top:1mm;border-top:1px dotted #777;font-size:9px}.receipt-returns .return-entry span{max-width:70%}.returned-line{font-weight:700}
@media(max-width:520px){.sale-receipt-overlay{padding:.5rem}.sale-receipt-modal{max-height:calc(100dvh - 1rem)}.sale-receipt-scroll{padding:.6rem}.sale-receipt-print{padding:4mm}.sale-receipt-actions{display:grid;grid-template-columns:1fr 1fr}.sale-receipt-actions button{width:100%;height:auto;min-height:44px}}
/* // cod- 14-08-2026: solo el recibo permanece en el flujo durante la impresion. */
@media print {
    /* // cod- 17-08-2026: pagina nombrada para no interferir con reportes A4. */
    @page sale-receipt {
        size: 80mm auto;
        margin: 0;
    }

    html,
    body {
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #fff !important;
    }

    body:has(.sale-receipt-print) *:not(.sale-receipt-print):not(.sale-receipt-print *):not(:has(.sale-receipt-print)) {
        display: none !important;
    }

    body:has(.sale-receipt-print) *:has(.sale-receipt-print) {
        display: contents !important;
        position: static !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .sale-receipt-print {
        page: sale-receipt;
        display: block !important;
        position: static !important;
        box-sizing: border-box !important;
        width: 80mm !important;
        max-width: 80mm !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 2mm !important;
        overflow: visible !important;
        box-shadow: none !important;
        font-size: 10px !important;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .receipt-business,
    .receipt-meta,
    .receipt-line,
    .receipt-totals,
    .receipt-payments,
    .receipt-return-state,
    .receipt-returns,
    .receipt-cancellation,
    .receipt-footer {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .sale-receipt-screen-header,
    .sale-receipt-actions {
        display: none !important;
    }
}
