:root { --sidebar-width: 250px; }
body { background: #f4f6f9; }
#wrapper { min-height: 100vh; }
.sidebar {
    width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    min-height: 100vh;
    transition: margin-left .2s ease;
}
.sidebar.collapsed { margin-left: calc(var(--sidebar-width) * -1); }
.sidebar-brand { font-size: 1.05rem; }
.sidebar .nav-link { border-radius: .375rem; margin: 2px 8px; padding: .55rem .75rem; font-size: .925rem; }
.sidebar .nav-link:hover { background: rgba(255,255,255,.08); }
.sidebar .nav-link.active { background: var(--bs-primary); }
.content { min-width: 0; }
@media (max-width: 768px) {
    .sidebar { margin-left: calc(var(--sidebar-width) * -1); position: fixed; z-index: 1030; }
    .sidebar.show { margin-left: 0; }
}
