:root{
  --sb-w: 260px;
  --sb-bg: rgba(12,18,35,.92);
  --sb-br: rgba(255,255,255,.10);
  --sb-tx: #e7ecff;
  --sb-muted: rgba(231,236,255,.65);
  --sb-accent: rgba(154,208,255,.20);
}
body.has-sidebar{padding-left: var(--sb-w);}
.sidebar{
  width: var(--sb-w);
  position: fixed; top:0; left:0; bottom:0;
  background: var(--sb-bg);
  border-right: 1px solid var(--sb-br);
  backdrop-filter: blur(12px);
  color: var(--sb-tx);
  z-index: 1030;
  display:flex;
  flex-direction:column;
}
.sb-brand{padding:16px 16px 8px 16px;}
.sb-brand-link{display:flex; gap:12px; align-items:center; text-decoration:none; color:inherit;}
.sb-logo{width:44px;height:44px;border-radius:14px;object-fit:cover; border:1px solid var(--sb-br); background:rgba(255,255,255,.06);}
.sb-title{font-weight:700; line-height:1.1;}
.sb-sub{font-size:12px; color: var(--sb-muted); margin-top:2px;}
.sb-nav{padding:10px; display:flex; flex-direction:column; gap:6px;}
.sb-item{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color: var(--sb-tx);
  border:1px solid transparent;
}
.sb-item span{font-weight:600; font-size:14px;}
.sb-item:hover{background: rgba(255,255,255,.06); border-color: var(--sb-br);}
.sb-item.active{background: var(--sb-accent); border-color: rgba(154,208,255,.35);}
.sb-footer{margin-top:auto; padding:10px;}
.sb-badge{
  margin-left:auto;
  background: rgba(255,255,255,.12);
  border:1px solid var(--sb-br);
  border-radius:999px;
  padding:2px 8px;
  font-size:12px;
  color: var(--sb-tx);
}
@media (max-width: 992px){
  body.has-sidebar{padding-left:0;}
  .sidebar{transform: translateX(-100%); transition: .25s ease;}
  body.sb-open .sidebar{transform: translateX(0);}
  .sb-overlay{display:none;}
  body.sb-open .sb-overlay{
    display:block; position:fixed; inset:0; background: rgba(0,0,0,.45); z-index:1029;
  }
}
body.light{
  background: #f7f8ff !important; color:#0b1020 !important;
}
body.light .glass{background: rgba(0,0,0,.03) !important; border-color: rgba(0,0,0,.10) !important;}
body.light .navbar .nav-link, body.light .navbar-brand{color:#0b1020 !important;}