/* Layout skeleton */
:root{
  --sidebar-w: 250px;
}
html,body,.app{height:100%}
.sidebar{
  width:var(--sidebar-w);
  min-height:100vh;
  background:#fff;
  position:sticky;
  top:0;
}
.brand .brand-title{font-weight:700}
.menu .list-group-item{border:none;border-radius:0}
.menu .list-group-item.active{background:#0d6efd;color:#fff}
.topbar{position:sticky; top:0; z-index: 1020;}
.content-inner{min-height: calc(100vh - 56px);}

/* Mobile behavior */
@media (max-width: 767.98px){
  .sidebar{position:fixed; z-index:1030; left:-260px; transition:left .2s; box-shadow:0 0 40px rgba(0,0,0,.1)}
  .sidebar.open{left:0}
  .content{min-width:100%}
}
/* sort indicators */
th.sortable.sorted-asc::after { content: " ▲"; font-size: 12px; color:#6c757d; }
th.sortable.sorted-desc::after{ content: " ▼"; font-size: 12px; color:#6c757d; }
