/* =====================================================================
 * REPUESTOS + MENÚ PLEGABLE (27/09/2026)
 * El formato de la pantalla de stock de repuestos-sa, con las columnas de
 * motor. Tokens de index.html (--sp-*, --fs-*, --r-*): nada suelto.
 *
 * ⚠ LA REGLA DE ESTA PANTALLA: NUNCA scroll de costado. La tabla es de
 * lectura (se edita en la ficha) y pasa a tarjetas según el espacio REAL que
 * le queda (container query sobre .rp-lista), no según la pantalla: con el
 * menú abierto o plegado cambia el espacio y se acomoda sola.
 * ===================================================================== */

/* ---------------- el menú lateral, plegable a íconos (solo PC) ---------------- */
.sidebar{transition:width .2s}
.sb-plegar{margin-left:auto;flex-shrink:0;width:32px;height:32px;display:inline-grid;place-items:center;
  padding:0;background:none;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);cursor:pointer}
.sb-plegar:hover{color:var(--ink);border-color:var(--border-strong)}
.sb-plegar:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
.sb-plegar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;
  stroke-linejoin:round;transition:transform .2s}
.layout.plegado .sidebar{width:68px}
.layout.plegado .sb-brand{flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2)}
.layout.plegado .sb-brand .t,.layout.plegado .sb-user .info,.layout.plegado .item .lbl{display:none}
.layout.plegado .sb-plegar{margin-left:0}
.layout.plegado .sb-plegar svg{transform:rotate(180deg)}
.layout.plegado .sb-user{justify-content:center;margin:0 var(--sp-2) var(--sp-2);padding:var(--sp-2)}
/* los títulos de grupo se vuelven una rayita: el orden se sigue leyendo */
.layout.plegado .grp{font-size:0;line-height:0;padding:0;margin:var(--sp-3) var(--sp-3) var(--sp-2);border-top:1px solid var(--border)}
.layout.plegado nav{padding:var(--sp-2) var(--sp-1)}
.layout.plegado .item{justify-content:center;position:relative;min-height:42px;padding:var(--sp-2) 0}
.layout.plegado .item .ic{width:auto;font-size:var(--fs-xl)}
/* el contador sigue a la vista, chiquito sobre el ícono */
.layout.plegado .item .pip{position:absolute;top:3px;right:8px;margin:0;min-width:16px;height:16px;line-height:16px;
  font-size:10px;padding:0 4px}
@media(max-width:760px){
  /* en el celular el menú es el panel que entra desde la izquierda: sin plegado */
  .sb-plegar{display:none}
  .layout.plegado .sidebar{width:238px}
  .layout.plegado .sb-brand{flex-direction:row;padding:var(--sp-4)}
  .layout.plegado .sb-brand .t,.layout.plegado .sb-user .info,.layout.plegado .item .lbl{display:revert}
  .layout.plegado .sb-user{justify-content:flex-start;margin:0 var(--sp-4) var(--sp-2);padding:var(--sp-3)}
  .layout.plegado .grp{font-size:var(--fs-xs);line-height:normal;padding:var(--sp-4) var(--sp-3) var(--sp-2);margin:0;border:0}
  .layout.plegado .item{justify-content:flex-start;padding:var(--sp-3)}
  .layout.plegado .item .pip{position:static;margin-left:auto}
}
@media (prefers-reduced-motion:reduce){ .sidebar,.sb-plegar svg{transition:none} }

/* ---------------- la cabecera de Repuestos ---------------- */
/* ⚠ El formato es el de repuestos-sa (Control de stock), medido en producción el 27/09/2026:
   una hoja con borde que contiene todo; el título con TODOS los botones en la misma fila, a la
   derecha, y el principal (Contar) al final; la bajada abajo, a lo ancho. */
.rp-hoja{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4)}
.rp-cab{display:flex;align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}
.rp-cab .page-h{margin:0 auto 0 0}
.rp-cab .btn,.rp-cab button{white-space:nowrap}
.rp-contar-b{display:inline-flex;align-items:center;gap:6px;padding:var(--sp-2) var(--sp-4)}
.rp-hoja > .page-s{margin-bottom:var(--sp-4)}

/* los números de arriba: se tocan (filtran la lista) */
.rp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}
.rp-kpi{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--sp-3) var(--sp-4);min-width:0;
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--ink);font:inherit}
button.rp-kpi{cursor:pointer}
button.rp-kpi:hover{border-color:var(--border-strong)}
.rp-kpi:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
.rp-kpi .kpi-r{order:2;overflow-wrap:anywhere;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}
.rp-kpi b{order:1;color:var(--neg)}
.rp-kpi small{order:3}
.rp-kpi b{font-size:var(--fs-2xl);font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.rp-kpi small{font-size:var(--fs-sm);color:var(--muted)}
.rp-kpi.mal b{color:var(--bad)}
.rp-kpi.ok b{color:var(--ok)}
.rp-kpi.on{border-color:var(--neg);box-shadow:inset 0 0 0 1px var(--neg)}

/* buscador + vistas */
.rp-barra{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-3)}
.rp-barra .rp-q{flex:1 1 260px;min-width:0}
.rp-vistas{display:flex;flex-wrap:wrap;gap:var(--sp-1)}
.rp-vistas .btn{white-space:nowrap}
.rp-vistas .n{margin-left:6px;font-weight:800;color:var(--subtle);font-variant-numeric:tabular-nums}
/* ⚠ la vista elegida SE VE (en repuestos-sa la clase «on» no cambia nada y no se sabe cuál está puesta) */
.rp-vistas .btn.on{border-color:var(--neg);background:var(--neg-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--neg)}
.rp-vistas .btn.on .n{color:inherit}
.rp-barra .btn{white-space:nowrap}
.rp-ingresar{background:var(--ok);border-color:var(--ok);color:#052e1c}
.rp-ingresar:hover{filter:brightness(1.06)}
/* la tabla en una caja con borde, y el encabezado con su banda de fondo */
.rp-caja{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.rp-caja .placeholder{border:0;border-radius:0}
table.rp thead th{background:var(--panel-2);padding:10px 6px}
/* el aire de los costados, SOLO en modo tabla: en las tarjetas la celda de la foto mide 48 px y con 12 de más la foto se salía */
@container (min-width: 841px){
  table.rp thead th:first-child,table.rp td:first-child{padding-left:12px}
  table.rp thead th:last-child,table.rp td:last-child{padding-right:12px}
}
.rp-caja .rp-mas-filas{padding:var(--sp-3) 12px}
.rp-filtro{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin:0 0 var(--sp-3);font-size:var(--fs-md);color:var(--muted)}

/* ---------------- la lista: tabla de lectura ---------------- */
.rp-lista{container-type:inline-size}
table.rp{width:100%;border-collapse:collapse;font-size:var(--fs-md)}
table.rp th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);
  font-weight:800;padding:var(--sp-2) 6px;border-bottom:1px solid var(--border);white-space:nowrap}
table.rp td{padding:var(--sp-2) 6px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}
table.rp th.num,table.rp td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.rp tbody tr{cursor:pointer}
table.rp tbody tr:hover td{background:rgba(255,255,255,.03)}
table.rp tbody tr:focus-visible{outline:2px solid var(--brand-2);outline-offset:-2px}
table.rp td.rp-c-foto{width:48px;padding-right:0}
/* el nombre ocupa lo que sobra y, si es largo, hace hasta DOS renglones y corta con «…»:
   un nombre de 60 letras no puede hacer que un renglón mida el triple que los otros */
table.rp td.rp-c-nom{width:100%;min-width:0}
.rp-nom{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:700;overflow-wrap:anywhere}
.rp-tipo,.rp-uni{color:var(--muted);white-space:nowrap}
.rp-estado{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--fs-sm);white-space:nowrap}

.rp-foto{width:40px;height:40px;border-radius:var(--r-sm);object-fit:cover;display:block;background:rgba(255,255,255,.06);
  border:1px solid var(--border)}
.rp-foto.vacia{display:grid;place-items:center;font-size:var(--fs-lg);color:var(--subtle)}

/* el − / + de «Hay», en el renglón */
.rp-hay{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.rp-hay b{min-width:34px;text-align:center;font-size:var(--fs-lg);font-variant-numeric:tabular-nums}
.rp-hay b.neg{color:var(--bad)}
.rp-mini{width:30px;height:30px;min-height:0;padding:0;border-radius:var(--r-pill);border:1px solid var(--border-strong);
  background:transparent;color:var(--ink);font-size:var(--fs-lg);line-height:1;cursor:pointer;flex-shrink:0}
.rp-mini:hover:not(:disabled){background:rgba(255,255,255,.07);border-color:var(--neg)}

/* lo que solo existe en la tarjeta (en la tabla ya está en sus columnas) */
.rp-meta-t{display:none}
table.rp td.rp-c-plata{display:none}

/* ⚠ el cambio a tarjetas: cuando el espacio de la lista no alcanza para las 10
   columnas SIN apretarlas. Medido: por debajo de ~900 px el nombre quedaba en
   una palabra por renglón. */
@container (max-width: 840px){
  table.rp thead{display:none}
  table.rp,table.rp tbody{display:block;width:100%}
  /* el nombre va arriba y a lo ancho: al lado del − / + le quedaban 100 px */
  table.rp tbody tr{display:grid;grid-template-columns:48px minmax(0,1fr) auto;
    grid-template-areas:"foto nom nom" "foto meta meta" "foto estado hay" "foto plata plata";
    gap:4px var(--sp-3);padding:var(--sp-3) var(--sp-2);border-bottom:1px solid rgba(255,255,255,.06)}
  table.rp tbody tr:last-child{border-bottom:0}
  table.rp td{display:block;padding:0;border:0;width:auto!important}
  table.rp td.rp-c-foto{grid-area:foto;align-self:start}
  table.rp td.rp-c-nom{grid-area:nom;min-width:0}
  table.rp td.rp-c-tipo{grid-area:meta;min-width:0}
  table.rp td.rp-c-uni{display:none}
  table.rp td.rp-c-hay{grid-area:hay;justify-self:end;align-self:center}
  table.rp td.rp-c-min{display:none}
  table.rp td.rp-c-est{grid-area:estado;align-self:center}
  table.rp td.rp-c-plata{display:block;grid-area:plata;text-align:left!important;white-space:normal}
  table.rp td.rp-c-cos,table.rp td.rp-c-pre,table.rp td.rp-c-mar{display:none}
  .rp-meta-t{display:inline}
  /* en la tarjeta el − / + se toca con el dedo */
  .rp-mini{width:44px;height:44px}
}
/* entre 660 y 840 px de lista, dos tarjetas por renglón: una sola columna de
   900 px deja un hueco enorme entre el nombre y el número */
/* desde 660 (no 600): con la hoja alrededor, a 600 el estado («Bajo mín.») no entraba al lado del − / + */
@container (min-width: 660px) and (max-width: 840px){
  table.rp tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
  table.rp tbody{padding:var(--sp-2)}
  table.rp tbody tr,table.rp tbody tr:last-child{border:1px solid var(--border);border-radius:var(--r-md);background:rgba(255,255,255,.02)}
}

.rp-plata{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.rp-plata b{color:var(--ink);font-weight:700}

/* ---------------- «Por tipo»: una tarjeta por tipo ---------------- */
.rp-grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--sp-3)}
.rp-tarj{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.rp-tarj header{display:flex;align-items:baseline;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);
  background:var(--neg-soft);border-bottom:1px solid var(--border)}
.rp-tarj header b{font-size:var(--fs-lg);flex:1;min-width:0;overflow-wrap:anywhere}
.rp-tarj header span{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}
.rp-tarj ul{list-style:none;margin:0;padding:var(--sp-2) 0;flex:1}
.rp-tarj li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-2);align-items:baseline;padding:4px var(--sp-4);font-size:var(--fs-md)}
.rp-tarj li span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.rp-tarj li b{font-variant-numeric:tabular-nums}
.rp-tarj li.flojo b{color:var(--bad)}
.rp-tarj .resto{color:var(--subtle);font-style:italic}
.rp-ver{border:0;border-radius:0;border-top:1px solid var(--border);background:transparent;padding:var(--sp-3);color:var(--muted);
  font:inherit;font-weight:700;cursor:pointer;width:100%;min-height:44px}
.rp-ver:hover{background:var(--neg-soft);color:var(--ink)}

/* ---------------- la ficha del repuesto (en el modal) ---------------- */
.rp-ficha{display:grid;grid-template-columns:168px minmax(0,1fr);gap:var(--sp-4);align-items:start}
.rp-fotobox{display:flex;flex-direction:column;gap:var(--sp-2)}
.rp-fotogr{width:168px;height:168px;border-radius:var(--r-md);object-fit:cover;background:rgba(255,255,255,.05);
  border:1px solid var(--border);display:block;cursor:zoom-in}
.rp-fotogr.vacia{display:grid;place-items:center;text-align:center;cursor:default;border-style:dashed;color:var(--subtle);font-size:var(--fs-sm)}
.rp-fotogr.vacia span{font-size:32px;display:block}
.rp-fotobox .btn{width:100%}
.rp-step{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.rp-step input{width:96px;min-width:0;text-align:center;font-variant-numeric:tabular-nums}
.rp-step button{min-width:44px;padding:var(--sp-2) 0}
.rp-dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2) var(--sp-3)}
.rp-dos > div{min-width:0}
.rp-prev{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--muted)}
.rp-prev b{color:var(--ink)}
.rp-h4{font-size:var(--fs-sm);font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:var(--sp-4) 0 var(--sp-2)}
.rp-hist{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:280px;overflow-y:auto}
.rp-hist li{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:var(--sp-2);align-items:baseline;
  padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm)}
.rp-hist li span{min-width:0;overflow-wrap:anywhere}
.rp-hist li > .tag{white-space:nowrap}
.rp-delta{font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.rp-delta.mas{color:var(--ok)}
.rp-delta.menos{color:var(--bad)}
.rp-sacar{margin-top:var(--sp-4);display:flex;justify-content:flex-start}
@media(max-width:620px){
  .rp-ficha{grid-template-columns:minmax(0,1fr)}
  .rp-fotobox{flex-direction:row;align-items:center}
  .rp-fotogr{width:96px;height:96px}
  .rp-fotobox .rp-fotobtn{flex:1;display:flex;flex-direction:column;gap:var(--sp-2)}
  .rp-dos{grid-template-columns:minmax(0,1fr)}
}

/* la foto en grande */
.rp-visor{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.88);display:grid;place-items:center;padding:var(--sp-5);cursor:zoom-out}
/* grande siempre (hasta 960 px): a su tamaño natural, una foto chica quedaba como un cuadradito en el
   medio; con object-fit la foto parada entra entera en la altura de la pantalla, sin deformarse */
.rp-visor img{width:min(100%,960px);height:auto;max-height:calc(100vh - 2*var(--sp-5));border-radius:var(--r-md);object-fit:contain;background:#000}

/* ---------------- movimientos (modal) ---------------- */
.rp-chips{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}

/* ---------------- importar (modal) ---------------- */
.rp-soltar{display:grid;place-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);
  border:1px dashed var(--border-strong);border-radius:var(--r-md);background:rgba(255,255,255,.03);cursor:pointer}
.rp-soltar.encima{border-color:var(--neg);background:var(--neg-soft)}
.rp-soltar b{font-size:var(--fs-lg)}
.rp-resumen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2);margin:var(--sp-3) 0}
.rp-resumen div{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);min-width:0}
.rp-resumen b{display:block;font-size:var(--fs-xl);font-variant-numeric:tabular-nums}
.rp-resumen span{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.rp-resumen .mal b{color:var(--bad)}
.rp-cambios{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:300px;overflow-y:auto}
.rp-cambios li{padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);overflow-wrap:anywhere}
.rp-cambios li b{color:var(--ink)}
.rp-cambios li.err{border-color:rgba(248,113,113,.4)}
@media(max-width:620px){ .rp-resumen{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ---------------- CONTAR, a pantalla completa ---------------- */
.rp-contar{position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;background:var(--bg)}
.rp-contar-cab{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);background:var(--side)}
.rp-contar-cab .t{flex:1;min-width:0}
.rp-contar-cab .t b{display:block;font-size:var(--fs-lg)}
.rp-contar-cab .t small{color:var(--muted);font-size:var(--fs-sm)}
.rp-marcador{text-align:right;line-height:1.1}
.rp-marcador b{display:block;font-size:var(--fs-2xl);font-weight:800;color:var(--neg);font-variant-numeric:tabular-nums}
.rp-marcador small{font-size:var(--fs-xs);color:var(--subtle);text-transform:uppercase;letter-spacing:.06em}
.rp-contar-cuerpo{flex:1;overflow-y:auto;padding:var(--sp-5) var(--sp-4);width:100%;max-width:560px;margin:0 auto}
.rp-grande{width:100%;min-height:56px;font-size:var(--fs-xl);font-weight:700;padding:var(--sp-3) var(--sp-4)}
.rp-res{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:6px}
.rp-res button{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;text-align:left;
  padding:var(--sp-2) var(--sp-3);min-height:52px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer}
.rp-res button:hover{border-color:var(--neg)}
.rp-res button span{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.rp-contando{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3);margin-bottom:var(--sp-4);
  background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md)}
.rp-contando .rp-foto{width:64px;height:64px}
.rp-contando .n{min-width:0}
.rp-contando .n b{display:block;font-size:var(--fs-lg);overflow-wrap:anywhere}
.rp-contando .n small{color:var(--muted);font-size:var(--fs-sm)}
.rp-numero{display:flex;gap:var(--sp-2);align-items:center}
.rp-numero input{flex:1;min-width:0;text-align:center;font-size:30px;font-weight:800;min-height:64px;font-variant-numeric:tabular-nums}
.rp-numero button{width:64px;min-height:64px;font-size:26px;flex-shrink:0}
.rp-contar-acc{display:flex;gap:var(--sp-2);margin-top:var(--sp-4)}
.rp-contar-acc .btn,.rp-contar-acc button{flex:1;min-height:52px}
.rp-vuelta{list-style:none;margin:var(--sp-5) 0 0;padding:0;display:grid;gap:6px}
.rp-vuelta li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-2);padding:7px 10px;border:1px solid var(--border);
  border-radius:var(--r-sm);font-size:var(--fs-sm)}
.rp-vuelta li span{min-width:0;overflow-wrap:anywhere}

@media(max-width:760px){
  .rp-hoja{background:none;border:0;padding:0}
  .rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
  /* los botones del título, en una grilla pareja de dos (sueltos quedaban escalonados); Contar a lo ancho */
  .rp-cab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .rp-cab .page-h{grid-column:1 / -1}
  .rp-cab .btn,.rp-cab button{width:100%}
  .rp-contar-b{grid-column:1 / -1;justify-content:center}
  .rp-barra .rp-q{flex:1 1 100%}
  .rp-barra > .btn{flex:1 1 calc(50% - var(--sp-3))}
  .rp-vistas{width:100%}
  .rp-vistas .btn{flex:1 1 0;min-width:0;padding-left:var(--sp-2);padding-right:var(--sp-2)}
}

/* ---- lo que faltaba (27/09/2026, al integrarlo) ---- */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.rp-mas-filas{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding-top:var(--sp-3)}
.rp-chips .chip.on{border-color:var(--neg);background:var(--neg-soft);color:var(--ink)}
.rp-hist li[data-art]{cursor:pointer}
.rp-hist li[data-art]:hover{border-color:var(--border-strong);background:rgba(255,255,255,.03)}
.rp-hist li[data-art]:focus-visible,.rp-fotogr:focus-visible,.rp-soltar:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
.rp-step input{flex:1;width:auto}
.rp-filtro .chip{cursor:pointer}
/* la tarjeta del operario no tiene renglón de plata */
@container (max-width: 840px){ table.rp.sin-plata tbody tr{grid-template-areas:"foto nom nom" "foto meta meta" "foto estado hay"} }
.rp-hist li.tag{display:block;white-space:normal}
/* los numéricos sin las flechitas del navegador: se suma con los botones de al lado */
.rp-numero input::-webkit-inner-spin-button,.rp-numero input::-webkit-outer-spin-button,
.rp-step input::-webkit-inner-spin-button,.rp-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.rp-numero input,.rp-step input{-moz-appearance:textfield;appearance:textfield}
/* el − / + de la ficha, a la misma altura que los otros campos del renglón */
.rp-step{align-items:stretch}
.rp-step input{font-size:var(--fs-md);font-weight:800}
.rp-dos.fijo{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){ .guia-x{min-height:44px} }
/* los cuatro números: en cuatro columnas solo si entran enteros («$ 2.309.300» necesita ~180 px) */
.rp-kpis-caja{container-type:inline-size}
@container (max-width: 779px){ .rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* la bajada del negocio arriba del menú: con la flechita al lado ya no entraba en un renglón y
   quedaba «Lubricentro · El Mej…». Hace dos renglones. */
.sb-brand .t{flex:1}
.sb-brand .t small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
/* Repuestos, a todo el ancho (como el de repuestos-sa), con tope para un monitor enorme */
.content.ancha{max-width:1600px}
