.admin-layout { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; }
.admin-sidebar { background: #123f3d; color: white; padding: 24px 18px; position: sticky; top: 0; height: 100vh; }
.admin-sidebar .marca { color: white; margin-bottom: 30px; }
.admin-menu { display: grid; gap: 7px; }
.admin-menu a, .admin-menu button { color: #d9eeee; text-decoration: none; border: 0; background: transparent; text-align: left; padding: 11px 13px; border-radius: 10px; font-weight: 700; }
.admin-menu a:hover, .admin-menu a.activo, .admin-menu button:hover { background: rgba(255,255,255,.12); color: white; }
.admin-main { min-width: 0; }
.admin-topbar { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 28px; background: white; border-bottom: 1px solid var(--borde); }
.admin-contenido { padding: 28px; }
.metricas { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin: 22px 0; }
.metrica { background: white; border: 1px solid var(--borde); border-radius: 16px; padding: 18px; }
.metrica-numero { font-size: 2rem; font-weight: 900; color: var(--primario-oscuro); }
.metrica-etiqueta { color: var(--texto-suave); }
.admin-seccion { margin-top: 26px; }
.admin-acciones { display: flex; gap: 8px; flex-wrap: wrap; }
.usuario-controles { display: flex; gap: 7px; flex-wrap: wrap; }
.usuario-controles select { min-width: 125px; border: 1px solid var(--borde); border-radius: 9px; padding: 7px; }

@media (max-width: 980px) {
  .admin-layout { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; height: auto; }
  .admin-menu { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .metricas { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .admin-menu { grid-template-columns: 1fr 1fr; }
  .admin-topbar, .admin-contenido { padding: 18px; }
  .metricas { grid-template-columns: 1fr; }
}
