body {
  margin: 0;
  font-family: Arial, sans-serif;
  display: flex;
}

.sidebar {
  width: 250px;
  background-color: #5d0378;
  color: #f3e5f5;
  height: 100vh;
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.sidebar h2 {
  text-align: center;
  margin-bottom: 20px;
  color: #ffc107;
}

.menu {
  overflow-y: auto;
  flex-grow: 1;
  padding-right: 5px;
}

/* Personalizar scrollbar */
.menu::-webkit-scrollbar {
  width: 6px;
}
.menu::-webkit-scrollbar-thumb {
  background-color: #ffc107;
  border-radius: 3px;
}
.menu::-webkit-scrollbar-track {
  background: transparent;
}

/* Botones principales */
.menu button.desplegable {
  background: none;
  border: none;
  color: #f3e5f5;
  padding: 10px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-size: 16px;
  outline: none;
  transition: background-color 0.3s, color 0.3s, border-radius 0.3s;
  border-radius: 6px;
}

/* Hover con color y borde redondeado */
.menu button.desplegable:hover {
  background-color: #6f158a;
  color: #ffc107;
  border-radius: 6px;
}

/* Submenús animables */
.submenu {
  max-height: 0;
  overflow: hidden;
  flex-direction: column;
  padding-left: 10px;
  margin-bottom: 10px;
  transition: max-height 0.4s ease;
}

/* Submenú abierto */
.submenu.open {
  max-height: 500px; /* lo suficiente para mostrar todo */
}

/* Enlaces del submenú */
.submenu a {
  color: #e1c4ec;
  text-decoration: none;
  padding: 5px 10px;
  display: block;
  font-size: 14px;
  transition: background-color 0.3s, color 0.3s, padding-left 0.3s, border-radius 0.3s;
  border-radius: 6px;
}

/* Hover en los enlaces del submenú */
.submenu a:hover {
  color: #ffc107;
  background-color: #6f158a;
  padding-left: 16px;
  border-radius: 6px;
}


.user-actions {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #7a1fa2;
}

.user-actions .action {
  color: #f3e5f5;
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 6px;
  transition: background-color 0.3s, color 0.3s;
  font-size: 14px;
}

.user-actions .action:hover {
  background-color: #6f158a;
  color: #ffc107;
}

.user-actions .logout {
  color: #ffc107;
  font-weight: bold;
}


.hidden {
  display: none;
}


