/* r6 (BOTONES aprobado): tokens, botones blancos, un solo amarillo, rojo único, escala 13/15/17/22/28, alturas 48/40, radio 12, espaciado 4-8-12-16-24 */
:root{--y:#FFD400;--ds-y:#FFD400;--k:#111;--r:#d70015;--ok:#16A34A;--ok-bg:#e8f8ec;--pe-bg:#FFF4CC;--warn:#b45309;--am:#F59E0B;--al-bg:#fde8ea;--line:#E4E4E7;--tx2:#6B7280;--rad:12px}
/* botones: blancos por defecto */
html body button:not(.mhd-x):not(.tg90-b),html body #main button:not(.tg90-b):not(.ghost):not(.danger):not(.m-send):not(.sec):not(.chip):not(.hr-chip):not(.cl-c):not(.cl-r):not(.cl-tg):not(.tq-res2):not([class*="chev"]){background:#fff;border:1px solid var(--line);color:#111;border-radius:var(--rad);font-size:15px;font-weight:600;min-height:40px}
html body #mbox button:not(.mhd-x){background:#fff;border:1px solid var(--line);color:#111;border-radius:var(--rad);font-size:15px;min-height:48px}
/* seleccionado (pestaña/segmento) sigue en negro */
html body button.on,html body button.sel,html body button[aria-pressed="true"]:not(.tg90-b),html body button.active{background:#111!important;border-color:#111!important;color:#fff!important}
/* única acción principal por pantalla: amarillo */
html body #main .tq-big,html body button.pri,html body .a-pri,html body #tqGo,html body .sp3-go,html body .pre-go,html body #mbox button.pri,html body .r6-save{background:var(--y)!important;border:1px solid var(--y)!important;color:#111!important;min-height:48px;border-radius:var(--rad)!important;font-size:17px!important;font-weight:700}
/* Crear entrada y QR / Vengo con una reserva: 72 -> 56 */
html body #main .tq-big,html body #main .tq-new button.tq-res2{min-height:56px!important;height:auto!important;padding:12px 16px!important}
/* chips ¿Cómo nos conoció?: táctil 44, radio pill, texto 15 */
html body #main .tq-new .chip,html body #main .tq-org button{min-height:44px!important;padding:0 16px!important;font-size:15px!important;border-radius:999px!important}
/* filas compactas 40 visibles */
html body #main .ab-b,html body #main .cr-b,html body #main button.sm{min-height:40px!important;border-radius:var(--rad)!important;font-size:15px}
/* destructivo: texto rojo único */
html body .r6-red,html body button.danger,html body .z-del{color:var(--r)!important;background:#fff!important;border-color:var(--line)!important}
html body .r6-std{width:100%;margin-top:12px;min-height:48px}
/* un solo Cerrar por hoja: el de la cabecera */
html body #mbox .mx{display:none!important}
/* Clientes: botón Acciones blanco y acciones blancas */
html body #main .cl-mas>summary.r6-acc{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border:1px solid var(--line);border-radius:var(--rad);background:#fff;font-weight:600;font-size:15px;cursor:pointer}
html body #main .cl-mas>summary.r6-acc::-webkit-details-marker{display:none}
html body #main .cl-ma .cl-pa,html body #mbox .cl-pa{background:#fff!important;border:1px solid var(--line)!important;color:#111!important;min-height:48px;width:100%;margin:0 0 12px}
/* Configuración: un solo Guardar fijo en el pie */
html body .r6-cfghide{display:none!important}
html body .r6-savebar{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,var(--bg,#f7f7f8) 30%);z-index:5}
html body .r6-save{width:100%}
/* tipografía */
html body #main h1{font-size:22px}html body #mbox h2,html body .mhd-t{font-size:17px}
/* Principio de color de estado: verde ok/cobrado/cerrado · amarillo pendiente · rojo alerta/anulado */
html body .st-tg.paid,html body .pill.ok,html body .pill.cerrado,html body .pill.paid,html body .ok-box{background:var(--ok-bg)!important;color:#0f6b34!important;border-color:#b7e4c7!important}
html body .st-tg.pend,html body .pill.pend,html body .pill.abierto,html body .pill.pendiente{background:var(--pe-bg)!important;color:var(--warn)!important;border-color:var(--am)!important}
html body .st-tg.anu,html body .pill.anulado,html body .pill.bad,html body .pill.alerta,html body .bad,html body .err{color:var(--r)!important}
html body .st-tg.anu,html body .pill.anulado,html body .pill.alerta{background:var(--al-bg)!important;border-color:#f5b5bd!important}
html body .pend-box{background:#fef3f2!important;color:#d70015!important;border:1px solid #fecdca!important} /* sin cambios: alerta roja */
html body #gO .chip{min-height:44px!important;padding:0 16px!important;font-size:15px!important;border-radius:999px!important}
html body #main button.tg90-b{background:none!important;border:0!important;min-height:0!important;padding:0!important;color:var(--mut)!important;font-size:11px!important}
html body #main button.tg90-b.on{color:#111!important}
html body #main button.tg90-all{min-height:28px!important;font-size:11px!important;border-radius:999px!important;padding:4px 10px!important}
html body #main .cl-h{display:flex;align-items:center;gap:8px}html body #main .cl-h h1{flex:1}html body #main button.r6-accb{min-height:48px;padding:0 16px}
/* v91c: stepper común −/número/+ (.zstep): una sola línea de 48 px, sin flechas de número. Lo usan: Han venido (reserva TicketsCandy),
   personas al crear entrada, recuento de monedas/billetes de caja y cantidades de productos. */
html body .zstep.zstep{display:inline-grid!important;grid-template-columns:48px minmax(56px,96px) 48px!important;grid-auto-flow:column;align-items:center!important;gap:8px!important;height:48px;max-width:none!important;width:auto!important;margin:0!important;flex-wrap:nowrap!important;vertical-align:middle}
html body .tq-pp.zstep{display:grid!important;justify-content:center!important;margin:0 auto 8px!important}
html body .zstep.zstep>button,html body .zstep.zstep>input,html body .zstep.zstep>b{box-sizing:border-box!important;height:48px!important;min-height:48px!important;max-height:48px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;align-self:center!important;vertical-align:top!important;border-radius:12px!important;line-height:1!important;top:auto!important;transform:none!important}
html body .zstep.zstep>button{display:flex!important;align-items:center;justify-content:center;font-size:24px!important;font-weight:600}
html body .zstep.zstep>input,html body .zstep.zstep>b{display:flex;align-items:center;justify-content:center;text-align:center!important;font-size:22px!important;font-weight:700;-moz-appearance:textfield;appearance:textfield}
html body .zstep input::-webkit-inner-spin-button,html body .zstep input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
html body .wz-dr{grid-template-columns:1fr auto 90px!important}
@media(max-width:600px){html body .wz-dr{grid-template-columns:1fr auto!important}html body .wz-dr .zstep.zstep{grid-template-columns:44px 64px 44px!important;gap:6px!important}}
/* v91c: selector de tipo en Taquilla: dos botones iguales lado a lado (sin píldora interior). Icono 20 px trazo 1.75.
   Seleccionado = #111, texto blanco, icono #FFD400. Sin seleccionar = blanco, icono gris. */
html body #gT.tq-tipo{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;padding:0!important}
html body #gT.tq-tipo>button.chip.tt91{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;height:auto!important;min-height:64px!important;padding:10px 12px!important;margin:0!important;border:1.5px solid var(--line,#D0D5DD)!important;border-radius:12px!important;background:#fff!important;color:#111!important;text-align:left!important;box-shadow:none!important;white-space:normal!important}
html body #gT.tq-tipo>button.chip.tt91+button.chip.tt91{border-left:1.5px solid var(--line,#D0D5DD)!important}
html body #gT.tq-tipo>button.chip.tt91 .tt-ic{flex:0 0 20px;width:20px!important;height:20px!important;color:#667085;stroke-width:1.75}
html body #gT.tq-tipo>button.chip.tt91 .tt-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
html body #gT.tq-tipo>button.chip.tt91 b{font-size:15px;font-weight:700;line-height:1.2}
html body #gT.tq-tipo>button.chip.tt91 small{display:block;font-size:12px!important;font-weight:400!important;line-height:1.3;color:#667085!important;margin:0!important;white-space:normal}
html body #gT.tq-tipo>button.chip.tt91.on{background:#111!important;color:#fff!important;border-color:#111!important}
html body #gT.tq-tipo>button.chip.tt91.on .tt-ic{color:#FFD400}
html body #gT.tq-tipo>button.chip.tt91.on small{color:rgba(255,255,255,.75)!important}
[data-theme=dark] html body #gT.tq-tipo>button.chip.tt91:not(.on),[data-theme=dark] body #gT.tq-tipo>button.chip.tt91:not(.on){background:#1f2125!important;color:#eee!important}
/* v91c: filas de reservas TicketsCandy: línea 2 con personas · producto · importe pagado */
html body .tq-rv .rv-sub{font-size:13px;color:#555;margin-top:2px;line-height:1.35;white-space:normal}html body .tq-rv .rv-imp{white-space:nowrap;font-weight:600;color:#111}
[data-theme=dark] body .tq-rv .rv-imp{color:#eee}
/* v91c: botones de las tarjetas de ticket con icono + texto (como antes de v90). Contorno, 44 px de alto, icono 20 px trazo 1.75.
   Cobrar / Dar salida: amarillo #FFD400 con texto e icono negros. */
html body #main .o68-b>button.bi91.bi91.bi91,html body #main .tq-pay>button.bi91.bi91.bi91,html body #main .cr-a>button.bi91.bi91.bi91{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:0 10px!important;font-size:14px!important;font-weight:600!important;border-radius:12px!important;background:#fff!important;color:#111!important;border:1.5px solid var(--line,#D0D5DD)!important;box-shadow:none!important;white-space:nowrap;min-width:0}
html body #main button.bi91>span{overflow:hidden;text-overflow:ellipsis;min-width:0}
html body #main button.bi91 svg.bi91{flex:0 0 20px;width:20px!important;height:20px!important;color:#111;stroke-width:1.75;padding:0!important;margin:0!important;background:none!important}
html body #main .o68-b>button.bi91.bi91.bi91-y.bi91-y,html body #main .tq-pay>button.bi91.bi91.bi91-y.bi91-y{background:#FFD400!important;color:#111!important;border-color:#FFD400!important}
[data-theme=dark] body #main button.bi91:not(.bi91-y){background:#1f2125!important;color:#eee!important}[data-theme=dark] body #main button.bi91:not(.bi91-y) svg.bi91{color:#eee}
/* v91c: Resumen. Todas las líneas bajo la cifra grande de las tarjetas KPI con el mismo estilo pequeño gris (13 px, #667085). */
html body #main .grid.kpis .card.kpi>.d,html body #main .grid.kpis .card.kpi>.delta{font-size:13px!important;font-weight:400!important;line-height:1.35!important;color:#667085!important;margin-top:4px}
html body #main .grid.kpis .card.kpi>.d a,html body #main .grid.kpis .card.kpi>.delta a{color:#667085!important;font-weight:600;text-decoration:underline}
html body #main .grid.kpis .card.kpi>.d b,html body #main .grid.kpis .card.kpi>.delta b{font-weight:600}
html body #main .grid.kpis .card.kpi .delta b.up{color:var(--ok)!important}html body #main .grid.kpis .card.kpi .delta b.dn{color:var(--r)!important}
/* v91c: los hijos del stepper compartido nunca heredan márgenes (el + quedaba 8px más bajo) */
html body .zstep.zstep>*:not(#z):not(#z){margin:0!important;align-self:center!important;height:48px!important;box-sizing:border-box!important}
html body button.bi91:not(#z):not(#z){min-height:44px!important;height:auto!important}
/* ===== v91c · revisión de diseño Picasso 26-oct (D3–D10; D11 solo Taquilla/Cobro). D1 y D2 pendientes de Curro: sin tocar. ===== */
/* D3: botones de tarjeta a escala r6: 15 px, borde 1 px --line, 44 px */
html body button.bi91:not(#z):not(#z){font-size:15px!important;border-width:1px!important;border-color:var(--line,#e4e7ec)!important}
html body button.bi91.bi91-y:not(#z):not(#z){border-color:#FFD400!important}
/* D4: subtexto del selector de tipo a 13 px, en 1 línea */
html body #gT.tq-tipo .tt91 small:not(#z){font-size:13px!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
/* D5: una sola pill «Pendiente» y barra ámbar en todas las listas */
html body .pill.pend:not(#z),html body .st-tg.pend:not(#z){background:#FFF4CC!important;color:#b45309!important;border:1px solid #F59E0B!important}
html body #main .tq-rv:not(#z),html body #mbox .tq-rv:not(#z){border-left-color:#F59E0B!important}
html body #main .o68:not(.st-pend):not(#z){border-left-color:#F59E0B!important}
/* D8: anillo de foco propio (sin azul del navegador) */
html body :focus{outline:none}
html body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid #111!important;outline-offset:2px!important;box-shadow:none}
html[data-theme=dark] body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:#FFD400!important}
/* D9: buscadores iguales: blanco, borde 1 px, 48 px */
html body #main :is(input.cl-q,#tqQ,#fcq,#faq,#fq):not(#z){background:#fff!important;border:1px solid var(--line,#e4e7ec)!important;height:48px!important;min-height:48px!important;border-radius:12px!important;font-size:16px!important;box-shadow:none!important}
html[data-theme=dark] body #main :is(input.cl-q,#tqQ,#fcq,#faq,#fq):not(#z){background:var(--card,#1c1c1e)!important}
/* D10: tarjeta KPI con enlace = tarjeta entera tocable con chevron 20 px */
html body #main .grid.kpis .card.kpi.kpi-go{position:relative;cursor:pointer;padding-right:36px}
html body #main .grid.kpis .card.kpi.kpi-go .kpi-chev{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#667085}
html body #main .grid.kpis .card.kpi.kpi-go .kpi-lk{display:none}
html body #main .grid.kpis .card.kpi.kpi-go:active{filter:brightness(.92)}
/* D11 (solo Taquilla y Cobro, antes del 1-nov): 15 px, 44 px mínimo, radio 12 */
html body #main .tq button:not(.chip):not(.tt91):not(#z),html body #mbox .tq-pay button:not(#z){min-height:44px;border-radius:12px;font-size:15px}
html body #main .tq :is(input,select):not([type=checkbox]):not([type=radio]):not(#z){border-radius:12px}
/* v91c: el icono de los botones de tarjeta debe verse (una regla antigua ocultaba svg dentro de botones de fila) */
html body button.bi91:not(#z):not(#z)>svg.bi91{display:inline-block!important;width:20px!important;height:20px!important;flex:0 0 20px;margin-right:6px}
html body button.bi91:not(#z):not(#z){display:inline-flex!important;align-items:center;justify-content:center;gap:0}
/* D3 opción B (comprobado a 390 px): con icono «Producto» no cabe a 15 px en 3 botones de 97 px → 14 px solo en botones de fila con icono; borde 1 px se mantiene */
html body .o68-b>button.bi91:not(#z):not(#z),html body .tq-pay>button.bi91:not(#z):not(#z){font-size:14px!important;padding:0 2px!important;letter-spacing:-.2px}
html body .o68-b>button.bi91:not(#z):not(#z)>svg.bi91{margin-right:3px!important}
/* v91c (Curro): aire entre la fila de botones y el borde inferior de la tarjeta */
html body #main .o68:not(#z){padding-bottom:14px!important;height:auto!important;max-height:none!important;overflow:visible!important}
html body #main .o68 .o68-b:not(#z){margin-bottom:0!important}
/* v91c: icono QR nítido en «Crear entrada y QR» (tres marcadores + módulos), color del texto del botón */
html body #main button.tq-big:not(#z){display:inline-flex!important;align-items:center;justify-content:center;gap:10px;background-image:none!important}
html body #main button.tq-big:not(#z)>svg.qr91{display:block!important;width:22px!important;height:22px!important;flex:0 0 22px;color:currentColor}
/* v91c: Ventas de productos de hoy (sección propia bajo Tickets cerrados de hoy) */
.tq-pv91 h2{display:flex;align-items:center;flex-wrap:wrap}
.tq-pv91 .pv91-tot{margin-left:auto;font-size:16px;font-weight:700}
.pv91-l{margin:8px 0 14px}.pv91-r{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line,#e4e4e7)}.pv91-t{border-bottom:0;font-weight:700}
/* v91c: filas compactas de Ventas de productos (mock Picasso): icono de línea gris oscuro sobre #F2F2F2, sin cuadros negros */
.tq-pv91 .tq-cl{display:flex;flex-direction:column;gap:10px}
button.pv91:not(#z):not(#z){display:flex!important;align-items:center;gap:12px;width:100%;min-height:72px;height:auto;padding:12px 10px 12px 14px;margin:0;background:#fff!important;color:#111!important;border:1px solid #e4e4e7!important;border-left:4px solid var(--ok,#16a34a)!important;border-radius:12px;text-align:left;font:inherit;box-shadow:none;cursor:pointer}
.pv91-i{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:#F2F2F2;color:#3f3f46;display:flex;align-items:center;justify-content:center}
.pv91-i svg,.pv91-ch svg{display:block}
.pv91-c{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pv91-1{display:flex;justify-content:space-between;gap:8px;font-size:15px}
.pv91-2{font-size:13px;color:#52525b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv91-3{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:#52525b}
.pv91-pm{display:inline-flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv91-ch{flex:0 0 20px;color:#a1a1aa}
/* v91c: Tickets cerrados de hoy (arcade): tarjetas con Ver/Editar icono+texto; barra lateral verde si está pagado */
html body .tq-cerr2 .o68.st-paid:not(#z):not(#z){border-left-color:var(--ok,#16a34a)!important;box-shadow:none}
html body .tq-cerr2 .o68.st-paid:not(#z):not(#z)::before{background:var(--ok,#16a34a)!important}
html body #main .tq-rsv button.rv91-v:not(#z):not(#z):not(#z){height:44px!important;min-height:44px!important;max-height:none!important;box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important}
html body #main .tq-rsv .tq-cr.rv91:not(#z):not(#z){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding-bottom:14px}
html body #main .tq-rsv .rv91 .rv91-m:not(#z){display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:flex-start;width:100%}
html body #main .tq-rsv .rv91 .rv91-m>div:first-child{flex:1;min-width:0}
html body #main .tq-rsv .rv91 .rv91-m>.pill{flex:0 0 auto;margin:0!important}
html body #main .tq-rsv .rv91 .rv91-tg:not(#z){display:flex!important;align-items:center}
html body #main .tq-rsv .rv91 .rv91-tg>*{margin:0!important}
html body #main .tq-rsv .rv91 .rv91-b:not(#z){display:block!important;width:100%}
html body #main .tq-rsv button.rv91-v:not(#z):not(#z):not(#z){width:100%!important;white-space:nowrap}
html body #main .tq-rsv button.rv91-v:not(#z) svg{display:block!important;flex:0 0 20px}
html body #main .tq-rsv .rv91 .rv91-tg:not(#z){gap:6px!important;margin:6px 0 10px!important}
html body #main .tq-rsv .rv91 span.rv91-og:not(#z):not(#z){display:inline-flex!important;align-items:center;height:22px;padding:0 8px!important;border-radius:999px;background:#F2F2F2!important;color:#3f3f46!important;font-size:12px!important;font-weight:600}
/* v91e: cada reserva es una tarjeta propia, igual que las de tickets (radio 10, borde 1 px, barra ámbar, 10 px entre tarjetas) */
html body #main .tq-rsv .tq-cl:not(#z){display:flex!important;flex-direction:column;gap:0!important}
html body #main .tq-rsv .tq-cr.rv91:not(#z):not(#z){background:#fff!important;border:1px solid #e6e6e6!important;border-left:4px solid #f59e0b!important;border-radius:10px!important;padding:10px 10px 14px 12px!important;margin:0 0 10px!important;box-shadow:none!important}
html body #main .tq-rsv .tq-cr.rv91.done:not(#z):not(#z){border-left-color:var(--ok,#16a34a)!important}
html body #main .tq-rsv .tq-cr.rv91:not(#z):not(#z)::before,html body #main .tq-rsv .tq-cr.rv91:not(#z):not(#z)::after{display:none!important}
/* v91e: la etiqueta Pendiente/Pagado de la cabecera de la tarjeta no se recorta; aire antes de los botones */
html body #main .o68 .o68-m:not(#z):not(#z),html body #main .o68 .o68-r:not(#z):not(#z){overflow:visible!important;height:auto!important;max-height:none!important}
html body #main .o68 .o68-r .st-tg:not(#z){display:inline-flex;align-items:center;min-height:22px;line-height:1;padding-top:3px;padding-bottom:3px;box-sizing:border-box}
html body #main .o68 .o68-b:not(#z):not(#z){margin-top:10px!important}
/* v91e: buscador de Tickets cerrados de hoy = mismo estilo que Tickets abiertos */
html body #main .tq-cq91 input#tqCQ:not(#z):not(#z){background:#fff!important;border:1px solid #e4e4e7!important;border-radius:12px!important;height:48px!important}
/* v91e: Cobrar y Dar salida en tarjetas sin relleno amarillo (sustituye D1): igual que Editar/Producto */
html body #main .o68-b>button.pri:not(#z):not(#z),html body #main .o68-b>button.cob:not(#z):not(#z),html body #main .o68-b>button.y:not(#z):not(#z),html body #main .o68-b>button.sm:not(.ghost):not(#z):not(#z){background:#fff!important;border:1px solid #e4e4e7!important;color:#1a1c20!important;height:44px!important;min-height:44px!important;box-shadow:none!important}
/* v91e: Editar ticket: intro completa y Guardar cambios a ancho completo, sin relleno amarillo */
html body #mbox p.ef91-i:not(#z):not(#z){white-space:normal!important;overflow:visible!important;max-height:none!important;height:auto!important;-webkit-line-clamp:unset!important;display:block!important;text-overflow:clip!important}
html body #mbox .ef91:not(#z):not(#z){display:grid!important;grid-template-columns:1fr!important;gap:8px;margin-top:14px}
html body #mbox .ef91>button:not(#z):not(#z){width:100%!important;min-height:48px!important;margin:0!important}
html body #mbox .ef91>button.sv91:not(#z):not(#z){background:#fff!important;border:1px solid #e4e4e7!important;color:#1a1c20!important;display:flex!important;align-items:center;justify-content:center;gap:8px;font-weight:600;box-shadow:none!important}
/* v91f: línea de forma de pago con icono en tarjetas pagadas */
html body #main .pm91:not(#z):not(#z),html body #mbox .pm91:not(#z):not(#z){display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:13px;max-width:100%}
html body #main .rv91-pm:not(#z):not(#z){margin-top:6px}
/* v91f: tarjeta en estado rojo/alerta = barra lateral roja (anulado, +12 h, descuadre, vencido) */
html body #main .o68.st-anu:not(#z):not(#z),html body #main .o68:has(.o68-p.r):not(#z):not(#z),html body #main .o68:has(.st-tg.anu):not(#z):not(#z),html body #main .o68:has(.st-tg.r,.st-tg.err,.pill.err,.pill.r):not(#z):not(#z),html body #main .tq-cr:has(.pill.err,.pill.r,.o68-p.r):not(#z):not(#z),html body #main .z-alert91:not(#z):not(#z){border-left-color:var(--r,#d70015)!important}
/* v91g: buscador de Reservas = mismo estilo que Tickets abiertos */
html body #main .tq-rq91:not(#z):not(#z){margin-bottom:10px}
html body #main .tq-rq91 input#tqRQ:not(#z):not(#z){background:#fff!important;border:1px solid #e4e4e7!important;border-radius:12px!important;height:48px!important}
/* v91g: filas compactas del modal Reserva TicketsCandy (misma composición que las tarjetas de Reservas) */
html body .rv91s:not(#z):not(#z){display:block!important;width:100%;text-align:left;padding:8px 10px 10px 12px!important;margin-bottom:8px;font-size:14px;min-height:0!important;height:auto!important}
html body .rv91s .rv91-m:not(#z){display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
html body .rv91s .pill:not(#z),html body .rv91s .rv91-og:not(#z){font-size:11px!important;padding:1px 7px!important}
html body .rv91s .rv91-tg:not(#z){margin-top:4px}
html body .rv91s .pm91:not(#z):not(#z){font-size:12px}
html body .rv91s .rv91-pm:not(#z):not(#z){margin-top:3px}
html body #mbox .tq-cl .rv91s.rv91s:not(#z):not(#z){display:block!important;background:#fff!important;border:1px solid #e6e6e6!important;border-left:4px solid #f59e0b!important;border-radius:10px!important;margin:0 0 8px!important;padding:8px 10px 10px 12px!important}
html body #mbox .tq-cl .rv91s.done:not(#z):not(#z){border-left-color:var(--ok,#16a34a)!important}
html body #mbox .rv91s .rv91-m:not(#z):not(#z){display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px}
html body #mbox .rv91s .rv91-m>.pill:not(#z):not(#z){flex:0 0 auto;margin:0!important}
html body #mbox .rv91s .rv91-og:not(#z):not(#z){background:#F2F2F2!important;border-radius:999px;font-weight:600;color:#3f3f46}
html body #mbox .rv91s .pm91:not(#z):not(#z){font-size:12px!important}
html body #mbox .rv91s b:not(#z){font-size:15px}
/* v91g: Vender producto: rejilla fija (nombre / precio / Sin stock | stepper 48 px alineado) */
html body #mbox .pv-l .pv-r:not(#z):not(#z){display:grid!important;grid-template-columns:minmax(0,1fr) 160px!important;align-items:center!important;column-gap:12px;padding:10px 0!important}
html body #mbox .pv-r .pv91p:not(#z):not(#z){display:flex!important;flex-direction:column!important;align-items:flex-start;min-width:0;gap:2px}
html body #mbox .pv-r .pv91pm:not(#z){font-weight:600;font-size:16px;overflow-wrap:anywhere}
html body #mbox .pv-r .pv91p:not(#z):not(#z),html body #mbox .pv-r .pv-ns:not(#z):not(#z){display:block!important;margin:0!important;font-size:14px}
html body #mbox .pv-r .pv-q.zstep:not(#z):not(#z){width:160px!important;justify-self:end!important;display:grid!important;grid-template-columns:48px 1fr 48px!important;align-items:center;gap:6px;margin:0!important}
html body #mbox .pv-r .pv-q.zstep>button:not(#z):not(#z){width:48px!important;height:48px!important;min-width:48px!important;padding:0!important}
html body #mbox .pv-r .pv-q.zstep>b:not(#z){text-align:center}
html body #mbox .pv-tot:not(#z):not(#z){display:flex!important;justify-content:flex-end!important;gap:8px;text-align:right}
/* v91g: Fichar: estado Fuera en rojo + barra roja; Dentro en verde + barra verde (también Modo prueba) */
html body #main .fk-r.fk72.fk91-out:not(#z):not(#z){box-shadow:inset 4px 0 0 var(--r)!important}
html body #main .fk-r.fk72.fk91-in:not(#z):not(#z){box-shadow:inset 4px 0 0 var(--ok,#16a34a)!important}
html body #main .fk-r.fk72.fk91-out>small.off:not(#z):not(#z){color:var(--r)!important}
html body #main .fk-r.fk72.fk91-in>small.on:not(#z):not(#z),html body #main .fk-r.fk72.fk91-in>small.on .fk-dur:not(#z){color:var(--ok,#16a34a)!important}

/* v91h: +1 h a la izquierda de Pendiente/Pagado en la misma línea (sin salto, misma altura); tarjeta más baja */
html body #main .o68 .o68-sl:not(#z){display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;white-space:nowrap}
html body #main .o68 .o68-sl .o68-h1:not(#z){display:inline-flex;align-items:center;min-height:22px;line-height:1;padding:3px 6px;font-size:11px;box-sizing:border-box;white-space:nowrap}
html body #main .o68 .o68-r:not(#z):not(#z){gap:2px}
html body #main .o68 .o68-b:not(#z):not(#z):not(#z){margin-top:8px!important}
html body #main .o68 .o68-ps:not(#z){margin-top:4px}
/* v91h: pestañas Hoy/Próximos y Tickets abiertos/Pases del día = estilo del selector Por tiempo/Pase del día (cajas separadas, icono de línea) */
html body #main .seg.sg91:not(#z):not(#z){display:flex!important;gap:8px!important;background:none!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;width:100%}
html body #main .seg.sg91>button:not(#z):not(#z){flex:1 1 0;min-width:0;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;height:44px!important;min-height:44px!important;padding:0 8px!important;border:1px solid #D0D5DD!important;border-radius:12px!important;background:#fff!important;color:#111!important;font-size:14px!important;font-weight:600!important;white-space:nowrap;box-shadow:none!important}
html body #main .seg.sg91>button>span{overflow:hidden;text-overflow:ellipsis}
html body #main .seg.sg91>button .sg91-ic{flex:0 0 18px;color:#111}
html body #main .seg.sg91>button.on:not(#z):not(#z){background:#111!important;border-color:#111!important;color:#fff!important}
html body #main .seg.sg91>button.on .sg91-ic{color:#FFD400}
/* v91h: listas de reservas sin marco exterior ni recorte: solo las tarjetas redondeadas */
html body .tq-rsv .tq-cl:not(#z):not(#z),html body #mbox .tq-cl:has(.rv91):not(#z):not(#z){border:0!important;border-radius:0!important;overflow:visible!important;background:none!important;padding:0!important;box-shadow:none!important;gap:0!important}
html body .tq-rsv .tq-cl>.rv91:not(#z):not(#z),html body #mbox .tq-cl>.rv91:not(#z):not(#z){border-top:1px solid #e6e6e6!important;margin:0 0 8px!important}
/* v91h: etiqueta de origen (TicketsCandy/Web/Manual) = mismo tamaño que Pagado/Pendiente de pago */
html body .rv91 .rv91-tg>span.rv91-og:not(#z):not(#z):not(#z),html body .rv91 .rv91-tg>.pill:not(#z):not(#z):not(#z){display:inline-flex!important;align-items:center!important;height:22px!important;min-height:22px!important;padding:0 8px!important;font-size:12px!important;font-weight:600!important;line-height:1!important;border-radius:999px!important;box-sizing:border-box!important}
html body #main .seg.sg91>button:not(#z):not(#z):not(#z){font-size:13px!important;padding:0 6px!important;gap:5px;letter-spacing:-.1px}
html body #main .seg.sg91.tq-tabs:not(#z){margin-bottom:10px!important}
/* v91p: buscador de Ventas de productos = mismo estilo que Buscar ticket */
html body #main .tq-pq91:not(#z):not(#z){margin-bottom:10px;display:flex}
html body #main .tq-pq91 input#tqPQ:not(#z):not(#z){flex:1;min-width:0;background:#fff!important;border:1px solid #e4e4e7!important;border-radius:12px!important;height:48px!important;font-size:16px}
/* v91p: pestañas instantáneas en iPhone: listas prerenderizadas ocultas con [hidden], sin retardo de toque, sin transiciones, estado pulsado sutil */
html body #main .tq-list[hidden],html body #main .tq-cl[hidden],html body #main #tqAll[hidden]{display:none!important}
html body #main .seg.sg91>button:not(#z):not(#z){touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:none!important;-webkit-user-select:none;user-select:none}
html body #main .seg.sg91>button:not(.on):active:not(#z):not(#z){background:#F2F4F7!important}
html body #main .seg.sg91>button.on:active:not(#z):not(#z){background:#2a2a2a!important}
html body #main .seg.sg91>button:active{transform:scale(.98)}
html body #main .tq-list[hidden]:not(#z):not(#z):not(#z),html body #main .tq-cl[hidden]:not(#z):not(#z):not(#z),html body #main #tqAll[hidden]:not(#z):not(#z):not(#z){display:none!important}
html body .rv91 .rv91-tg:not(#z):not(#z):not(#z){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important}
html body .rv91 .rv91-tg>*+*:not(#z):not(#z):not(#z){margin-left:0!important}
html body #main .tq-pq91:not(#z):not(#z):not(#z){display:block!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;padding:0!important;margin-left:0!important;margin-right:0!important}
html body #main .tq-pq91 input#tqPQ:not(#z):not(#z):not(#z){display:block!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important}
/* v91p: cajas de mensaje verde/roja/ámbar con aire interior y esquinas como las tarjetas */
html body .ok-box:not(.pay-st):not(#z):not(#z),html body .pend-box:not(.pay-st):not(#z):not(#z),html body .fx-warn:not(#z):not(#z){display:block;padding:12px 14px!important;border-radius:12px!important;box-sizing:border-box;line-height:1.4}
html body .pay-st:not(#z):not(#z){border-radius:12px!important;padding:12px 14px!important}
/* v91p: cabecera Cliente — nombre (elipsis) + chip entero, email en 2ª línea con elipsis */
html body .cb .cb-h:not(#z) .cb-t{flex:1 1 auto;min-width:0;overflow:hidden}
html body .cb .cb-v.cb91p:not(#z):not(#z){display:flex!important;align-items:center;gap:6px;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap}
html body .cb .cb91p .cb-nm:not(#z){flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .cb .cb91p .cb-st:not(#z):not(#z){flex:0 0 auto;margin-left:0!important;white-space:nowrap}
html body .cb .cb-em:not(#z){display:block;min-width:0;font-size:14px;font-weight:400;color:var(--mut,#667085);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .cb .cb-chev:not(#z){flex:0 0 auto}
/* v91p: aire sobre «¿Quieres el ticket?» y entre la etiqueta y los botones */
html body #mbox .rc-ask:not(#z):not(#z){margin-top:20px!important}
html body #mbox .rc-ask>.dg-h:not(#z):not(#z){margin:0 0 10px!important}
/* v91p: sin línea de origen repetida bajo las etiquetas; tarjeta más baja */
html body #main .tq-rsv .rv91 .rv91-tg:not(#z):not(#z){margin:6px 0 10px!important}
html body .rv91s .rv91-tg:not(#z):not(#z){margin:4px 0 0!important}
/* v91p: opciones «¿Cómo nos conoció?» compactas (32px, 13px, 6px 12px, gap 6px) */
html body #gO.chips:not(#z):not(#z){display:flex!important;flex-wrap:wrap!important;gap:6px!important;padding:8px 0 4px!important;margin-left:0!important}
html body #gO .chip:not(#z):not(#z){display:inline-flex!important;align-items:center!important;height:32px!important;min-height:32px!important;padding:6px 12px!important;font-size:13px!important;line-height:1!important;border-radius:999px!important;box-sizing:border-box!important;touch-action:manipulation;transition:none!important;-webkit-tap-highlight-color:transparent;margin:0!important}
html body #gO .chip.on:not(#z):not(#z){background:#111!important;border-color:#111!important;color:#fff!important;font-weight:600}
/* v91p: KPI sin datos → texto claro en lugar de «—»; Ticket medio a ancho completo si queda impar */
html body #main .card.kpi .v.nd91:not(#z):not(#z){font-size:17px!important;font-weight:600!important;color:#6b6b6b!important;line-height:1.25!important}
html body #main .grid.kpis .card.kpi.tm91.w91p:not(#z):not(#z){grid-column:1/-1!important}
/* v91t: stepper «Salen k de N» igual que «Han venido»: botones cuadrados de 48 px, radio 12, borde claro, − y + negros en negrita; en el mínimo o el máximo mantienen el tamaño y se ven en gris */
html body .tq-sal-q:not(#z):not(#z){display:flex!important;align-items:center!important;gap:8px!important;flex:none!important}
html body .tq-sal-q>button:not(#z):not(#z){flex:0 0 48px!important;width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;margin:0!important;border-radius:12px!important;border:1px solid #e3e3e3!important;background:#fff!important;color:#111!important;font-size:24px!important;font-weight:800!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;box-shadow:none!important}
html body .tq-sal-q>button:active:not([disabled]):not(#z):not(#z){background:#FFD400!important;border-color:#FFD400!important}
html body .tq-sal-q>button[disabled]:not(#z):not(#z){background:#f3f3f3!important;color:#b5b5b5!important;border-color:#ececec!important;cursor:not-allowed!important}
html body .tq-sal-q>b:not(#z):not(#z){min-width:88px!important;height:48px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 10px!important;border:1px solid #e3e3e3!important;border-radius:12px!important;background:#fff!important;font-size:17px!important;font-weight:700!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
/* v91t: «Editar ticket». Sin la raya gris sobre «Historial de cambios», sin la raya corta sobre «Guardar cambios» (queda el espacio) y sin la barra de scroll fina a la derecha */
html body .ef-hist:not(#z):not(#z){border-top:0!important;padding-top:8px!important;margin-top:24px!important}
html body .ef-foot:not(#z):not(#z){border-top:0!important;box-shadow:none!important}
html body #mbox:has(.ef-hist):not(#z),html body #mbox:has(.ef-hist) *:not(#z){scrollbar-width:none!important}
html body #mbox:has(.ef-hist)::-webkit-scrollbar,html body #mbox:has(.ef-hist) *::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
html body .ef-hist .hist-l>li:last-child:not(#z):not(#z){border-bottom:0!important}
