﻿/* =========================
   POS TICKET (Térmica)
   - Centrado
   - Normal / Reventado
   - Ajustes de columnas (pantalla + print)
   ========================= */

#pos-ticket,
#pos-ticket-parley,
#pos-ticket-monazo,
#pos-ticket-premiados {
    width: var(--posWidth, 80mm);
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: #000;
    /* ✅ Zoom normal (TIEMPOS/PARLEY/MONAZOS) */
    font-size: calc(10px * var(--ptFont, 1) * var(--ptScale, 1));
    line-height: calc(1.10 * var(--ptFont, 1) * var(--ptScale, 1));
    box-sizing: border-box;
    position: relative;
}

/* =========================================================
   ✅ ZOOM FACTURAS (TIEMPOS / PARLEY / MONAZOS) POR IMPRESORA
   - SOLO cambia el zoom (letra)
   - 58mm y 80mm separados
   ========================================================= */

/* -------- 58mm -------- */
html[data-posmm="58"] #pos-ticket,
html[data-posmm="58"] #pos-ticket-parley,
html[data-posmm="58"] #pos-ticket-monazo {
    --ptFont: 1.70; /* 👈 tu default 58mm */
}

/* -------- 80mm -------- */
html[data-posmm="80"] #pos-ticket,
html[data-posmm="80"] #pos-ticket-parley,
html[data-posmm="80"] #pos-ticket-monazo {
    --ptFont: 2.25; /* 👈 tu default 80mm */
}

/* ✅ PREMIADOS: que use SU propia variable, no la global */
#pos-ticket-premiados {
    font-size: calc(10px * var(--ptPremiadosFont, 1)) !important;
    line-height: calc(1.10 * var(--ptPremiadosFont, 1)) !important;
}
    /* ✅ Forzar negro en TODO (evita grises heredados) */
    #pos-ticket, #pos-ticket *,
    #pos-ticket-parley, #pos-ticket-parley *,
    #pos-ticket-monazo, #pos-ticket-monazo *,
    #pos-ticket-premiados, #pos-ticket-premiados * {
        color: #000 !important;
    }

.pos-center {
    text-align: center;
}

.pos-hr {
    border: none;
    border-top: 1px dashed #000;
    margin: 8px 0;
}

/* ✅ em para que crezca con --ptFont */
.pos-title {
    font-size: 1.60em;
    font-weight: 900;
    letter-spacing: .3px;
}

.pos-sub {
    font-size: 1.05em;
    font-weight: 700;
    margin-top: 2px;
}

/* ✅ Sorteo en negrita (línea del sorteo) */
#pos-ticket .pos-sub,
#pos-ticket-parley .pos-sub,
#pos-ticket-monazo .pos-sub {
    font-weight: 900 !important;
}

.pos-meta {
    font-size: 0.92em; /* ✅ más pequeño */
    font-weight: 400; /* ✅ sin negrita */
    margin-top: 6px;
}
/* =========================
   TABLAS BASE
   ========================= */

.pos-lines {
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px;
    font-variant-numeric: tabular-nums;
}

    .pos-lines th {
        font-size: 1.25em;
        font-weight: 100;
        padding: 4px 2px;
        border-bottom: 1px solid #222;
    }

    .pos-lines td {
        font-size: 1.55em;
        font-weight: 100;
        padding: 4px 2px;
    }

    /* columnas base (fallback general) */
    .pos-lines .c-num {
        width: 34%;
        text-align: center;
    }

    .pos-lines .c-m {
        width: 33%;
        text-align: center;
    }

    .pos-lines .c-r {
        width: 33%;
        text-align: center;
    }

/* =========================
   PIE / TOTALES
   ========================= */

.pos-payrow {
    display: flex;
    justify-content: center;
    gap: 10px;
    font-size: 0.92em; /* ✅ más pequeño */
    font-weight: 400; /* ✅ sin negrita */
    margin-top: 6px;
    flex-wrap: wrap;
}

.pos-total-row {
    display: flex;
    justify-content: center;
    gap: 8px;
    align-items: baseline;
    margin-top: 8px;
}

.pos-total-label {
    font-size: 1.25em;
    font-weight: 200;
    letter-spacing: .5px;
}

.pos-total-val {
    font-size: 1.35em;
    font-weight: 200;
}

.pos-msg {
    font-size: 0.90em; /* ✅ más pequeño */
    font-weight: 400; /* ✅ sin negrita */
    text-align: center;
    margin-top: 8px;
    white-space: pre-wrap;
}

.pos-footer {
    text-align: center;
    margin-top: 8px;
    font-size: 0.90em; /* ✅ más pequeño */
    font-weight: 400; /* ✅ sin negrita (incluye consecutivo) */
}

.pos-payrow-base {
    font-size: 0.95em;
    font-weight: 600;
    margin-top: 6px;
}

.pos-pago {
    font-weight: 400;
    margin-right: 4px;
}

.pos-consec-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* =========================
   WATERMARK
   ========================= */

.pos-watermark {
    position: absolute;
    inset: 0;
    display: none !important; /* ✅ NUNCA visible en normal */
    justify-content: center;
    align-items: center;
    font-size: 2.80em;
    font-weight: 900;
    opacity: .50; /* ✅ MÁS OSCURA (antes .10) */
    transform: rotate(-35deg) translateY(-2mm) !important;
    pointer-events: none;
    letter-spacing: 2px;
    text-transform: uppercase;
    z-index: 50;
}
/* ✅ SOLO mostrar watermark cuando es reimpresión Y el ticket es el que se imprime */
body.pos-reprint .print-target .pos-watermark {
    display: flex !important;
}

/* =========================
   MONAZOS (no recortar al agrandar)
   ========================= */

.pos-lines-monazo .c-mod {
    width: 18%;
    text-align: center;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
}

.pos-lines-monazo .c-num {
    width: 34%;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

.pos-lines-monazo .c-m {
    width: 48%;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

.pos-payrow-monazo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}


/* =========================
   ICONO WHATSAPP
   ========================= */

.pos-wa-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
}

    .pos-wa-icon svg {
        width: 10px;
        height: 10px;
        fill: #25D366;
        display: block;
    }

/* =========================
   COMPACTACIÓN GLOBAL
   ========================= */

#pos-ticket,
#pos-ticket-parley,
#pos-ticket-monazo {
    line-height: 1.10 !important;
}

.pos-hr {
    margin: 6px 0 !important;
}

.pos-meta,
.pos-sub,
.pos-payrow,
.pos-total-row,
.pos-msg,
.pos-footer {
    margin-top: 4px !important;
}

.pos-lines {
    margin-top: 4px !important;
}

/* ===========================================================
   ✅ CONTROL DE COLUMNAS (PRINT)
   - NO encoge ticket
   - NO encoge tabla (siempre 100%)
   - Solo "centra y junta" usando columnas espaciadoras (c-sp)
   =========================================================== */
@media print {

    /* Ticket a 100% y sin transform (evita corrimientos) */
    #pos-ticket,
    #pos-ticket-parley,
    #pos-ticket-monazo {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        transform-origin: top left !important;
        box-sizing: border-box !important;
    }

    /* ✅ PREMIADOS respeta 48mm SIEMPRE */
    #pos-ticket-premiados {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        transform-origin: top left !important;
        box-sizing: border-box !important;
    }
    /* ✅ FIX RAÍZ: en impresión NO usar position:fixed (Chrome recorta listas largas)
   - Dejamos el ticket en flujo normal para que NO se corte
   - El offset se aplica con margin-top (mm), no con top/fixed
*/
    body.print-pos {
        position: relative !important; /* ✅ para que ABSOLUTE se ancle aquí */
    }

        body.print-pos .print-target {
            position: absolute !important;
            top: var(--posOffsetMm, 0mm) !important;
            left: 0 !important;
            right: auto !important;
            width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            display: block !important;
            float: none !important;
            transform: none !important;
            transform-origin: top left !important;
        }

            /* ✅ PREMIADOS: NO usar posOffsetMm (quita el espacio grande arriba)
   Funciona si:
   A) el mismo nodo es .print-target#pos-ticket-premiados
   B) o si #pos-ticket-premiados está DENTRO de .print-target
*/
            body.print-pos .print-target#pos-ticket-premiados {
                top: 0mm !important;
                margin-top: 0 !important;
                padding-top: 0 !important;
            }

            body.print-pos .print-target #pos-ticket-premiados {
                margin-top: 0 !important;
                padding-top: 0 !important;
            }

                /* ✅ Si #pos-ticket-premiados es el primero dentro del print-target */
                body.print-pos .print-target #pos-ticket-premiados:first-child {
                    margin-top: 0 !important;
                    padding-top: 0 !important;
                }

                /* ✅ Quita margen/padding del primer hijo REAL del premiados */
                body.print-pos .print-target #pos-ticket-premiados > :first-child {
                    margin-top: 0 !important;
                    padding-top: 0 !important;
                }

          


        /* ✅ ESPACIADOR: permite paginar listas largas aunque el ticket esté fixed */
        body.print-pos::after {
            content: "";
            display: block;
            height: var(--ptSpacerPx, 0px) !important; /* lo setea JS */
        }


    /* ✅ Quitar margen/padding por defecto del navegador */
    @page {
        margin: 0 !important;
        size: auto;
    }



    html, body {
        margin: 0 !important;
        padding: 0 !important;
    }

        body.print-pos {
            margin: 0 !important;
            padding: 0 !important;
            display: block !important;
            width: 100% !important;
            max-width: none !important;
        }



            body.print-pos .print-target,
            body.print-pos .print-target *:not(.pos-watermark) {
                color: #000 !important;
                -webkit-print-color-adjust: economy !important;
                print-color-adjust: economy !important;
                filter: none !important;
                text-shadow: none !important;
                box-shadow: none !important;
                opacity: 10 !important;
                background: transparent !important;
            }

                /* ✅ SOLO reseteamos transform en contenedores grandes,
   pero NO en th/td/table para que puedas mover columnas */
                body.print-pos .print-target,
                body.print-pos .print-target #pos-ticket,
                body.print-pos .print-target #pos-ticket-parley,
                body.print-pos .print-target #pos-ticket-monazo,
                body.print-pos .print-target .pos-watermark {
                    transform: none !important;
                }

               


    /* Tablas estables (100% ancho) */
    #pos-ticket table.pos-lines,
    #pos-ticket-parley table.pos-lines,
    #pos-ticket-monazo table.pos-lines-monazo {
        width: 100% !important;
        display: table !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        margin: 0 !important;
    }

    /* =======================================================
       🔥 AQUI ES DONDE MOVES LAS COLUMNAS (SOLO CAMBIAS 2 COSAS)
       - GAP = separación entre columnas (más pequeño = más juntas)
       - WIDTHS = ancho de cada columna (más pequeño = se acercan más)
       ======================================================= */

    /* =========================
       1) TIEMPOS NORMAL (2 cols)
       ========================= */
    #pos-ticket.t-normal {
        --t_gap: 3px;
        --t_num_w: 6ch;
        --t_m_w: 10ch;
    }

    /* =========================
       2) TIEMPOS REVENTADO (3 cols)
       ========================= */
    #pos-ticket.t-reventado {
        --tr_gap: 1px;
        --tr_num_w: 6ch;
        --tr_m_w: 9ch;
        --tr_r_w: 9ch;
    }

    /* ✅ 58mm: REVENTADO (SIN AGRUPAR) -> quepan 3 columnas sin cortarse */
    html[data-posmm="58"] #pos-ticket.t-reventado {
        --tr_gap: 0px !important;
        --tr_num_w: 6ch !important;
        --tr_m_w: 8ch !important;
        --tr_r_w: 8ch !important;
    }

    /* ✅ 58mm: REVENTADO (SIN AGRUPAR) -> correr TODO a la izquierda (solo impresión) */
    html[data-posmm="58"] body.print-pos .print-target#pos-ticket.t-reventado table.pos-lines:not(.pos-group) {
        transform: translateX(-3mm) !important;
        transform-origin: top left !important;
    }


        /* ✅ 58mm: reduce padding general de celdas SOLO en reventado sin agrupar */
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines:not(.pos-group) th,
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines:not(.pos-group) td {
            padding-left: 1px !important;
            padding-right: 1px !important;
        }

    /* =========================
       3) PARLEY NORMAL (2 cols)
       ========================= */
    #pos-ticket-parley {
        --p_gap: 1px;
        --p_num_w: 6ch;
        --p_m_w: 10ch;
    }

    /* =========================
       4) MONAZOS (3 cols)
       ========================= */
    #pos-ticket-monazo {
        --mz_gap: 1px;
        --mz_mod_w: 6ch;
        --mz_num_w: 6ch;
        --mz_m_w: 10ch;
    }


    /* =====================================================
       ESPACIADORES (c-sp) = CENTRAN el grupo de columnas
       (NO encogen la tabla, solo reparten el espacio sobrante)
       ===================================================== */
    #pos-ticket .pos-lines th.c-sp,
    #pos-ticket .pos-lines td.c-sp,
    #pos-ticket-parley .pos-lines th.c-sp,
    #pos-ticket-parley .pos-lines td.c-sp {
        width: auto !important;
        padding: 0 !important;
        border: none !important;
    }

    /* =========================
       TIEMPOS NORMAL (2 cols)
       ========================= */
    #pos-ticket.t-normal .pos-lines th.c-num,
    #pos-ticket.t-normal .pos-lines td.c-num {
        width: var(--t_num_w) !important;
        text-align: center !important;
        padding-right: var(--t_gap) !important;
    }

    #pos-ticket.t-normal .pos-lines th.c-m,
    #pos-ticket.t-normal .pos-lines td.c-m {
        width: var(--t_m_w) !important;
        text-align: center !important;
        padding-left: var(--t_gap) !important;
    }

    /* =========================
       TIEMPOS REVENTADO (3 cols)
       ========================= */
    #pos-ticket.t-reventado .pos-lines th.c-num,
    #pos-ticket.t-reventado .pos-lines td.c-num {
        width: var(--tr_num_w) !important;
        text-align: center !important;
        padding-right: var(--tr_gap) !important;
    }

    #pos-ticket.t-reventado .pos-lines th.c-m,
    #pos-ticket.t-reventado .pos-lines td.c-m {
        width: var(--tr_m_w) !important;
        text-align: center !important;
        padding-left: var(--tr_gap) !important;
        padding-right: var(--tr_gap) !important;
    }

    #pos-ticket.t-reventado .pos-lines th.c-r,
    #pos-ticket.t-reventado .pos-lines td.c-r {
        width: var(--tr_r_w) !important;
        text-align: center !important;
        padding-left: var(--tr_gap) !important;
    }

    /* =========================
       PARLEY (2 cols)
       ========================= */
    #pos-ticket-parley .pos-lines th.c-num,
    #pos-ticket-parley .pos-lines td.c-num {
        width: var(--p_num_w) !important;
        text-align: center !important;
        padding-right: var(--p_gap) !important;
    }

    #pos-ticket-parley .pos-lines th.c-m,
    #pos-ticket-parley .pos-lines td.c-m {
        width: var(--p_m_w) !important;
        text-align: center !important;
        padding-left: var(--p_gap) !important;
    }

    /* =========================
       MONAZOS (3 cols)
       ========================= */
    #pos-ticket-monazo .pos-lines-monazo th.c-mod,
    #pos-ticket-monazo .pos-lines-monazo td.c-mod {
        width: var(--mz_mod_w) !important;
        text-align: center !important;
        padding-right: var(--mz_gap) !important;
    }

    #pos-ticket-monazo .pos-lines-monazo th.c-num,
    #pos-ticket-monazo .pos-lines-monazo td.c-num {
        width: var(--mz_num_w) !important;
        text-align: center !important;
        padding-right: var(--mz_gap) !important;
    }

    #pos-ticket-monazo .pos-lines-monazo th.c-m,
    #pos-ticket-monazo .pos-lines-monazo td.c-m {
        width: var(--mz_m_w) !important;
        text-align: center !important;
        padding-left: var(--mz_gap) !important;
    }

    /* Celdas: sin cortes raros */
    #pos-ticket table.pos-lines th,
    #pos-ticket table.pos-lines td,
    #pos-ticket-parley table.pos-lines th,
    #pos-ticket-parley table.pos-lines td,
    #pos-ticket-monazo table.pos-lines-monazo th,
    #pos-ticket-monazo table.pos-lines-monazo td {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }

    /* =========================
       ✅ FIX AGRUPAR (NO recortar números agrupados)
       Solo cuando la tabla tiene class="pos-group"
       ========================= */

    /* TIEMPOS normal agrupado */
    #pos-ticket.t-normal table.pos-lines.pos-group th.c-num,
    #pos-ticket.t-normal table.pos-lines.pos-group td.c-num {
        width: 12ch !important; /* 🔥 más ancho para 4 números */
        overflow: visible !important; /* 🔥 no recortar */
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    /* Si quieres, también aplica a REVENTADO agrupado (cuando row.Numeros aparece ahí) */
    #pos-ticket.t-reventado table.pos-lines.pos-group th.c-num,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-num {
        width: 12ch !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    /* =========================
   ✅ REVENTADO + AGRUPADO (3 columnas)
   - Más aire entre columnas
   - Evita cortes en montos grandes
   - Encabezado N° centrado
   ========================= */

    /* N° (contenido) */
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-num {
        width: 14ch !important; /* 🔥 más ancho para 00-01-02-03 */
        text-align: center !important;
        padding-right: 6px !important; /* 🔥 separa hacia Monto */
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    /* N° (título) centrado */
    #pos-ticket.t-reventado table.pos-lines.pos-group th.c-num {
        width: 14ch !important;
        text-align: center !important; /* ✅ título centrado */
        padding-right: 6px !important;
        white-space: nowrap !important;
    }

    /* Monto (2da columna) */
    #pos-ticket.t-reventado table.pos-lines.pos-group th.c-m,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-m {
        width: 10ch !important; /* 🔥 más ancho para 10,000 / 100,000 */
        text-align: center !important;
        padding-left: 6px !important; /* 🔥 aire desde N° */
        padding-right: 6px !important; /* 🔥 aire hacia Monto R */
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
    }

    /* Monto R (3ra columna) */
    #pos-ticket.t-reventado table.pos-lines.pos-group th.c-r,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-r {
        width: 10ch !important; /* 🔥 más ancho para montos grandes */
        text-align: center !important;
        padding-left: 6px !important; /* 🔥 separa desde Monto */
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
    }



    /* ✅ Evitar ultra-bold (950/1000) que algunos drivers simulan en gris */
    body.print-pos .print-target .pos-title,
    body.print-pos .print-target .pos-lines th,
    body.print-pos .print-target .pos-lines td,
    body.print-pos .print-target .pos-total-label,
    body.print-pos .print-target .pos-total-val {
        font-weight: 800 !important;
    }

    /* ✅ SOLO PREMIADOS: en print usa el zoom que diga el JS (--ptFont) */
    body.print-pos .print-target#pos-ticket-premiados,
    body.print-pos .print-target #pos-ticket-premiados {
        /* NO forzar 2.00 aquí */
    }

    /* ✅ Evita que el navegador intente partir filas (si por algo decide paginar) */
    /* ✅ Evita cortar una fila, pero NO empuja toda la tabla a otra página */
    body.print-pos .print-target tr,
    body.print-pos .print-target td,
    body.print-pos .print-target th {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }


    /* =====================================================
   ✅ WATERMARK PRINT
   - SOLO en reimpresión
   - SOLO “primera página” (no se repite)
   - En ticket corto queda centrada normal
   ===================================================== */

    /* Base en impresión: NO se muestra */
    body.print-pos .print-target .pos-watermark {
        display: none !important;
        /* ✅ NO fixed (fixed se repite por página) */
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 260mm !important;
        max-height: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 9999 !important;
        opacity: .50 !important; /* ✅ MÁS OSCURA (antes .10) */
        pointer-events: none !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        transform: rotate(-35deg) translateY(-2mm) !important;
    }

    /* SOLO reimpresión => se muestra */
    body.pos-reprint.print-pos .print-target .pos-watermark {
        display: flex !important;
    }

    /* ✅ OVERRIDE FUERTE: Agrupado respeta tus variables (incluye t-normal / t-reventado) */
    #pos-ticket.t-normal table.pos-lines.pos-group td.c-num,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-num,
    #pos-ticket.wa.t-normal table.pos-lines.pos-group td.c-num,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group td.c-num {
        font-size: var(--ag_num_size) !important;
        font-weight: var(--ag_num_weight) !important;
    }

    #pos-ticket.t-normal table.pos-lines.pos-group td.c-m,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-m,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-r,
    #pos-ticket.wa.t-normal table.pos-lines.pos-group td.c-m,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group td.c-m,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group td.c-r {
        font-size: var(--ag_m_size) !important;
        font-weight: var(--ag_m_weight) !important;
    }

}

/* =========================================================
   ✅ 80mm: TIEMPOS REVENTADO + AGRUPADO (PREVIA + PRINT)
   - Mueve columnas igual en pantalla y al imprimir
   - Evita que N° quede encima del ₡
   ========================================================= */

html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group th.c-num,
html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group td.c-num {
    position: relative !important;
    left: 3px !important; /* 👈 N° a la izquierda */
}

html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group th.c-m,
html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group td.c-m {
    position: relative !important;
    left: 5px !important; /* 👈 Monto a la derecha */
}

html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group th.c-r,
html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group td.c-r {
    position: relative !important;
    left: -4px !important; /* 👈 Monto R a la derecha */
}

/* =====================================================
   ✅ WHATSAPP (html2canvas) - Columnas como PRINT
   - NO usa @media print (porque html2canvas es "screen")
   - SOLO aplica cuando el ticket/clon tenga clase .wa
   ===================================================== */

/* ---------- BASE: tablas estables ---------- */
#pos-ticket.wa table.pos-lines,
#pos-ticket-parley.wa table.pos-lines,
#pos-ticket-monazo.wa table.pos-lines-monazo {
    width: 100% !important;
    display: table !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    margin: 0 !important;
}

    /* Evita cortes raros (WhatsApp) */
    #pos-ticket.wa table.pos-lines th,
    #pos-ticket.wa table.pos-lines td,
    #pos-ticket-parley.wa table.pos-lines th,
    #pos-ticket-parley.wa table.pos-lines td,
    #pos-ticket-monazo.wa table.pos-lines-monazo th,
    #pos-ticket-monazo.wa table.pos-lines-monazo td {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
    }

    /* ✅ WhatsApp + Agrupado: NO recortar la columna de N° */
    #pos-ticket.wa table.pos-lines.pos-group th.c-num,
    #pos-ticket.wa table.pos-lines.pos-group td.c-num {
        overflow: visible !important;
        white-space: nowrap !important;
    }

/* =====================================================
   ✅ ANCHOS / PADDING (WhatsApp) por juego
   - Aquí NO se mueve con left.
   - Aquí solo defines ancho y separación para que no se corte nada.
   ===================================================== */

/* ===== TIEMPOS NORMAL (2 columnas) ===== */
#pos-ticket.wa.t-normal .pos-lines th.c-num,
#pos-ticket.wa.t-normal .pos-lines td.c-num {
    width: 6ch !important;
    text-align: center !important;
    padding-right: 4px !important;
}

#pos-ticket.wa.t-normal .pos-lines th.c-m,
#pos-ticket.wa.t-normal .pos-lines td.c-m {
    width: auto !important;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ===== TIEMPOS NORMAL + AGRUPADO (4 números en una línea) ===== */
#pos-ticket.wa.t-normal table.pos-lines.pos-group th.c-num,
#pos-ticket.wa.t-normal table.pos-lines.pos-group td.c-num {
    width: 18ch !important;
    text-align: center !important;
}

/* ===== TIEMPOS REVENTADO (3 columnas) ===== */
#pos-ticket.wa.t-reventado .pos-lines th.c-num,
#pos-ticket.wa.t-reventado .pos-lines td.c-num {
    width: 14ch !important;
    text-align: center !important;
    padding-right: 6px !important;
}

#pos-ticket.wa.t-reventado .pos-lines th.c-m,
#pos-ticket.wa.t-reventado .pos-lines td.c-m {
    width: 10ch !important;
    text-align: center !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

#pos-ticket.wa.t-reventado .pos-lines th.c-r,
#pos-ticket.wa.t-reventado .pos-lines td.c-r {
    width: auto !important;
    text-align: center !important;
    padding-left: 6px !important;
}

/* ===== TIEMPOS REVENTADO + AGRUPADO (4 números en una línea) ===== */
#pos-ticket.wa.t-reventado table.pos-lines.pos-group th.c-num,
#pos-ticket.wa.t-reventado table.pos-lines.pos-group td.c-num {
    width: 18ch !important;
    text-align: center !important;
}

/* ===== PARLEY (2 columnas) ===== */
#pos-ticket-parley.wa table.pos-lines {
    width: 100% !important;
    margin: 0 !important;
    table-layout: auto !important;
}

    #pos-ticket-parley.wa table.pos-lines th.c-num,
    #pos-ticket-parley.wa table.pos-lines td.c-num {
        width: 6ch !important;
        text-align: center !important;
        padding: 4px 2px !important;
    }

    #pos-ticket-parley.wa table.pos-lines th.c-m,
    #pos-ticket-parley.wa table.pos-lines td.c-m {
        width: auto !important;
        text-align: center !important;
        padding: 4px 2px !important;
    }

/* ===== MONAZOS (3 columnas) ===== */
#pos-ticket-monazo.wa .pos-lines-monazo th.c-mod,
#pos-ticket-monazo.wa .pos-lines-monazo td.c-mod {
    width: 5ch !important;
    text-align: center !important;
    padding-right: 4px !important;
}

#pos-ticket-monazo.wa .pos-lines-monazo th.c-num,
#pos-ticket-monazo.wa .pos-lines-monazo td.c-num {
    width: 7ch !important;
    text-align: center !important;
    padding-right: 4px !important;
}

#pos-ticket-monazo.wa .pos-lines-monazo th.c-m,
#pos-ticket-monazo.wa .pos-lines-monazo td.c-m {
    width: auto !important;
    text-align: center !important;
    padding-left: 4px !important;
}

/* =====================================================
   ✅ PERILLAS WHATSAPP (MOVER con números) — NUEVO
   - html2canvas SÍ respeta transform
   - Movemos el <span class="x"> dentro del th/td
   - SOLO aplica con clase .wa
   ===================================================== */

/* Base para spans movibles */
#pos-ticket.wa .x,
#pos-ticket-parley.wa .x,
#pos-ticket-monazo.wa .x {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font: inherit !important;
    font-style: normal !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
    text-decoration: none !important;
    display: inline-block !important;
    transform: translateX(0px) rotate(0deg) skew(0deg) !important;
    transform-origin: center center !important;
}
/* ===== TIEMPOS NORMAL ===== */
#pos-ticket.wa.t-normal {
    --tn_th_num_x: 0px; /* titulo N° */
    --tn_th_m_x: 0px; /* titulo Monto */
    --tn_td_num_x: -8px; /* valores N° */
    --tn_td_m_x: 0px; /* valores Monto */
}

    #pos-ticket.wa.t-normal thead th.c-num .x {
        transform: translateX(var(--tn_th_num_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-normal thead th.c-m .x {
        transform: translateX(var(--tn_th_m_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-normal tbody td.c-num .x {
        transform: translateX(var(--tn_td_num_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-normal tbody td.c-m .x {
        transform: translateX(var(--tn_td_m_x)) rotate(0deg) skew(0deg) !important;
    }

/* ===== TIEMPOS REVENTADO ===== */
#pos-ticket.wa.t-reventado {
    --tr_th_num_x: 0px; /* titulo N° */
    --tr_th_m_x: 0px; /* titulo Monto */
    --tr_th_r_x: 0px; /* titulo Monto R */
    --tr_td_num_x: -8px; /* valores N° */
    --tr_td_m_x: 0px; /* valores Monto */
    --tr_td_r_x: 0px; /* valores Monto R */
}

    #pos-ticket.wa.t-reventado thead th.c-num .x {
        transform: translateX(var(--tr_th_num_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-reventado thead th.c-m .x {
        transform: translateX(var(--tr_th_m_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-reventado thead th.c-r .x {
        transform: translateX(var(--tr_th_r_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-reventado tbody td.c-num .x {
        transform: translateX(var(--tr_td_num_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-reventado tbody td.c-m .x {
        transform: translateX(var(--tr_td_m_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket.wa.t-reventado tbody td.c-r .x {
        transform: translateX(var(--tr_td_r_x)) rotate(0deg) skew(0deg) !important;
    }

/* ===== PARLEY (si también lo cambiaste a .x en su Razor) ===== */
#pos-ticket-parley.wa {
    --p_th_num_x: 0px;
    --p_th_m_x: 0px;
    --p_td_num_x: 0px;
    --p_td_m_x: 0px;
}

    #pos-ticket-parley.wa thead th.c-num .x {
        transform: translateX(var(--p_th_num_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket-parley.wa thead th.c-m .x {
        transform: translateX(var(--p_th_m_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket-parley.wa tbody td.c-num .x {
        transform: translateX(var(--p_td_num_x)) rotate(0deg) skew(0deg) !important;
    }

    #pos-ticket-parley.wa tbody td.c-m .x {
        transform: translateX(var(--p_td_m_x)) rotate(0deg) skew(0deg) !important;
    }

  

/* ====== Layout por tipo ====== */

/* TIEMPOS / PARLEY (sin "Modo") */
#pos-ticket-premiados.pos-tiempos .pt-head,
#pos-ticket-premiados.pos-tiempos .pt-row,
#pos-ticket-premiados.pos-parley .pt-head,
#pos-ticket-premiados.pos-parley .pt-row {
    grid-template-columns: 1.3fr /* No / Cbmb */
    0.35fr /* T */
    1.0fr /* Monto */
    0.18fr /* - */
    1.0fr /* Premio */
    0.18fr /* - */
    1.05fr; /* Tiq */
}

/* MONAZOS (con "Modo") */
#pos-ticket-premiados.pos-monazos .pt-head,
#pos-ticket-premiados.pos-monazos .pt-row {
    grid-template-columns: 1.05fr /* No */
    1.10fr /* Modo */
    0.30fr /* T (vacío en monazos, pero conserva la estructura) */
    0.95fr /* Monto */
    0.18fr /* - */
    0.95fr /* Premio */
    0.18fr /* - */
    1.00fr; /* Tiq */
}


/*Agrupa arreglo*/

/* =========================================================
   ✅ SOLO POS-58: FIX AGRUPADO + REVENTADO (NO cortar Monto R)
   - No toca 80mm
   - No toca no-agrupado
   ========================================================= */
html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group {
    table-layout: fixed !important;
}

    html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group th,
    html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group td {
        padding-left: 1px !important;
        padding-right: 1px !important;
    }

        /* N° (más compacto pero suficiente) */
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group th.c-num,
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group td.c-num {
            width: 11ch !important;
            overflow: visible !important;
            text-overflow: clip !important;
            white-space: nowrap !important;
        }

        /* Monto (compacto) */
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group th.c-m,
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group td.c-m {
            width: 6ch !important;
            white-space: nowrap !important;
            overflow: hidden !important;
            text-overflow: clip !important;
        }

        /* Monto R (compacto, pero visible) */
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group th.c-r,
        html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group td.c-r {
            width: 6ch !important;
            white-space: nowrap !important;
            overflow: visible !important; /* 🔥 clave para que no “desaparezca” el título */
            text-overflow: clip !important;
        }

/* Tipografía SOLO en ese caso (para que quepa) */
html[data-posmm="58"] #pos-ticket.t-reventado table.pos-lines.pos-group {
    --ag_num_size: 1.25em;
    --ag_m_size: 1.05em;
    --ag_num_weight: 900;
    --ag_m_weight: 600;
}






/* =========================================================
   ✅ AJUSTE SOLO CUANDO HAY AGRUPADO (pos-group)
   - Números ↑ un poco
   - Montos ↓ un poco (más delgados)
   - Reventado agrupado: fuerza 3 columnas visibles SIEMPRE
   Aplica en pantalla + print + WhatsApp (.wa)
   ========================================================= */

/* =========================================================
   ✅ 0) PERILLAS (CAMBIAS SOLO AQUÍ)
   - Esto controla Preview + WhatsApp + Print
   - SOLO cuando la tabla tiene .pos-group (Agrupar activo)
   ========================================================= */
#pos-ticket table.pos-lines.pos-group,
#pos-ticket-parley table.pos-lines.pos-group,
#pos-ticket-monazo table.pos-lines-monazo.pos-group,
#pos-ticket.wa table.pos-lines.pos-group,
#pos-ticket-parley.wa table.pos-lines.pos-group,
#pos-ticket-monazo.wa table.pos-lines-monazo.pos-group {
    /* ===== TÍTULOS (N°, Monto, Monto R) ===== */
    --ag_th_size: 1.15em; /* 👈 tamaño títulos */
    --ag_th_weight: 900; /* 👈 negrita títulos */
    /* ===== NÚMEROS (columna N°) ===== */
    --ag_num_size: 1.40em; /* 👈 tamaño números agrupados */
    --ag_num_weight: 900; /* 👈 negrita números (tu “marcado”) */
    /* ===== MONTOS (Monto y Monto R) ===== */
    --ag_m_size: 1.20em; /* 👈 tamaño montos agrupados */
    --ag_m_weight: 700; /* 👈 montos más delgados */
    /* ===== Ajustes finos ===== */
    --ag_letter: -0.2px; /* 👈 letter-spacing */
    --ag_th_pad_y: 2px; /* 👈 padding vertical títulos */
    --ag_th_pad_x: 0px; /* 👈 padding horizontal títulos */
}

    /* =========================================================
   ✅ 1) Tipografía (solo agrupado)
   ========================================================= */

    /* NÚMEROS (td.c-num) */
    #pos-ticket table.pos-lines.pos-group td.c-num,
    #pos-ticket-parley table.pos-lines.pos-group td.c-num,
    #pos-ticket-monazo table.pos-lines-monazo.pos-group td.c-num {
        font-weight: var(--ag_num_weight) !important;
        letter-spacing: var(--ag_letter) !important;
        font-size: var(--ag_num_size) !important;
    }

    /* MONTOS (td.c-m y td.c-r) */
    #pos-ticket table.pos-lines.pos-group td.c-m,
    #pos-ticket table.pos-lines.pos-group td.c-r,
    #pos-ticket-parley table.pos-lines.pos-group td.c-m,
    #pos-ticket-monazo table.pos-lines-monazo.pos-group td.c-m {
        font-weight: var(--ag_m_weight) !important;
        letter-spacing: var(--ag_letter) !important;
        font-size: var(--ag_m_size) !important;
    }

/* =========================================================
   ✅ 2) FORZAR QUE QUEPAN COLUMNAS EN AGRUPADO
   (lo más importante para Reventado agrupado)
   ========================================================= */

/* ----- NORMAL AGRUPADO (2 columnas) ----- */
#pos-ticket.t-normal table.pos-lines.pos-group {
    table-layout: fixed !important;
}

    #pos-ticket.t-normal table.pos-lines.pos-group th.c-num,
    #pos-ticket.t-normal table.pos-lines.pos-group td.c-num {
        width: 16ch !important; /* números agrupados (00-01-02-03) */
        overflow: visible !important;
        white-space: nowrap !important;
    }

    #pos-ticket.t-normal table.pos-lines.pos-group th.c-m,
    #pos-ticket.t-normal table.pos-lines.pos-group td.c-m {
        width: 9ch !important; /* monto más compacto */
        white-space: nowrap !important;
    }

/* ✅ 58mm: NORMAL + AGRUPADO -> mover Monto un poco a la izquierda */
html[data-posmm="58"] #pos-ticket.t-normal table.pos-lines.pos-group th.c-m,
html[data-posmm="58"] #pos-ticket.t-normal table.pos-lines.pos-group td.c-m {
    width: 7ch !important; /* un poco más angosto */
    padding-left: 0px !important; /* quita empuje a la derecha */
    padding-right: 0px !important;
    text-align: center !important;
}

/* ----- REVENTADO AGRUPADO (3 columnas SIEMPRE visibles) ----- */
#pos-ticket.t-reventado table.pos-lines.pos-group {
    table-layout: fixed !important; /* 🔥 CLAVE */
}

    /* Columna N° (agrupado) */
    #pos-ticket.t-reventado table.pos-lines.pos-group th.c-num,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-num {
        width: 12ch !important; /* suficiente para 00-01-02-03 */
        padding-right: 4px !important;
        overflow: visible !important;
        white-space: nowrap !important;
    }

    /* Columna Monto */
    #pos-ticket.t-reventado table.pos-lines.pos-group th.c-m,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-m {
        width: 7ch !important; /* más angosta para abrir espacio */
        padding-left: 4px !important;
        padding-right: 4px !important;
        white-space: nowrap !important;
    }

    /* Columna Monto R */
    #pos-ticket.t-reventado table.pos-lines.pos-group th.c-r,
    #pos-ticket.t-reventado table.pos-lines.pos-group td.c-r {
        width: 9ch !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
        white-space: nowrap !important;
    }

    /* SOLO el título Monto R: no recortar */
    #pos-ticket.t-reventado table.pos-lines.pos-group thead th.c-r {
        overflow: visible !important;
    }

/* =========================================================
   ✅ 3) WHATSAPP (.wa) + AGRUPADO
   (html2canvas usa screen)
   ========================================================= */
#pos-ticket.wa.t-reventado table.pos-lines.pos-group {
    table-layout: fixed !important;
}

    #pos-ticket.wa.t-reventado table.pos-lines.pos-group th.c-num,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group td.c-num {
        width: 12ch !important;
    }

    #pos-ticket.wa.t-reventado table.pos-lines.pos-group th.c-m,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group td.c-m {
        width: 7ch !important;
    }

    #pos-ticket.wa.t-reventado table.pos-lines.pos-group th.c-r,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group td.c-r {
        width: 9ch !important;
    }

    #pos-ticket.wa.t-reventado table.pos-lines.pos-group thead th.c-r {
        overflow: visible !important;
    }

    /* Reventado + agrupado: reducir padding solo aquí */
    #pos-ticket.t-reventado table.pos-lines.pos-group th,
    #pos-ticket.t-reventado table.pos-lines.pos-group td,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group th,
    #pos-ticket.wa.t-reventado table.pos-lines.pos-group td {
        padding-left: 1px !important;
        padding-right: 1px !important;
    }

/* =========================================================
   ✅ 4) TÍTULOS (thead) SOLO AGRUPADO
   - Tamaño/Negrita controlados por 1 solo lugar (variables)
   ========================================================= */
#pos-ticket table.pos-lines.pos-group thead th,
#pos-ticket-parley table.pos-lines.pos-group thead th,
#pos-ticket-monazo table.pos-lines-monazo.pos-group thead th,
#pos-ticket.wa table.pos-lines.pos-group thead th,
#pos-ticket-parley.wa table.pos-lines.pos-group thead th,
#pos-ticket-monazo.wa table.pos-lines-monazo.pos-group thead th {
    font-size: var(--ag_th_size) !important;
    font-weight: var(--ag_th_weight) !important;
    letter-spacing: var(--ag_letter) !important;
    padding-top: var(--ag_th_pad_y) !important;
    padding-bottom: var(--ag_th_pad_y) !important;
    padding-left: var(--ag_th_pad_x) !important;
    padding-right: var(--ag_th_pad_x) !important;
    /* para que Monto R no se corte */
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

/* EXTRA: si quieres mantener tu “0.95em” en reventado agrupado,
   ahora lo haces con 1 sola línea aquí (opcional):
   - si NO lo necesitas, borra este bloque.
*/
#pos-ticket.t-reventado table.pos-lines.pos-group thead th {
    /* ejemplo: --ag_th_size: 0.95em; */
}

/* =========================================================
   ✅ 5) PRINT: que sea EXACTAMENTE igual que Preview
   - No inventamos tamaños nuevos aquí
   - Solo repetimos variables (mismo look)
   ========================================================= */
@media print {

    /* Títulos */
    #pos-ticket table.pos-lines.pos-group thead th,
    #pos-ticket-parley table.pos-lines.pos-group thead th,
    #pos-ticket-monazo table.pos-lines-monazo.pos-group thead th {
        font-size: var(--ag_th_size) !important;
        font-weight: var(--ag_th_weight) !important;
        letter-spacing: var(--ag_letter) !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    /* Números */
    #pos-ticket table.pos-lines.pos-group td.c-num,
    #pos-ticket-parley table.pos-lines.pos-group td.c-num,
    #pos-ticket-monazo table.pos-lines-monazo.pos-group td.c-num {
        font-size: var(--ag_num_size) !important;
        font-weight: var(--ag_num_weight) !important;
        letter-spacing: var(--ag_letter) !important;
    }

    /* Montos */
    #pos-ticket table.pos-lines.pos-group td.c-m,
    #pos-ticket table.pos-lines.pos-group td.c-r,
    #pos-ticket-parley table.pos-lines.pos-group td.c-m,
    #pos-ticket-monazo table.pos-lines-monazo.pos-group td.c-m {
        font-size: var(--ag_m_size) !important;
        font-weight: var(--ag_m_weight) !important;
        letter-spacing: var(--ag_letter) !important;
    }
}

/* =========================================================
   ✅ PREMIADOS (ÚNICO BLOQUE OFICIAL)
   - Control por variables: tamaños + mover columnas
   - NO afecta TIEMPOS / PARLEY / MONAZOS
   ========================================================= */

#pos-ticket-premiados {
    /* Zoom SOLO premiados (ya lo usas) */
    --ptFont: var(--ptPremiadosFont, 1);
    /* ===== Tamaño de letra (POR COLUMNA) ===== */
    --pt_fs_head: 1.10em; /* títulos */
    --pt_fw_head: 500;
    --pt_fs_no: 1.25em; /* valores N° */
    --pt_fs_b: 1.10em; /* valores B */
    --pt_fs_m: 1.10em; /* valores Monto */
    --pt_fs_p: 1.25em; /* valores Premio */
    --pt_fs_t: 1.10em; /* valores Tiq */

    --pt_fw_no: 600;
    --pt_fw_b: 300;
    --pt_fw_m: 300;
    --pt_fw_p: 700;
    --pt_fw_t: 600;
    /* ===== Separación y alto de fila ===== */
    --pt_row_pad_y: 2px;
    /* ===== Anchos (NO “mueve”, solo espacio base) ===== */
    --pt_w_no: 1.05fr;
    --pt_w_b: 0.45fr;
    --pt_w_monto: 1.20fr;
    --pt_w_dash: 0.22fr;
    --pt_w_premio: 1.30fr;
    --pt_w_tiq: 0.95fr;
    /* ===== MOVER columnas (ESTO ES LO QUE QUERÍAS) =====
     - Cambia estos px y solo se mueve ESA columna
     - Las demás NO se afectan
  */
    --pt_x_no: 0px;
    --pt_gap: clamp(5px, 2.2vw, 8px);
    --pt_x_b: clamp(-40px, calc(-12vw), -22px);
    --pt_x_m: clamp(-35px, calc(-10vw), -18px);
    --pt_x_p: 0px;
    --pt_x_t: clamp(40px, 30vw, 90px);
    /* Mostrar/ocultar guiones: 1=mostrar, 0=ocultar */
    --pt_show_dash: 0;
}

    /* Head + filas: grid real */
    #pos-ticket-premiados .pt-head,
    #pos-ticket-premiados .pt-row {
        display: grid !important;
        align-items: baseline !important;
        column-gap: var(--pt_gap) !important;
        padding: var(--pt_row_pad_y) 0 !important;
        line-height: 1.1 !important;
    }

    /* Títulos */
    #pos-ticket-premiados .pt-head {
        font-size: var(--pt_fs_head) !important;
        font-weight: var(--pt_fw_head) !important;
    }

    /* Layout TIEMPOS / PARLEY (7 col) */
    #pos-ticket-premiados.pos-tiempos .pt-head,
    #pos-ticket-premiados.pos-tiempos .pt-row,
    #pos-ticket-premiados.pos-parley .pt-head,
    #pos-ticket-premiados.pos-parley .pt-row {
        grid-template-columns: var(--pt_w_no) var(--pt_w_b) var(--pt_w_monto) var(--pt_w_dash) var(--pt_w_premio) var(--pt_w_dash) var(--pt_w_tiq) !important;
    }

    /* Layout MONAZOS (8 col) */
    #pos-ticket-premiados.pos-monazos .pt-head,
    #pos-ticket-premiados.pos-monazos .pt-row {
        grid-template-columns: 1.05fr /* No */
        1.10fr /* Modo */
        var(--pt_w_b) /* B */
        var(--pt_w_monto) var(--pt_w_dash) var(--pt_w_premio) var(--pt_w_dash) var(--pt_w_tiq) !important;
    }

    /* Columnas: estilos + MOVER con translateX */
    #pos-ticket-premiados .pt-num {
        text-align: left !important;
        white-space: nowrap !important;
        overflow: visible !important;
        font-size: var(--pt_fs_no) !important;
        font-weight: var(--pt_fw_no) !important;
        transform: translateX(var(--pt_x_no)) !important;
    }

    #pos-ticket-premiados .pt-tcol {
        text-align: center !important;
        white-space: nowrap !important;
        overflow: visible !important;
        font-size: var(--pt_fs_b) !important;
        font-weight: var(--pt_fw_b) !important;
        transform: translateX(var(--pt_x_b)) !important;
    }

    #pos-ticket-premiados .pt-monto {
        text-align: right !important;
        font-variant-numeric: tabular-nums !important;
        white-space: nowrap !important;
        overflow: visible !important;
        font-size: var(--pt_fs_m) !important;
        font-weight: var(--pt_fw_m) !important;
        transform: translateX(var(--pt_x_m)) !important;
    }

    #pos-ticket-premiados .pt-premio {
        text-align: right !important;
        font-variant-numeric: tabular-nums !important;
        white-space: nowrap !important;
        overflow: visible !important;
        font-size: var(--pt_fs_p) !important;
        font-weight: var(--pt_fw_p) !important;
        transform: translateX(var(--pt_x_p)) !important;
    }

    #pos-ticket-premiados .pt-tiq {
        text-align: right !important;
        font-variant-numeric: tabular-nums !important;
        white-space: nowrap !important;
        overflow: visible !important;
        font-size: var(--pt_fs_t) !important;
        font-weight: var(--pt_fw_t) !important;
        transform: translateX(var(--pt_x_t)) !important;
    }

    #pos-ticket-premiados .pt-dash {
        display: none !important;
    }

/* ✅ En impresión: mismo look (para que no cambie) */
@media print {
    body.print-pos .print-target#pos-ticket-premiados .pt-head,
    body.print-pos .print-target#pos-ticket-premiados .pt-row {
        column-gap: var(--pt_gap) !important;
    }
}

/* =========================================================
   ✅ PREMIADOS: CONFIG SEPARADA POR IMPRESORA (58 / 80)
   - SOLO afecta #pos-ticket-premiados
   - Aquí tocas TODO por separado (zoom, mover columnas, tamaños, negritas)
   ========================================================= */

/* -------------------------
   1) ZOOM (solo premiados)
   - NO mueve columnas
   - Solo agranda/achica TODO el premiados
   ------------------------- */

/* 58mm */
:root[data-posmm="58"] #pos-ticket-premiados,
html[data-posmm="58"] #pos-ticket-premiados,
body[data-posmm="58"] #pos-ticket-premiados {
    --ptPremiadosFont: 1.70;
    --ptFont: 1.70; /* ✅ fuerza el zoom aunque algo no lea ptPremiadosFont */
}
/*80mm*/
:root[data-posmm="80"] #pos-ticket-premiados,
html[data-posmm="80"] #pos-ticket-premiados,
body[data-posmm="80"] #pos-ticket-premiados {
    --ptPremiadosFont: 2.25;
    --ptFont: 2.25; /* ✅ fuerza el zoom */
}

/* -------------------------
   2) MOVER COLUMNAS (solo premiados)
   - Esto NO es zoom, esto “corre” columnas
   - Si lo cambias aquí, NO afecta la otra impresora
   ------------------------- */

/* 58mm: ajustes finos */
html[data-posmm="58"] #pos-ticket-premiados {
    /* mueve columnas (px) */
    --pt_x_no: 0px;
    --pt_x_b: -22px; /* B/T */
    --pt_x_m: -25px; /* Monto */
    --pt_x_p: -23px; /* Premio */
    --pt_x_t: 62px; /* Tiq (👈 este es el que normalmente ocupas) */
}

/* 80mm: ajustes finos */
html[data-posmm="80"] #pos-ticket-premiados {
    --pt_x_no: 0px;
    --pt_x_b: -30px;
    --pt_x_m: -35px;
    --pt_x_p: -15px;
    --pt_x_t: 90px;
}


/* -------------------------
   3) TAMAÑOS DE LETRA POR COLUMNA (solo premiados)
   - Aquí haces “más grande” números, montos, premio, tiq, etc.
   ------------------------- */

/* 58mm */
html[data-posmm="58"] #pos-ticket-premiados {
    --pt_fs_head: 1.05em; /* títulos */
    --pt_fs_no: 1.18em; /* N° */
    --pt_fs_b: 1.00em; /* B/T */
    --pt_fs_m: 1.00em; /* Monto */
    --pt_fs_p: 1.12em; /* Premio */
    --pt_fs_t: 1.00em; /* Tiq */
}

/* 80mm */
html[data-posmm="80"] #pos-ticket-premiados {
    --pt_fs_head: 1.12em;
    --pt_fs_no: 1.30em;
    --pt_fs_b: 1.10em;
    --pt_fs_m: 1.10em;
    --pt_fs_p: 1.30em;
    --pt_fs_t: 1.10em;
}


/* -------------------------
   4) NEGRITAS / “LETRA MÁS FINA” (solo premiados)
   - Mientras menor el número, más “fina”
   - 300 = fina, 400 normal, 600 semi, 800 fuerte
   ------------------------- */

/* 58mm */
html[data-posmm="58"] #pos-ticket-premiados {
    --pt_fw_head: 700; /* títulos */
    --pt_fw_no: 600; /* N° */
    --pt_fw_b: 600; /* B/T */
    --pt_fw_m: 600; /* Monto */
    --pt_fw_p: 600; /* Premio */
    --pt_fw_t: 600; /* Tiq */
}

/* 80mm */
html[data-posmm="80"] #pos-ticket-premiados {
    --pt_fw_head: 700;
    --pt_fw_no: 600;
    --pt_fw_b: 600;
    --pt_fw_m: 600;
    --pt_fw_p: 600;
    --pt_fw_t: 600;
}

/* =========================================================
   ✅ SOLO IMPRESIÓN + 80mm + TIEMPOS REVENTADO + AGRUPADO
   - TODO INDIVIDUAL:
     Títulos: N° / Monto / Monto R (separados)
     Valores: N° / Monto / Monto R (separados)
   ========================================================= */
@media print {

    /* =========================
     0) PERILLAS (CAMBIAS SOLO AQUÍ)
     ========================= */
    html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group {
        /* ----- TÍTULOS (thead th) INDIVIDUALES ----- */
        --th_num_size: 1.25em; /* 👈 Título N° */
        --th_num_weight: 600;
        --th_m_size: 1.15em; /* 👈 Título Monto */
        --th_m_weight: 600;
        --th_r_size: 1.15em; /* 👈 Título Monto R */
        --th_r_weight: 600;
        /* ----- VALORES (tbody td) INDIVIDUALES ----- */
        --td_num_size: 1.40em; /* 👈 Valores N° (00-01-02-03) */
        --td_num_weight: 700;
        --td_m_size: 1.10em; /* 👈 Valores Monto */
        --td_m_weight: 600;
        --td_r_size: 1.10em; /* 👈 Valores Monto R */
        --td_r_weight: 600;
        /* Ajuste fino opcional */
        --ag_letter: -0.2px;
    }

        /* =========================
     1) TÍTULOS INDIVIDUALES
     ========================= */

        /* Título N° */
        html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group thead th.c-num {
            font-size: var(--th_num_size) !important;
            font-weight: var(--th_num_weight) !important;
            letter-spacing: var(--ag_letter) !important;
        }

        /* Título Monto */
        html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group thead th.c-m {
            font-size: var(--th_m_size) !important;
            font-weight: var(--th_m_weight) !important;
            letter-spacing: var(--ag_letter) !important;
        }

        /* Título Monto R */
        html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group thead th.c-r {
            font-size: var(--th_r_size) !important;
            font-weight: var(--th_r_weight) !important;
            letter-spacing: var(--ag_letter) !important;
            overflow: visible !important; /* por si acaso */
            text-overflow: clip !important;
            white-space: nowrap !important;
        }

        /* =========================
     2) VALORES INDIVIDUALES
     ========================= */

        /* Valores N° */
        html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group tbody td.c-num {
            font-size: var(--td_num_size) !important;
            font-weight: var(--td_num_weight) !important;
            letter-spacing: var(--ag_letter) !important;
        }

        /* Valores Monto */
        html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group tbody td.c-m {
            font-size: var(--td_m_size) !important;
            font-weight: var(--td_m_weight) !important;
            letter-spacing: var(--ag_letter) !important;
        }

        /* Valores Monto R */
        html[data-posmm="80"] #pos-ticket.t-reventado table.pos-lines.pos-group tbody td.c-r {
            font-size: var(--td_r_size) !important;
            font-weight: var(--td_r_weight) !important;
            letter-spacing: var(--ag_letter) !important;
        }
}


