/* Dedicated, independently cache-busted admin navigation scroll container. */
.admin-shell .admin-sidebar {
  display: flex !important;
  flex-direction: column !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
.admin-shell .admin-sidebar > nav {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding-bottom: 24px !important;
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #9b7bc5 #15101d;
}
.admin-shell .admin-sidebar > nav::-webkit-scrollbar { width: 8px; }
.admin-shell .admin-sidebar > nav::-webkit-scrollbar-track { background: #15101d; }
.admin-shell .admin-sidebar > nav::-webkit-scrollbar-thumb {
  border: 2px solid #15101d;
  border-radius: 999px;
  background: #9b7bc5;
}
.admin-shell .admin-sidebar-head,
.admin-shell .admin-environment,
.admin-shell .admin-sidebar-foot { flex: 0 0 auto !important; }
@media (max-width: 880px) {
  .admin-shell .admin-sidebar {
    width: min(88vw, 320px) !important;
  }
  .admin-shell .admin-sidebar > nav {
    padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
  }
}
