/* Sedaya 2 UI tweaks */
body { background:#f6f7fb; }
.card { border:0; box-shadow: 0 6px 18px rgba(20,20,30,.06); }
.sidebar { min-height: calc(100vh - 56px); }
.brand-dot{ width:10px; height:10px; border-radius:50%; display:inline-block; background:#0d6efd; margin-right:8px;}
.nav-icon { font-size: 1.2rem; }
.bottom-nav { position:fixed; bottom:0; left:0; right:0; z-index:1030; }
.bottom-nav .nav-link { padding:.35rem .25rem; font-size:.8rem; }
.content-wrap { padding-bottom: 76px; } /* space for bottom nav */
.tree-node { border:1px dashed rgba(0,0,0,.15); border-radius:14px; padding:.6rem .75rem; background:#fff; }
.tree-children { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.75rem; }
.tree-children > div { flex:1 1 260px; }
/* ===== Collapsible Sidebar (Desktop) ===== */
:root{
  --sidebar-w: 360px;
  --sidebar-w-collapsed: 78px;
}

/* sidebar existing */
.sidebar{
  width: var(--sidebar-w);
  transition: width .18s ease;
}

/* wrapper layout admin (optional tapi rapi) */
.admin-layout .sidebar{
  position: sticky;
  top: 56px; /* tinggi topbar kamu */
}

/* collapsed state */
.sidebar.is-collapsed{
  width: var(--sidebar-w-collapsed);
}

/* rapihin item saat collapsed */
.sidebar.is-collapsed .list-group-item{
  text-align: center;
  padding-left: .75rem;
  padding-right: .75rem;
}

.sidebar.is-collapsed .list-group-item .me-2{
  margin-right: 0 !important;
  font-size: 1.25rem;
}

/* sembunyikan teks menu */
.sidebar.is-collapsed .menu-text,
.sidebar.is-collapsed .sidebar-meta{
  display: none !important;
}
/* ===== Admin layout follow sidebar width ===== */
:root{
  --sidebar-w: 260px;
  --sidebar-w-collapsed: 78px;
}

/* Pastikan admin page pakai wrapper ini */
@media (min-width: 992px){
  .admin-layout > .row{
    --bs-gutter-x: 0; /* biar p-0 sidebar bener2 rapet */
  }

  /* default (normal) */
  .admin-layout .admin-col-sidebar{
    flex: 0 0 var(--sidebar-w);
    width: var(--sidebar-w);
    max-width: var(--sidebar-w);
  }
  .admin-layout .admin-col-content{
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }

  /* saat collapsed (body punya class) */
  body.sidebar-collapsed .admin-layout .admin-col-sidebar{
    flex: 0 0 var(--sidebar-w-collapsed);
    width: var(--sidebar-w-collapsed);
    max-width: var(--sidebar-w-collapsed);
  }
}
/* =========================
   ADMIN TOPBAR (BLACK)
========================= */
body.admin .navbar {
  background-color: #0b0b0b !important;
  border-bottom: 1px solid #222;
}

body.admin .navbar .navbar-brand,
body.admin .navbar .nav-link,
body.admin .navbar .navbar-text {
  color: #ffffff !important;
}

body.admin .navbar .nav-link:hover {
  color: #0d6efd !important;
}

body.admin .navbar .btn,
body.admin .navbar .dropdown-toggle {
  color: #fff !important;
  border-color: rgba(255,255,255,.2);
}

body.admin .navbar .dropdown-menu {
  background: #111;
  border-color: #222;
}

body.admin .navbar .dropdown-item {
  color: #ddd;
}

body.admin .navbar .dropdown-item:hover {
  background: #1c1c1c;
  color: #fff;
}
/* =========================
   MEMBER SIDEBAR GRADIENT
========================= */

/* desktop sidebar */
.sidebar{
  background: linear-gradient(180deg, #0d6efd 0%, #5fa8ff 100%);
  border-right: none;
}

/* offcanvas sidebar (mobile) */
.offcanvas-start{
  background: linear-gradient(180deg, #0d6efd 0%, #5fa8ff 100%);
}

/* list item */
.sidebar .list-group-item,
.offcanvas-start .list-group-item{
  background: transparent;
  color: rgba(255,255,255,.9);
  border: 0;
}

/* icon */
.sidebar .list-group-item i,
.offcanvas-start .list-group-item i{
  color: rgba(255,255,255,.85);
}

/* hover */
.sidebar .list-group-item:hover,
.offcanvas-start .list-group-item:hover{
  background: rgba(255,255,255,.12);
  color: #fff;
}

/* active */
.sidebar .list-group-item.active,
.offcanvas-start .list-group-item.active{
  background: rgba(255,255,255,.22);
  color: #fff;
  font-weight: 600;
}

/* header user (nama & username) */
.sidebar .p-3{
  background: rgba(255,255,255,.12);
  color: #fff;
}

/* username kecil */
.sidebar .text-muted{
  color: rgba(255,255,255,.75) !important;
}
