/* styles.css - ajustes globales móviles */
html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Header */
.navbar { padding: .35rem 0; }
.navbar-brand img.site-logo { max-height: 44px; width: auto; }
@media (max-width: 576px) {
  .navbar-brand img.site-logo { max-height: 36px; }
  .nav-link { font-size: .95rem; padding: .45rem .5rem; }
}

/* Botones y enlaces táctiles */
.btn, .nav-link {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Tablas responsivas */
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table { width: 100%; }

/* Formularios */
.form-control { font-size: .95rem; padding: .5rem; }

/* Evitar que el header o elementos fijos oculten contenido */
main { padding-top: .5rem; }

/* Pequeños ajustes visuales */
.card { border-radius: .35rem; }
.small-muted { color: #6c757d; font-size: .85rem; }

/* Utilidades */
.hidden-xs { display: none; }
@media (min-width: 576px) {
  .hidden-xs { display: inline; }
}

/* Footer responsive */
.site-footer { border-top: 1px solid rgba(255,255,255,0.06); }
.site-footer .container { max-width: 1200px; }

/* Texto y espaciado */
.site-footer small { font-size: .9rem; color: #e9ecef; }
.site-footer strong { color: #ffffff; }

/* Móvil: apilar y centrar */
@media (max-width: 767.98px) {
  .site-footer .row { text-align: center; }
  .site-footer .col-12 { margin-bottom: .25rem; }
  .site-footer small { display: block; line-height: 1.25; }
}

/* Tablet / escritorio: alinear en una sola línea cuando haya espacio */
@media (min-width: 768px) {
  .site-footer .col-md-6 { display: flex; align-items: center; justify-content: flex-end; }
  .site-footer .col-md-6.text-md-start { justify-content: flex-start; }
}

/* Accesibilidad: contraste y foco */
.site-footer a, .site-footer a:focus { color: #ffffff; outline: none; }
.site-footer a:focus { box-shadow: 0 0 0 3px rgba(255,255,255,0.08); border-radius: 4px; }

/* Evitar overflow horizontal en móviles */
.site-footer { overflow-x: hidden; }

/* consultar_lotes - mejoras visuales */
.card-lote { border-radius: .5rem; margin-bottom: .75rem; box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
.card-lote .card-body { padding: .75rem; }
.lote-label { font-size: .82rem; color: #6c757d; }
.lote-value { font-weight: 600; font-size: 1rem; }

/* Mostrar cards en móvil, tabla en desktop */
.lotes-table { display: none; }
.lotes-cards { display: block; }
@media (min-width: 768px) {
  .lotes-table { display: block; }
  .lotes-cards { display: none; }
}

/* Tabla: más espacio y legibilidad en desktop */
.table thead th { vertical-align: middle; }
.table tbody td { padding: .65rem .75rem; }
.table .text-end { white-space: nowrap; }

/* Contenedor más ancho en desktop */
@media (min-width: 992px) {
  .container { max-width: 1100px; }
}

/* Inputs y botones táctiles */
.form-control { font-size: .95rem; }
.btn { min-height: 40px; }

/* Evitar overflow horizontal en tablas */
.table-responsive { -webkit-overflow-scrolling: touch; }


/* dashboard.css - estilos para dashboard (sin sección "Últimos lotes") */
.hero {
  background: linear-gradient(90deg, rgba(13,110,253,0.95), rgba(0,123,255,0.85));
  color: #fff;
  border-radius: .5rem;
  padding: 1rem;
}

.stat-card { border-radius: .5rem; }
.stat-value { font-size: 1.6rem; font-weight: 700; }

.module-card {
  transition: transform .12s ease, box-shadow .12s ease;
}
.module-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* Small tweaks */
.card .card-body .muted { color: #6c757d; font-size: .9rem; }
.welcome { font-weight: 600; }
.module-link { text-decoration: none; color: inherit; }
.module-icon { font-size: 1.25rem; }

/* Contenedor más ancho en pantallas grandes para mejor lectura */
@media (min-width: 992px) {
  .container { max-width: 1100px; }
}

/* Tabla y celdas */
.table thead th { vertical-align: middle; }
.table tbody td { padding: .65rem .75rem; }
.table .text-end { white-space: nowrap; }

/* Accesibilidad y foco */
.form-control:focus { box-shadow: 0 0 0 0.15rem rgba(13,110,253,0.15); }

/* Sutil sombra para tarjetas */
.card.shadow-sm { box-shadow: 0 1px 3px rgba(0,0,0,0.04); }


/* Hacer que el input visualmente coincida con .grid-value */
.visually-equal {
  font-size: 1rem;        /* mismo tamaño que .grid-value */
  font-weight: 600;       /* mismo peso */
  color: #212529;         /* mismo color */
  line-height: 1.2;
  height: auto;
  min-height: 1.6em;
  display: block;
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: textfield;
}

/* Quitar los controles de número en algunos navegadores para que el input se vea limpio */
.visually-equal::-webkit-outer-spin-button,
.visually-equal::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
