/**
 * ONLAB Campus — Ajustes responsive transversales.
 */
@media (max-width: 720px) {
  .app-content { padding: var(--space-sm); }
  .page-head h1 { font-size: var(--font-size-lg); }
  .stat-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
  .card__body { padding: var(--space-sm); }
  .modal { max-height: 92vh; }
}

@media (max-width: 480px) {
  .role-select-grid { grid-template-columns: 1fr; }
  .field-grid { grid-template-columns: 1fr; }
  .auth-card { padding: var(--space-md); }
}

/* Botones y áreas táctiles: nunca por debajo de 44px en cualquier ancho */
@media (pointer: coarse) {
  .btn, .icon-btn, .nav-link, select, input, textarea {
    min-height: 44px;
  }
}

/* Nunca permitir scroll horizontal general.
 * ONC-2 FIX: `clip` y no `hidden`. `overflow-x: hidden` convierte al elemento en
 * contenedor de scroll y rompe `position: sticky` de sus hijos: el menú lateral
 * dejaba de acompañar la página y quedaba una franja vacía al desplazarse. */
html, body { overflow-x: clip; }
.app-shell { overflow-x: clip; }
