.sapa-sidebar {
    --bs-offcanvas-width: 260px;
    background: #fff !important;
    border-right: 1px solid var(--bs-border-color) !important;
    display: flex;
    flex-direction: column;
    height: 100dvh !important;
}
.sapa-sidebar .offcanvas-header { padding: 1rem; min-height: 104px; gap: .5rem; }
.sapa-sidebar-logo { display: block; width: 165px; max-width: 100%; height: auto; }
.sapa-sidebar .offcanvas-body { display: flex; flex-direction: column; padding: 1.25rem 1rem; overflow-y: auto; flex: 1; }
.sapa-sidebar-caption { padding: .5rem .85rem; color: #8a96a8; font-size: .65rem; font-weight: 700; letter-spacing: .11em; }
.sapa-sidebar .nav-link { display: flex; align-items: center; gap: .85rem; padding: .8rem .9rem; color: #53627a; font-size: .88rem; font-weight: 500; text-align: left; border-radius: .5rem; }
.sapa-sidebar .nav-link:hover { color: var(--bs-primary); background: #f0f5ff; text-decoration: none; }
.sapa-sidebar .nav-link.active { background: var(--bs-primary); color: #fff; }
.sapa-settings-toggle { width: 100%; border: none; background: transparent; }
.sapa-settings-toggle.sapa-group-active { color: var(--bs-primary); }
.sapa-nav-icon { flex-shrink: 0; }
.sapa-chevron { width: 15px; height: 15px; transition: transform .2s; }
.sapa-settings-toggle[aria-expanded=true] .sapa-chevron { transform: rotate(180deg); }
.sapa-submenu { border-left: 1px solid #dce5f4; margin: .25rem 0 .25rem 1.5rem; padding-left: .7rem; }
.sapa-submenu .nav-link { font-size: .82rem; padding: .65rem .8rem; }
.sapa-submenu .nav-link.active { background: var(--bs-primary-bg-subtle); color: var(--bs-primary); font-weight: 600; }
.sapa-sidebar-bottom { padding: 1rem .85rem 0; }
.sapa-admin-topbar { min-height: 80px; }
.sapa-admin-topbar form { margin: 0; }
.sapa-admin-topbar small { font-size: .72rem; }
.sapa-admin-content { min-height: calc(100dvh - 143px); max-width: 1700px; }
.sapa-admin-content .page-heading { margin-top: .75rem; }
.sapa-admin-content h1 { font-size: 1.8rem; }
.sapa-admin-content .eyebrow { margin-bottom: .6rem; }
.sapa-settings-form { max-width: 800px; }
@media (min-width: 992px) {
    .sapa-sidebar { position: fixed; inset: 0 auto 0 0; width: 260px; z-index: 1030; }
    .sapa-admin-workspace { margin-left: 260px; }
}
@media (max-width: 575.98px) {
    .sapa-admin-topbar { min-height: 72px; }
    .sapa-admin-topbar .btn { padding: .4rem .6rem; }
    .sapa-admin-content h1 { font-size: 1.6rem; }
}
