/* =============================================
   Sidebar & Header Layout — Sticky header,
   independent sidebar / content scrolling.
   Include this file only on pages that use
   the #wrapper + #sidebar-wrapper layout.
   ============================================= */

/* --- Sticky header + scrolling-menu --- */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1030;
}

.scrolling-menu {
  position: sticky;
  z-index: 1020;
}

/* --- App-shell layout --- */
#wrapper {
  height: calc(100vh - 90px);
  /* viewport minus navbar (~56px) + scrolling-menu (~41px) */
  overflow: hidden;
}

/* When #wrapper exists the body must not scroll — JS adds this class */
body.has-sidebar {
  overflow: hidden;
}

/* --- Sidebar --- */
#sidebar-wrapper {
  margin-left: -250px;
  transition: margin 0.25s ease-out;
  width: 250px;
  min-width: 250px;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

#sidebar-wrapper .list-group {
  width: 100%;
}

#sidebar-wrapper .list-group-item {
  white-space: normal;
  word-wrap: break-word;
}

/* --- Content area --- */
#page-content-wrapper {
  width: 100%;
  height: 100%;
  overflow-y: auto;
}

#wrapper.toggled #sidebar-wrapper {
  margin-left: 0;
}

#menu-toggle {
  border: none;
}

.list-group-item.active {
  background-color: rgb(83, 185, 129) !important;
  color: #fff;
  border-color: rgb(153, 153, 153, 0.3);
}

@media (min-width: 768px) {
  #page-content-wrapper .container-fluid {
    padding-left: 1.5rem;
  }
}

/* --- Mobile sidebar overlay --- */
@media (max-width: 767.98px) {
  #sidebar-wrapper {
    position: absolute;
    z-index: 1050;
    top: 0;
    left: 0;
    height: 100%;
    /* box-shadow: 4px 0 15px rgba(0, 0, 0, 0.3); */
  }

  /* Dim + blur backdrop behind sidebar */
  .sidebar-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(2px);
    z-index: 1040;
  }

  #wrapper.toggled .sidebar-backdrop {
    display: block;
  }
}