/* OBX V1.10.18 R2 HF1 — ajuste aislado de scroll de navegacion.
   No altera estructura, colores, dimensiones de controles, ni otras pantallas. */
#dashboard:not(.hidden) > .sidebar {
  display: flex !important;
  flex-direction: column !important;
  /* El alto no debe exceder el espacio visible del navegador. */
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
}
/* Encabezado y pie quedan visibles; solamente el menu es desplazable. */
#dashboard:not(.hidden) > .sidebar > .logo,
#dashboard:not(.hidden) > .sidebar > .side-brand,
#dashboard:not(.hidden) > .sidebar > .side-divider,
#dashboard:not(.hidden) > .sidebar > .side-label {
  flex-shrink: 0 !important;
}
#dashboard:not(.hidden) > .sidebar > nav#nav {
  display: block;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: #476788 transparent;
  padding-right: 5px;
  margin-right: -1px;
}
#dashboard:not(.hidden) > .sidebar > nav#nav::-webkit-scrollbar { width: 6px; }
#dashboard:not(.hidden) > .sidebar > nav#nav::-webkit-scrollbar-thumb {
  background-color: #476788;
  border-radius: 8px;
}
#dashboard:not(.hidden) > .sidebar > .sidebar-bottom {
  flex: 0 0 auto !important;
  margin-top: 9px !important;
}
/* En ventanas extremadamente bajas, permitir desplazamiento del conjunto
   para no ocultar ningun control esencial. */
@media (max-height: 470px) {
  #dashboard:not(.hidden) > .sidebar { overflow-y: auto !important; }
  #dashboard:not(.hidden) > .sidebar > nav#nav {
    overflow: visible !important;
    flex: 0 0 auto !important;
    max-height: none !important;
  }
}
