html, body {
  background-color: #f4f6f8;
  overflow-x: hidden; /* evita scroll horizontal de toda la página en móvil */
}

/* Evita el zoom automático de iOS en inputs/selects con font-size < 16px */
.form-control, .form-select {
  font-size: 1rem;
}

/* Objetivos táctiles cómodos (~44px) en botones y controles de formulario */
.btn, .form-control, .form-select {
  min-height: 44px;
}
.btn-sm {
  min-height: 36px;
}

.tabla-scroll {
  max-height: calc(100vh - 270px);
  overflow-y: auto;
  overflow-x: auto; /* tablas anchas (grillas de captura) se desplazan en horizontal en pantallas chicas */
  -webkit-overflow-scrolling: touch;
}
.tabla-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #212529;
  color: #fff;
}
/* Primera columna fija (ej. piscina/hora) al desplazar una grilla ancha en horizontal */
.tabla-scroll .col-fija {
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
}
.tabla-scroll thead th.col-fija {
  z-index: 3;
}

.card-login {
  max-width: 380px;
  margin: 8vh auto;
}

/* Barra de cuadre fija — pedido del usuario: los números de libras no deben moverse al
   hacer scroll, porque eso lleva a errores (no se sabe qué se está mirando). */
.cuadre-bar-fija {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background: #212529;
  color: #fff;
  padding: .5rem .75rem;
  font-size: .8rem;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, .25);
}
.cuadre-bar-fija strong {
  color: #fff;
}
body.tiene-cuadre-fija {
  padding-bottom: 4.5rem; /* espacio para que la barra fija no tape contenido */
}

/* Título de cada pantalla de proceso con color de fondo propio (pedido del usuario, ronda
   17) — para identificar de un vistazo en cuál formulario se está y no equivocarse de
   proceso al capturar. Colores deliberadamente distintos de bg-warning-subtle/bg-success-
   subtle (ya usados dentro de la página para "antes de procesar"/"ya procesado"). */
.titulo-proceso {
  padding: .5rem .9rem;
  border-radius: .5rem;
  display: inline-block;
}
.titulo-recepcion { background: #cfe2ff; color: #084298; }
.titulo-descongelado { background: #cff4fc; color: #055160; }
.titulo-clasificado-entero { background: #e2d9f3; color: #3d1a70; }
.titulo-clasificado-cola { background: #d1f2eb; color: #0a4d3c; }
.titulo-descabezado { background: #ffe5d0; color: #7a3c00; }
.titulo-pelado { background: #f7d6e6; color: #7a1450; }
.titulo-inventario-inicial { background: #e2e3e5; color: #41464b; }

@media (max-width: 575.98px) {
  .card-login {
    max-width: 100%;
    margin: 4vh 0.5rem;
  }
  .tabla-scroll {
    max-height: calc(100vh - 220px);
  }
  .navbar-brand span.brand-full {
    display: none; /* en pantallas muy angostas se muestra solo el ícono, no el texto completo */
  }
}
