/* COBRAR (P3, 20-oct-2026; spec §6.2 y lista de accesibilidad §6.8). Blanco, texto #1a1206, icono + verbo en cada
   boton, toques de 56 px en Cobrar y en las formas de pago, montos de 1.15 rem y total de 2 rem, una frase por
   confirmacion. Dos columnas desde 900 px (iPad horizontal y la Mac del mostrador); una columna con barra fija abajo
   en vertical. */
.pos{--pos-ink:#1a1206;--pos-mute:#5c4a33;--pos-line:rgba(40,28,12,.18);--pos-oro:#7a5418;--pos-ok:#1d6b3f;--pos-okbg:#e6f3ea;--pos-warn:#8a5a00;--pos-warnbg:#fbf0db;--pos-err:#a3222f;--pos-errbg:#f8e8ea;
  color:var(--pos-ink);background:#fff;font-size:1.05rem;line-height:1.5;position:relative}
.pos .ico{width:20px;height:20px;flex:0 0 auto}
.pos-cols{display:flex;flex-direction:column;gap:16px}
.pos-izq,.pos-der{min-width:0}
.pos-h{font-size:.95rem;font-weight:600;margin:16px 0 8px;color:var(--pos-mute);display:flex;align-items:center;gap:8px}
.pos-vacio{display:flex;align-items:center;gap:10px;padding:18px;border:2px dashed var(--pos-line);border-radius:14px;color:var(--pos-mute)}
.pos-centro{display:flex;justify-content:center;margin-top:12px}
.pos-avisos{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.pos-avisos:empty{display:none}
.pos-aviso{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;font-size:1rem;margin:0}
.pos-aviso span{flex:1;min-width:160px}
.pos-aviso.ok{background:var(--pos-okbg);color:var(--pos-ok)}
.pos-aviso.warn{background:var(--pos-warnbg);color:var(--pos-warn)}
.pos-aviso.err{background:var(--pos-errbg);color:var(--pos-err)}
.pos-cita{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pos-cita-i{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;background:#f7f2e8;font-size:1rem}
.pos-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:6px}
.pos-chip .ico{width:14px;height:14px}
.pos-chip.warn{background:var(--pos-warnbg);color:var(--pos-warn)}
.pos-chip.estrella{background:#fff4d6;color:#7a5418}
/* botones */
.pos-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;border:1px solid var(--pos-line);background:#fff;color:var(--pos-ink);font:inherit;font-weight:600;cursor:pointer}
.pos-btn-pri{background:var(--pos-oro);border-color:var(--pos-oro);color:#fff}
.pos-btn-sec{background:#fff}
.pos-btn:focus-visible,.pos-cobrar:focus-visible,.pos-forma:focus-visible,.pos-mosaico:focus-visible,.pos-paso:focus-visible,.pos-chipbtn:focus-visible,.pos-res-i:focus-visible,.pl-precio:focus-visible{outline:3px solid #1f5fbf;outline-offset:2px}
.pos-link{background:none;border:none;color:var(--pos-oro);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;min-height:44px;padding:0 6px;display:inline-flex;align-items:center;gap:6px}
.pos-input{width:100%;min-height:52px;padding:10px 14px;border:1px solid rgba(40,28,12,.3);border-radius:12px;background:#fff;color:var(--pos-ink);font:inherit;font-size:1.1rem;color-scheme:light}
.pos-input:focus{outline:3px solid #1f5fbf;outline-offset:1px;border-color:#1f5fbf}
/* buscar / escanear */
.pos-buscar{display:flex;gap:10px;align-items:stretch}
.pos-escanear{flex:0 0 auto;min-height:56px;background:var(--pos-oro);border-color:var(--pos-oro);color:#fff}
.pos-buscar .pos-input{min-height:56px}
.pos-res{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.pos-res:empty{display:none}
.pos-res-i{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 14px;border:1px solid var(--pos-line);border-radius:12px;background:#fff;color:var(--pos-ink);font:inherit;text-align:left;cursor:pointer}
.pos-res-i.primero{border-color:var(--pos-oro);box-shadow:inset 3px 0 0 var(--pos-oro)}
.pos-res-i .pr-nom{flex:1}
.pos-res-i small{color:var(--pos-mute)}
.pos-res-vacio{padding:10px 4px;color:var(--pos-mute)}
/* mosaicos 96x96 */
.pos-mosaicos{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.pos-mosaico{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:104px;padding:8px;border:1px solid var(--pos-line);border-radius:14px;background:#fff;color:var(--pos-ink);font:inherit;cursor:pointer;text-align:center}
.pos-mosaico img{width:44px;height:44px;object-fit:cover;border-radius:8px}
.pos-mosaico .ico{width:26px;height:26px;color:var(--pos-oro)}
.pos-mosaico .pm-nom{font-size:.92rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pos-mosaico .pm-pre{font-size:.9rem;font-weight:600;color:var(--pos-mute)}
/* lineas */
.pos-lineas{display:flex;flex-direction:column;gap:8px}
.pos-linea{display:grid;grid-template-columns:28px 1fr auto auto auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--pos-line);border-radius:14px}
.pl-ico{color:var(--pos-oro);display:flex}
.pl-nom{font-weight:500;min-width:0;overflow-wrap:anywhere}
.pl-cant{display:inline-flex;align-items:center;gap:6px}
.pl-cant b{min-width:28px;text-align:center;font-size:1.15rem}
.pos-paso{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--pos-line);border-radius:12px;background:#fff;color:var(--pos-ink);cursor:pointer}
.pl-precio{min-height:48px;padding:0 12px;border:1px solid var(--pos-line);border-radius:12px;background:#fff;color:var(--pos-ink);font:inherit;font-size:1.15rem;font-variant-numeric:tabular-nums;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.pl-precio.falta{border:2px solid var(--pos-warn);background:var(--pos-warnbg);color:var(--pos-warn);font-size:1rem;font-weight:600}
.pl-total{font-size:1.15rem;font-variant-numeric:tabular-nums;text-align:right;min-width:88px}
.pl-quitar{color:var(--pos-err)}
@media (max-width:640px){
  .pos-linea{grid-template-columns:24px 1fr auto;grid-template-areas:"i n t" "c c c" "p p q"}
  .pl-ico{grid-area:i}.pl-nom{grid-area:n}.pl-total{grid-area:t}.pl-cant{grid-area:c}.pl-precio{grid-area:p;justify-self:start}.pl-quitar{grid-area:q}
}
/* editor de monto (teclado numerico del iPad / teclado de la Mac) */
.pos-editor{margin-top:12px;padding:14px;border:2px solid var(--pos-oro);border-radius:14px;background:#fffaf0}
.pe-l{display:block;font-weight:600;margin-bottom:8px}
.pe-fila,.pc-desc{display:flex;align-items:center;gap:8px}
.pe-sig{font-size:1.4rem;font-weight:600}
.pe-input{font-size:2rem;font-variant-numeric:tabular-nums;min-height:64px}
.pe-acc{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
/* la cuenta */
.pos-cuenta{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--pos-line);border-radius:18px;background:#fff;box-shadow:0 1px 3px rgba(40,28,12,.08)}
.pc-fila{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1.15rem;font-variant-numeric:tabular-nums}
.pc-fila b{font-weight:600;text-align:right}
.pc-fila small{color:var(--pos-mute);font-size:.85rem}
.pc-bloque{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--pos-line)}
.pc-desc .pos-input{min-height:48px}
.pc-num{max-width:130px;font-variant-numeric:tabular-nums}
.pos-seg{display:inline-flex;border:1px solid var(--pos-line);border-radius:12px;overflow:hidden;flex:0 0 auto}
.pos-seg button{min-width:48px;min-height:48px;border:none;background:#fff;font:inherit;font-weight:600;cursor:pointer;color:var(--pos-ink)}
.pos-seg button[aria-pressed="true"]{background:var(--pos-oro);color:#fff}
.pos-chips{display:flex;flex-wrap:wrap;gap:8px}
.pos-chipbtn{min-height:48px;padding:0 14px;border:1px solid var(--pos-line);border-radius:12px;background:#fff;color:var(--pos-ink);font:inherit;cursor:pointer}
.pos-chipbtn[aria-pressed="true"]{border:2px solid var(--pos-oro);background:#fff6e3;font-weight:600}
.pos-chipbtn.grande{min-height:56px;font-size:1.15rem;font-variant-numeric:tabular-nums}
.pc-dep,.pc-check{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-size:1rem}
.pc-dep input,.pc-check input{width:26px;height:26px;flex:0 0 26px;accent-color:var(--pos-oro)}
.pc-dep span{flex:1}
.pc-dep b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.pc-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0 4px;border-top:2px solid var(--pos-ink);margin-top:4px}
.pc-total span{font-weight:600;font-size:1.05rem}
.pc-total b{font-size:2rem;font-variant-numeric:tabular-nums;font-weight:600}
.pc-formas-t{font-weight:600;margin-top:6px}
.pc-formas{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.pos-forma{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 10px;border:1px solid var(--pos-line);border-radius:12px;background:#fff;color:var(--pos-ink);font:inherit;font-weight:600;cursor:pointer}
.pos-forma[aria-pressed="true"]{border:2px solid var(--pos-oro);background:#fff6e3}
.pc-pagos{display:flex;flex-direction:column;gap:6px}
.pc-pago{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dotted var(--pos-line)}
.pc-pago span{display:inline-flex;align-items:center;gap:8px}
.pc-pago b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.pc-ref{grid-column:1/-1;min-height:48px}
.pc-mas{align-self:flex-start}
.pc-fecha{display:flex;flex-direction:column;gap:6px}
.pos-cobrar{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:0 20px;border:none;border-radius:14px;background:var(--pos-ok);color:#fff;font:inherit;font-size:1.2rem;font-weight:600;cursor:pointer}
.pos-cobrar .ico{width:22px;height:22px}
.pos-cobrar[disabled]{background:#9aa39c;cursor:not-allowed}
/* barra fija abajo (una columna) */
.pos-barra{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--pos-line);margin-top:12px}
.pos-barra:empty{display:none}
.pos-barra span{font-size:1.1rem;white-space:nowrap}
.pos-barra b{font-size:1.4rem;font-variant-numeric:tabular-nums}
.pos-barra .pos-cobrar{width:auto;flex:1}
@media (min-width:900px){
  .pos-cols{flex-direction:row;align-items:flex-start}
  .pos-izq{flex:3 1 0}
  .pos-der{flex:2 1 0;position:sticky;top:64px}
  .pos-barra{display:none}
}
/* confirmacion / exito: UNA hoja dentro del cobro (nunca dos modales apilados) */
.pos-hoja{position:fixed;inset:0;z-index:170;background:rgba(20,14,6,.4);display:flex;align-items:flex-end;justify-content:center}
.pos-hoja-card{width:100%;max-width:560px;background:#fff;color:var(--pos-ink);border-radius:22px 22px 0 0;padding:22px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px -20px rgba(40,28,12,.5);outline:none}
@media (min-width:900px){.pos-hoja{align-items:center}.pos-hoja-card{border-radius:22px}}
.ph-frase{font-size:1.4rem;line-height:1.4;margin:0 0 16px}
.ph-frase b{font-size:1.6rem;font-variant-numeric:tabular-nums}
.ph-cambio{font-size:1.3rem;margin:12px 0}
.ph-ok{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:600;color:var(--pos-ok);margin:0 0 10px}
.ph-ok .ico{width:28px;height:28px}
.ph-ok.sec{font-size:1.2rem;color:#7a5418}
.ph-acc{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ph-acc > *{flex:1 1 200px}
.ph-acc.col{flex-direction:column}
.ph-acc.col > *{flex:none;width:100%}
.ph-no{color:var(--pos-err)}
/* mostrador */
.pos-titulo{display:flex;align-items:center;gap:10px;font-size:1.5rem;margin:6px 0}
.pos-sub{font-size:1.15rem;margin:0 0 12px}
.pos-quien-q{margin-bottom:8px}
.pos-form{display:flex;flex-direction:column;gap:12px;max-width:520px}
.pos-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.pos-quien-elegida{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#f7f2e8;margin-bottom:12px}
.pos-quien-elegida span{flex:1}
/* caja de hoy (vista Pagos) */
.caja{display:flex;flex-direction:column;gap:10px;padding:14px;margin:0 0 16px;border:1px solid rgba(40,28,12,.18);border-radius:18px;background:#fff;color:#1a1206}
.caja .pos-h{margin:4px 0}
.caja-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.caja-kpis div{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:#f7f2e8}
.caja-kpis b{font-size:1.4rem;font-variant-numeric:tabular-nums}
.caja-kpis span{font-size:.9rem;color:#5c4a33}
.caja-formas,.caja-saldos{display:flex;flex-direction:column;gap:6px}
.caja .ico{width:20px;height:20px}
@media (prefers-reduced-motion:reduce){.pos *{transition:none!important;animation:none!important}}
