/* InfraTrack v2.3.4 UI Fix: scrollable enterprise sidebar */
html, body {
  min-height: 100%;
}

body {
  overflow-x: hidden;
}

.side,
.sidebar,
aside.side {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--primary, #0b84ff) 42%, #cbd5e1) transparent;
}

.side nav,
.sidebar nav,
aside.side nav {
  padding-bottom: 28px !important;
}

.side::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
aside.side::-webkit-scrollbar {
  width: 7px;
}

.side::-webkit-scrollbar-track,
.sidebar::-webkit-scrollbar-track,
aside.side::-webkit-scrollbar-track {
  background: transparent;
}

.side::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb,
aside.side::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--primary, #0b84ff) 35%, #cbd5e1);
  border-radius: 999px;
}

.side::-webkit-scrollbar-thumb:hover,
.sidebar::-webkit-scrollbar-thumb:hover,
aside.side::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--primary, #0b84ff) 55%, #94a3b8);
}

.appbar,
.topbar,
header.appbar {
  position: sticky;
  top: 0;
  z-index: 40;
}

.main,
main.main {
  min-height: 100vh;
}

/* Keep large menus touch-friendly and readable */
.side a,
.sidebar a,
aside.side a {
  min-height: 40px;
  line-height: 1.15;
}

.side .nav-label,
.sidebar .nav-label,
aside.side .nav-label {
  margin-top: 14px;
}

/* Mobile/iPad: allow off-canvas/sidebar layouts to scroll naturally */
@media (max-width: 900px) {
  .side,
  .sidebar,
  aside.side {
    max-height: 100vh !important;
    overflow-y: auto !important;
  }
}
