/* Essential sidebar visibility styles - applies to all pages */
#navigation-sidebar,
.nav-sidebar,
aside.nav-sidebar {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Make sure child elements are visible */
#navigation-sidebar .logo-container,
#navigation-sidebar .small-logo,
#navigation-sidebar .nav-sidebar-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#navigation-sidebar .nav-list {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

#navigation-sidebar .nav-list-item {
  display: flex !important;
  flex: 1 1 0 !important;
}

#navigation-sidebar .nav-list-item > a {
  display: flex !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* Ensure the nav items display properly */
#navigation-sidebar .nav-item,
#navigation-sidebar a,
#navigation-sidebar button {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure icons are visible */
#navigation-sidebar svg,
#navigation-sidebar .icon {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Analytics page: keep flex layout (do not use display:block — breaks footer spacing) */
body.analytics #navigation-sidebar,
body.analytics .nav-sidebar {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
