:root { --sidebar-w: 240px; }
#sidebar { width: var(--sidebar-w); min-height: 100vh; transition: margin .2s; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
#wrapper.toggled #sidebar { margin-left: calc(var(--sidebar-w) * -1); }
#sidebar .nav-link { color: rgba(255,255,255,.8); border-radius: .375rem; padding: .4rem .75rem; font-size: .92rem; }
#sidebar .nav-link:hover, #sidebar .nav-link.active { color: #fff; background: rgba(255,255,255,.15); }
#sidebar .nav-header { color: rgba(255,255,255,.5); font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; padding: .9rem .75rem .25rem; }
#page-content { background: #f5f6fa; min-width: 0; }
.table-sm td, .table-sm th { vertical-align: middle; }
@media (max-width: 768px) { #sidebar { position: fixed; z-index: 1030; margin-left: calc(var(--sidebar-w) * -1); } #wrapper.toggled #sidebar { margin-left: 0; } }
.sticky-head thead th { position: sticky; top: 0; background: #fff; z-index: 1; }
