/* Latina Pizza · Inventario (conteo de la noche, gasto, conteos, existencias y qué se cuenta) */

/* ---------- Conteo ---------- */
.inv-toca { margin-left: 8px; vertical-align: 1px; }
.inv-estado { display: grid; gap: 8px; }
.inv-estado:empty { display: none; }
.inv-alerta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; justify-content: space-between; }
.inv-form { gap: 16px; }
.inv-bloque { gap: 12px; }
.inv-bloque > .ayuda { margin: -6px 0 0; }
.inv-grupos { display: grid; gap: 14px; }
.inv-grupo { display: grid; gap: 6px; }
.inv-cat { font-size: 0.8125rem; font-weight: 700; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.04em; display: flex; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; }
.inv-cat small { text-transform: none; letter-spacing: 0; font-weight: 500; }
.inv-lista { display: grid; border: 1px solid var(--line); border-radius: var(--r-s); background: var(--paper); }
.inv-lista > * { border-bottom: 1px solid var(--line-2); }
.inv-lista > :last-child { border-bottom: 0; }

.inv-fila { display: grid; gap: 8px; padding: 10px 12px; transition: background-color 0.15s; }
.inv-fila.inv-ok { background: color-mix(in srgb, var(--basil-weak) 55%, var(--paper)); }
.inv-fila.inv-mal { background: color-mix(in srgb, var(--tomato-weak) 45%, var(--paper)); }
.inv-fila.inv-falta { box-shadow: inset 4px 0 0 var(--tomato); }
.inv-fila-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.inv-nombre { display: grid; gap: 1px; min-width: 0; }
.inv-nombre b { overflow-wrap: anywhere; }
.inv-nombre small { color: var(--ink-3); }
.inv-nohay { flex: none; font-size: 0.875rem; padding: 2px 4px; }
.inv-campos { display: grid; gap: 8px; align-items: end; }
.inv-campos-1 { grid-template-columns: minmax(0, 220px); }
.inv-campos-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inv-campos-3 { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 1.25fr); }
.inv-campo { min-width: 0; }
.inv-campo label { font-size: 0.75rem; font-weight: 600; color: var(--ink-3); margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv-campo .cant { min-height: 46px; }
.inv-campo .cant input { min-height: 44px; font-size: 1.0625rem; padding-left: 8px; padding-right: 4px; }
.inv-campo .cant-unidad { font-size: 0.875rem; padding: 0 8px 0 2px; }
.inv-u { border: 0; border-left: 1px solid var(--line); background: var(--flour); color: var(--basil-txt) !important; font: inherit; font-weight: 700; cursor: pointer; padding: 0 10px !important; border-radius: 0 var(--r-s) var(--r-s) 0; min-width: 44px; justify-content: center; }
.inv-u:hover { background: var(--basil-weak); }
.inv-fila-pie { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; min-height: 0; }
.inv-fila-pie:has(.inv-nota:empty):has(.inv-total:empty) { display: none; }
.inv-nota { color: var(--ink-3); }
.inv-nota.txt-mal { color: var(--tomato); font-weight: 600; }
.inv-nota.txt-aviso { color: var(--crust-txt); font-weight: 600; }
.inv-total { margin-left: auto; font-weight: 700; font-size: 0.875rem; color: var(--basil-txt); white-space: nowrap; font-variant-numeric: tabular-nums; }
.inv-semanal-no { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; justify-content: space-between; }
.inv-semanal-no .ayuda { margin: 0; }

/* Mermas, compras y traslados */
.inv-novs { display: grid; gap: 10px; }
.inv-novs:empty { display: none; }
.inv-nov { display: grid; gap: 8px; padding: 10px; border-radius: var(--r-s); background: var(--flour); }
.inv-nov-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.inv-nov-cab .etiqueta { margin: 0; }
.inv-nov-cab .btn-quitar { width: 36px; height: 36px; }
.inv-nov-campos { display: grid; gap: 8px; }
.inv-nov-cant { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 8.5rem); gap: 8px; }
.inv-nov-ayuda { color: var(--ink-3); }
.inv-nov-botones { display: flex; flex-wrap: wrap; gap: 8px; }
@media (min-width: 700px) {
  .inv-nov-campos { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .inv-nov-ayuda { grid-column: 1 / -1; }
}
.inv-recibidos { display: grid; gap: 4px; background: var(--basil-weak); color: var(--basil-txt); }
.inv-recibidos ul { margin: 0; padding-left: 20px; color: var(--ink); }

/* Cinta con el avance */
.inv-cinta { gap: 8px; }
.inv-avance { display: grid; gap: 6px; }
.inv-avance .cuadre-linea strong { font-size: 1.125rem; }
.inv-extra { color: var(--ink-3); }
.inv-faltan { font-size: 0.9375rem; color: var(--tomato); line-height: 1.45; }
.inv-faltan > .btn-texto { color: var(--tomato); padding: 0; font-weight: 700; }
.inv-faltan .enlace-chip { color: var(--ink-2); font-size: 0.875rem; }
.inv-listo { color: var(--basil-txt); font-weight: 700; }
.inv-novtxt { color: var(--ink-3); }
.inv-botones { display: grid; gap: 4px; }
.inv-guardar { justify-self: center; font-size: 0.9375rem; }
.inv-cinta.cuadra .medidor > span { background: var(--basil); }
@media (max-width: 959px) {
  .inv-cinta { grid-template-columns: minmax(0, 1fr) auto; column-gap: 14px; row-gap: 4px; align-items: center; padding-top: 16px; }
  .inv-cinta > :not(.inv-botones) { grid-column: 1; }
  .inv-cinta .inv-botones { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .inv-cinta .btn-enviar { min-height: 48px; padding: 8px 16px; font-size: 1rem; }
  .inv-faltan-lista, .inv-novtxt, .inv-extra { display: none; }
  .inv-guardar { font-size: 0.875rem; padding: 2px; }
}
@media (max-width: 380px) {
  .inv-campos-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inv-campos-3 > :last-child { grid-column: 1 / -1; }
}

/* ---------- Dueños y contador ---------- */
.inv-cuerpo { display: grid; gap: 16px; }
.inv-pestanas { margin-top: -4px; }
@media (max-width: 760px) { .inv-pestanas { grid-template-columns: repeat(3, minmax(0, 1fr)); } .inv-pestanas .pestana { padding: 10px 4px; font-size: 0.9375rem; } }
.inv-vacio { justify-items: start; max-width: 640px; }
.inv-rejilla { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 980px) {
  .inv-rejilla { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .inv-rejilla > * { grid-column: 1 / -1; }
  .inv-rejilla > .bloque:first-child:has(.grafico) { grid-column: 1; }
  .inv-rejilla > .bloque:first-child:has(.grafico) + .bloque { grid-column: 2; }
}
.tabla-inv tbody th { white-space: normal; min-width: 10rem; }
.tabla tfoot th, .tabla tfoot td { border-bottom: 0; border-top: 1px solid var(--line); font-weight: 700; }
.inv-det-fila > td { background: var(--flour); padding: 4px 10px 14px; }
.inv-det { display: grid; gap: 8px; }
.inv-det-tabla { background: var(--paper); border-radius: var(--r-s); }
.inv-det-tabla th, .inv-det-tabla td { padding: 6px 10px; }
.fila-clic[aria-expanded="true"] { background: var(--flour); }
.bloque > .btn-suave { justify-self: start; }
@media (max-width: 760px) { .tabla-inv .det { display: none; } }
/* Contra ventas (046) */
.inv-teo > summary { cursor: pointer; list-style-position: inside; }
.inv-teo > summary h2 { display: inline; }
.tabla-invv td.num small { display: block; font-weight: 500; }
.tabla-invv .solo-movil { display: none; }
@media (max-width: 760px) { .tabla-invv .solo-movil { display: block; color: var(--ink-2); } }

/* Conteos por día */
.inv-conteos { display: grid; gap: 10px; transition: opacity 0.15s; }
.inv-conteos-cab { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; }
.inv-nav-fechas { display: flex; gap: 8px; }
.inv-matriz-caja { padding: 0; }
.inv-matriz { font-size: 0.875rem; }
.inv-matriz th, .inv-matriz td { padding: 6px 4px; text-align: center; vertical-align: middle; }
.inv-matriz tbody th { text-align: left; padding-left: 12px; position: sticky; left: 0; background: var(--paper); z-index: 1; min-width: 8.5rem; }
.inv-matriz thead th:first-child { text-align: left; padding-left: 12px; position: sticky; left: 0; background: var(--paper); z-index: 1; }
.inv-c-cab { min-width: 40px; line-height: 1.15; font-weight: 600; }
.inv-hoy { color: var(--basil-txt) !important; }
.inv-c button, .inv-c > span { width: 36px; height: 34px; border-radius: var(--r-s); border: 0; font: inherit; font-weight: 800; cursor: pointer; position: relative; display: inline-grid; place-items: center; background: transparent; color: inherit; }
.inv-c > span { cursor: default; }
.inv-c-ok button { background: var(--basil-weak); color: var(--basil-txt); }
.inv-c-borr button { background: var(--crust-weak); color: var(--crust-txt); }
.inv-c-falta button, .inv-c-falta > span { background: var(--tomato-weak); color: var(--tomato); }
.inv-c-nada { color: var(--ink-3); }
.inv-c-nada button:hover { background: var(--flour); }
.inv-c sup { position: absolute; top: 1px; right: 3px; font-size: 0.625rem; }
.inv-c-m { position: absolute; bottom: 0; right: 3px; font-size: 0.625rem; font-weight: 700; color: var(--tomato); }
.inv-leyenda { margin-top: -2px; }
.inv-detalle-zona { outline: none; scroll-margin-top: 76px; }
.inv-detalle { gap: 14px; border-color: var(--basil); }
.inv-detalle h3 { font-size: 1rem; margin-top: 4px; }
.inv-detalle-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.inv-detalle-cab h2 { font-size: 1.25rem; font-stretch: 108%; }
.inv-detalle-cab .nota { margin-top: 4px; }
.inv-detalle-botones { display: flex; gap: 6px; align-items: center; }
.inv-detalle-cifras { border-top: 1px solid var(--line-2); }
.inv-novlista { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.inv-novlista small { display: block; color: var(--ink-3); margin-left: 2px; }
.inv-contado summary { cursor: pointer; color: var(--basil-txt); font-weight: 600; }
.inv-contado[open] summary { margin-bottom: 8px; }

/* Existencias */
.inv-exist { display: grid; gap: 14px; transition: opacity 0.15s; }
.inv-exist > .tabla-scroll.bloque { padding: 4px 6px; }
.inv-exist-res { font-size: 1.125rem; }
.inv-pocos { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
/* 051: lo que hay con lo vendido rebajado y el mínimo */
.inv-exist-tabla td.num small { display: block; font-weight: 500; color: var(--ink-3); }
.inv-exist-tabla td.num.txt-mal small { color: var(--tomato); }
.inv-exist-tabla td.num small.solo-movil { display: none; }
@media (max-width: 760px) {
  .inv-exist-tabla th, .inv-exist-tabla td { padding-left: 6px; padding-right: 6px; }
  .inv-exist-tabla tbody th { min-width: 6.5rem; }
  .inv-exist-tabla td.num { white-space: normal; min-width: 5.5rem; }
  .inv-exist-tabla td.num small.solo-movil { display: block; color: var(--ink-2); }
  .inv-exist-tabla td.num small.solo-movil.txt-mal { color: var(--tomato); }
}
.inv-exist-tabla tr.inv-bajo > th { box-shadow: inset 3px 0 0 var(--tomato); }
.inv-exist-tabla .enlace-fila { min-height: 32px; }
.inv-sinrec { display: grid; gap: 8px; }
.inv-sinrec .btn { justify-self: start; }
.inv-bajos { line-height: 1.45; }

/* ---------- Qué se cuenta ---------- */
.chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.chip:disabled { cursor: default; }
.inv-cfg-intro p { max-width: 75ch; }
.inv-cfg-dia { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.inv-cfg-dia label { margin: 0; }
.inv-cfg-dia select { width: auto; }
.inv-cfg-seccion { display: grid; gap: 10px; }
.inv-cfg-seccion > h2 { font-size: 1.25rem; font-stretch: 108%; }
.inv-cfg-grupo { display: grid; gap: 6px; }
.inv-cfg { display: grid; gap: 10px; padding: 12px 14px; }
.inv-cfg.inv-cfg-si { background: color-mix(in srgb, var(--basil-weak) 40%, var(--paper)); }
.inv-cfg-cab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(9.5rem, 13rem); gap: 10px; align-items: start; }
.inv-cfg-nombre { display: grid; gap: 2px; min-width: 0; }
.inv-cfg-nombre small { color: var(--ink-3); overflow-wrap: anywhere; }
.inv-cfg-nombre small.txt-aviso { color: var(--crust-txt); }
.inv-cfg-det { display: grid; gap: 10px; }
.inv-cfg-campos { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.inv-cfg-campos label, .inv-cfg-det .campo > label { font-size: 0.8125rem; color: var(--ink-2); }
.inv-cfg-ayuda { margin-top: -4px; }
.inv-chips .chip { min-height: 36px; padding: 6px 12px; font-size: 0.875rem; }
.inv-cfg-guardar { position: sticky; bottom: 0; z-index: 8; align-items: center; background: var(--flour); padding: 12px 0 max(12px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); }
@media (max-width: 760px) {
  .shell:not(.shell-simple) .inv-cfg-guardar { bottom: 62px; padding-bottom: 10px; }
  .inv-cfg-guardar .btn { flex: 1 1 auto; }
  .inv-cfg-cab { grid-template-columns: minmax(0, 1fr); }
}
.inv-cam tbody th { white-space: normal; min-width: 11rem; }
.inv-cam td { min-width: 12rem; }
.inv-cam-factor { display: grid; gap: 2px; margin: 0; font-weight: 500; font-size: 0.8125rem; color: var(--ink-3); }
.inv-cam-factor .cant { max-width: 12rem; }
.cierre-inv { margin-top: 8px; }
.tabla-inv .solo-movil { display: none; }
@media (max-width: 760px) { .tabla-inv .solo-movil { display: block; } .tabla-inv tbody th { min-width: 8rem; } }
