@media print {
    body.print-pos * {
        visibility: hidden !important;
    }

    body.print-pos .print-target,
    body.print-pos .print-target * {
        visibility: visible !important;
    }

    @page {
        margin: 0 !important;
        size: auto;
    }

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

        body.print-pos .print-target:not(#pos-ticket-lista-consulta):not(#pos-ticket-premiados) {
            display: block !important;
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            background: #fff !important;
            box-sizing: border-box !important;
            overflow: visible !important;
            transform-origin: top left !important;
            page-break-before: avoid !important;
            page-break-after: avoid !important;
            break-before: avoid-page !important;
            break-after: avoid-page !important;
            transform: none !important;
        }

        /* Lista + premiados: fijos en página 1, centrados sin transform (compatible pos-print-sharp) */
        body.print-pos #pos-ticket-lista-consulta.print-target {
            display: block !important;
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            width: var(--posWidth, 80mm) !important;
            max-width: var(--posWidth, 80mm) !important;
            height: auto !important;
            max-height: none !important;
            margin-left: auto !important;
            margin-right: auto !important;
            margin-top: var(--posOffsetMm, 0mm) !important;
            padding: 0 0 4mm 0 !important;
            background: #fff !important;
            box-sizing: border-box !important;
            overflow: visible !important;
            transform: translateX(var(--ptListaShiftX, -3.5mm)) !important;
            transform-origin: top center !important;
            z-index: 2147483647 !important;
            visibility: visible !important;
            page-break-inside: auto !important;
            break-inside: auto !important;
        }

        body.print-pos #pos-ticket-premiados.print-target {
            display: block !important;
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            width: var(--posWidth, 80mm) !important;
            max-width: var(--posWidth, 80mm) !important;
            margin-left: auto !important;
            margin-right: auto !important;
            margin-top: var(--posOffsetMm, 0mm) !important;
            padding: 0 !important;
            background: #fff !important;
            box-sizing: border-box !important;
            overflow: hidden !important;
            transform: none !important;
            transform-origin: top center !important;
            z-index: 2147483647 !important;
            visibility: visible !important;
        }

        body.print-pos #pos-ticket.print-target,
        body.print-pos #pos-ticket-parley.print-target,
        body.print-pos #pos-ticket-monazo.print-target,
        body.print-pos #pos-ticket-tripleta.print-target,
        body.print-pos #pos-ticket-Tripleta.print-target {
            margin-top: var(--posOffsetMm, 0mm) !important;
        }

        body.print-pos .print-target#pos-ticket-premiados {
            margin-top: 0 !important;
        }

        /* Un solo corte: sacar #app del flujo (ticket ya está en body vía JS) */
        body.print-pos[data-pos-single-cut] #app {
            position: fixed !important;
            left: -99999px !important;
            top: 0 !important;
            width: 0 !important;
            height: 0 !important;
            max-height: 0 !important;
            min-height: 0 !important;
            overflow: hidden !important;
            visibility: hidden !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
        }

        body.print-pos[data-pos-single-cut] > :not(.print-target) {
            visibility: hidden !important;
            height: 0 !important;
            max-height: 0 !important;
            overflow: hidden !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        body.print-pos[data-pos-single-cut]::after {
            display: none !important;
            height: 0 !important;
            content: none !important;
        }

        /* Texto nítido (Consolas): sin transform scale que rasteriza como imagen */
        body.print-pos.pos-print-sharp .print-target,
        body.print-pos.pos-print-sharp .print-target * {
            font-family: Consolas, "Courier New", "Lucida Console", monospace !important;
            font-kerning: none !important;
            font-variant-ligatures: none !important;
            letter-spacing: 0 !important;
            -webkit-font-smoothing: none !important;
            -moz-osx-font-smoothing: unset !important;
            text-rendering: geometricPrecision !important;
        }

        body.print-pos.pos-print-sharp .print-target,
        body.print-pos.pos-print-sharp .print-target.pos-fit,
        body.print-pos.pos-print-sharp .print-target * {
            transform: none !important;
        }
}
