.sidebar-icon-wrap { 
  position: relative; 
  display: inline-flex; 
  width: 32px; 
  height: 32px; 
  flex-shrink: 0;
}
.sidebar-icon-wrap .icon-inactive { 
  position: absolute; 
  opacity: 1; 
  transition: opacity 0.15s; 
}
.sidebar-icon-wrap .icon-active {
  position: absolute; 
  opacity: 0; 
  transition: opacity 0.15s; 
}
.home_icon_img li a.active .icon-inactive { 
  opacity: 0; 
}
.home_icon_img li a.active .icon-active { 
  opacity: 1; 
}
.home_icon_img li a svg {
  position: relative;
}
ul.home_icon_img li a:hover {
  width: 100% !important;
  background: #E5E5E5 !important;
  color: black !important;
}
.home_icon_img li a {
  border: none;
  display: flex;
  align-items: center;
  height: 30px;
  background: #fff;
}
.home_icon_img .list-group-item-light.list-group-item-action.active {
  background: var(--primaryColor) !important;
  color: #fff !important;
  border-radius: 5px;
  box-shadow: 0px 4px 10px rgba(25, 97, 156, 0);
  height: 35px;
  width: 100%;
}

/* Pages label — sits outside scroll, never scrolls */
.pages-label {
  flex-shrink: 0;
  padding-left: 5%;
  padding-right: 5%;
  padding-bottom: 2%;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border-radius: 8px;
}

/* Only the ul scrolls */
.pages {
  overflow-y: auto;
  max-height: calc(100vh - 220px);
  scroll-behavior: smooth;
  overscroll-behavior: contain;
}

.sidebar-content {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 80px);
  overflow: hidden;
}

/* Submenu container */
ul.submenu {
  list-style: none;
  padding: 4px 0 6px 17px;
  margin: 0;
  border-left: none !important;
  margin-left: 0 !important;
}

ul.submenu .submenu-item {
  margin-bottom: 3px;
}

/* Submenu links — default */
ul.submenu .submenu-item a.list-group-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 5px 12px !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  color: #444 !important;
  background: transparent !important;
  border: none !important;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}

/* Submenu hover */
ul.submenu .submenu-item a.list-group-item:hover {
  width: 100% !important;
  background: #E5E5E5 !important;
  color: black !important;
  border-radius: 5px !important;
}

/* Submenu active */
ul.submenu .submenu-item a.list-group-item.active {
  width: 100% !important;
  background: #3f88a5 !important;
  color: #fff !important;
  border-radius: 5px !important;
}

ul.submenu .submenu-item a.list-group-item.active .submenu-icon {
  color: #fff;
}

/* Submenu icon */
.submenu-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: #3f88a5;
  transition: color 0.15s;
  display: inline-block !important;
}

/* Audit/Carbon parent row alignment */
.audit-module {
  display: flex !important;
  align-items: center !important;
  padding: 0rem 0.65rem 0rem 0.65rem !important;
  border-radius: 5px !important;
  cursor: pointer;
  transition: background-color 0.15s;
}

.audit-module:hover {
  background: #E5E5E5 !important;
  color: black !important;
}

.audit-module .sidebar-icon-wrap + .home_boom {
  margin-left: 8px;
}
.sidebar-collapsed {
  display: flex !important;
  flex-direction: column;
  min-height: 0;
}

.sidebar-collapsed .sidebar-content {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.sidebar-collapsed .list-group,
.sidebar-collapsed .list-group-flush {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.sidebar-collapsed .route-dom {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0.5rem 0 !important;
}

.sidebar-collapsed .pages {
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%; 
}

/* these stay the same */
.sidebar-collapsed .home_boom { display: none; }
.sidebar-collapsed .pages-label * {
  display: none !important;
}
.sidebar-collapsed .pages-label {
  display: block !important;
  width: 60%;
  height: 1px;
  background: #e0e0e0;
  padding: 0 !important;
  margin: 4px auto !important;
  border-radius: 0 !important;
  min-height: unset !important;
  overflow: hidden !important;
}
.sidebar-collapsed .overView {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}
.sidebar-collapsed .overView > div:first-child { display: none !important; }
.sidebar-collapsed .overView .home_icon_img {
  margin-bottom: 0;
}
.sidebar-collapsed .overView .home_icon_img li {
  margin-bottom: 0;
}

.sidebar-collapsed .overView .home_icon_img,
.sidebar-collapsed .pages .home_icon_img {
  padding-left: 0 !important;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sidebar-collapsed ul.submenu { display: none !important; }
.sidebar-collapsed .audit-module > div:last-child { display: none !important; }

.sidebar-collapsed .home_icon_img li a,
.sidebar-collapsed .audit-module {
  width: 100%;
  justify-content: center !important;
  padding: 0.4rem 0 !important;
}

.sidebar-collapsed .home_icon_img li a .sidebar-icon-wrap,
.sidebar-collapsed .audit-module .sidebar-icon-wrap {
  margin: 0 auto;
}

.sidebar-collapsed .home_icon_img li {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 4px;
}

.sidebar-collapsed .home_icon_img {
  padding-left: 0;
}

.sidebar-collapsed .toggle-btn {
  right: 50% !important;
  transform: translateX(50%);
  top: 22px !important;
}

.sidebar-collapsed .logo_text {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.75rem !important;
  min-height: 80px;
}

#wrapper,
#wrapper > div {
  overflow: visible !important;
}