.main-sidebar .brand-text p {
    white-space: normal;
}

.main-sidebar {
    display: flex;
    flex-direction: column; /* Stack children vertically */
    height: 100vh; /* Full viewport height */
}

.main-sidebar .brand-link {
    flex: 0 0 auto; /* Natural height (doesn't grow or shrink) */
}

.main-sidebar .sidebar {
    flex: 1 1 auto; /* Take up remaining space */
}

/* Animación y alineación moderna para el menú lateral de AdminLTE */

/* Alineación y márgenes uniformes */
.main-sidebar .nav-sidebar .nav-item {
  margin-bottom: 6px;
}
.main-sidebar .nav-sidebar .nav-link {
  display: flex;
  align-items: center;
  padding: 10px 18px;
  border-radius: 10px;
  transition: background 0.2s, box-shadow 0.2s;
  font-size: 1.04rem;
}
.main-sidebar .nav-sidebar .nav-link .nav-icon {
  font-size: 1.35em;
  margin-right: 12px;
  transition: transform 0.28s cubic-bezier(.4,2,.6,1), color 0.2s;
  will-change: transform, color;
  /* Para forzar repintado en algunos navegadores */
  backface-visibility: hidden;
  display: inline-block; /* Asegura que el icono pueda transformarse */
}

/* Animación al pasar el mouse */
.main-sidebar .nav-sidebar .nav-link:hover {
  background: linear-gradient(90deg, #6f42c1 0%, #007bff 100%);
  color: #fff !important;
  box-shadow: 0 2px 12px rgba(44,62,80,0.10);
}
.main-sidebar .nav-sidebar .nav-link:hover .nav-icon {
  transform: translateY(-7px) scale(1.18) rotate(-10deg);
  color: #ffe082;
  animation: bounceMenuLite 0.28s;
}

@keyframes bounceMenuLite {
  0% { transform: scale(1.08) translateY(0); }
  40% { transform: scale(1.12) translateY(-4px); }
  70% { transform: scale(1.06) translateY(1px); }
  100% { transform: scale(1.08) translateY(-2px); }
}

/* Mejorar submenús */
.main-sidebar .nav-sidebar .nav-treeview .nav-link {
  padding-left: 38px;
  font-size: 0.98rem;
  border-radius: 8px;
}

/* Opcional: resaltar el activo */
.main-sidebar .nav-sidebar .nav-link.active {
  background: linear-gradient(90deg, #007bff 0%, #6f42c1 100%);
  color: #fff !important;
  font-weight: bold;
  box-shadow: 0 2px 12px rgba(44,62,80,0.13);
}
