:root{--color-tema:#1f4e79;--color-texto:#1b1f24;--color-suave:#57606a;--color-fondo:#fff;--color-borde:#d0d7de;--color-error:#b42318;--color-fondo-error:#fef3f2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-texto);background:var(--color-fondo);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}body{margin:0}.barra{background:var(--color-tema);color:#fff;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;font-weight:600}.pantalla{max-width:28rem;margin:0 auto;padding:16px}h1{margin:.5rem 0 1rem;font-size:1.5rem}.formulario{flex-direction:column;gap:1rem;display:flex}label{flex-direction:column;gap:.35rem;font-weight:500;display:flex}input{font:inherit;border:1px solid var(--color-borde);border-radius:8px;padding:.75rem}input:focus{outline:2px solid var(--color-tema);outline-offset:1px}button{font:inherit;background:var(--color-tema);color:#fff;cursor:pointer;border:none;border-radius:8px;min-height:48px;padding:.85rem 1rem;font-weight:600}button:disabled{opacity:.6;cursor:progress}button.secundario{color:var(--color-tema);border:1px solid var(--color-tema);background:0 0}.nota{color:var(--color-suave)}.barra a{color:inherit;text-decoration:none}h2{margin:0;font-size:1.15rem}select{font:inherit;border:1px solid var(--color-borde);background:#fff;border-radius:8px;padding:.75rem}a{color:var(--color-tema)}.boton{text-align:center;background:var(--color-tema);color:#fff;border-radius:8px;padding:.85rem 1rem;font-weight:600;text-decoration:none;display:block}.aviso{border-radius:8px;margin:.5rem 0;padding:.75rem}.aviso-error{color:var(--color-error);background:var(--color-fondo-error)}.aviso-exito{color:#1a7f37;background:#dafbe1}.aviso-info{color:var(--color-tema);background:#ddf4ff}.panel{border:1px solid var(--color-borde);border-radius:10px;margin:.75rem 0;padding:1rem}.acciones{flex-wrap:wrap;gap:.5rem;display:flex}.acciones button{flex:auto}.rejilla{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;margin:1rem 0;display:grid}.tarjeta{text-align:left;border:1px solid var(--color-borde);color:var(--color-texto);background:#fff;border-radius:10px;flex-direction:column;gap:.25rem;padding:1rem;font-weight:400;text-decoration:none;display:flex}.tarjeta span{color:var(--color-suave);font-size:.9rem}.lista{margin:1rem 0;padding:0;list-style:none}.lista>li{border-bottom:1px solid var(--color-borde);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.lista>li.columna{flex-direction:column;align-items:stretch}.lista li>div:first-child,.fila-boton>div{flex-direction:column;gap:.2rem;display:flex}.lista .inactivo{opacity:.6}.fila-boton{color:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;min-height:auto;padding:0;font-weight:400;display:flex}.chip{color:var(--color-suave);background:#eaeef2;border-radius:999px;margin-left:.35rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.chip-alerta{color:#9a6700;background:#fff8c5}.dato-grande{letter-spacing:.15em;word-break:break-all;margin:.5rem 0;font-size:1.75rem;font-weight:700}.qr{width:min(16rem,100%);margin:0 auto}.qr svg{width:100%;height:auto;display:block}.pin{text-align:center}.puntos{letter-spacing:.3em;margin:.5rem 0 1rem;font-size:1.75rem}.teclado{grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:18rem;margin:0 auto 1rem;display:grid}.teclado button{min-height:64px;color:var(--color-texto);border:1px solid var(--color-borde);background:#f6f8fa;font-size:1.5rem}.filtros{flex-direction:column;gap:.5rem;margin:1rem 0 .25rem;display:flex}input[type=search]{font:inherit;border:1px solid var(--color-borde);border-radius:8px;padding:.75rem}label.casilla{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}label.casilla input{width:1.25rem;height:1.25rem}.dos-columnas{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}fieldset.panel{flex-direction:column;gap:.75rem;display:flex}legend{padding:0 .25rem;font-weight:600}.boton.secundario-enlace{color:var(--color-tema);border:1px solid var(--color-tema);background:0 0}.acciones .boton{flex:auto}.pestanas{gap:.4rem;margin-bottom:1rem;display:flex;overflow-x:auto}.pestanas button{flex:none;min-height:40px;padding:.5rem .9rem}.fila-boton:disabled{cursor:default;opacity:1}label.boton{cursor:pointer}.resumen{grid-template-columns:1fr;gap:.25rem;margin:.5rem 0;display:grid}.resumen div{border-bottom:1px solid var(--color-borde);justify-content:space-between;gap:1rem;padding:.4rem 0;display:flex}.resumen dt{color:var(--color-suave)}.resumen dd{text-align:right;margin:0;font-weight:600}.problemas{margin:.5rem 0;padding:0;list-style:none}.problemas li{border-left:4px solid;border-radius:8px;margin-bottom:.35rem;padding:.5rem .75rem}.problemas li.error{background:var(--color-fondo-error);border-color:var(--color-error)}.problemas li.advertencia{background:#fff8c5;border-color:#9a6700}.problemas .donde{color:var(--color-suave);font-size:.8rem;font-weight:600;display:block}.pasos li{margin-bottom:.5rem}textarea{font:inherit;border:1px solid var(--color-borde);resize:vertical;border-radius:8px;padding:.75rem}.logo-ticket{align-items:center;gap:1rem;display:flex}.logo-ticket img{border:1px solid var(--color-borde);max-width:12rem;max-height:6rem;image-rendering:pixelated}.acciones-ticket{margin:1rem 0}.solo-impresion{display:none}@media print{body>:not(.solo-impresion){display:none!important}.solo-impresion{display:block}.solo-impresion img{width:72mm}}.hoja-fondo{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.hoja{box-sizing:border-box;width:100%;max-width:32rem;max-height:92vh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--color-fondo);border-radius:14px 14px 0 0;overflow-y:auto}@media (width>=48rem){.hoja-fondo{align-items:center}.hoja{border-radius:14px}}.hoja-encabezado{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.hoja-encabezado .cerrar{color:var(--color-suave);background:0 0;padding:.25rem .75rem;font-size:1.75rem;line-height:1}button.peligro{color:var(--color-error);border-color:var(--color-error)}button.peligro-lleno{background:var(--color-error)}h2.separado{margin-top:1.5rem}.enlaces-caja{align-items:center;gap:.75rem;display:flex}.boton-grande{width:100%;min-height:56px;margin:.75rem 0;font-size:1.15rem}.pantalla-ancha{max-width:72rem}.venta-encabezado{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.en-linea{color:#1a7f37;font-weight:600}.sin-linea{color:var(--color-error);font-weight:600}.buscador-campo{gap:.5rem;display:flex}.buscador-campo input{flex:1;min-width:0}.buscador .pestanas{margin:.5rem 0}.favoritos{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;display:grid}.favoritos .tarjeta{min-height:72px;padding:.75rem}.resultados{margin-top:.5rem}.resultados .fila-boton,.renglones .fila-boton{gap:.75rem;width:100%}.agotado{color:var(--color-error)}.renglones>li{flex-wrap:wrap}.renglones .fila-boton{flex:14rem}.mas-menos{gap:.35rem;display:flex}.mas-menos button{min-width:48px;padding:.5rem}.cantidad{gap:.5rem;display:flex}.cantidad input{text-align:center;flex:1;min-width:0;font-size:1.25rem}.cantidad button{min-width:56px;font-size:1.25rem}.resumen .total{font-size:1.25rem}.resumen .total dt{color:var(--color-texto);font-weight:700}.total-cobro{text-align:center;margin:0;font-size:2.25rem;font-weight:700}.cambio{margin:0;font-size:1.25rem}.venta-registrada{text-align:center;max-width:28rem;margin:2rem auto}.cambio-grande{font-size:1.5rem}.cambio-grande strong{font-size:3rem;display:block}.escaner{aspect-ratio:4/3;background:#000;border-radius:10px;position:relative;overflow:hidden}.escaner video{object-fit:cover;width:100%;height:100%}.escaner-guia{border:3px solid #ffffffd9;border-radius:8px;position:absolute;inset:30% 12%}.venta-ticket{display:none}.barra-cobro{padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--color-fondo);border-top:1px solid var(--color-borde);gap:.5rem;display:flex;position:sticky;bottom:0}.barra-cobro button{flex:1}.venta{padding-bottom:.5rem}@media (width>=56rem){.venta-cuerpo{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1.5rem;display:grid}.venta-ticket{border:1px solid var(--color-borde);border-radius:10px;padding:1rem;display:block;position:sticky;top:1rem}.barra-cobro{display:none}}
