/* Almacén · celular primero. Vitrina arriba, barra de cobro abajo, hojas que suben. */
:root{
  --bg:#FBF7F8;--card:#FFFFFF;--ink:#24121A;--dim:#8C6B78;--line:#F1DDE4;--chip:#F7EBEF;
  --acc:#FF6B93;--acc-ink:#2A0A16;--nav:#5E1630;--acc-bg:color-mix(in srgb,var(--acc) 16%,var(--card));
  --ok:#0F8A62;--ok-bg:#E9F8EF;--warn:#B26A00;--warn-bg:#FFF4D6;--bad:#C2185B;--bad-bg:#FFE3EB;--blue:#4B2A9B;--blue-bg:#EEE7FF;
  --sombra:0 4px 24px rgba(94,22,48,.10);--sombra-s:0 2px 12px rgba(94,22,48,.07);
  --disp:"Unbounded",ui-sans-serif,system-ui,sans-serif;--txt:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --lado:0px;--top-h:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#160C11;--card:#22151B;--ink:#F6EAF0;--dim:#B99AA8;--line:#3A2530;--chip:#2E1D25;--acc-bg:color-mix(in srgb,var(--acc) 24%,var(--card));--ok-bg:#0F2C22;--warn-bg:#33240A;--bad-bg:#3A1422;--blue-bg:#241A3E;--sombra:0 10px 30px rgba(0,0,0,.45);--sombra-s:0 2px 10px rgba(0,0,0,.35);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#160C11;--card:#22151B;--ink:#F6EAF0;--dim:#B99AA8;--line:#3A2530;--chip:#2E1D25;--acc-bg:color-mix(in srgb,var(--acc) 24%,var(--card));--ok-bg:#0F2C22;--warn-bg:#33240A;--bad-bg:#3A1422;--blue-bg:#241A3E;--sombra:0 10px 30px rgba(0,0,0,.45);--sombra-s:0 2px 10px rgba(0,0,0,.35);color-scheme:dark}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--txt);font-size:15px;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
h1,h2,h3{font-family:var(--disp);letter-spacing:-.02em;margin:0;text-wrap:balance}
.marca{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.02em}
.marca i,.logo i{font-style:normal;color:var(--acc)}
.dim{color:var(--dim)}
.peq{font-size:13px}

/* barra superior */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);display:flex;align-items:center;gap:10px;padding:12px 16px 8px}
.top .emp{display:flex;align-items:center;gap:8px;min-width:0;border:none;background:none;padding:0;text-align:left}
.top .emp b{font-family:var(--disp);font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw;display:block}
.top .emp small{display:block;color:var(--dim);font-size:12px;font-weight:600}
.pill{margin-left:auto;font-size:12px;font-weight:800;border-radius:999px;padding:5px 10px;background:var(--chip);white-space:nowrap}
.pill.demo{background:var(--blue-bg);color:var(--blue)}
.pill.sop{background:var(--warn-bg);color:var(--warn)}

main{padding:0 16px 150px;max-width:1500px;margin:0 auto}
main>*{min-width:0}

/* navegación inferior */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
.nav button{border:none;background:none;font-size:11.5px;font-weight:700;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;min-width:64px}
.nav svg{width:23px;height:23px}
.nav button.on{color:var(--ink)}
.nav button.on svg{color:var(--acc)}

/* campos */
.buscar{display:flex;gap:8px;margin:4px 0 10px}
.in{width:100%;min-width:0;height:48px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:0 14px;font-size:16px}
textarea.in{height:auto;min-height:80px;padding:12px 14px}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.lbl{display:block;font-size:12px;font-weight:700;color:var(--dim);letter-spacing:.05em;text-transform:uppercase;margin:14px 0 6px}
.campo{display:flex;flex-direction:column}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dos>*{min-width:0}

/* botones */
.btn{text-decoration:none;height:50px;border:none;border-radius:14px;background:var(--acc);color:var(--acc-ink);font-weight:800;font-size:16px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn.full{width:100%}
.btn.sec{background:var(--chip);color:var(--ink)}
.btn.osc{background:var(--ink);color:var(--bg)}
.btn.lin{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.btn.malo{background:var(--bad-bg);color:var(--bad)}
.btn:disabled{opacity:.45;cursor:default}
.btn.chico{height:38px;font-size:14px;border-radius:11px;padding:0 12px}
.link{border:none;background:none;color:var(--dim);font-weight:700;font-size:14px;text-decoration:underline;padding:8px}
.acciones{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.acciones>.btn{flex:1}

/* chips */
.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;border:none;background:var(--chip);border-radius:999px;padding:9px 14px;font-weight:700;font-size:14px}
.chips button.on{background:var(--ink);color:var(--bg)}
.chips.marcas button{background:transparent;border:1.5px solid var(--line);padding:7px 12px;font-size:13px}
.chips.marcas button.on{background:var(--acc-bg);border-color:var(--acc);color:var(--acc)}
.sel{display:flex;flex-wrap:wrap;gap:6px}
.sel button{border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:9px 12px;font-weight:700;font-size:14px}
.sel button.on{border-color:var(--ink);background:var(--ink);color:var(--bg)}

/* vitrina */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.prod{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:5px;position:relative;transition:transform .12s;min-width:0}
.prod:active{transform:scale(.97)}
.foto{aspect-ratio:4/3;max-width:100%;border-radius:13px;display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:28px;color:rgba(0,0,0,.35);background-size:cover;background-position:center}
.prod .mk{font-size:11px;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.prod b{font-size:14px;line-height:1.25;min-height:2.5em}
.prod .pr{font-family:var(--disp);font-weight:800;font-size:17px}
.prod .st{font-size:12px;color:var(--dim)}
.prod .st.bajo{color:var(--warn);font-weight:700}
.prod .st.cero{color:var(--bad);font-weight:700}
.prod .cnt{position:absolute;top:14px;right:14px;min-width:26px;height:26px;border-radius:13px;background:var(--acc);color:var(--acc-ink);font-weight:800;font-size:13px;display:grid;place-items:center;padding:0 6px}
.vacia{color:var(--dim);text-align:center;padding:34px 10px;font-size:14px}

/* barra de cobro (encima del menú) */
.cobrar{position:fixed;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom,0px));z-index:29;padding:8px 12px;display:flex;gap:8px;background:linear-gradient(to top,var(--bg) 70%,transparent)}
.cobrar .ver{flex:1;display:flex;align-items:center;gap:10px;height:58px;border:none;border-radius:18px;background:var(--ink);color:var(--bg);padding:0 16px;text-align:left;min-width:0}
.cobrar .ver small{display:block;font-size:12px;opacity:.7}
.cobrar .ver b{font-family:var(--disp);font-size:20px}
.cobrar .n{width:30px;height:30px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;flex:none}
.cobrar .btn{height:58px;border-radius:18px;padding:0 22px;font-size:17px;box-shadow:0 10px 24px color-mix(in srgb,var(--acc) 30%,transparent)}

/* hojas */
.velo{position:fixed;inset:0;background:rgba(10,10,12,.45);z-index:50;display:flex;align-items:flex-end;justify-content:center}
.hoja{background:var(--card);width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;padding:8px 16px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:var(--sombra);animation:sube .18s ease-out}
@keyframes sube{from{transform:translateY(30px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hoja{animation:none}}
.asa{width:44px;height:5px;border-radius:3px;background:var(--line);margin:4px auto 10px}
.hoja h3{font-size:22px;margin:0 0 2px}
.hoja .sub{color:var(--dim);font-size:13.5px;margin:2px 0 10px}
.cab{display:flex;align-items:flex-start;gap:10px}
.cab>div{flex:1;min-width:0}
.x{border:none;background:var(--chip);width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:700;flex:none}

/* variantes */
.colores{display:flex;gap:8px;flex-wrap:wrap}
.tallas{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.talla{height:56px;border:1.5px solid var(--line);background:var(--card);border-radius:14px;font-weight:800;font-size:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.talla small{font-size:11px;font-weight:600;color:var(--dim)}
.talla.on{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.talla.on small{color:inherit;opacity:.7}
.talla:disabled{opacity:.35;text-decoration:line-through}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:38px;height:38px;border-radius:11px;border:none;background:var(--chip);font-size:19px;font-weight:800}
.qty span{min-width:28px;text-align:center;font-weight:800}
.fila-cant{display:flex;align-items:center;gap:12px;margin-top:16px}
.fila-cant .qty button{width:46px;height:46px;font-size:22px}

/* canasta */
.ln{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
.ln b{font-size:14px;display:block}
.ln small{display:block}
.ln small{color:var(--dim);font-size:12.5px}
.ln .v{font-weight:800;text-align:right}
.ln .qty{grid-column:1/-1;margin-top:4px}
.ln .quitar{margin-left:auto;background:transparent!important;color:var(--dim);font-size:13px!important;font-weight:700;width:auto!important;padding:0 6px}
.ln .precio{border:none;background:none;padding:0;font-weight:800;text-decoration:underline dotted;text-underline-offset:3px}
.tot{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 4px}
.tot span{color:var(--dim);font-weight:700}
.tot b{font-family:var(--disp);font-size:30px;font-weight:800}
.cliente{display:flex;align-items:center;gap:10px;border:1px dashed var(--line);border-radius:14px;padding:10px 12px;background:transparent;width:100%;text-align:left;margin-top:10px}
.cliente small{display:block;color:var(--dim);font-size:12px}

/* cobro */
.total-big{text-align:center;margin:4px 0 12px}
.total-big span{color:var(--dim);font-weight:700;font-size:13px}
.total-big b{display:block;font-family:var(--disp);font-size:44px;font-weight:800;letter-spacing:-.02em}
.metodos{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.metodos button{min-height:60px;border:1.5px solid var(--line);background:var(--card);border-radius:14px;font-weight:800;font-size:13px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.metodos button small{font-weight:600;color:var(--dim);font-size:11px}
.metodos button.on{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.metodos button.on small{color:inherit;opacity:.7}
.recibido{display:flex;justify-content:space-between;align-items:center;background:var(--bg);border-radius:16px;padding:12px 14px;margin-top:12px}
.recibido span{color:var(--dim);font-weight:700}
.recibido b{font-family:var(--disp);font-size:28px}
.rapidos{display:flex;gap:6px;margin-top:8px;overflow-x:auto;scrollbar-width:none}
.rapidos button{flex:none;border:none;background:var(--chip);border-radius:12px;padding:10px 12px;font-weight:800;font-size:14px}
.teclas{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.teclas button{height:52px;border:none;border-radius:14px;background:var(--chip);font-size:22px;font-weight:700}
.cambio{display:flex;justify-content:space-between;align-items:center;border-radius:16px;padding:12px 14px;margin-top:10px;font-weight:800}
.cambio.ok{background:var(--ok-bg);color:var(--ok)}
.cambio.falta{background:var(--bad-bg);color:var(--bad)}
.recibo{background:var(--bg);border-radius:16px;padding:14px;margin-top:8px;font-size:14px}
.recibo .r{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.recibo .r span:first-child{min-width:0}
.listo{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:6px auto 8px;font-size:32px;font-weight:800}

/* listas y tarjetas */
.tarjeta{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px}
.tarjeta+.tarjeta{margin-top:10px}
.titulo{display:flex;align-items:center;gap:10px;margin:8px 0 12px}
.titulo h2{font-size:24px;flex:1}
.fila{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line);width:100%;background:none;border-left:none;border-right:none;border-bottom:none;text-align:left}
.fila:first-child{border-top:none}
.fila>div{flex:1;min-width:0}
.fila b{display:block;font-size:14.5px}
.fila small{display:block;color:var(--dim);font-size:12.5px}
.fila .val{font-weight:800;text-align:right;white-space:nowrap}
.fila .val small{font-weight:600}
.av{width:38px;height:38px;border-radius:12px;background:var(--chip);display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.etq{font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 9px;background:var(--chip);white-space:nowrap}
.etq.ok{background:var(--ok-bg);color:var(--ok)}
.etq.warn{background:var(--warn-bg);color:var(--warn)}
.etq.bad{background:var(--bad-bg);color:var(--bad)}
.etq.blue{background:var(--blue-bg);color:var(--blue)}
.etq.acc{background:var(--acc-bg);color:var(--acc)}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;min-width:0}
.kpi span{display:block;font-size:12px;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.kpi b{display:block;font-family:var(--disp);font-size:22px;font-weight:800;margin-top:2px;overflow-wrap:anywhere}
.kpi.grande{grid-column:1/-1;background:var(--ink);color:var(--bg);border-color:var(--ink)}
.kpi.grande span{color:inherit;opacity:.7}
.kpi.grande b{font-size:30px}
.seccion{font-size:12px;font-weight:800;color:var(--dim);letter-spacing:.05em;text-transform:uppercase;margin:18px 0 8px}
.menu{display:grid;gap:8px}
.menu button{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;text-align:left;width:100%}
.menu button>span:last-child{margin-left:auto;color:var(--dim)}
.menu b{display:block}
.menu small{display:block;color:var(--dim);font-size:12.5px}
.aviso{border-radius:14px;padding:12px 14px;font-size:14px;font-weight:600}
.aviso.ok{background:var(--ok-bg);color:var(--ok)}
.aviso.warn{background:var(--warn-bg);color:var(--warn)}
.aviso.blue{background:var(--blue-bg);color:var(--blue)}
.aviso.bad{background:var(--bad-bg);color:var(--bad)}
.var-tabla{width:100%;border-collapse:collapse;font-size:14px}
.var-tabla td,.var-tabla th{padding:7px 4px;border-top:1px solid var(--line);text-align:left}
.var-tabla th{font-size:11.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em;border-top:none}
.var-tabla input{width:72px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:0 8px;font-size:15px}
.scroll-x{overflow-x:auto}
.switch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.switch:first-of-type{border-top:none}
.switch input{width:46px;height:28px;accent-color:var(--acc)}
.codigo-grande{font-family:var(--disp);font-size:38px;font-weight:800;letter-spacing:.18em;text-align:center;margin:8px 0}

/* acceso */
.acceso{max-width:420px;margin:0 auto;padding:40px 16px;display:flex;flex-direction:column;gap:12px;min-height:100vh}
.logo{width:58px;height:58px;border-radius:18px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:28px}
.acceso h1{font-size:30px;margin-top:6px}
.g{height:54px;border:1.5px solid var(--line);background:var(--card);border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;width:100%}
.g svg{width:22px;height:22px}
.empresa{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:16px;padding:12px;background:var(--card);text-align:left;width:100%}
.empresa .av{width:44px;height:44px;border-radius:13px;color:#fff}
.empresa>span:nth-child(2){flex:1;min-width:0}
.empresa b{display:block}
.empresa small{color:var(--dim);font-size:12.5px}
.nuevo{border:2px dashed var(--line);border-radius:16px;padding:14px;background:none;font-weight:800;color:var(--dim);width:100%}
.cod{display:flex;gap:6px;justify-content:center;margin:6px 0}
.cod input{width:44px;height:56px;border:1.5px solid var(--line);background:var(--bg);border-radius:12px;text-align:center;font-family:var(--disp);font-size:24px;font-weight:800;text-transform:uppercase;padding:0}
.pie{margin-top:auto;font-size:12.5px;color:var(--dim);text-align:center}
.pie a{color:inherit}

/* aviso flotante */
.toast{position:fixed;left:50%;transform:translateX(-50%);top:calc(12px + env(safe-area-inset-top,0px));z-index:80;background:var(--ink);color:var(--bg);border-radius:14px;padding:12px 16px;font-weight:700;font-size:14px;max-width:calc(100% - 32px);box-shadow:var(--sombra)}
.toast.malo{background:var(--bad);color:#fff}
.cargando{display:grid;place-items:center;min-height:50vh;color:var(--dim);font-weight:700}

@media (min-width:900px){
  main{padding-bottom:110px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
  .velo{align-items:center}
  .hoja{border-radius:24px}
}

/* logo de la tienda */
.top .logo-emp{width:38px;height:38px;border-radius:11px;object-fit:cover;background:var(--card);border:1px solid var(--line);flex:none}
.logo-grande{width:84px;height:84px;border-radius:20px;object-fit:cover;background:var(--chip);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:28px;color:var(--dim)}
.fila-logo{display:flex;align-items:center;gap:14px;margin-top:6px}
/* fotos del artículo */
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.fotos .f{position:relative;aspect-ratio:1;border-radius:12px;background:var(--chip) center/cover;border:1px solid var(--line)}
.fotos .f button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;font-size:13px;font-weight:800}
.fotos .mas{aspect-ratio:1;border-radius:12px;border:2px dashed var(--line);background:none;color:var(--dim);font-weight:800;font-size:13px}
/* turno */
.turno{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 8px 8px 12px;margin:2px 0 10px}
.turno .dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg);flex:none}
.turno span{flex:1;min-width:0;font-size:13.5px;font-weight:700}
.turno small{display:block;color:var(--dim);font-weight:600;font-size:12px}
.paletas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.paletas button{border:1.5px solid var(--line);background:var(--card);border-radius:14px;padding:10px 4px;font-weight:700;font-size:12.5px;display:flex;flex-direction:column;align-items:center;gap:6px}
.paletas i{width:30px;height:30px;border-radius:50%;display:block}
.paletas button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}

/* caja en PC: artículos a la izquierda, venta siempre visible a la derecha */
.pos-der{display:none}
.precio-fila{display:flex;flex-direction:column;align-items:flex-start;margin-right:6px}
.precio-fila s{line-height:1}
.precio-fila s{color:var(--dim);font-size:12.5px}
.precio-in{width:110px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:0 10px;font-weight:800;font-size:14px}
@media (min-width:900px){
  .pos{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:18px;align-items:start}
  .pos-izq{min-width:0}
  .pos-der{display:flex;flex-direction:column;position:sticky;top:calc(64px + env(safe-area-inset-top,0px));background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px 16px;max-height:calc(100vh - 150px);box-shadow:var(--sombra)}
  .pos-der .lineas{overflow:auto;flex:1;min-height:60px;margin-top:4px}
  .pos-der .cliente{margin-top:4px}
  .pos-der .acciones{margin-top:10px}
}

/* lector de códigos */
.btn-lector{width:52px;height:48px;flex:none;border:1px solid var(--line);background:var(--card);border-radius:14px;display:grid;place-items:center;color:var(--ink)}
.btn-lector:hover{border-color:var(--ink)}
.lector-cam{width:100%;min-height:220px;border-radius:16px;overflow:hidden;background:#000}
.lector-cam video{width:100%!important;height:auto!important;display:block}

/* elegir artículo: foto + opciones */
.e-top{display:flex;gap:14px;align-items:flex-start}
.e-foto{width:42%;max-width:260px;aspect-ratio:1;border-radius:16px;background:var(--chip) center/cover;flex:none;border:1px solid var(--line)}
.e-opc{flex:1;min-width:0}
.e-opc .lbl:first-child{margin-top:0}
@media (max-width:520px){.e-top{flex-direction:column}.e-foto{width:100%;max-width:none;aspect-ratio:4/3}}
.ln-info{cursor:pointer;border-radius:8px}
.ln-info:hover b{text-decoration:underline;text-underline-offset:3px}

/* cobro */
.co-grid{display:grid;gap:14px}
.co-grid>*{min-width:0}
@media (min-width:900px){.co-grid{grid-template-columns:1fr 1fr;gap:22px}}
.co-res{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.co-res>div:first-child{grid-column:1/-1}
.co-res>div:first-child b{font-size:34px}
.co-res>div{background:var(--bg);border-radius:14px;padding:10px 12px;min-width:0}
.co-res span{display:block;font-size:12px;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.co-res b{display:block;font-family:var(--disp);font-size:22px;font-weight:800;white-space:nowrap}
.co-res>div:first-child{background:var(--ink);color:var(--bg)}
.co-res>div:first-child span{color:inherit;opacity:.7}
.co-res .falta{background:var(--bad-bg);color:var(--bad)}
.co-res .falta span,.co-res .ok span{color:inherit}
.co-res .ok{background:var(--ok-bg);color:var(--ok)}
.co-lista{display:grid;gap:6px;margin-top:10px}
.co-pago{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.co-pago span{flex:1;font-weight:700}
.co-pago button{border:none;background:var(--chip);width:30px;height:30px;border-radius:50%;font-weight:800}
.co-valor{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1.5px solid var(--ink);border-radius:16px;padding:12px 16px}
.co-valor span{color:var(--dim);font-weight:700;font-size:13px}
.co-valor b{font-family:var(--disp);font-size:32px;font-weight:800}
.co-valor em{font-style:normal;color:var(--dim);opacity:.6}
.billetes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.billetes button{flex:1 1 auto;min-width:76px;height:44px;border:1.5px solid var(--line);background:var(--card);border-radius:12px;font-weight:800;font-size:14px;color:var(--ok)}
.billetes button[data-r]{color:var(--ink)}
.billetes button:active{background:var(--ok-bg)}
.teclado{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.teclado button{height:60px;border:1px solid var(--line);background:var(--card);border-radius:14px;font-size:24px;font-weight:600;font-family:var(--disp);box-shadow:0 1px 0 var(--line)}
.teclado button:active{background:var(--chip);transform:translateY(1px)}
.billetes.b6{display:grid;grid-template-columns:repeat(3,1fr)}
.billetes.b2{display:grid;grid-template-columns:2fr 1fr}

/* vista previa de la tirilla */
.papel{background:#fff;color:#000;margin:12px auto 0;padding:14px 12px;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.18);border:1px solid #e5e5e5}
.papel .ti{font-family:"Courier New",ui-monospace,monospace;font-size:12px;line-height:1.35;color:#000}
.papel .ti .c{text-align:center}
.papel .ti .logo{max-width:60%;max-height:70px;display:block;margin:0 auto 4px;filter:grayscale(1)}
.papel .ti .nom{font-size:15px;font-weight:700;text-transform:uppercase}
.papel .ti hr{border:none;border-top:1px dashed #000;margin:6px 0}
.papel .ti table{width:100%;border-collapse:collapse}
.papel .ti td{vertical-align:top;padding:1px 0}
.papel .ti td.v{text-align:right;white-space:nowrap;padding-left:6px}
.papel .ti .det{font-size:11px}
.papel .ti .tot td{font-size:15px;font-weight:700;padding-top:3px}
.papel .ti .peq{font-size:10.5px}

/* ---------- v1.5 · compras y cuentas por pagar ---------- */
.seg{display:inline-flex;background:var(--chip);border-radius:14px;padding:4px;gap:4px;margin:0 0 12px}
.seg button{border:none;background:none;border-radius:10px;padding:9px 18px;font-weight:800;font-size:14px;color:var(--dim)}
.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.hoja.ancha{max-width:1080px}
.hoja.media{max-width:720px}
.cp-grid{display:grid;gap:14px}
.cp-grid>*{min-width:0}
.cp-der{display:flex;flex-direction:column;gap:10px}
.cp-caja{border:1.5px solid var(--line);border-radius:16px;padding:10px 12px}
.cp-res .r{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:14px}
.cp-res .r>span:last-child{white-space:nowrap;text-align:right}
.cp-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:var(--ink);color:var(--bg);border-radius:16px;padding:12px 14px}
.cp-total span{opacity:.75;font-weight:700}
.cp-total b{font-family:var(--disp);font-size:24px;font-weight:800}
.sel.peq button{padding:6px 10px;font-size:12.5px;border-radius:999px}
.fa-grid{display:grid;gap:4px 22px}
.fa-grid>*{min-width:0}
.fa-prov{background:var(--bg);border-radius:16px;padding:12px}
.fus{display:grid;gap:8px;margin-top:8px}
.fu{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:12px;padding:6px 6px 6px 12px}
.fu>span{flex:1;min-width:0}
.fu b{display:block;font-size:14px}
.fu small{display:block;color:var(--dim);font-size:12px}
.fu .in{width:130px;height:42px;text-align:right;font-weight:800;padding:0 10px}
.pg-grid{display:grid;gap:14px}
.pg-grid>*{min-width:0}
.pg-fac+.pg-fac{margin-top:10px}
.cx-tabla td,.cx-tabla th{vertical-align:middle}
.cx-tabla .v{text-align:right}
.cx-tabla input{height:40px}
@media (min-width:700px){
  .fus{grid-template-columns:1fr 1fr}
  .fa-grid{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}
}
@media (min-width:900px){
  .cp-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start}
  .cp-der{position:sticky;top:calc(64px + env(safe-area-inset-top,0px))}
  .pg-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
}
@media (min-width:900px){.cp-cobrar{display:none}}
.sel button:disabled{opacity:.4;cursor:default}
.ti tr.tot{display:table-row}
@media (min-width:900px){.cx-kpis{grid-template-columns:1.4fr 1fr 1fr 1fr}.cx-kpis .kpi.grande{grid-column:auto}}

/* ================= v1.6 · diseño nuevo (estilo 4) ================= */
h1,h2,h3{font-weight:700;letter-spacing:-.01em}
.titulo h2{font-size:22px}
.hoja h3{font-size:20px}
.kpi b{font-size:20px;font-weight:700}
.kpi.grande b{font-size:26px}
.tot b,.cp-total b,.co-res b,.co-valor b,.total-big b{font-weight:700}
.btn{border-radius:16px;font-weight:800}
.btn.osc{background:var(--ink);color:var(--bg)}
.tarjeta{border:none;border-radius:22px;box-shadow:var(--sombra-s)}
.kpi{border:none;box-shadow:var(--sombra-s);border-radius:20px}
.kpi.grande{background:var(--ink);color:var(--bg)}
.menu button{border:none;box-shadow:var(--sombra-s);border-radius:18px}
.in{border:1.5px solid var(--line);border-radius:14px}
.in:focus{border-color:var(--ink);outline:none}
.chips button{border-radius:14px;font-weight:800;padding:10px 16px}
.chips button.on{background:var(--ink);color:var(--bg)}
.sel button{border-radius:12px;font-weight:800}
.pill{background:var(--chip);color:var(--nav)}

/* tarjetas de artículos (Vender e Inventario) */
.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.prod{border:none;border-radius:24px;padding:9px 9px 13px;box-shadow:var(--sombra-s);gap:3px}
.prod .foto{aspect-ratio:1/1;border-radius:18px;font-size:30px;margin-bottom:6px}
.prod b{font-size:14.5px;font-weight:800}
.prod .pr{font-family:var(--disp);font-weight:700;font-size:16px}
.prod .cnt{background:var(--acc);color:var(--acc-ink)}
.prod .etq{position:absolute;top:16px;left:16px}
.chips.cats button{color:var(--ink)}
.chips.cats button.on{background:var(--ink)!important;color:var(--bg)!important}

/* barra de abajo (celular) */
.nav{border-top:none;box-shadow:0 -4px 20px rgba(94,22,48,.08)}
.nav button span{white-space:nowrap}
.nav button.on svg{color:var(--acc-ink);background:var(--acc);border-radius:12px;padding:4px;width:34px;height:30px}
.nav button svg{width:34px;height:30px;padding:4px}
.cobrar .btn{background:var(--acc);color:var(--acc-ink)}
.cobrar .n{background:var(--acc);color:var(--acc-ink)}

/* menú lateral (computador) */
.lado{display:none}
.logo-emp{width:38px;height:38px;border-radius:12px;object-fit:cover;flex:none}
.logo-emp.ini{display:grid;place-items:center;background:var(--acc);color:var(--acc-ink);font-family:var(--disp);font-weight:700;font-size:14px}
@media (min-width:900px){
  :root{--lado:232px;--top-h:16px}
  :root.lado-mini{--lado:84px}
  .top,.nav{display:none}
  main{margin-left:var(--lado);padding:22px 26px 60px;max-width:none}
  .lado{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:var(--lado);background:var(--nav);color:#FBE9EF;padding:16px 12px;z-index:40;gap:8px;transition:width .15s}
  .lado-cab{display:flex;align-items:center;gap:8px;margin-bottom:12px}
  .lado-emp{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:none;background:none;color:inherit;text-align:left;padding:4px}
  .lado-emp .txt{min-width:0}
  .lado-emp b{display:block;font-family:var(--disp);font-size:15px;color:#FFFFFF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lado-emp small{display:block;font-size:12px;color:#E8A9BD;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lado-tog{width:40px;height:40px;flex:none;border:none;border-radius:12px;background:rgba(255,255,255,.12);color:#FFFFFF;display:grid;place-items:center}
  .lado-tog svg{width:20px;height:20px}
  .lado-nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto}
  .lado-nav button{display:flex;align-items:center;gap:12px;border:none;background:none;color:#F4CBD8;font-weight:700;font-size:15px;padding:12px 14px;border-radius:16px;text-align:left;white-space:nowrap}
  .lado-nav button svg{width:22px;height:22px;flex:none}
  .lado-nav button:hover{background:rgba(255,255,255,.08)}
  .lado-nav button.on{background:var(--acc);color:var(--acc-ink)}
  .lado-sep{height:1px;background:rgba(255,255,255,.14);margin:8px 6px}
  .lado-pie{margin-top:auto;padding:6px}
  .lado-pie .pill{margin:0;background:rgba(255,255,255,.12);color:#FFFFFF}
  :root.lado-mini .lado{padding:16px 14px;align-items:center}
  :root.lado-mini .lado-cab{flex-direction:column}
  :root.lado-mini .lado-emp .txt,:root.lado-mini .lado-nav span,:root.lado-mini .lado-pie{display:none}
  :root.lado-mini .lado-nav button{justify-content:center;padding:13px;width:56px}
  .cobrar{left:var(--lado)}
  .pos-der{top:16px;max-height:calc(100vh - 32px)}
  .cp-der{top:16px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
}

/* inventario */
.inv-kpis{grid-template-columns:repeat(2,1fr)}
.inv-kpis .kpi.warn{background:var(--warn-bg);color:var(--warn)}
.inv-kpis .kpi.bad{background:var(--bad-bg);color:var(--bad)}
.inv-kpis .kpi.warn span,.inv-kpis .kpi.bad span{color:inherit}
@media (min-width:700px){.inv-kpis{grid-template-columns:repeat(5,1fr)}}
.chips.estado button{background:transparent;border:1.5px dashed var(--line);color:var(--ink)}
.chips.estado button.on{border-style:solid;border-color:var(--ink);background:var(--ink);color:var(--bg)}
.fi-top{display:grid;gap:16px}
.fi-fotos{display:grid;gap:8px}
.fi-grande{aspect-ratio:1/1;border-radius:22px;background:var(--chip) center/cover;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:44px;color:rgba(0,0,0,.3)}
.fi-mini{display:flex;gap:6px;flex-wrap:wrap}
.fi-mini button{width:58px;height:58px;border-radius:14px;border:2px solid transparent;background:var(--chip) center/cover;padding:0}
.fi-mini button.on{border-color:var(--ink)}
.fi-precio{font-family:var(--disp);font-weight:700;font-size:28px}
.fi-datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.fi-datos div{background:var(--bg);border-radius:14px;padding:10px 12px;min-width:0}
.fi-datos span{display:block;font-size:11.5px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.fi-datos b{font-family:var(--disp);font-weight:700;font-size:17px}
@media (min-width:700px){.fi-top{grid-template-columns:300px minmax(0,1fr)}}
.var-tabla td.st0{color:var(--bad);font-weight:800}
.var-tabla td.st1{color:var(--warn);font-weight:800}

/* pestañas favoritas */
.fav{display:flex;align-items:center;gap:10px;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:8px 10px}
.fav.on{border-color:var(--ink)}
.fav .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--chip);flex:none}
.fav.on .n{background:var(--acc);color:var(--acc-ink)}
.fav b{flex:1}
.fav button{width:36px;height:36px;border:none;border-radius:10px;background:var(--chip);font-weight:800}
.fav+.fav{margin-top:8px}
@media (min-width:900px){.solo-movil{display:none!important}}
.chips.cats button:not(.on){color:#24121A}
.inv-kpis{display:flex;overflow-x:auto;scrollbar-width:none;gap:10px}
.inv-kpis::-webkit-scrollbar{display:none}
.inv-kpis .kpi{flex:1 0 150px}
#i-marca{min-width:170px}
.inv-kpis .kpi{flex:0 0 auto;min-width:150px}
.inv-kpis .kpi b{white-space:nowrap}

/* ================= v1.7 · cajas y bancos ================= */
.cj-titulo{flex-wrap:wrap}
.cj-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.cj-kpis .kpi.grande{grid-column:1/-1}
.cj-kpis .kpi:not(.grande) b{font-size:16px;white-space:nowrap}
.cj-kpis .kpi span{font-size:11px}
.cj-neg{grid-template-columns:repeat(2,minmax(0,1fr))}
.cj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.cj{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--card);border:none;border-top:8px solid var(--cj);border-radius:22px;box-shadow:var(--sombra-s);padding:14px;min-width:0;transition:transform .12s}
.cj:hover{box-shadow:var(--sombra)}
.cj:active{transform:scale(.98)}
.cj-top{display:flex;align-items:center;gap:8px;width:100%}
.cj-top .etq{margin-left:auto}
.cj-av{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.cj-av.grande{width:56px;height:56px;border-radius:16px}
.cj-nom{font-size:16px;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cj-sub{color:var(--dim);font-size:12.5px;margin-top:-4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cj-etq{align-self:flex-start}
.cj-saldo{font-family:var(--disp);font-weight:700;font-size:19px;margin-top:4px;white-space:nowrap}
.cj-nueva{min-height:150px;border:2px dashed var(--line);border-radius:22px;background:none;color:var(--nav);font-weight:800;font-size:15px}
:root[data-theme="dark"] .cj-nueva{color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cj-nueva{color:var(--ink)}}
.cj-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 12px}
.cj-atras{border-radius:12px;font-size:24px;line-height:1}
.cj-cab-t{flex:1;min-width:140px}
.cj-cab-t h2{font-size:22px}
.cj-eti{display:block;font-size:11.5px;font-weight:800;color:var(--dim);letter-spacing:.07em;text-transform:uppercase}
.cj-saldo-k{text-align:right;flex:1 0 100%}
.cj-barra{display:flex;flex-wrap:wrap;gap:0 10px;align-items:center}
.cj-barra .chips{padding-bottom:6px}
.cj-fechas{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:2px 0 8px}
.cj-fechas label{flex:1;min-width:130px}
.cj-fechas .lbl{margin-top:0}
.cj-acc{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.cj-acc .btn{height:44px;font-size:14.5px;flex:1 1 auto}
.cj-res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.cj-res>div{background:var(--card);box-shadow:var(--sombra-s);border-radius:16px;padding:10px 12px;min-width:0}
.cj-res span{display:block;font-size:11px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.cj-res b{display:block;font-family:var(--disp);font-weight:700;font-size:16px;white-space:nowrap}
.cj-res .ok{background:var(--ok-bg);color:var(--ok);box-shadow:none}
.cj-res .bad{background:var(--bad-bg);color:var(--bad);box-shadow:none}
.cj-res .ok span,.cj-res .bad span{color:inherit}
.hoja .cj-res>div{background:var(--bg);box-shadow:none}
.cj-mov{padding:0;overflow:hidden}
.cj-tabla{width:100%;border-collapse:collapse;font-size:14px}
.cj-tabla th{font-size:11px;color:var(--dim);letter-spacing:.05em;text-transform:uppercase;text-align:left;font-weight:800;padding:10px 8px;background:var(--bg)}
.cj-tabla td{padding:10px 8px;border-top:1px solid var(--line);vertical-align:top}
.cj-tabla th:first-child,.cj-tabla td:first-child{padding-left:14px;white-space:nowrap}
.cj-tabla th:last-child,.cj-tabla td:last-child{padding-right:14px}
.cj-tabla .v{text-align:right;white-space:nowrap}
.cj-tabla td b{display:block;font-weight:800}
.cj-tabla small{display:block;color:var(--dim);font-size:12.5px;margin-top:2px}
.cj-tabla tbody tr[data-m]{cursor:pointer}
.cj-tabla tbody tr[data-m]:hover td{background:var(--bg)}
.cj-ent{color:var(--ok);font-weight:800}
.cj-sal{color:var(--bad);font-weight:800}
.cj-ini td{background:color-mix(in srgb,var(--bg) 60%,var(--card))}
.solo-pc{display:none}
.cj-colores{display:flex;flex-wrap:wrap;gap:8px}
.cj-colores button{width:36px;height:36px;border-radius:50%;border:none;padding:0}
.cj-colores button.on{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--ink)}
.tr-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.tr-flecha{justify-self:center;width:44px;height:36px;margin:8px 0 -6px;border:none;border-radius:12px;background:var(--chip);font-size:20px;font-weight:800;transform:rotate(90deg)}
.tr-valor{font-family:var(--disp);font-size:20px;font-weight:700}
@media (min-width:700px){
  .cj-kpis{grid-template-columns:1.6fr 1fr 1fr 1fr}
  .cj-kpis .kpi.grande{grid-column:auto}
  .cj-kpis .kpi:not(.grande) b{font-size:20px}
  .cj-neg{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cj-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
  .cj{padding:18px}
  .cj-av{width:52px;height:52px;border-radius:16px}
  .cj-saldo{font-size:22px}
  .cj-nueva{min-height:180px}
  .cj-saldo-k{flex:0 0 auto;min-width:220px}
  .cj-res{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cj-res b{font-size:18px}
  .cj-acc{margin-left:auto}
  .cj-acc .btn{flex:0 0 auto}
  .solo-pc{display:table-cell}
  .cj-tabla .solo-movil{display:none}
  .tr-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}
  .tr-flecha{margin:0 0 6px;transform:none}
}
.cj-pc{display:none}
@media (max-width:699px){
  #c-nueva{display:none}
  .cj-tabla thead{display:none}
  .cj-tabla,.cj-tabla tbody{display:block}
  .cj-tabla tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:2px;padding:11px 14px;border-top:1px solid var(--line)}
  .cj-tabla tr:first-child{border-top:none}
  .cj-tabla td{border:none!important;padding:0!important}
  .cj-tabla td.m{grid-column:1;grid-row:1;min-width:0}
  .cj-tabla td.vl{grid-column:2;grid-row:1}
  .cj-tabla td.f{grid-column:1;grid-row:2;font-size:12px;color:var(--dim)}
  .cj-tabla td.sd{grid-column:2;grid-row:2;font-size:12.5px;color:var(--dim)}
  .cj-tabla td.sd b{font-weight:700}
}
@media (min-width:700px){.cj-pc{display:inline}}

/* ================= v1.7.1 · turnos en tarjetas ================= */
.tn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.tn{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--card);border:none;border-radius:20px;box-shadow:var(--sombra-s);padding:14px;min-width:0}
.tn:hover{box-shadow:var(--sombra)}
.tn-top{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:2px}
.tn-top b{font-size:15.5px;font-weight:800}
.tn small{color:var(--dim);font-size:12.5px}
.tn-pie{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--dim);font-weight:700}
.tn-pie b{font-family:var(--disp);font-size:17px;font-weight:700;color:var(--ink)}
.tn small.tn-re{color:var(--warn);font-weight:700}
.tn-cols{display:grid;gap:10px;margin-bottom:4px}
.tn-cols .tarjeta+.tarjeta{margin-top:0}
@media (min-width:700px){.tn-cols{grid-template-columns:1fr 1fr}}

/* ================= v1.8 · cartera ================= */
.ca-lados{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;margin-bottom:12px}
.ca-lado{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:3px solid transparent;border-radius:20px;padding:12px 16px;background:var(--card);box-shadow:var(--sombra-s);min-width:0}
.ca-lado span{font-size:12px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.ca-lado b{font-family:var(--disp);font-weight:700;font-size:22px;white-space:nowrap}
.ca-lado small{font-size:12.5px;color:var(--dim);font-weight:600}
.ca-lado small em{font-style:normal;color:var(--bad);font-weight:800}
.ca-lado.deuda b{color:var(--bad)}
.ca-lado.on{background:var(--ink);color:var(--bg);border-color:var(--acc);box-shadow:var(--sombra)}
.ca-lado.on span,.ca-lado.on small{color:inherit;opacity:.75}
.ca-lado.on.deuda b{color:#FF9FB6}
.ca-lado.on small em{color:#FF9FB6;opacity:1}
.ca-filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.ca-filtros>.in:first-child{flex:1 1 240px}
.ca-filtros .chips{padding-bottom:0}
.ca-orden{width:auto;flex:0 0 auto;height:42px}
.ca-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.ca-ter{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:var(--card);border:none;border-radius:22px;box-shadow:var(--sombra-s);padding:14px;min-width:0}
.ca-ter:hover{box-shadow:var(--sombra)}
.ca-ter small{font-size:12.5px;color:var(--dim);margin-top:-3px}
.ca-av{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-weight:800;font-size:15px;color:#24121A;flex:none}
.ca-av.grande{width:56px;height:56px;border-radius:16px;font-size:18px}
.ca-wa{background:var(--ok-bg)!important;color:var(--ok)!important}
.ca-tabla .ca-doc td{background:var(--bg)}
.ca-tabla .ca-doc small em{font-style:normal;font-weight:800}
.ca-tabla em.bad{color:var(--bad)}
.ca-tabla .ca-ln.pagado td{color:var(--dim)}
.ca-tabla .ca-ln.pagado .sd b{color:var(--ok)}
.ca-tabla td.ab{white-space:nowrap}
.ca-tabla td.ab input{width:120px;height:40px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);padding:0 10px;text-align:right;font-weight:800;font-size:15px}
.ca-vence{padding:0 4px;font-size:12px}
.ca-pie{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;background:var(--acc-bg);border-top:1px solid var(--line)}
.ca-pie>span{flex:1 1 240px;color:var(--ink);font-size:14px}
.ca-pie>b{font-family:var(--disp);font-size:22px;font-weight:700}
.ca-pie .btn{height:52px;padding:0 26px}
.cj-res .warn{background:var(--warn-bg);color:var(--warn);box-shadow:none}
.cj-res .warn span{color:inherit}
.cj-res.dos-col{grid-template-columns:1fr 1fr}
@media (min-width:700px){
  .ca-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
  .ca-ter{padding:16px}
  .ca-av{width:56px;height:56px;border-radius:18px;font-size:17px}
}
@media (max-width:699px){
  .ca-tabla tr{grid-template-columns:minmax(0,1fr) auto}
  .ca-tabla td.sd{grid-column:2;grid-row:1;font-size:14px;color:var(--ink)}
  .ca-tabla td.ab{grid-column:1/-1;grid-row:2;text-align:left;margin-top:6px}
  .ca-tabla td.ab:empty{display:none}
  .ca-tabla .ca-ln td.m{padding-left:12px!important}
  .ca-tabla td.ab input{width:150px}
  .ca-pie>b{font-size:20px}
  .ca-pie .btn{flex:1}
}
.ca-tabla td:first-child{white-space:normal}
.hoja .cj-res>div.ok{background:var(--ok-bg)}
.hoja .cj-res>div.warn{background:var(--warn-bg)}
.hoja .cj-res>div.bad{background:var(--bad-bg)}
@media (max-width:699px){
  .ca-tabla tr.ca-doc{background:var(--bg)}
  .ca-tabla tr.ca-doc td{background:transparent}
}

/* ================= v1.9 · ventas y devoluciones ================= */
.vt-tabla tbody tr{cursor:pointer}
.vt-tabla tbody tr:hover td{background:var(--bg)}
.vt-tabla .etq{margin:4px 4px 0 0;display:inline-block}
.vt-tabla tr.anulada td{color:var(--dim)}
.vt-tabla tr.anulada td b{text-decoration:line-through}
.vt-arts{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-devs{display:grid;gap:10px}
.vd-devs .tarjeta+.tarjeta{margin-top:0}
.vd-anulada{opacity:.6}
@media (min-width:700px){.vd-devs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}
.dv-lista{display:grid;gap:6px}
.dv-ln{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:14px;padding:8px 8px 8px 12px}
.dv-ln>span{flex:1;min-width:0}
.dv-ln b{display:block;font-size:14px}
.dv-ln small{display:block;color:var(--dim);font-size:12px}
.dv-dif{font-weight:800;border-top:1px solid var(--line);margin-top:6px;padding-top:8px!important;font-size:16px}
.dv-dif.paga{color:var(--ok)}
.dv-dif.devuelve{color:var(--bad)}
.vd-devs .recibo .r span:last-child,.dv-ln .qty span{white-space:nowrap}

/* ================= v1.10 · ingresos y egresos ================= */
.eg-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:700px){.eg-kpis{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}}
.eg-fijos{margin-bottom:4px}
.eg-fijos-l{display:grid;gap:6px;margin-top:10px}
@media (min-width:700px){.eg-fijos-l{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
.eg-fijo{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:14px;padding:8px 8px 8px 12px}
.eg-fijo>span{flex:1;min-width:0}
.eg-fijo b{display:block;font-size:14px}
.eg-fijo small{display:block;color:var(--dim);font-size:12px}
.eg-fijo.hecho b{color:var(--dim)}
.eg-tabla tbody tr{cursor:pointer}
.eg-tabla tbody tr:hover td{background:var(--bg)}
.eg-tabla tr.anulada td{color:var(--dim)}
.eg-tabla tr.anulada b{text-decoration:line-through}
.eg-tabla .etq{display:inline-block;margin-top:4px}
.eg-clases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:6px}
@media (min-width:700px){.eg-clases{grid-template-columns:repeat(4,minmax(0,1fr))}}
.eg-clases button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:2px solid var(--line);border-radius:16px;padding:12px;background:var(--card)}
.eg-clases button small{font-size:12px;color:var(--dim)}
.eg-clases button.on{border:3px solid var(--ink);background:var(--acc-bg)}
.eg-campos{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.eg-campos .eg-con{grid-column:1/-1}
@media (min-width:700px){.eg-campos{grid-template-columns:2fr 1fr 1fr}.eg-campos .eg-con{grid-column:auto}}
.eg-foto{max-width:100%;max-height:320px;border-radius:14px;margin-top:10px;display:block;border:1px solid var(--line)}
.eg-fotoprev{display:flex;align-items:center;gap:10px}
.eg-fotoprev img{width:90px;height:90px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.gf-fila{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0;border-top:1px solid var(--line)}
.gf-fila:first-child{border-top:none}
.gf-fila .x{justify-self:end}
@media (min-width:700px){.gf-fila{grid-template-columns:2fr 1.3fr 1.2fr 70px 40px;align-items:center}}

/* ================= v1.11 · asistente de inicio ================= */
.as-wrap{display:grid;gap:14px}
.as-pasos{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.as-pasos::-webkit-scrollbar{display:none}
.as-pasos>.cj-eti,.as-pasos>.as-emp,.as-pasos>.sub{display:none}
.as-pasos button{flex:none;display:flex;align-items:center;gap:8px;border:none;background:var(--chip);border-radius:999px;padding:6px 12px 6px 6px;font-weight:700;font-size:13.5px;color:var(--dim);white-space:nowrap}
.as-pasos button span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:2px solid var(--line);background:var(--card)}
.as-pasos button.on{background:var(--acc-bg);color:var(--ink)}
.as-pasos button.on span{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.as-pasos button.hecho span{background:var(--ok);color:#fff;border-color:var(--ok)}
.as-main{min-width:0;display:flex;flex-direction:column;gap:10px}
.as-tit{font-size:24px}
.as-main>.sub,.as-main .sub{margin:0}
.as-card{background:var(--card);border-radius:20px;box-shadow:var(--sombra-s);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.as-card>b{font-family:var(--disp);font-size:15px}
.as-fila{display:grid;gap:6px;grid-template-columns:1fr 1fr}
.as-fila .x{justify-self:end}
.as-fila+.as-fila{padding-top:8px;border-top:1px solid var(--line)}
.as-tabla-cab{display:none}
.as-caja{background:var(--card);border-radius:20px;box-shadow:var(--sombra-s);padding:14px;display:flex;flex-direction:column;gap:6px;border-top:6px solid var(--line);min-width:0}
.as-caja small{font-size:12px}
.as-caja.nueva{border:2px dashed var(--line);box-shadow:none}
.as-pie{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.as-listo{max-width:720px;margin:20px auto;text-align:center;display:flex;flex-direction:column;gap:12px}
.as-listo .cj-res{text-align:left}
.as-listo .acciones{justify-content:center}
@media (min-width:900px){
  .as-wrap{grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
  .as-pasos{flex-direction:column;overflow:visible;position:sticky;top:16px;background:var(--card);border-radius:22px;box-shadow:var(--sombra-s);padding:20px 14px;gap:4px;min-height:calc(100vh - 60px)}
  .as-pasos>.cj-eti,.as-pasos>.as-emp,.as-pasos>.sub{display:block}
  .as-emp{font-family:var(--disp);font-size:17px;margin:2px 0 12px}
  .as-pasos button{background:none;border-radius:14px;padding:9px 10px;font-size:14.5px}
  .as-pasos button.on{background:var(--acc-bg)}
  .as-main{max-width:1000px}
  .as-tabla-cab{display:grid;gap:6px;font-size:11px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
  .as-fila+.as-fila{padding-top:0;border-top:none}
  .as-socio{grid-template-columns:2fr 1.1fr 1.2fr 1.35fr 70px 40px;align-items:center}
  .as-mueble{grid-template-columns:2.5fr 1.2fr 1.1fr 40px;align-items:center}
  .as-cart{grid-template-columns:1.5fr 1fr 1.3fr 1.1fr 1.25fr 1.25fr 40px;align-items:center}
}

/* ===== v1.12 · versión visible, plan separe, precio mínimo y utilidad del turno ===== */
.ver-app{font-size:11px;font-weight:700;color:var(--dim);white-space:nowrap;font-variant-numeric:tabular-nums}
.top-der{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.top-der .pill{margin-left:0}
.lado-pie{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lado-pie .ver-app{color:rgba(255,255,255,.6)}
:root.lado-mini .lado-pie{display:flex;justify-content:center;padding:6px 0}
:root.lado-mini .lado-pie .pill{display:none}
.turno .btn.chico+.btn.chico{margin-left:0}
.bajo-min{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:6px 10px;font-size:12.5px;font-weight:700}
.bajo-min span{flex:1;min-width:0}
.bajo-min button{border:none;background:var(--card);color:var(--ink);border-radius:8px;padding:5px 10px;font-weight:800;font-size:12.5px}
.bajo-txt{color:var(--warn);font-weight:700}
.bajo-txt:empty{display:none}
.sp-filtros{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.sp-grid{display:grid;gap:10px}
.sp-card{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;text-align:left;width:100%;box-shadow:var(--sombra-s)}
.sp-top{display:flex;align-items:center;gap:8px;justify-content:space-between}
.sp-top b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-items{color:var(--dim);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sp-barra{height:8px;border-radius:99px;background:var(--chip);overflow:hidden}
.sp-barra i{display:block;height:100%;background:var(--ok);border-radius:99px}
.sp-pie{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--dim);font-weight:700}
.sp-pie b{color:var(--ink)}
.sp-det-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.sp-res{margin-bottom:10px}
.tn-util{padding:4px 14px;overflow-x:auto;margin-top:10px}
.tn-util table{width:100%;border-collapse:collapse;font-size:13.5px}
.tn-util th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim);text-align:right;padding:8px 6px;font-weight:800}
.tn-util td{padding:8px 6px;border-top:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tn-util th:first-child,.tn-util td:first-child{text-align:left;white-space:normal;min-width:140px}
.tn-util td small{display:block;font-size:11.5px;font-weight:600;color:var(--dim)}
.tn-util tr.malo td small{color:inherit;font-weight:700}
.tn-util tr.malo td{color:var(--bad);background:var(--bad-bg)}
@media (min-width:700px){
  .sp-filtros{flex-direction:row;align-items:center}
  .sp-filtros .chips{flex:1;padding-bottom:0}
  .sp-filtros .in{max-width:260px}
  .sp-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
}
@media (max-width:560px){
  .turno{flex-wrap:wrap}
  .turno span{flex:1 1 100%}
  .turno .btn.chico{flex:1}
}

/* ===== v1.13 · conteo de efectivo y editar con historial ===== */
.cn-hoja{max-width:480px}
.cn-hoja:focus{outline:none}
.cn-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin:4px 0 8px}
.cn-res>div{background:var(--bg);border-radius:14px;padding:8px 10px;min-width:0}
.cn-res span{display:block;font-size:10.5px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.cn-res b{font-family:var(--disp);font-size:16px;white-space:nowrap}
.cn-res .bad{background:var(--bad-bg);color:var(--bad)}.cn-res .warn{background:var(--warn-bg);color:var(--warn)}.cn-res .ok{background:var(--ok-bg);color:var(--ok)}
.cn-res .bad span,.cn-res .warn span,.cn-res .ok span{color:inherit}
.cn-agr{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-height:30px;max-height:136px;overflow-y:auto;margin-bottom:8px;align-items:center}
.cn-vacio{grid-column:1/-1;color:var(--dim);font-size:13px}
.cn-pz{display:flex;align-items:center;justify-content:space-between;gap:4px;border:1.5px solid var(--line);border-radius:14px;padding:3px;font-size:12.5px;font-weight:800;min-width:0}
.cn-pz .t{display:flex;flex-direction:column;align-items:center;line-height:1.15;min-width:0}
.cn-pz .t small{font-size:11.5px;color:var(--dim);font-weight:700}
.cn-pz i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}
.cn-pz i.mon{border-radius:50%}
.cn-pz button{width:28px;height:28px;border-radius:50%;border:none;background:var(--chip);font-size:15px;font-weight:800;line-height:1;padding:0;flex:none}
.cn-pz .x1{font-size:11px}
.cn-modo{display:grid;grid-template-columns:repeat(3,1fr);background:var(--chip);border-radius:14px;padding:4px;gap:4px}
.cn-modo button{border:none;background:none;border-radius:11px;padding:9px 4px;font-weight:800;font-size:14px;color:var(--dim)}
.cn-modo button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 6px rgba(0,0,0,.08)}
.cn-den{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.cn-den button{height:46px;border-radius:12px;border:none;color:#fff;font-weight:900;font-size:16px;position:relative}
.cn-den button.mon{color:#4a3a1a}
.cn-den button.on{outline:3px solid var(--ink);outline-offset:2px}
.cn-den button .n{position:absolute;top:-7px;right:-5px;background:var(--ink);color:var(--card);border-radius:99px;font-size:11px;padding:2px 6px}
.cn-pan{margin-top:10px;border:2px solid var(--ink);border-radius:16px;padding:8px 10px;display:flex;align-items:center;gap:8px;min-height:66px}
.cn-q{font-family:var(--disp);font-size:30px;font-weight:800;min-width:54px;text-align:center}
.cn-q.vacio{color:var(--dim);opacity:.45}
.cn-pm{width:46px;height:46px;border-radius:14px;border:1.5px solid var(--line);background:var(--chip);font-size:26px;font-weight:800;flex:none;line-height:1}
.cn-que{margin-left:auto;font-size:13px;color:var(--dim);font-weight:700;text-align:right}
.cn-que b{display:block;font-family:var(--disp);font-size:18px;color:var(--ink)}
.cn-tec{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.cn-tec button{height:54px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-family:var(--disp);font-size:24px;font-weight:600;box-shadow:0 2px 0 var(--line)}
.cn-tec button:active{background:var(--chip)}
.cn-tec .bor{color:var(--bad);font-size:20px}
.cn-tec .cn-add{grid-column:4;grid-row:2 / span 3;height:auto;background:var(--ink);color:var(--card);font-family:var(--txt);font-size:17px;font-weight:900;border:none;box-shadow:none}
.cn-tec .cn-add:disabled{opacity:.35}
.cn-campo{display:flex;gap:8px;align-items:stretch}
.cn-campo .in{flex:1;min-width:0}
.cn-campo .btn{flex:none;white-space:nowrap}
.cn-hecho{font-size:12.5px;color:var(--dim);margin-top:6px}
/* historial de cambios */
.hist{display:flex;flex-direction:column;gap:8px}
.hist-it{border-left:3px solid var(--acc);padding:2px 0 2px 10px}
.hist-it b{display:block}
.hist-it small{display:block;color:var(--dim);font-size:12.5px}
.hist-it .cam{color:var(--ink);font-size:13px;margin-top:3px}
.hist-it .cam s{color:var(--dim)}
.ed-aviso{margin-bottom:10px}
.ve-lin{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:9px 0;border-bottom:1px solid var(--line);align-items:center}
.ve-lin .ve-c{display:flex;align-items:center;gap:6px;grid-column:1/-1}
.ve-lin .ve-c .in{width:120px;height:40px}
.ve-lin .qty button{width:36px;height:36px}

/* ===== v1.14 · cierre con base y entregas, logos y fotos de billetes ===== */
.logo-c{width:30px;height:30px;border-radius:9px;object-fit:contain;background:#fff;border:1px solid var(--line);display:block;flex:none}
.logo-c.mini{width:24px;height:24px;border-radius:7px;display:inline-block;vertical-align:-6px;margin-right:7px}
.metodos button .logo-c{margin-bottom:3px}
.cj-av.cj-logo{background:#fff;padding:0;overflow:hidden;border:1px solid var(--line)}
.cj-av.cj-logo .logo-c{width:100%;height:100%;border:none;border-radius:0}
.fc-logo{display:flex;align-items:center;gap:12px}
.fc-logo-v{width:64px;height:64px;border-radius:16px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;flex:none;overflow:hidden;color:var(--dim)}
.fc-logo-v img{width:100%;height:100%;object-fit:contain}
.ct-bases button{font-variant-numeric:tabular-nums}
.ct-cuenta{background:var(--bg);border-radius:14px;padding:10px 14px;margin-top:8px;font-size:14px}
.ct-cuenta .r{display:flex;justify-content:space-between;padding:2px 0}
.lg-lista{padding:2px 14px}
.lg-lista .fila{gap:10px}
.lg-v{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden;flex:none}
.lg-v img{width:100%;height:100%;object-fit:contain}
.lg-den{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.lg-b{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:var(--bg);border-radius:14px;padding:10px}
.lg-b small{color:var(--dim);font-weight:700}
.lg-bv{width:100%;aspect-ratio:2.25;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.lg-bv.mon{width:64px;aspect-ratio:1;border-radius:50%;color:#4a3a1a;font-size:12px}
.lg-b div{display:flex;gap:6px}
.cn-den button.cn-foto{color:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.cn-den button.cn-foto .v{position:absolute;left:6px;bottom:4px;background:rgba(0,0,0,.6);color:#fff;border-radius:6px;font-size:11.5px;padding:1px 6px}
.cn-den button.cn-foto.mon{background-size:contain!important;background-repeat:no-repeat!important}
.fu>span .logo-c.mini{float:left;width:30px;height:30px;margin:1px 9px 0 0}

/* ===== v1.15 · pantallas grandes en el PC, buscador de artículos, reparto a socios ===== */
.hoja.grande{max-width:none}
.bz-top{display:flex;gap:8px;position:sticky;top:-8px;background:var(--card);z-index:2;padding:6px 0 8px}
.bz-top .in{font-size:17px;height:52px}
.hoja.grande .chips.cats{position:sticky;top:52px;background:var(--card);z-index:2;padding-top:4px}
.bz-grid{margin-top:6px}
.bz-var{margin-top:6px}
.btn-grande{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;border:2px dashed var(--line);background:var(--bg);border-radius:18px;padding:14px 16px;color:var(--ink)}
.btn-grande span{grid-row:1/3;width:44px;height:44px;border-radius:14px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;font-size:24px;font-weight:800}
.btn-grande b{font-size:16px}
.btn-grande small{color:var(--dim);font-size:13px}
.btn-grande:hover{border-color:var(--acc)}
@media (min-width:1000px){
  .hoja.ancha{max-width:min(1400px,96vw);width:96vw;max-height:94vh}
  .hoja.grande{width:96vw;height:92vh;max-height:92vh}
  .hoja.ancha .cp-grid{grid-template-columns:minmax(0,1fr) 420px}
  .hoja.grande .grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
  .hoja.media{max-width:min(860px,94vw)}
}
.rp-tabla{width:100%;border-collapse:collapse;font-size:14px}
.rp-tabla th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim);text-align:right;padding:8px 6px;font-weight:800;white-space:nowrap}
.rp-tabla td{padding:9px 6px;border-top:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle}
.rp-tabla th:first-child,.rp-tabla td:first-child{text-align:left;white-space:normal}
.rp-tabla td small{display:block;color:var(--dim);font-size:11.5px;font-weight:600}
.rp-tabla .in{width:130px;height:40px;text-align:right;font-weight:800;padding:0 10px}
.rp-tabla tfoot td{font-weight:800;border-top:2px solid var(--ink)}
.rp-neg{color:var(--bad)}
@media (max-width:760px){
  .rp-tabla thead{display:none}
  .rp-tabla tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;padding:10px 0;border-top:1px solid var(--line)}
  .rp-tabla td{border:none;padding:2px 0;text-align:left}
  .rp-tabla td:first-child{grid-column:1/-1}
  .rp-tabla td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;font-weight:800;color:var(--dim);text-transform:uppercase}
  .rp-tabla tfoot tr{border-top:2px solid var(--ink)}
}

/* ===== v1.16 · botones de medios de pago (logo a todo el botón), conteo físico, compras, tablero ===== */
.metodos{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.metodos button.tl{position:relative;height:100px;overflow:hidden;border-radius:18px;border:2px solid var(--line);background:var(--card);padding:8px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;color:var(--ink);
  box-shadow:0 3px 0 rgba(36,18,26,.08),0 6px 14px rgba(36,18,26,.06);transition:transform .08s,box-shadow .08s}
.metodos button.tl:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(36,18,26,.08)}
.metodos button.tl b{font-size:15px;line-height:1.15}
.metodos button.tl small{font-size:11.5px;color:var(--dim);font-weight:700}
.metodos button.tl.con-logo{background:#fff;padding:0}
.tl .tl-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px 12px 24px}
.tl .tl-num{position:absolute;right:8px;bottom:7px;background:rgba(20,10,15,.85);color:#fff;font-weight:800;font-size:12.5px;letter-spacing:.06em;border-radius:8px;padding:2px 7px;font-variant-numeric:tabular-nums}
.tl .tl-tipo{position:absolute;left:10px;bottom:8px;font-size:11px;font-weight:800;color:#8C6B78;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl .tl-ico svg{width:34px;height:34px;display:block}
.metodos button.tl.on{background:var(--card);color:var(--ink);border-color:var(--ink);box-shadow:0 0 0 3px var(--ink)}
.metodos button.tl.con-logo.on{background:#fff}
.metodos button.tl.on::after{content:'✓';position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--card);font-weight:900;font-size:14px;display:grid;place-items:center}
.metodos button.tl.on small{color:var(--dim);opacity:1}
.metodos button.tl.efectivo{background:linear-gradient(160deg,#E9F8EF,#C9EBD7);border-color:#BFE3CE;color:#0B5E43}
.metodos button.tl.efectivo small{color:#2C7A5C}
.metodos button.tl.credito{background:linear-gradient(160deg,#FFF4D6,#FBE3A6);border-color:#F2D58A;color:#7A4E00}
.metodos button.tl.credito small{color:#8A6514}
.metodos button.tl.favor{background:linear-gradient(160deg,#EEE7FF,#D9CCFA);border-color:#CDBDF5;color:#4B2A9B}
.metodos button.tl.favor small{color:#5E44A8}
.metodos button.tl:disabled{opacity:.45}
@media (min-width:1000px){.metodos button.tl{height:108px}}
.logo-c{object-fit:contain}
.logo-c.mini{width:44px;height:28px}
.fu>span .logo-c.mini{width:46px;height:30px}
/* catálogo de bancos en el formulario de caja */
.fc-bancos{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow:auto;padding:2px}
.fc-bancos button{border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:8px 12px;font-weight:800;font-size:13.5px}
.fc-bancos button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.fc-bancos button.otro{border-style:dashed}
.fc-prev{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));max-width:200px}
.fc-logo-v{width:120px;height:56px}
.cj-av.cj-logo{width:112px;border-radius:12px;background:#fff}
.cj-av.grande.cj-logo{width:132px}
.lg-v{width:80px;height:38px}
/* barra de acciones en el título */
.inv-acc{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
.fila .val.rojo,.val.rojo{color:var(--bad)}
.etq.ok{background:var(--ok-bg);color:var(--ok)}.etq.warn{background:var(--warn-bg);color:var(--warn)}.etq.bad{background:var(--bad-bg);color:var(--bad)}.etq.blue{background:var(--blue-bg);color:var(--blue)}
.qty input{width:56px;height:38px;border:1.5px solid var(--line);border-radius:11px;text-align:center;font-weight:800;font-size:16px;background:var(--card);color:var(--ink)}
.qty .x1{background:var(--bad-bg);color:var(--bad);font-size:14px}
.rp-tabla tbody tr[data-m],.rp-tabla tbody tr[data-p]{cursor:pointer}
.rp-tabla tbody tr[data-m]:hover td,.rp-tabla tbody tr[data-p]:hover td{background:var(--bg)}
.rp-tabla tr.anulada td{opacity:.5}
.rp-tabla .etq{display:inline-block;margin:4px 4px 0 0}
.tb-h{display:block;font-family:var(--disp);font-size:16px;margin-bottom:8px}

/* tablero de inicio */
.tb-fecha{margin-left:auto;font-weight:700;text-transform:capitalize}
.tb-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tb-kpis .kpi small,.cp-kpis .kpi small{display:block;color:var(--dim);font-weight:700;font-size:12.5px;margin-top:2px}
.tb-grid,.vc-grid{display:grid;gap:14px}
.tb-avisos{display:grid;gap:10px}
.tb-av{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:18px;padding:14px 16px;color:var(--ink);box-shadow:0 2px 0 rgba(36,18,26,.05)}
.tb-av:active{transform:translateY(1px)}
.tb-av .ic{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;flex:none;background:var(--chip)}
.tb-av .ic svg{width:26px;height:26px}
.tb-av .tx{flex:1;min-width:0}.tb-av .tx b{display:block;font-size:16px}.tb-av .tx small{display:block;color:var(--dim);font-weight:600;font-size:13.5px;margin-top:2px}
.tb-av .fl{font-size:26px;color:var(--dim);font-weight:300}
.tb-av.bad{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.tb-av.bad .ic{background:var(--bad-bg);color:var(--bad)}
.tb-av.warn .ic{background:var(--warn-bg);color:var(--warn)}
.tb-av.blue .ic{background:var(--blue-bg);color:var(--blue)}
.tb-av.ok .ic{background:var(--ok-bg);color:var(--ok)}
.tb-rap{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tb-rap button{border:1.5px solid var(--line);background:var(--card);border-radius:18px;padding:16px;text-align:left;color:var(--ink);min-height:86px;box-shadow:0 3px 0 rgba(36,18,26,.06)}
.tb-rap button b{display:block;font-size:16px}.tb-rap button small{display:block;color:var(--dim);font-weight:600;margin-top:4px}
.tb-rap button:hover{border-color:var(--acc)}
.tb-barras{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:180px;align-items:end;margin-top:6px}
.tb-barras>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.tb-barras i{display:block;width:100%;max-width:46px;border-radius:9px 9px 4px 4px;background:color-mix(in srgb,var(--acc) 45%,var(--chip))}
.tb-barras .hoy i{background:var(--acc)}
.tb-barras small{font-size:12px;font-weight:800;color:var(--dim);text-transform:capitalize}
.tb-barras .vv{font-size:11px;font-weight:800;color:var(--dim);white-space:nowrap}
.tb-bajos{max-height:420px;overflow:auto}
@media (min-width:1000px){.tb-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);align-items:start}.vc-grid{grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);align-items:start}}

/* compras */
.cp-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cp-fil,.cf-fil{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.cp-fil .in,.cf-fil .in{flex:1;min-width:220px;height:46px}
.cp-fil .sel,.cf-fil .sel{margin:0}
.cp-prov{display:flex;align-items:center;gap:10px}
.rp-tabla td small{display:block}
.vc-acc{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.vc-acc .btn{flex:0 0 auto;min-height:48px;padding:0 20px}
.btn.malo-t{color:var(--bad)}
.vc-dv{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.vc-dv>div{flex:1;min-width:0}.vc-dv small{display:block;color:var(--dim);font-weight:600;margin-top:2px}
.vc-dv.anulada{opacity:.55}
.dc-modo{display:grid;gap:8px}
.dc-modo button{border:2px solid var(--line);background:var(--card);border-radius:16px;padding:12px 14px;text-align:left;color:var(--ink)}
.dc-modo button b{display:block;font-size:15.5px}.dc-modo button small{display:block;color:var(--dim);font-weight:600;margin-top:2px}
.dc-modo button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.pp-sugs{display:grid;gap:6px;max-height:360px;overflow:auto}
.pp-sug{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);background:var(--card);border-radius:14px;padding:8px 10px;text-align:left;color:var(--ink)}
.pp-sug>span:nth-child(2){flex:1;min-width:0}.pp-sug b{display:block;font-size:14px}.pp-sug small{color:var(--dim);font-weight:700}
.pp-sug i{font-style:normal;font-weight:900;font-size:20px;width:34px;height:34px;border-radius:10px;background:var(--chip);display:grid;place-items:center}
.pp-sug:hover{border-color:var(--acc)}
/* stickers */
.stk-grid{display:grid;gap:14px}
.stk-p{background:var(--bg);border-radius:16px;padding:18px;display:grid;place-items:center;min-height:160px;overflow:hidden}
.stk-p .st{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15);color:#000}
@media (min-width:1000px){.stk-grid{grid-template-columns:minmax(0,1fr) 360px}}

/* conteo físico */
.cf-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cf-it{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;color:var(--ink)}
.cf-it small{color:var(--dim);font-weight:600}
.cf-cats{display:flex;flex-wrap:wrap;gap:8px}
.cf-cats button{border:2px solid transparent;background:var(--pc,var(--chip));border-radius:16px;padding:14px 18px;font-weight:800;font-size:15px;color:#16181D}
.cf-cats button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.cf-cats button:first-child{background:var(--chip);color:var(--ink)}
.cf-top{position:sticky;top:0;z-index:5;background:var(--bg);padding:6px 0 8px}
.cf-scan{display:flex;gap:8px;align-items:center;background:var(--card);border:2px solid var(--ink);border-radius:18px;padding:6px 6px 6px 14px}
.cf-scan-ic svg{width:28px;height:28px;display:block}
.cf-scan .in{border:none;height:52px;font-size:19px;font-weight:700;background:transparent;flex:1;min-width:0;box-shadow:none}
.cf-scan .in:focus{outline:none}
.cf-scan .btn{height:48px}
.cf-ultimo{display:flex;align-items:center;gap:12px;background:var(--ok-bg);color:var(--ok);border-radius:16px;padding:10px 12px;margin-top:8px;animation:cf-in .25s}
.cf-foto{background-size:cover;background-position:center;display:grid;place-items:center;font-family:var(--disp);font-weight:800;color:rgba(0,0,0,.35)}
.cf-ultimo .cf-foto{width:58px;height:58px;border-radius:12px;flex:none;font-size:18px}
.cf-ultimo>span:nth-child(2){flex:1;min-width:0}.cf-ultimo>span>b{display:block;font-size:16px}.cf-ultimo small{display:block;color:var(--ink);font-weight:600}
.cf-ultimo .cf-big{font-family:var(--disp);font-size:40px;font-weight:800;line-height:1}
.cf-ultimo.malo{background:var(--bad-bg);color:var(--bad);display:block}
@keyframes cf-in{from{transform:scale(.97);opacity:.4}to{transform:none;opacity:1}}
.cf-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:8px}
.cf-res>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 12px;position:relative;overflow:hidden}
.cf-res span{display:block;font-size:11.5px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.cf-res b{font-family:var(--disp);font-size:20px}.cf-res b small{font-family:var(--txt);font-size:13px;color:var(--dim)}
.cf-res>div>small{display:block;font-weight:800}
.cf-res .bien b,.cf-res .bien>small{color:var(--ok)}.cf-res .mal b,.cf-res .mal>small{color:var(--bad)}
.cf-res i{position:absolute;left:0;bottom:0;height:4px;width:var(--p);background:var(--acc)}
#cf-cats{margin-top:4px}#cf-cats small{opacity:.65;font-weight:700}
.cf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.cf-card{background:var(--card);border:2px solid var(--line);border-radius:20px;padding:10px;display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 12px}
.cf-card .cf-foto{grid-row:1/2;width:96px;height:96px;border-radius:14px;background-size:cover;background-position:center;display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:26px;color:rgba(0,0,0,.35)}
.cf-info{align-self:center;min-width:0}.cf-info b{display:block;font-size:16px;line-height:1.2}.cf-info small{display:block;color:var(--dim);font-weight:700;font-size:14px;margin-top:3px}
.cf-nums{grid-column:1/-1;display:grid;grid-template-columns:62px 1fr 84px;gap:6px;align-items:center;background:var(--bg);border-radius:14px;padding:6px 8px}
.cf-nums span{display:block;font-size:10.5px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.cf-antes b,.cf-dif b{font-family:var(--disp);font-size:22px}
.cf-dif{text-align:right}.cf-dif small{display:block;font-weight:800;font-size:12px}
.cf-ahora{text-align:center}
.cf-pm{display:flex;align-items:center;justify-content:center;gap:6px}
.cf-pm button{width:46px;height:46px;border-radius:13px;border:none;background:var(--card);font-size:24px;font-weight:800;color:var(--ink);box-shadow:0 2px 0 rgba(36,18,26,.08)}
.cf-pm .cf-n{width:auto;min-width:58px;padding:0 8px;font-family:var(--disp);font-size:24px;background:var(--card);border:2px solid var(--line)}
.cf-card.falta .cf-n{color:var(--dim)}
.cf-card.cuadra{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.cf-card.cuadra .cf-dif b{color:var(--ok)}
.cf-card.sobra{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}.cf-card.sobra .cf-dif{color:var(--blue)}
.cf-card.menos{border-color:color-mix(in srgb,var(--bad) 50%,var(--line))}.cf-card.menos .cf-dif{color:var(--bad)}
.cf-card.ult{box-shadow:0 0 0 3px var(--acc)}
@media (min-width:1000px){.cf-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cf-card{grid-template-columns:110px minmax(0,1fr)}.cf-card .cf-foto{width:110px;height:110px}}
@media (max-width:760px){.inv-acc .btn{padding:0 12px}.tb-fecha{display:none}}
@media (max-width:760px){
  .titulo{flex-wrap:wrap}
  .titulo .inv-acc{width:100%;order:3;justify-content:flex-start;margin-left:0}
  .titulo .inv-acc .btn{flex:1 1 auto}
  .cp-kpis,.tb-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cf-res{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vc-acc .btn{flex:1 1 auto;padding:0 12px}
}

/* ===== v1.17 · conteos en espera, celular, stickers, sin internet ===== */
.cf-sel{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}
.cf-cc{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:start}
.cf-cc.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.cf-chk{width:30px;height:30px;border-radius:9px;border:2px solid var(--line);background:var(--card);font-weight:900;color:var(--card);display:grid;place-items:center;margin-top:2px}
.cf-cc.on .cf-chk{background:var(--ink);border-color:var(--ink)}
.cf-cc-t{cursor:pointer;min-width:0;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.cf-cc-t b{font-size:16px}.cf-cc-t small{grid-column:1/-1;color:var(--dim);font-weight:700}
.cf-nm{grid-column:1/-1;display:flex;gap:12px;font-weight:800;font-size:13.5px}.cf-nm .mal{color:var(--bad)}.cf-nm .bien{color:var(--ok)}
.cf-bar{grid-column:1/-1;display:block;height:6px;border-radius:4px;background:var(--chip);overflow:hidden;margin-top:4px}.cf-bar i{display:block;height:100%;background:var(--acc)}
.cf-cc-a{grid-column:2;display:flex;gap:8px}
.cf-barra{position:sticky;bottom:calc(var(--nav-h,0px) + 10px);z-index:6;margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#1F0E15;color:#fff;border-radius:18px;padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.cf-barra span{flex:1;font-weight:800;min-width:140px}
.cf-barra .btn.sec{background:#3a2530;color:#fff}
.cf-res .mal small,.cf-res small.mal{color:var(--bad)}
@media (max-width:760px){.cf-sel{grid-template-columns:1fr}.cf-barra{bottom:84px}}
/* stickers en cualquier papel */
.stk-papeles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:236px;overflow:auto;padding:2px}
.stk-papeles button{border:2px solid var(--line);background:var(--card);border-radius:14px;padding:10px 12px;text-align:left;color:var(--ink)}
.stk-papeles button b{display:block;font-size:13.5px;line-height:1.2}.stk-papeles button small{display:block;color:var(--dim);font-weight:700;font-size:12px;margin-top:2px}
.stk-papeles button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.stk-papeles button.nuevo{border-style:dashed}
.stk-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg);border-radius:12px;padding:8px 10px;margin-top:8px;font-weight:700;font-size:13.5px}
.stk-info span{flex:1;min-width:200px}
.stk-ed{margin-top:8px;border:2px solid var(--ink)}
.stk-campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px}
.stk-campos label span{display:block;font-size:11.5px;font-weight:800;color:var(--dim);margin-bottom:3px}
.stk-campos .in{height:44px;font-weight:800}
.stk-dib{position:relative;background:#fff;border:1.5px solid #cdbac4;border-radius:4px;margin:10px auto 0;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.stk-dib i{position:absolute;border:1px dashed #b8a1ad;border-radius:2px;box-sizing:border-box}
.stk-dib i.lleno{background:color-mix(in srgb,var(--acc) 45%,#fff);border-style:solid;border-color:var(--acc)}
.stk-dib i.usado{background:repeating-linear-gradient(45deg,#eee,#eee 3px,#ddd 3px,#ddd 6px);border-style:solid;border-color:#ccc}
/* Vender en el celular: pestañas Artículos y Venta, artículos en lista */
.v-tabs,.v-movil{display:none}
.dd-cli{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:3px}.dd-cli em{font-style:normal;font-size:12px;font-weight:800;border-radius:999px;padding:2px 8px}
.dd-debe{background:var(--bad-bg);color:var(--bad)}.dd-favor{background:var(--blue-bg);color:var(--blue)}.dd-ok{background:var(--ok-bg);color:var(--ok)}
@media (max-width:899px){
  .v-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--chip);border-radius:16px;padding:4px;margin:0 0 10px;position:sticky;top:calc(56px + env(safe-area-inset-top,0px));z-index:7}
  .v-tabs button{border:none;background:none;border-radius:12px;padding:11px 0;font-weight:800;font-size:15px;color:var(--dim)}
  .v-tabs button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
  .v-tabs .n:not(:empty){display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--acc);color:var(--acc-ink);font-size:12px;margin-left:6px;padding:0 6px}
  .pos.ver-venta .pos-izq{display:none}
  .pos.ver-venta .v-movil{display:block;padding-bottom:20px}
  .v-movil .lineas .ln{background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:10px 12px;margin-bottom:8px}
  .v-movil .acciones{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--bg);padding:8px 0;margin:0;z-index:3}
  .v-movil .acciones .btn{min-height:52px}
  .pos #v-grid{grid-template-columns:1fr;gap:8px}
  .pos #v-grid .prod{flex-direction:row;align-items:center;gap:12px;padding:8px;border-radius:18px;border:1.5px solid var(--line);box-shadow:none;display:grid;grid-template-columns:68px 1fr auto;grid-template-rows:auto auto auto}
  .pos #v-grid .prod .foto{grid-row:1/4;width:68px;height:68px;aspect-ratio:auto;margin:0;border-radius:14px;font-size:20px}
  .pos #v-grid .prod b{min-height:0;font-size:15px;grid-column:2}
  .pos #v-grid .prod .mk{grid-column:2}
  .pos #v-grid .prod .pr{grid-column:3;grid-row:1/3;align-self:center;font-size:16px;text-align:right}
  .pos #v-grid .prod .st{grid-column:2}
  .pos #v-grid .prod .cnt{position:static;grid-column:3;grid-row:3;justify-self:end}
  .pos #v-grid .prod.en{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}
}
/* sin internet */
.red{position:fixed;left:50%;transform:translateX(-50%);top:calc(8px + env(safe-area-inset-top,0px));z-index:60;border:none;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;display:flex;align-items:center;gap:8px;background:var(--warn-bg);color:var(--warn);box-shadow:0 4px 14px rgba(0,0,0,.15)}
.red i{width:9px;height:9px;border-radius:50%;background:currentColor}
.red.off{background:#1F0E15;color:#fff}.red.off i{background:#FF9DB8}
.red.err{background:var(--bad-bg);color:var(--bad)}
.pasos-inst{padding-left:20px;line-height:1.6;font-size:15px}
/* ===== v1.18 · PC de la tienda: trabajadores con cédula y clave ===== */
.acceso.quien .q-logo{width:84px;height:84px;border-radius:22px;object-fit:cover;margin:0 auto 6px;display:block}
.acceso.quien .logo{margin:0 auto 6px}
.q-form{text-align:left;margin-top:14px}
.q-form .in{height:58px;font-size:22px;font-weight:800;letter-spacing:.06em;text-align:center}
.q-form #q-cl{letter-spacing:.5em}
.q-form .btn{margin-top:14px;min-height:56px;font-size:17px}
.q-sep{display:flex;align-items:center;gap:10px;color:var(--dim);font-weight:700;margin:16px 0}
.q-sep::before,.q-sep::after{content:'';flex:1;height:1px;background:var(--line)}
.btn-persona{display:flex;align-items:center;gap:8px;margin:0 12px 10px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:inherit;border-radius:12px;padding:10px 12px;font-weight:800;font-size:14px}
.btn-persona.mini{margin:0 8px 0 0;padding:6px 8px;border-color:var(--line);background:var(--card);color:var(--ink)}
html.lado-mini .btn-persona span{display:none}

/* ===== v1.19 · más datos del artículo, seriales, lotes y vencimientos ===== */
.fx{margin-top:12px;border:1.5px solid var(--line);border-radius:16px;background:var(--card)}
.fx>summary{cursor:pointer;list-style:none;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.fx>summary::-webkit-details-marker{display:none}
.fx>summary b{font-size:15px;display:flex;align-items:center;gap:8px}
.fx>summary b::after{content:'›';margin-left:auto;font-size:20px;transition:transform .15s;color:var(--dim)}
.fx[open]>summary b::after{transform:rotate(90deg)}
.fx>summary small{color:var(--dim);font-weight:600;font-size:12.5px}
.fx-cuerpo{padding:0 14px 12px;border-top:1px solid var(--line)}
.fx-cuerpo .switch{margin-top:8px}
.fx-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.fx-chips .etq{position:static;background:var(--blue-bg);color:var(--blue)}
.var-tabla tr.marcada td{background:var(--ok-bg);font-weight:800}
.var-tabla textarea.ser-in{width:100%;min-width:150px;border:1.5px solid var(--line);border-radius:10px;padding:6px 8px;font:inherit;font-size:14px;background:var(--card);color:var(--ink);resize:vertical}
.var-tabla input[type=date]{min-width:130px}
.fa-ser{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.fa-ser-f{display:flex;flex-direction:column;gap:4px}
.fa-ser-f>span{display:flex;justify-content:space-between;font-weight:800;font-size:14px}
.fa-ser-f small{font-weight:800}.fa-ser-f small.ok{color:var(--ok)}.fa-ser-f small.bad{color:var(--bad)}
.fa-ser-f textarea{min-height:58px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:14px}
.ser-card{border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;margin-top:10px;background:var(--card);display:flex;flex-direction:column;gap:10px}
.ser-top{display:flex;gap:12px;align-items:center}
.ser-top>div:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.ser-top small{color:var(--dim);font-weight:600}
.ser-top .etq{position:static;align-self:flex-start}
.ser-top .etq.ok{background:var(--ok-bg);color:var(--ok)}
.ser-foto{width:56px;height:56px;border-radius:14px;flex:none;background-size:cover;background-position:center;display:grid;place-items:center;font-weight:800;color:#16181D}
.ser-datos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ser-datos>div{background:var(--bg);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ser-datos span{font-size:11.5px;color:var(--dim);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.ser-datos b{font-size:14px}.ser-datos small{color:var(--dim);font-size:12px;font-weight:600;overflow-wrap:anywhere}
.ser-card>.btn{align-self:flex-start}
@media (max-width:640px){.ser-datos{grid-template-columns:1fr}}

/* ===== v1.20 · bancos con logo, logos de la plataforma, menú Más por secciones, asistente ===== */
.fc-bancos{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:300px;overflow:auto;padding:2px}
.fc-bancos button.bk{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px;border-radius:14px;font-weight:700;background:var(--card);color:var(--ink)}
.fc-bancos button.bk img{width:100%;height:44px;object-fit:contain;background:#fff;border-radius:9px}
.fc-bancos button.bk i{height:44px;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13px;background:var(--bg);border-radius:9px;line-height:1.1;text-align:center;padding:0 4px}
.fc-bancos button.bk small{font-size:11.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-bancos button.bk.on{background:var(--card);color:var(--ink);border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}
.fc-bancos button.bk.on small{color:var(--ink)}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;max-height:420px;overflow:auto;padding:2px}
.lp-b{border:1.5px solid var(--line);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:4px;background:var(--card)}
.lp-v{height:56px;border-radius:10px;background:#fff;display:grid;place-items:center;border:1px solid var(--line);overflow:hidden}
.lp-v img{width:100%;height:100%;object-fit:contain}.lp-v span{font-weight:800;color:var(--dim)}
.lp-b small{color:var(--dim);font-weight:600;font-size:12px}.lp-b>div{display:flex;gap:4px;flex-wrap:wrap}
.mas-buscar{margin:0 0 10px}
.mas-grupo{background:var(--card);border-radius:18px;margin-top:10px;overflow:hidden;box-shadow:0 1px 0 var(--line)}
.mas-grupo>.mas-cab{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:none;border:0;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
.mas-grupo>.mas-cab b{font-size:16px;flex:1}.mas-grupo>.mas-cab small{color:var(--dim);font-weight:700}
.mas-grupo>.mas-cab::after{content:'›';font-size:22px;color:var(--dim);transition:transform .15s}
.mas-grupo.abierto>.mas-cab::after{transform:rotate(90deg)}
.mas-grupo>.mas-cuerpo{display:none;padding:0 6px 8px}
.mas-grupo.abierto>.mas-cuerpo{display:block}
.mas-grupo .mas-cuerpo>button{box-shadow:none;background:var(--bg)}
.as-salir{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.as-caja .logo-c{height:34px;max-width:120px;object-fit:contain;align-self:flex-start;margin-bottom:2px}
.as-caja.nueva{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-style:dashed;cursor:pointer;min-height:130px;font:inherit;color:var(--ink)}
.as-caja.nueva b{font-size:16px}
.menu .mas-grupo>.mas-cab{box-shadow:none;border-radius:0;border:0;background:none;padding:14px 16px}
.menu .mas-grupo>.mas-cab>span:last-child{margin-left:0}
.mas-grupo.abierto>.mas-cuerpo{display:grid;gap:6px}
.menu .mas-grupo .mas-cuerpo>button{box-shadow:none;background:var(--bg);border-radius:14px}

/* ===== v1.21 · pedidos internacionales (carrito capturado) ===== */
a.pi-marcador{display:inline-flex;align-items:center;gap:8px;text-decoration:none;cursor:grab;border:2px dashed var(--ink)}
.pi-it{display:grid;grid-template-columns:28px 64px minmax(0,1fr) 76px 120px;grid-template-areas:"c f d s s" "c f d q p";gap:6px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.pi-chk{grid-area:c}.pi-foto{grid-area:f}.pi-datos{grid-area:d}.pi-it .pi-q{grid-area:q}.pi-it .pi-p{grid-area:p}.pi-sub{grid-area:s;flex-direction:row!important;justify-content:flex-end;align-items:center}
.pi-it:last-child{border-bottom:0}
.pi-it.fuera{opacity:.45}
.pi-chk input{width:20px;height:20px;accent-color:var(--acc)}
.pi-foto{width:64px;height:64px;border-radius:12px;background-size:cover;background-position:center;display:grid;place-items:center;font-weight:800;color:#16181D}
.pi-datos{display:flex;flex-direction:column;gap:6px;min-width:0}
.pi-datos .in,.pi-num .in,.pi-ot .in{height:40px;font-size:14px;padding:0 10px}
.pi-mini{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:6px}
.pi-num{display:flex;flex-direction:column;gap:3px}.pi-num label{font-size:11px;font-weight:800;color:var(--dim);text-transform:uppercase}
.pi-sub{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.pi-antes{color:var(--dim);font-size:11.5px;font-weight:700;margin-right:auto}
.pi-ot{display:grid;grid-template-columns:1fr 160px auto;gap:8px;margin-top:8px}
@media (max-width:760px){
  .pi-it{grid-template-columns:24px 56px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"c f d d" "c q q p" "c s s s"}
  .pi-chk{align-self:start}.pi-foto{width:56px;height:56px}
  .pi-mini{grid-template-columns:1fr 1fr}
  .pi-ot{grid-template-columns:1fr 110px auto}
}

/* ===== v1.22 · precio de venta automático en compras ===== */
.cp-pv .sel.peq button{flex:1}
.rv-tabla td{vertical-align:middle}
.rv-tabla small{font-size:11.5px}

/* ===== v1.23 · descuentos en ventas y compras ===== */
.qty .dto-b{min-width:34px;font-weight:800;color:var(--ok);background:var(--ok-bg)}
.qty .dto-b.on{background:var(--ok);color:#fff}
.dto-ln{grid-column:1/-1;font-size:12.5px;font-weight:700;color:var(--ok);margin-top:-2px}
.v .v-antes,.v-antes{display:block;font-size:11.5px;color:var(--dim);font-weight:600}
.dto-tot{display:flex;justify-content:space-between;font-size:14px;font-weight:700;padding:2px 2px;color:var(--dim)}
.dto-tot.ok{color:var(--ok)}
.dto-g{margin-left:8px;border:1.5px dashed var(--ok);color:var(--ok);background:none;border-radius:999px;padding:3px 10px;font-weight:800;font-size:12.5px;cursor:pointer}
.dto-g.on{background:var(--ok);color:#fff;border-style:solid}
.fa-dto{display:flex;gap:8px;align-items:center}.fa-dto .sel{flex:none;margin:0}.fa-dto .in{flex:1}
.precio-fila .precio-in{flex:none;width:96px;min-width:96px}.qty .dto-b{flex:none}

/* ===== v1.24 · crear mi artículo desde el pedido internacional ===== */
.pi-art{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pi-art .etq{white-space:normal}
.ca-l{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto}
.ca-it{display:grid;grid-template-columns:22px 44px minmax(0,1fr) 130px 80px;gap:8px;align-items:center;border:1.5px solid var(--line);border-radius:14px;padding:6px 8px;cursor:pointer}
.ca-it.on{border-color:var(--acc);background:var(--acc-bg)}
.ca-it input[type=checkbox]{width:18px;height:18px;accent-color:var(--acc)}
.ca-it .in{height:38px;font-size:14px;padding:0 8px}
.ca-n{display:flex;flex-direction:column;min-width:0}.ca-n b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-n small{color:var(--dim)}
@media (max-width:640px){.ca-it{grid-template-columns:22px 44px minmax(0,1fr);}.ca-it .in{grid-column:span 1}}
.pi-art .btn.chico{height:32px;padding:0 10px;font-size:12.5px}

/* ===== v1.25 · cupones ===== */
.cu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin-top:12px}
.cu-card{display:flex;text-align:left;background:var(--card);border:2px dashed var(--line);border-radius:18px;overflow:hidden;padding:0;cursor:pointer;color:var(--ink);font:inherit}
.cu-band{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;min-width:96px;padding:10px;text-align:center}
.cu-band b{font-size:22px;line-height:1}.cu-band small{font-size:10.5px;font-weight:800;text-transform:uppercase;opacity:.9;margin-top:3px}
.cu-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px;min-width:0}.cu-body>b{font-size:16px}.cu-body small{color:var(--dim);font-weight:600}
.cu-st{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:12px;font-weight:700;color:var(--dim)}.cu-st .etq{position:static}
.cu-det-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-weight:700;color:var(--dim);font-size:14px}
.cf-pick{border:1.5px solid var(--line);border-radius:14px;padding:8px;margin-top:8px}.cf-pick>small{display:block;margin:4px 2px;color:var(--dim);font-weight:700}
.cf-lista{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.cf-lista label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;cursor:pointer;font-weight:600}.cf-lista label.on{background:var(--acc-bg)}
.cf-lista input{width:18px;height:18px;accent-color:var(--acc)}
tr.cu-usado td{opacity:.6}
.cu-prev{margin-top:12px}
.cu-prev .cupon{display:flex;border:2px dashed var(--cu);border-radius:12px;overflow:hidden;color:#16181D;background:#fff}
.cu-prev .cu-izq{background:var(--cu);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 12px;min-width:30%;text-align:center}
.cu-prev .cu-val{font-size:26px;font-weight:900;line-height:1}.cu-prev .cu-de{font-size:11px;font-weight:700;text-transform:uppercase}
.cu-prev .cu-der{flex:1;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cu-prev .cu-emp{display:flex;align-items:center;gap:6px;font-size:12px}.cu-prev .cu-emp img{height:22px;max-width:60px;object-fit:contain}
.cu-prev .cu-nom{font-size:15px;font-weight:900}.cu-prev .cu-txt{font-size:11px;color:#555}.cu-prev .cu-msg{font-size:11px;font-style:italic}
.cu-prev .cu-cod svg{height:34px;width:100%;max-width:260px}.cu-prev .cu-cod span{font:700 11px monospace;letter-spacing:.1em;display:block}.cu-prev .cu-cond{font-size:9px;color:#777}
.dto-tot .x1{border:0;background:none;color:var(--dim);cursor:pointer;font-weight:800;padding:0 4px}
@media (max-width:640px){.cu-grid{grid-template-columns:1fr}}

/* ===== v1.26 · cobrar en pantalla completa ===== */
.co-dos{display:grid;grid-template-columns:1fr;gap:8px}
.co-cambio{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:16px;padding:10px 16px;background:var(--bg)}
.co-cambio span{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim)}
.co-cambio b{font-family:var(--disp);font-size:30px;font-weight:700}
.co-cambio.ok{background:var(--ok-bg);color:var(--ok)}.co-cambio.ok span{color:inherit}
.co-cambio.falta{background:var(--bad-bg);color:var(--bad)}.co-cambio.falta span{color:inherit}
.co-acc{margin-top:10px}
@media (min-width:900px){
  .velo:has(.hoja.co-full){align-items:center}
  .hoja.co-full{max-width:none;width:calc(100vw - 32px);height:calc(100vh - 32px);max-height:none;display:flex;flex-direction:column;overflow:hidden;padding:8px 22px 16px}
  .hoja.co-full .co-grid{flex:1;min-height:0;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}
  .hoja.co-full .co-izq{overflow:auto;min-height:0;padding-right:6px}
  .hoja.co-full .co-der{display:flex;flex-direction:column;min-height:0}
  .hoja.co-full #co-ent{flex:1;display:flex;flex-direction:column;min-height:0}
  .hoja.co-full .co-dos{grid-template-columns:1fr 1fr}
  .hoja.co-full .co-valor,.hoja.co-full .co-cambio{flex-direction:column;align-items:flex-start;justify-content:center;padding:12px 18px;min-height:104px}
  .hoja.co-full .co-valor b,.hoja.co-full .co-cambio b{font-size:clamp(34px,3.6vw,54px);line-height:1.05}
  .hoja.co-full .co-res>div:first-child b{font-size:44px}
  .hoja.co-full .teclado{flex:1;grid-auto-rows:1fr;min-height:0}
  .hoja.co-full .teclado button{height:auto;min-height:42px;font-size:26px}
  .hoja.co-full .billetes button{min-height:40px}
  .hoja.co-full .metodos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .hoja.co-full .metodos button.tl{height:82px}
}
.dto-ln.promo{color:var(--acc)}
.pr-band{background:linear-gradient(135deg,var(--acc),#E07B1F)}

/* ===== v1.27 · tarjetas de regalo ===== */
.metodos button.tl.regalo{background:linear-gradient(135deg,#FFE3EC,#FFF4D6);border-color:#F3B6C8}
.tg-prev{display:flex;justify-content:center;margin:10px 0}
.tg-prev .tregalo{width:340px;max-width:100%;aspect-ratio:86/54;border-radius:16px;background:var(--tg);color:#fff;padding:14px 18px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--sombra)}
.tg-prev .tg-top{display:flex;align-items:center;gap:8px;font-size:13px}.tg-prev .tg-top img{height:26px;max-width:70px;object-fit:contain;background:#fff;border-radius:4px;padding:2px}.tg-prev .tg-top span{margin-left:auto;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.tg-prev .tg-val{font-size:34px;font-weight:900;line-height:1}.tg-prev .tg-para,.tg-prev .tg-msg{font-size:12.5px}.tg-prev .tg-msg{font-style:italic}
.tg-prev .tg-pie{margin-top:auto;display:flex;flex-direction:column;gap:3px}.tg-prev .tg-cod{background:#fff;color:#000;border-radius:6px;padding:3px 8px;display:flex;align-items:center;gap:8px;width:fit-content}.tg-prev .tg-cod svg{height:26px;width:130px}.tg-prev .tg-cod span{font:700 11px monospace}.tg-prev .tg-pie small{font-size:10px}

/* ===== v1.28 · diseñador de stickers, cupones y tarjetas ===== */
.dz{position:relative;overflow:hidden;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
.dz-e{position:absolute;display:flex;align-items:center;overflow:hidden;line-height:1.05;box-sizing:border-box}
.dz-e span{display:block;width:100%;overflow:hidden;text-overflow:ellipsis}
.dz-barras svg,.dz-qr svg{width:100%;height:100%;display:block}
.dz-logo img{max-width:100%;max-height:100%;object-fit:contain}
.tg-prev .dz,.cu-prev .dz{border-radius:2mm;box-shadow:var(--sombra-s)}
.dz-ed{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.dz-lienzo-box{display:flex;flex-direction:column;align-items:center;gap:8px;background:repeating-conic-gradient(var(--bg) 0 25%,var(--card) 0 50%) 0 0/18px 18px;border-radius:16px;padding:18px;min-height:260px;justify-content:center}
.dz-lienzo{position:relative;box-shadow:0 4px 18px rgba(0,0,0,.18);touch-action:none;user-select:none}
.dz-asa{position:absolute;border:1px dashed rgba(0,0,0,.25);cursor:move;box-sizing:border-box}
.dz-asa:hover{border-color:var(--blue)}
.dz-asa.on{border:2px solid var(--acc);background:rgba(255,111,145,.08)}
.dz-res{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;border-radius:50%;background:var(--acc);border:2px solid #fff;cursor:nwse-resize;display:none}
.dz-asa.on .dz-res{display:block}
.dz-panel .sel.peq button{font-size:12px}
.dz-fila{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.dz-fila label{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--dim)}
.dz-fila input[type=number]{width:72px;height:36px;padding:0 8px}
.dz-fila input[type=color]{width:42px;height:32px;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--card)}
.dz-num label{flex-direction:column;align-items:flex-start;gap:2px;font-size:11px}
@media (max-width:820px){.dz-ed{grid-template-columns:1fr}}

/* ===== v1.29 · acceso rápido, cupones en la tirilla, filtros en Vender ===== */
.rapido{display:none}
@media (min-width:900px){
  .rapido{display:flex;justify-content:flex-end;gap:6px;margin-left:var(--lado);padding:12px 26px 0}
  .rapido+main{padding-top:6px}
  .rapido button{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;font-weight:700;font-size:13px;cursor:pointer}
  .rapido button:hover{border-color:var(--acc);color:var(--acc)}
}
.rap-mov{border:0;background:var(--card);border-radius:12px;width:38px;height:38px;display:grid;place-items:center;color:var(--ink);box-shadow:var(--sombra-s)}
.rap-lista{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rap-lista button{display:flex;flex-direction:column;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);border-radius:16px;padding:16px 8px;font-weight:800;color:var(--ink)}
.rap-lista svg{width:26px;height:26px}
.hoja.calc-hoja{max-width:380px}
.calc-pan{background:var(--ink);color:var(--bg);border-radius:16px;padding:12px 16px;text-align:right;margin-bottom:10px}
.calc-pan small{display:block;opacity:.7;font-size:14px;min-height:18px;word-break:break-all}.calc-pan b{font-family:var(--disp);font-size:36px}
.calc{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.calc button{height:58px;border:1px solid var(--line);background:var(--card);border-radius:14px;font-size:22px;font-weight:700;font-family:var(--disp)}
.calc button.op{background:var(--acc-bg);color:var(--acc)}.calc button.cl{color:var(--bad)}
.calc button[data-k="="]{background:var(--acc);color:var(--acc-ink)}
.cp-res{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.cp-res .av{width:48px;height:48px;border-radius:12px;background:var(--bg);flex:none}
.cp-res>div:nth-child(2){flex:1;min-width:0}.cp-res small{display:block;color:var(--dim)}
.cp-val{text-align:right}.cp-val b{font-size:20px}
.ec-l{display:flex;flex-direction:column;gap:6px}
.ec-c{display:flex;align-items:center;gap:12px;border:1.5px dashed var(--acc);background:var(--card);border-radius:14px;padding:8px 12px;text-align:left;color:var(--ink)}
.ec-c>b{font-size:20px;color:var(--acc);min-width:76px}.ec-c small{display:block;color:var(--dim)}
.v-orden{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
.v-orden select{height:38px;border-radius:12px;font-weight:700;font-size:13.5px;width:auto}
/* ===== v1.30 · varios turnos abiertos, cada uno con su empleado ===== */
.turno{flex-wrap:wrap}
.tu-lista{display:flex;flex-direction:column;gap:8px}
.tu-fila{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:10px 12px}
.tu-fila.on{border-color:var(--ok);background:var(--ok-bg)}
.tu-fila .dot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none}
.tu-txt{flex:1;min-width:0}.tu-txt small{display:block;color:var(--dim);font-size:12.5px}
.tu-ya{font-size:12px;font-weight:800;color:var(--ok)}
.sel button:disabled{opacity:.45;cursor:not-allowed}
/* ===== v1.32 · Inicio con tarjetas como Cajas, animaciones, agotados por artículo, botón volver ===== */
.entra{animation:entra .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tb-k{margin-bottom:14px}
.tb-k .kpi small{display:block;font-weight:700;font-size:12.5px;margin-top:2px;opacity:.75}
.tb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.tb-card{transition:transform .16s ease,box-shadow .16s ease;cursor:pointer;color:var(--ink)}
.tb-card:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.tb-card:active{transform:scale(.98)}
.tb-card .cj-nom{font-size:15.5px;line-height:1.25}
.tb-card .cj-sub{color:var(--dim);font-weight:600;font-size:13px}
.tb-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--chip)}
.tb-ic svg{width:24px;height:24px}
.tb-ic.bad{background:var(--bad-bg);color:var(--bad)}.tb-ic.warn{background:var(--warn-bg);color:var(--warn)}
.tb-ic.blue{background:var(--blue-bg);color:var(--blue)}.tb-ic.ok{background:var(--ok-bg);color:var(--ok)}
.tb-ir{margin-top:auto;font-size:13px;font-weight:800;color:var(--cj)}
.tb-raps .tb-card{min-height:0}
.tb-barras i{transform-origin:bottom;animation:crece .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--n,0) * 60ms + 150ms);transition:filter .15s}
.tb-barras>div:hover i{filter:brightness(.92)}
@keyframes crece{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.tb-art{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:none;background:none;color:var(--ink);padding:10px 4px;border-top:1px solid var(--line);border-radius:10px;transition:background .15s}
.tb-art:first-child{border-top:none}
.tb-art:hover{background:var(--bg)}
.tb-art .av{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.tb-art-t{flex:1;min-width:0}.tb-art-t b{display:block;font-size:14.5px}
.tb-chs{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tb-ch{font-size:11.5px;font-weight:800;border-radius:999px;padding:2px 8px;white-space:nowrap}
.tb-ch.rojo{background:var(--bad-bg);color:var(--bad)}.tb-ch.amar{background:var(--warn-bg);color:var(--warn)}
.tb-art .val{font-weight:800;font-size:13px;white-space:nowrap}.tb-art .val.rojo{color:var(--bad)}
.tb-foto{height:180px;border-radius:16px;background:center/cover no-repeat var(--chip);margin-bottom:10px}
.volver-bar{display:flex;align-items:center;gap:8px;margin:2px 0 6px}
.volver-bar button{display:inline-flex;align-items:center;gap:6px;border:none;background:var(--chip);color:var(--ink);font-weight:800;font-size:14px;border-radius:999px;padding:8px 14px 8px 10px;transition:background .15s,transform .15s}
.volver-bar button:hover{background:color-mix(in srgb,var(--acc) 18%,var(--chip));transform:translateX(-2px)}
.volver-bar[hidden]{display:none}
.plat-top{display:flex!important}
@media (prefers-reduced-motion:reduce){.entra,.tb-barras i{animation:none}.tb-card,.tb-card:hover{transform:none}}
.tb-card .cj-nom{white-space:normal;overflow:visible;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#volver.volver-bar{padding:8px 16px 0;margin:0}
@media (min-width:900px){#volver.volver-bar{margin-left:var(--lado);padding:10px 26px 0}#volver.volver-bar:not([hidden])+main{padding-top:6px}}
@media (max-width:600px){.tb-cards{grid-template-columns:1fr 1fr;gap:8px}.tb-card{padding:12px;border-top-width:6px}.tb-card .cj-nom{font-size:14px}.tb-card .cj-sub{font-size:12px}.tb-ic{width:38px;height:38px}.tb-card .etq{display:none}}
/* ===== v1.33 · Cobrar: billetes como botones, una sola pantalla de recibido y cambio ===== */
.co-pant{display:grid;grid-template-columns:1.15fr 1fr;border-radius:18px;overflow:hidden;border:1.5px solid var(--ink);background:var(--card)}
.co-pant.uno{grid-template-columns:1fr}
.co-pant>div{padding:10px 16px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.co-pant span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--dim)}
.co-pant b{font-family:var(--disp);font-size:32px;font-weight:700;white-space:nowrap;line-height:1.1}
.co-pant em{font-style:normal;color:var(--dim);opacity:.55}
.co-dev{background:var(--bg);transition:background .2s,color .2s}
.co-pant.ok .co-dev{background:var(--ok);color:#fff}.co-pant.ok .co-dev span{color:inherit;opacity:.85}
.co-pant.falta .co-dev{background:var(--bad-bg);color:var(--bad)}.co-pant.falta .co-dev span{color:inherit}
#co-pg[hidden],#co-fc[hidden]{display:none}
.co-res:has(#co-pg[hidden]){grid-template-columns:1fr}
@media (min-width:900px){
  .hoja.co-full .co-pant>div{min-height:96px;padding:10px 18px}
  .hoja.co-full .co-pant b{font-size:clamp(32px,3.4vw,50px)}
  .hoja.co-full .teclado button{min-height:38px;font-size:24px}
}
@media (max-width:600px){.co-pant b{font-size:26px}}

/* ===== v1.34 · Cobrar opción C: el botón es el billete completo; resaltar al pasar el mouse ===== */
.co-bills{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:12px}
.co-bill{position:relative;border:none;padding:0;cursor:pointer;aspect-ratio:1.41;border-radius:10px;background:var(--bc) center/cover no-repeat;
  box-shadow:0 3px 0 color-mix(in srgb,var(--bc) 60%,#000),0 4px 10px rgba(36,18,26,.18);transition:transform .12s,box-shadow .12s,filter .12s}
.co-bill.foto{background-image:var(--img);background-color:#fff}
.co-bill:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 5px 0 color-mix(in srgb,var(--bc) 60%,#000),0 10px 18px rgba(36,18,26,.25);filter:brightness(1.05);z-index:1}
.co-bill:active{transform:translateY(2px);box-shadow:0 1px 0 color-mix(in srgb,var(--bc) 60%,#000),0 1px 4px rgba(36,18,26,.15)}
.co-bfake{position:absolute;inset:4px;border:2px solid rgba(255,255,255,.45);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start;padding:4px 6px;color:#fff;overflow:hidden;text-align:left}
.co-bfake b{font:800 clamp(14px,1.6vw,22px)/1 var(--disp)}.co-bfake small{font-weight:800;font-size:9.5px;letter-spacing:.04em;opacity:.9}
.co-bfake::after{content:"";position:absolute;right:-10%;top:20%;width:50%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.2)}
.co-bn{position:absolute;top:-7px;right:-6px;background:var(--ink);color:var(--card);font-weight:900;font-size:12px;border-radius:99px;padding:2px 7px;z-index:2;animation:entra .2s both}
@media (max-width:600px){.co-bills{grid-template-columns:repeat(3,1fr);gap:8px}}
/* resaltar al pasar el mouse: números, medios de pago, cajas */
@media (hover:hover){
  .teclado button,.calc button,.cn-den button{transition:transform .1s,box-shadow .1s,border-color .1s,background .1s}
  .teclado button:hover,.calc button:hover{transform:translateY(-2px);border-color:var(--acc);box-shadow:0 4px 0 color-mix(in srgb,var(--acc) 35%,var(--line)),0 6px 14px rgba(36,18,26,.10)}
  .billetes button:hover{border-color:var(--acc)}
  .metodos button{transition:transform .12s,box-shadow .12s}
  .metodos button:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(36,18,26,.14)}
  .cj{transition:transform .14s,box-shadow .14s}
  .cj:hover{transform:translateY(-3px)}
  .cn-den button:hover{transform:translateY(-2px) scale(1.03);filter:brightness(1.06)}
}
/* ===== v1.35 · Contar efectivo en pantalla completa (F2), historial de conteos ===== */
.ce-cuerpo{display:grid;gap:16px;margin-top:6px}
.ce-izq,.ce-der{min-width:0;display:flex;flex-direction:column}
.ce-bills{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ce-bill{position:relative;border:none;padding:0;aspect-ratio:1.41;border-radius:9px;background:var(--c) center/cover no-repeat;cursor:pointer;
  box-shadow:0 3px 0 color-mix(in srgb,var(--c) 60%,#000),0 4px 10px rgba(36,18,26,.16);transition:transform .12s,box-shadow .12s,filter .12s}
.ce-bill.foto{background-image:var(--img);background-color:#fff}
.ce-dib{position:absolute;inset:3px;border:2px solid rgba(255,255,255,.45);border-radius:6px;padding:3px 6px;color:#fff;text-align:left;overflow:hidden;display:flex;flex-direction:column}
.ce-dib b{font:800 clamp(13px,1.5vw,22px)/1 var(--disp)}.ce-dib small{font-weight:800;font-size:8.5px;letter-spacing:.04em;opacity:.9}
.ce-dib::after{content:"";position:absolute;right:-10%;top:20%;width:50%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.2)}
.ce-mons{display:flex;align-items:center;gap:12px;margin-top:12px}.ce-mons .lbl{margin:0}
#ce-mons{display:flex;gap:12px;flex-wrap:wrap}
.ce-mon{position:relative;width:50px;aspect-ratio:1;border:none;border-radius:50%;cursor:pointer;padding:0;
  background:radial-gradient(circle at 35% 30%,#fff9 0 17%,transparent 18%),var(--c);box-shadow:inset 0 0 0 3px rgba(0,0,0,.08),0 3px 0 rgba(0,0,0,.18);
  font:800 12px var(--disp);color:#4a3a1a;transition:transform .12s,filter .12s}
.ce-mon.foto{background:#fff var(--img) center/contain no-repeat}
.ce-bill.sel,.ce-mon.sel{outline:3px solid var(--ink);outline-offset:3px}
.ce-n{position:absolute;top:-8px;right:-6px;background:var(--ink);color:var(--card);font:900 12px var(--txt,inherit);border-radius:99px;padding:2px 7px;z-index:2}
@media (hover:hover){.ce-bill:not(.mini):hover,.ce-mon:not(.mini):hover{transform:translateY(-3px) scale(1.05);filter:brightness(1.05)}}
.ce-bill:not(.mini):active,.ce-mon:not(.mini):active{transform:translateY(2px)}
.ce-bill.mini,.ce-mon.mini{pointer-events:none;cursor:default;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.ce-disp{display:flex;align-items:center;gap:12px;border:2px solid var(--ink);border-radius:16px;padding:8px 10px;margin-top:12px;min-height:66px}
.ce-dico{width:62px;flex:none;display:grid;place-items:center}.ce-dico .ce-bill{width:100%}.ce-dico .ce-mon{width:44px}
.ce-dt{flex:1;min-width:0}.ce-dt span{display:block;font-size:13px;font-weight:700;color:var(--dim)}.ce-dt b{font:700 24px var(--disp);white-space:nowrap}
.ce-st{display:flex;align-items:center;gap:6px}
.ce-st button{width:46px;height:46px;border-radius:12px;border:none;background:var(--chip);font-weight:900;font-size:22px;color:var(--ink)}
.ce-st button:hover{background:color-mix(in srgb,var(--acc) 20%,var(--chip))}
.ce-q{font:700 30px var(--disp);min-width:58px;text-align:center}.ce-q.vacio{color:var(--dim);opacity:.45}
.ce-lib{display:grid;place-items:center;width:100%;aspect-ratio:1.41;border-radius:8px;background:repeating-linear-gradient(45deg,#e9dde3 0 6px,#f6eef2 6px 12px);font:800 10px var(--txt,inherit);color:var(--dim);letter-spacing:.04em}
.ce-tec{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(50px,1fr);gap:8px;margin-top:10px}
.ce-tec button{border:1px solid var(--line);background:var(--card);border-radius:13px;box-shadow:0 3px 0 var(--line);font:600 22px var(--disp);color:var(--ink);transition:transform .1s,box-shadow .1s,border-color .1s}
.ce-tec button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}
@media (hover:hover){.ce-tec button:hover{transform:translateY(-2px);border-color:var(--acc)}}
.ce-tec .bor{color:var(--bad)}
.ce-tec .op{font-family:var(--txt,inherit);font-size:15px;font-weight:800}
.ce-tec .op.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.ce-tot{background:var(--ink);color:var(--card);border-radius:18px;padding:12px 18px}
.ce-tot span{font-size:12px;font-weight:800;opacity:.7;letter-spacing:.05em;text-transform:uppercase}.ce-tot b{display:block;font:700 clamp(30px,3.4vw,46px) var(--disp)}
.ce-cua{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.ce-cua>div{background:var(--bg);border-radius:14px;padding:8px 12px}.ce-cua span{display:block;font-size:11.5px;font-weight:800;color:var(--dim);text-transform:uppercase}
.ce-cua b{font:700 20px var(--disp)}
.ce-cua .ok{background:var(--ok-bg);color:var(--ok)}.ce-cua .bad{background:var(--bad-bg);color:var(--bad)}.ce-cua .warn{background:var(--warn-bg);color:var(--warn)}
.ce-cua .ok span,.ce-cua .bad span,.ce-cua .warn span{color:inherit}
.ce-lista{flex:1;min-height:120px;overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:2px 10px}
.ce-li{display:flex;align-items:center;gap:10px;padding:7px 4px;border-top:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background .1s}
.ce-li:first-child{border-top:none}.ce-li:hover{background:var(--bg)}.ce-li.sel{background:var(--chip)}
.ce-lico{width:52px;flex:none;display:grid;place-items:center}.ce-lico .ce-bill{width:100%}.ce-lico .ce-mon{width:34px;font-size:9px}
.ce-lt{flex:1;font-weight:700;min-width:0}.ce-lt small{display:block;color:var(--dim);font-weight:600;font-size:12px}
.ce-li b{font:700 16px var(--disp);white-space:nowrap}
.ce-x{width:32px;height:32px;border-radius:9px;border:none;background:transparent;color:var(--dim);font-size:15px;font-weight:900;flex:none}
.ce-x:hover{background:var(--bad-bg);color:var(--bad)}
.ce-vacio{color:var(--dim);text-align:center;padding:22px 0}
.ce-pie{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:8px;margin-top:10px}.ce-pie.dos{grid-template-columns:1fr 1.6fr}
.ce-pie .btn{min-height:52px}
.ce-hbtn{margin-left:auto;margin-right:8px;border:none;background:var(--chip);border-radius:999px;padding:8px 14px;font-weight:800;font-size:14px;color:var(--ink);white-space:nowrap;align-self:center}
.ce-hbtn:hover{background:color-mix(in srgb,var(--acc) 18%,var(--chip))}
.ce-full .cab{align-items:center}
@media (min-width:900px){
  .velo:has(.hoja.ce-full){align-items:center}
  .hoja.ce-full{max-width:none;width:calc(100vw - 32px);max-width:1280px;height:calc(100vh - 32px);max-height:none;display:flex;flex-direction:column;overflow:hidden;padding:8px 22px 16px}
  .hoja.ce-full .ce-cuerpo{flex:1;min-height:0;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px}
  .hoja.ce-full .ce-izq,.hoja.ce-full .ce-der{min-height:0}
  .hoja.ce-full .ce-tec{flex:1;min-height:0}
}
@media (max-width:600px){.ce-bills{gap:6px}.ce-dib small{display:none}.ce-dt b{font-size:17px}.ce-dt span{font-size:11.5px}.ce-st button{width:38px;height:38px}.ce-q{font-size:22px;min-width:34px}.ce-dico{width:46px}.ce-pie{grid-template-columns:1fr 1fr}.ce-pie .btn:last-child{grid-column:1/-1}.ce-tec{grid-auto-rows:52px}.ce-mon{width:44px}}
.hc-f{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:8px}
.hc-a{display:flex;justify-content:space-between;align-items:center;gap:8px}.hc-a b{font:700 18px var(--disp)}
.hc-f small{display:block;color:var(--dim);font-weight:700;margin-top:2px}.hc-d{font-size:13px;color:var(--dim);margin:4px 0 8px}
.hc-acc{display:flex;gap:6px;flex-wrap:wrap}
/* v1.36 compras: entrada compacta de variantes */
.fa-agrega-var{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) auto auto;gap:8px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--line)}
.fa-q{display:flex;align-items:center;gap:5px}.fa-q button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:20px;font-weight:900}.fa-q input{width:58px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);text-align:center;font-weight:900}
.fa-var-list{padding:0 8px}.fa-var-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}
@media(max-width:650px){.fa-agrega-var{grid-template-columns:1fr 1fr}.fa-agrega-var .fa-q{justify-content:flex-start}.fa-agrega-var>.btn{height:38px}.fa-var-row{padding:10px 2px}}
