/* ── Layout: sticky navbar + sticky sidebar ── */
body {
  overflow-x: hidden;
}
.navbar {
  position: sticky;
  top: 0;
  z-index: 1030;
}
.sidebar-wrapper {
  position: sticky;
  top: 56px;           /* tinggi navbar */
  height: calc(100vh - 56px);
  overflow-y: auto;
  overflow-x: hidden;
}
.sidebar .nav-link {
  border-radius: .5rem;
  padding: .45rem .75rem;
  font-size: .9rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.sidebar .nav-link.active {
  background: #0d6efd;
  color: #fff !important;
}
.sidebar .nav-link.active i { color: #fff !important; }
.sidebar .nav-link:hover:not(.active) { background: #f1f3f5; }

/* ── Icon sidebar berwarna ── */
.sidebar .nav-link i.bi-speedometer2   { color: #0d6efd; }
.sidebar .nav-link i.bi-box-seam       { color: #fd7e14; }
.sidebar .nav-link i.bi-file-text      { color: #20c997; }
.sidebar .nav-link i.bi-tags           { color: #6f42c1; }
.sidebar .nav-link i.bi-images         { color: #e83e8c; }
.sidebar .nav-link i.bi-layout-sidebar { color: #17a2b8; }
.sidebar .nav-link i.bi-file-earmark-richtext { color: #28a745; }
.sidebar .nav-link i.bi-building       { color: #6c757d; }
.sidebar .nav-link i.bi-search-heart   { color: #dc3545; }
.sidebar .nav-link i.bi-megaphone      { color: #ffc107; }
.sidebar .nav-link i.bi-person-badge   { color: #0dcaf0; }
.sidebar .nav-link i.bi-people         { color: #6610f2; }
.sidebar .nav-link i.bi-gear           { color: #495057; }
/* Superadmin icons */
.sidebar .nav-link i.bi-building2,
.sidebar .nav-link i.bi-building-fill  { color: #0d6efd; }
.sidebar .nav-link i.bi-key            { color: #ffc107; }
.sidebar .nav-link i.bi-folder-plus    { color: #28a745; }

/* ── Main content scroll ── */
.main-content {
  min-height: calc(100vh - 56px);
  overflow-y: auto;
}

/* ── Misc ── */
.card { border-radius: .75rem; }
code.user-select-all { cursor: copy; }

/* ── Scrollbar sidebar tipis ── */
.sidebar-wrapper::-webkit-scrollbar { width: 4px; }
.sidebar-wrapper::-webkit-scrollbar-thumb { background: #dee2e6; border-radius: 2px; }
