/* ==========================================================================
   Go On Camiones — css/paginas/inventario.css (Inventario)
   --------------------------------------------------------------------------
   Solo la maquetación propia de la página; los componentes (tarjeta, contador,
   criterios, botones, tabla, dialog, tarjeta del Consejo) vienen de
   componentes.css y aquí solo se acomodan. Mobile-first; cortes 600 · 760 ·
   900 · 1100 px (en 1100 aparece el lateral de filtros).

   Piezas:
     .inv-portada ........ banda baja: título y texto breve (velo tenue)
     .inv-catalogo ....... lateral de filtros (sticky) + resultados
     .inv-filtros ........ formulario (el mismo nodo se muda a .inv-hoja en celular)
     .inv-barra .......... barra pegajosa: Filtros · conteo · orden · vista
     .inv-resultados ..... rejilla (data-vista="cuadricula") o lista (="lista")
     .inv-vacio .......... estado vacío con sugerencias
     .inv-hoja ........... <dialog> hoja inferior de filtros
     .inv-anexo .......... tabla verificable (sección oscura) + nota de método + modo P
     .inv-escalera ....... peldaños Go On / opción de valor
   ========================================================================== */

/* --------------------------------------------------------------------------
   Portada
   -------------------------------------------------------------------------- */
/* Banda baja: solo título y texto breve; el catálogo empieza en el primer pliegue.
   El padding de arriba deja libre el pie «Fig. 00» (arriba a la derecha). */
.inv-portada .portada__contenido {
  padding-top: calc(var(--alto-cabecera) + clamp(60px, 5vw, 68px));
  padding-bottom: clamp(28px, 3.5vw, 48px);
}
.inv-portada .portada__foto > img { filter: brightness(1.18) saturate(1.05); }
/* Velo tenue: se oscurece solo lo necesario detrás del texto (izquierda) */
.inv-portada__velo {
  background:
    linear-gradient(90deg, rgba(2, 2, 40, 0.62) 0%, rgba(2, 2, 40, 0.3) 45%, rgba(2, 2, 40, 0.08) 100%),
    linear-gradient(180deg, rgba(2, 2, 40, 0.45) 0%, rgba(2, 2, 40, 0.1) 40%, rgba(2, 2, 40, 0.3) 100%);
}
.inv-portada__titulo { max-width: none; }
.inv-portada__marca { color: var(--go-naranja); white-space: nowrap; }
.inv-portada__proposito { margin: 12px 0 0; max-width: 52ch; }
@media (min-width: 1100px) {
  .inv-portada__titulo { font-size: clamp(3rem, 1.9rem + 2vw, 4rem); }
  .inv-portada__proposito { font-size: 1.0625rem; }
}

/* --------------------------------------------------------------------------
   Catálogo: disposición y lateral
   -------------------------------------------------------------------------- */
.inv-catalogo { padding-top: clamp(28px, 3vw, 36px); }
.inv-disposicion { display: block; }
.inv-lateral { display: none; }
.inv-principal { min-width: 0; }

@media (min-width: 1100px) {
  .inv-disposicion {
    display: grid; grid-template-columns: 264px minmax(0, 1fr);
    column-gap: 28px; align-items: start;
  }
  .inv-lateral { display: block; align-self: stretch; }
  .inv-lateral__ancla {
    position: sticky; top: calc(var(--alto-cabecera) + 16px);
    max-height: calc(100vh - var(--alto-cabecera) - 32px); overflow-y: auto;
    overscroll-behavior: contain; padding: 18px 20px 12px; margin-left: 0;
    background: var(--go-crema-tarjeta); border-radius: 18px; box-shadow: 0 12px 34px rgba(3, 3, 75, 0.08);
    scrollbar-width: thin; scrollbar-color: var(--go-line-control) transparent;
  }
}

/* --------------------------------------------------------------------------
   Formulario de filtros
   -------------------------------------------------------------------------- */
.inv-filtros { display: grid; }
.inv-filtros__cabeza {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 44px; padding-bottom: 8px; border-bottom: 2px solid var(--go-text);
}
.inv-filtros__titulo { font: 800 1.125rem/1.2 var(--go-font-display); }
.inv-limpiar {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
  background: none; border: 0; color: var(--go-accent);
  font: 700 0.9375rem/1.2 var(--go-font-display);
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px;
}
.inv-limpiar:hover { color: var(--go-text); }

.inv-grupo { min-width: 0; margin: 0; padding: 16px 0 18px; border: 0; border-bottom: 1px solid var(--go-line); }
.inv-grupo > legend { float: left; width: 100%; }
.inv-grupo > legend + * { clear: both; }
.inv-grupo__titulo {
  display: block; margin: 0 0 10px; padding: 0;
  font: 700 0.8125rem/1.3 var(--go-font-display); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--go-text-muted);
}
.inv-opciones { display: grid; gap: 2px; }
.inv-opciones--chips { display: flex; flex-wrap: wrap; gap: 8px; }

/* Casilla: el input real cubre la etiqueta (clic y teclado nativos). */
.inv-opcion {
  position: relative; display: flex; align-items: center; gap: 12px;
  min-height: 44px; padding: 4px 8px; margin: 0 -8px; border-radius: var(--go-radio-editorial);
  font: 600 0.9375rem/1.3 var(--go-font-body); color: var(--go-text); cursor: pointer;
}
.inv-opcion:hover { background: color-mix(in srgb, var(--go-text) 5%, transparent); }
.inv-opcion > input,
.inv-chip > input {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer;
}
.inv-opcion__caja {
  display: grid; place-items: center; flex: none; width: 20px; height: 20px;
  background: var(--go-surface); border: 1.5px solid var(--go-line-control); border-radius: 2px;
  color: var(--go-blanco);
}
.inv-opcion__caja .icono { width: 16px; height: 16px; opacity: 0; }
.inv-opcion > input:checked ~ .inv-opcion__caja { background: var(--go-navy); border-color: var(--go-navy); }
.inv-opcion > input:checked ~ .inv-opcion__caja .icono { opacity: 1; }
.inv-opcion:has(> input:focus-visible) { outline: var(--go-foco-ancho) solid var(--go-foco-color); outline-offset: 0; }
.inv-opcion__texto { flex: 1; min-width: 0; }
.inv-opcion__n {
  font: 600 0.875rem/1 var(--go-font-body); font-variant-numeric: tabular-nums;
  color: var(--go-text-muted); min-width: 2ch; text-align: right;
}
.inv-opcion--suelta { margin-top: 10px; }
.es-cero > .inv-opcion__texto,
.es-cero > .inv-opcion__n,
.inv-chip.es-cero { color: var(--go-text-faint); }

.inv-chip {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 0 14px;
  background: var(--go-surface); color: var(--go-text);
  border: 1px solid var(--go-line-control); border-radius: var(--go-radio-editorial);
  font: 700 0.9375rem/1.1 var(--go-font-display); cursor: pointer;
  transition: background-color var(--go-dur-rapida) var(--go-curva-estandar);
}
.inv-chip:hover { border-color: var(--go-text); }
.inv-chip__n { font: 600 0.875rem/1 var(--go-font-body); font-variant-numeric: tabular-nums; color: var(--go-text-muted); }
.inv-chip:has(> input:checked) { background: var(--go-navy); border-color: var(--go-navy); color: var(--go-blanco); }
.inv-chip:has(> input:checked) .inv-chip__n { color: rgba(255, 255, 255, 0.8); }
.inv-chip:has(> input:focus-visible) { outline: var(--go-foco-ancho) solid var(--go-foco-color); outline-offset: 2px; }
.inv-chip.es-cero .inv-chip__n { color: var(--go-text-faint); }

/* Precio: dos controles de rango superpuestos + histograma del catálogo */
.inv-precio__valores {
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 6px;
  font: 800 1rem/1.2 var(--go-font-display); font-variant-numeric: tabular-nums;
}
.inv-precio__a { font: 500 0.875rem/1 var(--go-font-body); color: var(--go-text-muted); }
.inv-rango { position: relative; height: 80px; }
.inv-histograma {
  position: absolute; left: 22px; right: 22px; top: 2px; height: 34px;
  display: flex; align-items: flex-end; gap: 3px;
}
.inv-histograma > span {
  flex: 1; height: calc(var(--h, 0) * 100%); min-height: 0;
  background: var(--go-navy); opacity: 0.82;
  transition: height var(--go-dur-base) var(--go-curva-salida), background-color var(--go-dur-rapida);
}
.inv-histograma > span.es-fuera { background: var(--go-line-strong); opacity: 1; }
.inv-rango__pista {
  position: absolute; left: 22px; right: 22px; top: 54px; height: 4px;
  background: var(--go-line-strong); border-radius: 2px;
}
.inv-rango__relleno { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: var(--go-naranja); border-radius: 2px; }
.inv-rango__control {
  position: absolute; left: 0; right: 0; top: 34px; z-index: 2;
  width: 100%; height: 44px; margin: 0; padding: 0;
  background: none; -webkit-appearance: none; appearance: none; pointer-events: none;
}
.inv-rango__control.es-encima { z-index: 3; }
.inv-rango__control:focus-visible { outline: none; }
.inv-rango__control::-webkit-slider-runnable-track { height: 44px; background: transparent; border: 0; }
.inv-rango__control::-moz-range-track { height: 44px; background: transparent; border: 0; }
.inv-rango__control::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; pointer-events: auto; cursor: grab;
  width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: radial-gradient(circle, var(--go-blanco) 0 6.5px, var(--go-navy) 7px 11px, transparent 11.5px);
}
.inv-rango__control::-moz-range-thumb {
  pointer-events: auto; cursor: grab; width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: radial-gradient(circle, var(--go-blanco) 0 6.5px, var(--go-navy) 7px 11px, transparent 11.5px);
}
.inv-rango__control:focus-visible::-webkit-slider-thumb {
  background: radial-gradient(circle, var(--go-blanco) 0 6.5px, var(--go-navy) 7px 11px, var(--go-surface) 11.5px 13px, var(--go-foco-color) 13.5px 16.5px, transparent 17px);
}
.inv-rango__control:focus-visible::-moz-range-thumb {
  background: radial-gradient(circle, var(--go-blanco) 0 6.5px, var(--go-navy) 7px 11px, var(--go-surface) 11.5px 13px, var(--go-foco-color) 13.5px 16.5px, transparent 17px);
}
.inv-rango__control:active::-webkit-slider-thumb { cursor: grabbing; }

/* Grupos plegables (motor, transmisión, dormitorio) */
.inv-plegable { padding: 6px 0; }
.inv-plegable__titulo {
  display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; list-style: none;
}
.inv-plegable__titulo::-webkit-details-marker { display: none; }
.inv-plegable__titulo .inv-grupo__titulo { flex: 1; margin: 0; }
.inv-plegable__titulo:hover .inv-grupo__titulo { color: var(--go-text); }
.inv-plegable__titulo .icono { width: 20px; height: 20px; color: var(--go-text-muted); transition: transform var(--go-dur-base) var(--go-curva-salida); }
.inv-plegable[open] > .inv-plegable__titulo .icono { transform: rotate(180deg); }
.inv-plegable__activo:not(:empty) {
  display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 12px;
  background: var(--go-navy); color: var(--go-blanco); font: 700 0.8125rem/1 var(--go-font-display);
}
.inv-plegable__campo { min-width: 0; margin: 4px 0 8px; padding: 0; border: 0; }

/* --------------------------------------------------------------------------
   Encabezado de resultados, búsquedas por aplicación y barra pegajosa
   -------------------------------------------------------------------------- */
.inv-cabeza { margin: 0 0 14px; }
.inv-cabeza:focus { outline: none; }
.inv-cabeza__folio { margin-bottom: 12px; }
.inv-cabeza__titulo {
  font: 900 clamp(2rem, 1.55rem + 1.9vw, 3rem)/1 var(--go-font-display); letter-spacing: -0.02em;
}
.inv-cabeza__n { color: var(--go-accent); font-variant-numeric: tabular-nums; }
.inv-cabeza__detalle { margin: 8px 0 0; font: 500 0.9375rem/1.45 var(--go-font-body); color: var(--go-text-muted); }

/* Búsquedas por aplicación (ILUSTRATIVO). Dos acomodos del mismo componente:
   --fila bajo la barra (celular y tableta) y --lateral arriba de los filtros (escritorio). */
.inv-aplicaciones__titulo {
  margin: 0 0 8px; font: 700 0.8125rem/1.3 var(--go-font-display); letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--go-text-muted);
}
.inv-app {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline;
  column-gap: 10px; row-gap: 2px; min-height: 44px; padding: 10px 12px;
  background: var(--go-surface); color: var(--go-text); text-align: left;
  border: 1px solid var(--go-line-strong); border-left: 3px solid var(--go-line-strong);
  border-radius: var(--go-radio-editorial);
  transition: border-color var(--go-dur-rapida) var(--go-curva-estandar), background-color var(--go-dur-rapida) var(--go-curva-estandar);
}
.inv-app:hover { border-color: var(--go-text); }
.inv-app__titulo { font: 800 0.9375rem/1.2 var(--go-font-display); }
.inv-app__n { font: 600 0.875rem/1.2 var(--go-font-body); color: var(--go-text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.inv-app__n b { font: 800 0.9375rem/1 var(--go-font-display); color: var(--go-accent); }
.inv-app__detalle { grid-column: 1 / -1; font: 500 var(--go-texto-min-movil)/1.35 var(--go-font-body); color: var(--go-text-muted); }
.inv-app[aria-pressed="true"] {
  background: var(--go-navy); border-color: var(--go-navy); border-left-color: var(--go-naranja); color: var(--go-blanco);
}
.inv-app[aria-pressed="true"] .inv-app__detalle,
.inv-app[aria-pressed="true"] .inv-app__n { color: rgba(255, 255, 255, 0.82); }
.inv-app[aria-pressed="true"] .inv-app__n b { color: var(--go-naranja-claro); }
.inv-app.es-cero .inv-app__n b,
.inv-app.es-cero .inv-app__titulo { color: var(--go-text-faint); }
.inv-aplicaciones__nota { margin: 6px 0 0; font: 500 var(--go-texto-min-movil)/1.45 var(--go-font-body); color: var(--go-text-muted); }

/* Fila: una sola hilera que se desliza, bajo la barra de orden */
.inv-aplicaciones--fila { margin: 0 0 18px; }
.inv-aplicaciones--fila .inv-aplicaciones__lista {
  display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--go-sp-gutter);
  margin-inline: calc(-1 * var(--go-sp-gutter)); padding: 2px var(--go-sp-gutter) 8px;
  scrollbar-width: thin; scrollbar-color: var(--go-line-control) transparent;
}
.inv-aplicaciones--fila .inv-app { flex: 0 0 auto; width: 196px; scroll-snap-align: start; }
.inv-app__n-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 760px) {
  .inv-aplicaciones--fila .inv-aplicaciones__lista {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
    overflow: visible; margin-inline: 0; padding: 0;
  }
  .inv-aplicaciones--fila .inv-app { width: auto; }
  .inv-aplicaciones--fila .inv-aplicaciones__nota { font-size: var(--go-texto-legal); margin-top: 8px; }
}

/* Lateral: lista vertical compacta, arriba de «Filtrar» */
.inv-aplicaciones--lateral { display: none; }
@media (min-width: 1100px) {
  .inv-aplicaciones--fila { display: none; }
  .inv-aplicaciones--lateral { display: block; margin: 0 0 6px; padding: 2px 0 18px; border-bottom: 2px solid var(--go-text); }
  .inv-aplicaciones--lateral .inv-aplicaciones__lista { display: grid; gap: 6px; }
  .inv-aplicaciones--lateral .inv-app { padding: 8px 12px; }
  .inv-aplicaciones--lateral .inv-aplicaciones__nota { margin-top: 10px; font-size: var(--go-texto-legal); }
  .inv-aplicaciones--lateral + .inv-filtros .inv-filtros__cabeza { padding-top: 12px; }
}

.inv-barra {
  position: sticky; top: var(--alto-cabecera); z-index: 20;
  display: flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 10px 0;
  background: var(--go-bg); border-bottom: 1px solid var(--go-line-strong);
  /* fondo a sangre en celular sin ensanchar la página */
  box-shadow: 0 0 0 100vmax var(--go-bg); clip-path: inset(0 -100vmax);
}
.inv-barra__filtros {
  display: inline-flex; align-items: center; gap: 8px; flex: none; min-height: 44px; padding: 0 14px;
  background: var(--go-surface); color: var(--go-text);
  border: 1px solid var(--go-text); border-radius: var(--go-radio-editorial);
  font: 700 0.9375rem/1 var(--go-font-display);
}
.inv-barra__filtros .icono { width: 20px; height: 20px; }
.inv-insignia {
  display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px;
  background: var(--go-navy); color: var(--go-blanco); font: 700 0.8125rem/1 var(--go-font-display);
}
.inv-barra__conteo { display: none; margin: 0; font: 600 0.9375rem/1.2 var(--go-font-body); color: var(--go-text-muted); white-space: nowrap; }
.inv-barra__conteo b { font: 800 1.0625rem/1 var(--go-font-display); color: var(--go-text); font-variant-numeric: tabular-nums; }
.inv-orden { display: flex; align-items: center; gap: 10px; flex: 1 1 auto; min-width: 0; margin-left: auto; }
.inv-orden__etiqueta {
  position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.inv-orden__control { flex: 1 1 auto; min-width: 0; min-height: 44px; padding-block: 8px; font-size: 0.9375rem; font-weight: 600; }

.inv-segmento {
  display: inline-flex; flex: none; border: 1px solid var(--go-line-control); border-radius: var(--go-radio-editorial);
  background: var(--go-surface);
}
.inv-segmento > button {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; min-width: 44px; padding: 0 14px;
  background: transparent; border: 0; color: var(--go-text);
  font: 700 0.9375rem/1 var(--go-font-display);
}
.inv-segmento > button + button { border-left: 1px solid var(--go-line-control); }
.inv-segmento > button[aria-pressed="true"] { background: var(--go-navy); color: var(--go-blanco); }
.inv-segmento > button:disabled { opacity: 0.5; cursor: not-allowed; }
.inv-segmento > button:focus-visible { outline-offset: -3px; }
.inv-segmento--iconos > button { width: 44px; padding: 0; }
.inv-segmento--iconos .icono { width: 20px; height: 20px; }
.inv-segmento--ancho { display: flex; width: 100%; }
.inv-segmento--ancho > button { flex: 1; }

@media (max-width: 419.98px) {
  .inv-barra__filtros { padding: 0 12px; }
  .inv-barra__filtros .icono { display: none; }
  .inv-orden__control { padding-left: 10px; padding-right: 34px; background-position: calc(100% - 17px) 52%, calc(100% - 11px) 52%; }
}
@media (min-width: 600px) {
  .inv-barra__conteo { display: block; }
  .inv-orden { flex: 0 1 auto; }
  .inv-orden__control { width: 250px; }
}
@media (min-width: 1100px) {
  .inv-barra { box-shadow: none; clip-path: none; padding: 12px 0; }
  .inv-barra__filtros { display: none; }
  .inv-orden__etiqueta {
    position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto;
    font: 700 0.8125rem/1 var(--go-font-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--go-text-muted);
  }
}

/* Barra móvil del shell: en esta página solo WhatsApp (el shell ya la pone en una columna) */
body[data-nav="inventario"] .barra-movil [data-fuera-de="inventario"] { display: none; }

/* Filtros activos */
.inv-activos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 18px; }
.inv-activos__lista { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.inv-activo {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px 0 14px;
  background: var(--go-navy); color: var(--go-blanco); border: 0; border-radius: var(--go-radio-editorial);
  font: 700 0.875rem/1.2 var(--go-font-display);
}
.inv-activo:hover { background: var(--go-indigo); }
.inv-activo .icono { width: 16px; height: 16px; opacity: 0.85; }

/* Aviso de lote (?lote=…) */
.inv-aviso {
  display: grid; gap: 16px; margin: 0 0 20px; padding: 18px 20px;
  background: var(--go-surface); border: 1px solid var(--go-line-strong);
  border-left: 4px solid var(--go-naranja); border-radius: var(--go-radio-editorial);
}
.inv-aviso__titulo { margin: 8px 0 4px; font: 800 clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem)/1.2 var(--go-font-display); letter-spacing: -0.01em; }
.inv-aviso__detalle { margin: 0; font: 500 0.9375rem/1.45 var(--go-font-body); color: var(--go-text-muted); }
.inv-aviso__acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.inv-aviso__acciones > .btn { flex: 1 1 100%; }
.inv-aviso__id .id-mono { color: var(--go-text); }
@media (min-width: 760px) {
  .inv-aviso { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .inv-aviso__acciones > .btn { flex: 0 1 auto; }
}

/* --------------------------------------------------------------------------
   Resultados: cuadrícula
   -------------------------------------------------------------------------- */
.inv-resultados {
  display: grid; gap: clamp(16px, 2vw, 24px);
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}
@media (min-width: 640px) { .inv-resultados { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .inv-resultados { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.inv-resultados .tarjeta { box-shadow: var(--go-sombra-1); transition: box-shadow var(--go-dur-base) var(--go-curva-estandar); }
.inv-resultados .tarjeta__acciones .btn--wa { padding-inline: 12px; gap: 0.5em; }
.inv-resultados .tarjeta:hover { box-shadow: var(--go-sombra-2); }
/* Ficha resumida (cuadrícula): foto con esquinas redondeadas, marca, modelo y año, cuatro datos clave, precio y un botón.
   El resto de los datos vive en la ficha de la unidad. */
.inv-resultados:not([data-vista="lista"]) .tarjeta {
  border: 0; border-radius: 20px; overflow: hidden; background: var(--go-crema-tarjeta);
  box-shadow: 0 14px 38px rgba(3, 3, 75, 0.10);
}
.inv-resultados:not([data-vista="lista"]) .tarjeta:hover { box-shadow: 0 18px 44px rgba(3, 3, 75, 0.16); }
.inv-resultados:not([data-vista="lista"]) .tarjeta__media { margin: 16px 16px 0; border-radius: 14px; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__insignia {
  top: 12px; right: 12px; padding: 8px 14px; background: var(--go-crema); color: var(--go-navy);
  border: 0; border-radius: 999px; letter-spacing: 0; text-transform: none; font: 700 0.9375rem/1 var(--go-font-display);
}
.inv-resultados:not([data-vista="lista"]) .tarjeta__cuerpo { order: 1; flex: 1 1 auto; padding: 18px 22px 10px; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__pie {
  order: 2; display: flex; align-items: center; gap: 8px; margin: 0; padding: 4px 22px 18px;
  font: 400 var(--go-texto-min-movil)/1.4 var(--go-font-body); color: var(--go-text-muted);
}
.inv-resultados:not([data-vista="lista"]) .tarjeta__marca {
  margin: 0 0 4px; font: 600 0.8125rem/1.2 var(--go-font-display); letter-spacing: 0.3em; text-transform: uppercase; color: var(--go-text-muted);
}
.inv-resultados:not([data-vista="lista"]) .tarjeta__marca .id-mono { display: none; }
.modo-presentacion .inv-resultados:not([data-vista="lista"]) .tarjeta--lote .tarjeta__marca .id-mono { display: inline; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__titulo { margin: 0; font: 900 clamp(1.5rem, 1.25rem + 0.7vw, 1.875rem)/1.12 var(--go-font-display); letter-spacing: -0.02em; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__anio { color: var(--go-naranja-activo); }
.inv-resultados:not([data-vista="lista"]) .tarjeta__estandar,
.inv-resultados:not([data-vista="lista"]) .tarjeta__pictos,
.inv-resultados:not([data-vista="lista"]) .tarjeta__medicion,
.inv-resultados:not([data-vista="lista"]) .tarjeta__desde,
.inv-resultados:not([data-vista="lista"]) .tarjeta__nota,
.inv-resultados:not([data-vista="lista"]) .tarjeta__acciones .btn--wa { display: none; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__datos {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; border: 0;
}
.inv-resultados:not([data-vista="lista"]) .tarjeta__datos > div {
  display: block; padding: 9px 12px; border: 0; border-radius: 12px; background: rgba(236, 228, 211, 0.45);
}
.inv-resultados:not([data-vista="lista"]) .tarjeta__datos dt { font: 500 var(--go-texto-min-movil)/1.3 var(--go-font-body); white-space: normal; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__datos dd { margin-top: 2px; text-align: left; font: 700 0.9375rem/1.3 var(--go-font-display); color: var(--go-text); overflow-wrap: normal; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__precio { margin-top: 18px; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__acciones { display: block; margin-top: 16px; padding: 0; }
.inv-resultados:not([data-vista="lista"]) .tarjeta__ver {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px;
  background: var(--go-accent-fill); color: var(--go-on-accent); border-radius: 12px; text-decoration: none;
  font: 800 1.0625rem/1 var(--go-font-display);
  transition: background-color var(--go-dur-base) var(--go-curva-estandar);
}
.inv-resultados:not([data-vista="lista"]) .tarjeta__ver:hover { background: var(--go-accent-fill-hover); }
.inv-resultados:not([data-vista="lista"]) .tarjeta__ver .icono { width: 20px; height: 20px; }
.inv-cargando { grid-column: 1 / -1; margin: 0; padding: 40px 0; color: var(--go-text-muted); }
.inv-cargando__sinjs { display: none; }
.inv-cargando a { color: var(--go-text); font-weight: 700; text-decoration-color: var(--go-naranja); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.inv-coinciden {
  flex-basis: 100%; font: 700 var(--go-texto-min-movil)/1.35 var(--go-font-body); color: var(--go-c-ambar);
}
/* El id del lote es un hash técnico: en público la tarjeta de lote no lo muestra (modo P, sí). */
.inv-resultados .tarjeta--lote .tarjeta__marca .id-mono { display: none; }
.modo-presentacion .inv-resultados .tarjeta--lote .tarjeta__marca .id-mono { display: inline; }
/* Miembro de lote en la vista «Unidades»: ▮▯▯▯ 1 de 10 del lote · Ver lote */
.pictos .inv-picto-resto { background: transparent; box-shadow: inset 0 0 0 1.5px var(--go-naranja); }
.inv-ver-lote {
  display: inline-flex; align-items: center; gap: 4px; min-height: 44px; margin: -12px 0;
  font: 700 var(--go-texto-min-movil)/1.2 var(--go-font-display); color: var(--go-text);
  text-decoration: underline; text-decoration-color: var(--go-naranja); text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.inv-ver-lote .icono { width: 16px; height: 16px; }
.inv-ver-lote:hover { color: var(--go-accent); }
.inv-resultados--entra > .tarjeta {
  animation: inv-entra 360ms var(--go-curva-salida) both;
  animation-delay: calc(var(--i, 0) * 35ms);
}
@keyframes inv-entra {
  from { opacity: 0; transform: translateY(10px); }
}
.goon-estatico .inv-resultados--entra > .tarjeta { animation: none; }

/* --------------------------------------------------------------------------
   Resultados: lista (misma tarjeta, acomodada en renglón)
   El JS agrupa precio + nota + acciones en .inv-compra; el cuerpo usa
   display: contents para que sus piezas entren a la rejilla de la tarjeta.
   -------------------------------------------------------------------------- */
.inv-resultados[data-vista="lista"] { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.inv-resultados[data-vista="lista"] .tarjeta {
  display: grid; grid-template-columns: 132px minmax(0, 1fr); column-gap: 14px;
  grid-template-rows: auto auto auto auto auto auto auto auto; align-items: start;
  padding: 12px;
}
.inv-resultados[data-vista="lista"] .tarjeta__cuerpo,
.inv-resultados[data-vista="lista"] .inv-foto-col { display: contents; }
.inv-resultados[data-vista="lista"] .tarjeta__media {
  grid-column: 1; grid-row: 1 / span 4; align-self: start; border-radius: var(--go-radio-editorial);
}
.inv-resultados[data-vista="lista"] .tarjeta__marca { grid-column: 2; grid-row: 1; margin: 0; }
.inv-resultados[data-vista="lista"] .tarjeta__titulo { grid-column: 2; grid-row: 2; font-size: 1.1875rem; }
.inv-resultados[data-vista="lista"] .tarjeta__enlace { min-height: 40px; }
.inv-resultados[data-vista="lista"] .tarjeta__estandar { grid-column: 2; grid-row: 3; margin-top: 2px; }
.inv-resultados[data-vista="lista"] .tarjeta__pictos { grid-column: 2; grid-row: 4; margin-top: 8px; }
.inv-resultados[data-vista="lista"] .tarjeta__pie { grid-column: 1 / -1; grid-row: 5; padding: 10px 0 0; }
.inv-resultados[data-vista="lista"] .tarjeta__medicion { grid-column: 1 / -1; grid-row: 6; margin-top: 12px; }
.inv-resultados[data-vista="lista"] .tarjeta__datos {
  grid-column: 1 / -1; grid-row: 7; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px; margin-top: 12px; border-top: 1px solid var(--go-line-strong);
}
.inv-resultados[data-vista="lista"] .tarjeta__datos > div { display: block; padding: 8px 0; }
.inv-resultados[data-vista="lista"] .tarjeta__datos dd { text-align: left; margin-top: 2px; font-weight: 700; }
.inv-resultados[data-vista="lista"] .inv-compra { grid-column: 1 / -1; grid-row: 8; display: flex; flex-direction: column; }
.inv-resultados[data-vista="lista"] .tarjeta__precio { margin-top: 12px; }
.inv-resultados[data-vista="lista"] .tarjeta__acciones { padding-top: 14px; }
/* Miniatura: sello chico, sin insignia ni marca del plano; el rótulo se parte en dos líneas */
.inv-resultados[data-vista="lista"] .tarjeta__insignia,
.inv-resultados[data-vista="lista"] .plano__marca,
.inv-resultados[data-vista="lista"] .plano__ref { display: none; }
.inv-resultados[data-vista="lista"] .tarjeta__media > .sello-goon { top: 6px; left: 6px; padding: 4px 6px 4px 5px; border-left-width: 2px; }
.inv-resultados[data-vista="lista"] .tarjeta__media .sello-goon img { height: 10px; }
.inv-resultados[data-vista="lista"] .plano__dibujo { margin-top: -22%; }
.inv-resultados[data-vista="lista"] .plano__rotulo {
  left: 6px; right: 6px; bottom: 6px; transform: none; justify-content: center; text-align: center;
  white-space: normal; padding: 4px 6px; letter-spacing: 0.06em; line-height: 1.15;
}
.inv-resultados[data-vista="lista"] .plano__rotulo .icono { display: none; }

@media (min-width: 760px) {
  .inv-resultados[data-vista="lista"] .tarjeta {
    grid-template-columns: 216px minmax(0, 1fr) 300px; column-gap: 24px;
    grid-template-rows: auto auto auto auto auto 1fr; padding: 16px;
  }
  .inv-resultados[data-vista="lista"] .inv-foto-col { display: block; grid-column: 1; grid-row: 1 / -1; min-width: 0; }
  .inv-resultados[data-vista="lista"] .tarjeta__pie { padding: 10px 0 0; }
  .inv-resultados[data-vista="lista"] .tarjeta__titulo { font-size: 1.375rem; }
  .inv-resultados[data-vista="lista"] .tarjeta__medicion { grid-column: 2; grid-row: 5; }
  .inv-resultados[data-vista="lista"] .tarjeta__datos { grid-column: 2; grid-row: 6; align-self: start; }
  .inv-resultados[data-vista="lista"] .inv-compra {
    grid-column: 3; grid-row: 1 / -1; align-self: stretch;
    padding-left: 24px; border-left: 1px solid var(--go-line);
  }
  .inv-resultados[data-vista="lista"] .tarjeta__precio { margin-top: 0; }
  .inv-resultados[data-vista="lista"] .tarjeta__acciones { margin-top: auto; }
  .inv-resultados[data-vista="lista"] .plano__dibujo { margin-top: -12%; }
  .inv-resultados[data-vista="lista"] .plano__rotulo { left: 50%; right: auto; transform: translateX(-50%); white-space: nowrap; padding: 6px 10px; }
}

/* Paginado */
.inv-mas { display: grid; justify-items: center; gap: 12px; margin: clamp(28px, 4vw, 44px) auto 0; max-width: 360px; text-align: center; }
.inv-mas__texto { margin: 0; font: 600 0.9375rem/1.3 var(--go-font-body); color: var(--go-text-muted); }
.inv-mas__barra { width: 100%; height: 4px; background: var(--go-line-strong); border-radius: 2px; overflow: hidden; }
.inv-mas__barra > span { display: block; height: 100%; width: 0; background: var(--go-navy); }
.inv-mas__boton { min-width: 220px; }

/* --------------------------------------------------------------------------
   Estado vacío
   -------------------------------------------------------------------------- */
.inv-vacio {
  display: grid; gap: 24px; padding: clamp(22px, 4vw, 44px);
  background: var(--go-surface); border: 1px dashed var(--go-line-control); border-radius: var(--go-radio-editorial);
}
.inv-vacio:focus { outline: none; }
.inv-vacio__dibujo {
  width: 100%; max-width: 440px; height: auto; padding: 8% 6% 6%; overflow: visible;
  aspect-ratio: 1000 / 470; border-radius: var(--go-radio-editorial);
  background:
    linear-gradient(var(--go-plano-reticula) 1px, transparent 1px) 0 0 / 22px 22px,
    linear-gradient(90deg, var(--go-plano-reticula) 1px, transparent 1px) 0 0 / 22px 22px,
    radial-gradient(ellipse 80% 70% at 50% 44%, #1A1D66 0%, var(--go-plano-fondo) 78%);
}
.inv-vacio__titulo { margin: 10px 0 8px; font: 800 clamp(1.375rem, 1.2rem + 0.8vw, 1.875rem)/1.15 var(--go-font-display); letter-spacing: -0.01em; }
.inv-vacio__entrada { margin: 0 0 12px; color: var(--go-text-muted); }
.inv-vacio__sugerencias { display: grid; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.inv-sugerencia {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; padding: 10px 14px;
  background: var(--go-bg); color: var(--go-text); text-align: left;
  border: 1px solid var(--go-line-strong); border-radius: var(--go-radio-editorial);
  font: 600 0.9375rem/1.3 var(--go-font-body);
}
.inv-sugerencia:hover { border-color: var(--go-text); }
.inv-sugerencia__quitar { flex: 1; min-width: 0; }
.inv-sugerencia__n { font: 800 0.9375rem/1 var(--go-font-display); color: var(--go-accent); white-space: nowrap; }
.inv-sugerencia .icono { width: 18px; height: 18px; }
.inv-vacio__acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.inv-vacio__escalera { margin: 16px 0 0; font: 500 0.9375rem/1.5 var(--go-font-body); color: var(--go-text-muted); }
.inv-vacio__escalera a { color: var(--go-text); font-weight: 700; text-decoration-color: var(--go-naranja); text-decoration-thickness: 2px; text-underline-offset: 4px; }
@media (min-width: 900px) {
  .inv-vacio { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: center; column-gap: 40px; }
}

.inv-nota { margin-top: 28px; }

/* --------------------------------------------------------------------------
   Hoja inferior de filtros (<dialog>): celular y tableta
   -------------------------------------------------------------------------- */
.inv-hoja {
  position: fixed; inset: auto 0 0 0; margin: 0 auto; width: 100%; max-width: 640px;
  max-height: min(88vh, 88dvh); padding: 0; overflow: hidden;
  background: var(--go-surface); color: var(--go-text);
  border: 0; border-top: 4px solid var(--go-naranja); border-radius: 14px 14px 0 0;
  box-shadow: var(--go-sombra-4);
}
.inv-hoja[open] { display: flex; flex-direction: column; animation: inv-hoja-sube 300ms var(--go-curva-salida); }
.inv-hoja::backdrop { background: rgba(2, 2, 40, 0.66); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
@keyframes inv-hoja-sube { from { transform: translateY(40px); opacity: 0.4; } }
.inv-hoja__cabeza {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: 2px 12px; padding: 20px 20px 12px; border-bottom: 1px solid var(--go-line);
}
.inv-hoja__asa {
  position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px;
  border-radius: 2px; background: var(--go-line-strong);
}
.inv-hoja__titulo { grid-column: 1; font: 800 1.3125rem/1.2 var(--go-font-display); }
.inv-hoja__conteo { grid-column: 1; grid-row: 2; margin: 0; font: 600 0.9375rem/1.3 var(--go-font-body); color: var(--go-text-muted); }
.inv-hoja .dialogo__cerrar { grid-column: 2; grid-row: 1 / span 2; }
.inv-hoja__cuerpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 20px 12px; }
.inv-hoja .inv-filtros__cabeza { display: none; }
.inv-hoja__pie {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px;
  padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
  background: var(--go-surface); border-top: 1px solid var(--go-line);
}

/* --------------------------------------------------------------------------
   Anexo verificable (sección oscura)
   -------------------------------------------------------------------------- */
.inv-anexo { border-top: var(--go-barra-marca) solid transparent; border-image: var(--go-grad-barra) 1; }
.inv-anexo__rejilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.inv-anexo__tabla { min-width: 0; }
.inv-metodo {
  padding: 22px 24px 24px; background: var(--go-tarjeta-fondo);
  border: 1px solid var(--go-tarjeta-borde); border-radius: var(--go-radio-editorial);
}
.inv-metodo__titulo { margin: 12px 0 14px; font: 800 1.375rem/1.2 var(--go-font-display); }
.inv-metodo__lista { display: grid; gap: 12px; margin: 0; }
.inv-metodo__lista > div { padding-top: 12px; border-top: 1px solid var(--go-line); }
.inv-metodo__lista dt {
  font: 700 0.8125rem/1.3 var(--go-font-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--go-naranja-claro);
}
.inv-metodo__lista dd { margin: 4px 0 0; font: 500 0.9375rem/1.55 var(--go-font-body); color: var(--go-text-muted); }
.inv-anexo__resumen { margin: 0 0 18px; font: 500 1rem/1.55 var(--go-font-body); color: var(--go-text-muted); }
.inv-anexo__resumen b { font: 800 1.125rem/1 var(--go-font-display); color: var(--go-blanco); }
.inv-resumen-marco { margin: 0 0 24px; }
.inv-resumen { min-width: 560px; }
.inv-resumen tbody th { font: 800 1rem/1.3 var(--go-font-display); }
.inv-resumen th { white-space: nowrap; }
.inv-resumen tfoot th, .inv-resumen tfoot td { font-size: 1rem; }
.inv-anexo__boton .icono { transition: transform var(--go-dur-base) var(--go-curva-salida); }
.inv-anexo__boton[aria-expanded="true"] .icono { transform: rotate(180deg); }
.inv-anexo__cuerpo { margin-top: 24px; }
.inv-tabla-marco { scrollbar-width: thin; scrollbar-color: var(--go-line-control) transparent; }
.inv-tabla { min-width: 720px; }
.inv-tabla th,
.inv-tabla td { padding-top: 0; padding-bottom: 0; height: 48px; vertical-align: middle; }
.inv-tabla thead th { height: auto; padding-top: 8px; padding-bottom: 10px; }
.inv-tabla__grupo th {
  height: auto; padding: 24px 0 10px; border-bottom: 1px solid var(--go-line-strong);
  font: 800 1.0625rem/1.2 var(--go-font-display); color: var(--go-blanco);
}
.inv-tabla tbody:first-of-type .inv-tabla__grupo th { padding-top: 14px; }
.inv-tabla__grupo-n { margin-left: 12px; font: 600 0.875rem/1 var(--go-font-body); color: var(--go-text-muted); }
.inv-tabla tbody tr.inv-tabla__grupo:hover { background: none; }
.inv-tabla__ref {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 0.8125rem;
  color: var(--go-blanco); text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.35); text-underline-offset: 4px;
}
.inv-tabla__ref:hover { text-decoration-color: var(--go-naranja); }
.inv-tabla__marca { font-weight: 700; color: var(--go-blanco); }
.inv-tabla td.inv-c-lote { white-space: nowrap; }
.inv-tabla__lote-n { display: block; font: 600 0.9375rem/1.25 var(--go-font-body); color: var(--go-blanco); }
.inv-tabla__lote { display: block; font: 500 0.75rem/1.3 var(--go-font-mono); color: var(--go-text-muted); }
.inv-foto {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  font: 700 0.8125rem/1.2 var(--go-font-display); letter-spacing: 0.08em; text-transform: uppercase;
}
.inv-foto::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.inv-foto--lote,
.inv-foto--modelo { color: var(--go-cian); }
.inv-foto--propia { color: var(--go-verde); }
.inv-foto--proceso { color: var(--go-ambar); }
.inv-tabla tfoot td { white-space: nowrap; }

.inv-p { margin-top: clamp(40px, 5vw, 64px); padding-top: 28px; border-top: 1px dashed rgba(245, 166, 35, 0.55); }
.inv-p__titulo { margin-bottom: 18px; }
.inv-p__rejilla { display: grid; gap: 16px; }
.inv-p__lista { display: grid; gap: 0; margin: 2px 0 0; padding: 0; list-style: none; }
.inv-p__lista li {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0;
  border-bottom: 1px solid var(--go-line); font: 600 0.9375rem/1.35 var(--go-font-body); color: var(--go-text-muted);
}
.inv-p__lista b { color: var(--go-blanco); font-family: var(--go-font-display); }
.inv-p__lista .id-mono { color: var(--go-blanco); }

@media (min-width: 900px) {
  .inv-p__rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Celular: cada renglón de las tablas del anexo se vuelve un bloque legible, sin
   columnas escondidas a la derecha. Tabla de unidades:
     887436  International LT Hi Rise Euro
     2022 · 676 mil km · $1,990,000 · ● Foto del lote
   Resumen por plaza:  Querétaro ········ 20 unidades / Año 2020–2021 · 450–900 mil km / Precio …
   Los roles ARIA (inventario.js) mantienen la semántica de tabla con display cambiado. */
@media (max-width: 599.98px) {
  .inv-tabla-marco,
  .inv-resumen-marco { overflow: visible; }
  .inv-tabla,
  .inv-resumen { display: block; min-width: 0; }
  .inv-tabla caption,
  .inv-resumen caption { display: block; }
  .inv-tabla thead,
  .inv-resumen thead {
    position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
  .inv-tabla tbody, .inv-tabla tfoot,
  .inv-resumen tbody, .inv-resumen tfoot { display: block; }
  .inv-tabla tr,
  .inv-resumen tr {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px;
    padding: 10px 0; border-bottom: 1px solid var(--go-line);
  }
  .inv-tabla th, .inv-tabla td,
  .inv-resumen th, .inv-resumen td {
    display: block; height: auto; padding: 0 !important; border: 0; text-align: left;
  }
  .inv-tabla tbody tr:hover,
  .inv-resumen tbody tr:hover { background: none; }

  /* Unidades: renglón 1 = ref + unidad; renglón 2 = año · km · precio · foto */
  .inv-tabla .inv-c-ref { flex: 0 0 64px; }
  .inv-tabla .inv-c-unidad { flex: 1 1 calc(100% - 74px); min-width: 0; font-size: 0.9375rem; }
  .inv-tabla .inv-c-anio { flex: 0 0 64px; }
  .inv-tabla td.num { text-align: left; }
  .inv-tabla .inv-c-km,
  .inv-tabla .inv-c-precio { flex: 0 0 auto; }
  .inv-tabla .inv-c-foto { flex: 0 1 auto; }
  .inv-tabla .inv-c-lote { display: none; }
  .inv-tabla__ref { min-height: 40px; }
  .inv-foto { white-space: normal; text-transform: none; letter-spacing: 0; font-size: var(--go-texto-min-movil); }
  .inv-tabla .inv-tabla__grupo { display: block; padding: 22px 0 8px; border-bottom: 1px solid var(--go-line-strong); }
  .inv-tabla tbody:first-of-type .inv-tabla__grupo { padding-top: 6px; }
  .inv-tabla .inv-tabla__grupo th { border: 0; }
  .inv-tabla tfoot tr { justify-content: space-between; border-bottom: 0; border-top: 2px solid var(--go-blanco); }

  /* Resumen por plaza: renglón 1 = plaza + unidades; 2 = año · recorrido; 3 = precio */
  .inv-resumen td.num { text-align: left; }
  /* plaza + unidades llenan el renglón 1 (así el año siempre baja al 2) */
  .inv-resumen .inv-c-plaza { flex: 1 1 calc(100% - 122px); min-width: 0; }
  .inv-resumen td.inv-c-n { flex: 0 0 112px; text-align: right; font-weight: 700; }
  .inv-resumen .inv-c-n::after { content: " " attr(data-etiqueta); font-weight: 500; color: var(--go-text-muted); }
  .inv-resumen .inv-c-anio { flex: 0 0 auto; }
  .inv-resumen .inv-c-km { flex: 1 1 auto; }
  .inv-resumen .inv-c-km::before { content: "· "; color: var(--go-text-muted); }
  .inv-resumen .inv-c-precio { flex: 0 0 100%; }
  .inv-resumen .inv-c-anio::before,
  .inv-resumen .inv-c-precio::before { content: attr(data-etiqueta) " "; font-weight: 500; color: var(--go-text-muted); }
  .inv-resumen tfoot tr { border-bottom: 0; border-top: 2px solid var(--go-blanco); }
  .inv-resumen tfoot th, .inv-resumen tfoot td { border: 0; font-size: 1rem; }
}
@media (min-width: 1100px) {
  .inv-anexo__rejilla { grid-template-columns: 320px minmax(0, 1fr); column-gap: 56px; align-items: start; }
  .inv-tabla { min-width: 0; }
}

/* --------------------------------------------------------------------------
   Escalera: dos peldaños (Go On arriba, opción de valor abajo)
   -------------------------------------------------------------------------- */
.inv-escalera__intro { display: grid; gap: 8px 48px; margin-bottom: clamp(40px, 5vw, 64px); }
.inv-escalera__intro .encabezado { margin-bottom: 0; }
/* El folio ocupa toda la fila: su regla llega hasta donde acaba la información */
.inv-escalera__folio { grid-column: 1 / -1; margin-bottom: calc(clamp(8px, 2vw, 24px) + 10px); }
.inv-peldanos { display: grid; gap: 28px; }
.inv-peldanos__pregunta {
  display: grid; gap: 8px; justify-items: start; max-width: 640px; margin-top: 8px; padding: 18px 20px;
  background: var(--go-bg); border: 1px solid var(--go-line-strong); border-left: 4px solid var(--go-navy);
  border-radius: var(--go-radio-editorial);
}
.inv-peldanos__clave {
  margin: 0; font: 700 0.8125rem/1.3 var(--go-font-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--go-text-muted);
}
.inv-peldanos__texto { margin: 0; font: 800 clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem)/1.2 var(--go-font-display); letter-spacing: -0.01em; }
.inv-peldanos__chips { margin-top: 4px; }

.inv-peldano { position: relative; padding: clamp(28px, 3.4vw, 48px) clamp(22px, 3vw, 44px) clamp(24px, 3vw, 40px); border-radius: var(--go-radio-editorial); }
.inv-peldano--goon {
  background: var(--go-grad-radial); background-color: var(--go-navy); color: var(--go-text);
  border-top: 6px solid var(--go-naranja); box-shadow: var(--go-sombra-3);
}
.inv-peldano--valor {
  margin-left: clamp(18px, 5vw, 40px); background: var(--go-surface);
  border: 1px solid var(--go-line-control); border-top: 6px solid var(--go-line-control);
}
.inv-peldano__salida {
  position: absolute; top: -17px; left: clamp(22px, 3vw, 44px); margin: 0;
  display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px;
  font: 800 0.8125rem/1 var(--go-font-display); letter-spacing: 0.14em; text-transform: uppercase;
  border-radius: var(--go-radio-editorial);
}
.inv-peldano--goon .inv-peldano__salida { background: var(--go-navy-profundo); color: var(--go-blanco); border: 1px solid var(--go-naranja); }
.inv-peldano--valor .inv-peldano__salida { background: var(--go-surface); color: var(--go-text); border: 1px solid var(--go-line-control); }
.inv-peldano__logo { height: clamp(34px, 3vw, 44px); width: auto; margin: 6px 0 20px; }
.inv-peldano__titulo { margin: 10px 0 12px; font: 900 clamp(1.75rem, 1.3rem + 1.7vw, 2.625rem)/1.04 var(--go-font-display); letter-spacing: -0.02em; }
.inv-peldano--valor .inv-peldano__titulo { font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem); }
.inv-peldano__texto { margin: 0 0 12px; max-width: 46ch; color: var(--go-text-muted); }
.inv-peldano__texto b { color: var(--go-text); font: 800 1.0625rem/1 var(--go-font-display); }
.inv-peldano .enlace-flecha,
.inv-peldano .btn { margin-top: 12px; }
.inv-proporcion { max-width: 420px; height: 6px; margin: 16px 0 12px; background: rgba(255, 255, 255, 0.16); }
.inv-proporcion > span { display: block; width: 0; height: 100%; background: var(--go-naranja); }

@media (min-width: 900px) {
  .inv-escalera__intro { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); align-items: end; }
  .inv-peldanos { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); column-gap: 0; align-items: start; }
  .inv-peldano--goon { z-index: 1; }
  .inv-peldano--valor {
    margin: clamp(88px, 9vw, 132px) 0 0; border-left: 0; border-radius: 0 var(--go-radio-editorial) var(--go-radio-editorial) 0;
  }
  .inv-peldano--valor .inv-peldano__salida { left: clamp(28px, 3vw, 44px); }
}

/* --------------------------------------------------------------------------
   Movimiento reducido e impresión
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .inv-resultados--entra > .tarjeta { animation: none; }
  .inv-hoja[open] { animation: none; }
  .inv-histograma > span { transition: none; }
}
@media print {
  /* inventario.js agrega todas las fichas antes de imprimir; aquí se quita lo interactivo */
  .inv-lateral, .inv-barra, .inv-aplicaciones, .inv-activos, .inv-hoja,
  .inv-anexo__boton, .inv-vacio__acciones, .inv-mas, .inv-aviso__acciones { display: none !important; }
  .inv-anexo__cuerpo[hidden] { display: block !important; }
  .inv-disposicion { display: block; }
  .inv-resultados { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inv-resultados--entra > .tarjeta { animation: none !important; }
}

/* --------------------------------------------------------------------------
   Sin JavaScript (o si el JS no terminó: el vigía quita html.js)
   Los filtros no sirven sin JS: se ocultan y el catálogo remite al anexo.
   -------------------------------------------------------------------------- */
html:not(.js) .inv-cargando__js { display: none; }
html:not(.js) .inv-cargando__sinjs { display: inline; }
html:not(.js) .inv-lateral,
html:not(.js) .inv-barra,
html:not(.js) .inv-aplicaciones,
html:not(.js) .inv-anexo__boton { display: none !important; }
html:not(.js) .inv-disposicion { display: block; }
/* La tabla solo se abre sin JS si trae renglones (cuando el build los estampe); si no,
   el mensaje del catálogo tampoco remite a ella. */
.inv-cargando__anexo { display: none; }
html:not(.js) .inv-anexo__cuerpo[hidden]:has(tbody tr) { display: block !important; }
html:not(.js) main:has(.inv-tabla tbody tr) .inv-cargando__anexo { display: inline; }

/* --------------------------------------------------------------------------
   Celular: texto informativo ≥ 14 px (--go-texto-min-movil). Las etiquetas en
   mayúsculas de la página (y las de componentes dentro de ella) suben de 13 a 14 px
   y cierran un poco el tracking para no partirse. Los ids en mono se quedan chicos.
   -------------------------------------------------------------------------- */
@media (max-width: 600px) {
  .inv-grupo__titulo,
  .inv-aplicaciones__titulo,
  .inv-peldanos__clave,
  .inv-peldano__salida,
  .inv-metodo__lista dt,
  .inv-plegable__activo:not(:empty),
  .inv-insignia,
  .inv-portada .etiqueta,
  .inv-catalogo .etiqueta,
  .inv-catalogo .folio,
  .inv-resultados .tarjeta__marca,
  .inv-anexo .etiqueta,
  .inv-anexo .folio,
  .inv-anexo .tabla caption,
  .inv-anexo .tabla thead th,
  .inv-escalera .etiqueta,
  .inv-escalera .folio,
  .inv-escalera .chip,
  .inv-resultados .tarjeta__insignia,
  .inv-resultados .tarjeta__monto small { font-size: var(--go-texto-min-movil); letter-spacing: 0.08em; }
}
