/* HOTFIX 026B — sidebar always usable on long menus */
.sidebar{
  overflow:hidden;
}
.sidebar .brand{
  flex:0 0 auto;
}
.sidebar nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#4b5563 transparent;
  padding-right:6px;
  padding-bottom:8px;
}
.sidebar nav::-webkit-scrollbar{width:6px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav::-webkit-scrollbar-thumb{background:#4b5563;border-radius:999px}
.sidebar nav::-webkit-scrollbar-thumb:hover{background:#6b7280}
.sidebar-foot{
  flex:0 0 auto;
  margin-top:0;
  background:#111827;
}

@media (min-width:901px){
  .shell{align-items:start}
  .sidebar{
    position:sticky;
    top:0;
    height:100vh;
    height:100dvh;
    max-height:100vh;
    max-height:100dvh;
    display:flex;
    flex-direction:column;
  }
  .sidebar nav{
    margin-bottom:10px;
  }
  .sidebar-foot{
    position:relative;
    bottom:auto;
  }
}

@media (max-width:900px){
  .sidebar{
    overflow:visible;
  }
  .sidebar nav{
    max-height:min(48vh,420px);
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:4px;
    scroll-behavior:smooth;
  }
}

@media (max-height:620px) and (min-width:901px){
  .sidebar{padding-top:12px;padding-bottom:12px}
  .sidebar nav{margin-top:14px}
  .sidebar nav a{padding-top:9px;padding-bottom:9px}
  .sidebar-foot{padding-top:10px}
}
