/* assets/css/responsive.css */

@media (max-width: 1024px) {
  .grid-dos-col { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .sidebar { transform: translateX(-100%); box-shadow: var(--sombra-lg); position: fixed; }
  .sidebar.abierto { transform: translateX(0); }
  .contenido { margin-left: 0; }
  .navbar__toggle { display: flex; align-items: center; justify-content: center; }
  .navbar__search { display: none; }
  .grid-form-2 { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .contenido__cuerpo { padding: var(--espacio-3); }
  .encabezado-pagina { flex-direction: column; align-items: flex-start; }
  .navbar { padding: 0 var(--espacio-3); }
  .navbar__usuario-info { display: none; }
  .grid-kpis { grid-template-columns: repeat(2, 1fr); }
  .modal { max-width: 100%; margin: var(--espacio-3); }
  table.tabla th:nth-child(n+4), table.tabla td:nth-child(n+4) { display: none; }
  .tabla-acciones-col { display: table-cell !important; }
}

@media (max-width: 420px) {
  .grid-kpis { grid-template-columns: 1fr; }
  .login-card { padding: var(--espacio-5); }
}

/* En móvil se conserva el comportamiento de panel deslizable completo. */
@media (max-width: 900px) {
  .sidebar__colapsar { display: none !important; }
  html.sidebar-colapsado .sidebar.sidebar--admin {
    width: var(--sidebar-ancho);
    padding: 22px 14px;
  }
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__logo {
    justify-content: flex-start;
    padding: 6px 10px 26px;
  }
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__logo-texto,
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__grupo-titulo,
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__link > span {
    display: inline;
  }
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__grupo {
    margin-bottom: 18px;
    padding-bottom: 0;
    border-bottom: 0;
  }
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__link {
    width: auto;
    min-height: 0;
    margin: 0 0 2px;
    padding: 9px 12px;
    justify-content: flex-start;
    gap: 11px;
  }
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__link svg {
    width: 17px;
    height: 17px;
  }
  html.sidebar-colapsado .sidebar.sidebar--admin .sidebar__footer {
    padding: 14px 12px 4px;
  }
  html.sidebar-colapsado .contenido { margin-left: 0; }
  .sidebar-tooltip { display: none !important; }
}
