/* submenú */ 
.nav-treeview {   
  padding-left: 2rem;   
  margin-top: 0.3rem;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
  border-left: 2px solid rgba(255,255,255,0.1);
  border-radius: 0 8px 8px 0;
  position: relative;
  transition: all .3s ease;
} 

/* Línea conectora sutil */
.nav-treeview::before {
  content: '';
  position: absolute;
  left: -2px;
  top: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, var(--accent-color), transparent);
  opacity: 0;
  transition: opacity .3s ease;
}

.menu-open > .nav-treeview {   
  background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.05) 100%);
  border-left-color: var(--accent-color);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
} 

.menu-open > .nav-treeview::before {
  opacity: 0.6;
}

/* links principales */ 
.nav-link {   
  display: flex;   
  align-items: center;   
  padding: .5rem 1.2rem;   
  border-radius: var(--default-border-radius);   
  transition: all .25s ease;
  position: relative;
} 

.nav-link:hover {   
  background-color: rgba(255,255,255,0.12);
  transform: translateX(2px);
} 

/* links del submenú */
.nav-treeview .nav-link {
  padding: .4rem 1rem;
  margin: 0.1rem 0;
  font-size: 0.9rem;
  background-color: rgba(255,255,255,0.02);
  border-radius: 6px;
  border-left: 3px solid transparent;
}

.nav-treeview .nav-link:hover {
  background-color: rgba(255,255,255,0.08);
  border-left-color: rgba(255,255,255,0.3);
  transform: translateX(4px);
}

.nav-treeview .nav-link.active {
  background-color: rgba(255,255,255,0.12);
  border-left-color: var(--accent-color);
  color: var(--accent-color);
}

.nav-link p {   
  margin: 0;   
  margin-left: .5rem;   
  flex: 1; 
} 

.nav-icon {   
  font-size: 1.2rem;
  min-width: 1.2rem;
} 

/* Iconos del submenú más pequeños */
.nav-treeview .nav-icon {
  font-size: 1rem;
  opacity: 0.8;
}

/* padre activo */ 
.menu-open > .nav-item > .nav-link {   
  background: linear-gradient(135deg, var(--dark-600) 0%, rgba(255,255,255,0.05) 100%);
  box-shadow: 0 2px 8px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,0.1);
  border-left: 3px solid var(--accent-color);
} 

.menu-open > .nav-item > .nav-link .right {   
  transform: rotate(90deg);   
  transition: transform .3s ease;
} 

/* Separador visual sutil */
.nav-item:not(:last-child) {
  border-bottom: 1px solid rgba(255,255,255,0.05);
  margin-bottom: 0.2rem;
  padding-bottom: 0.2rem;
}

/* Efectos de focus para accesibilidad */
.nav-link:focus {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

/* Animación suave para el contenedor del submenú */
.nav-treeview {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, padding .3s ease, margin .3s ease;
}

.menu-open > .nav-treeview {
  max-height: 500px; /* Ajusta según tus necesidades */
}