/* Compact navigation; drawer positioning remains owned by the app shell. */
:root { --desktop-sidebar-width: 280px; }
#sidebar.sidebar { width: 280px !important; max-width: calc(100vw - 24px); box-sizing: border-box; padding: 12px !important; }
#sidebar .brand { gap: 8px !important; padding: 4px 2px 12px !important; margin: 0 0 6px !important; }
#sidebar .brand-logo { width: 28px !important; height: 28px !important; border-radius: 6px !important; }
#sidebar .brand h1 { font-size: 16px !important; line-height: 1.3; }
#sidebar .brand p { font-size: 10px !important; line-height: 1.4; }
#sidebar .nav { gap: 2px !important; padding-top: 0 !important; }
#sidebar .nav-section { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; }
#sidebar .nav-section-label { box-sizing: border-box; min-height: 32px !important; margin: 0 !important; padding: 10px 28px 8px 10px !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .1em !important; background: transparent !important; border-radius: 6px; }
#sidebar .is-fixed-open > .nav-section-label { display: none !important; }
#sidebar .nav a { box-sizing: border-box; position: relative; min-height: 36px !important; margin: 1px 0 !important; padding: 6px 10px !important; gap: 9px !important; border: 1px solid transparent !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important; }
#sidebar .nav a span:last-child { font-size: 13px !important; font-weight: 600 !important; }
#sidebar .nav-section.is-collapsible.is-open > a { margin-left: 6px !important; margin-right: 0 !important; }
#sidebar .nav a:hover { background: rgba(148,163,184,.07) !important; }
#sidebar .nav a.active { background: rgba(30,58,90,.4) !important; }
#sidebar .nav a.active::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; height: auto; border-radius: 2px; background: #67d5ee; box-shadow: none; transform: none; }
#sidebar .nav .nav-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px !important; height: 24px !important; padding: 0 !important; border: 0 !important; border-radius: 5px !important; color: #aab9cd !important; background: rgba(148,163,184,.07) !important; box-shadow: none !important; opacity: .9; }
#sidebar .nav-icon svg { width: 16px; height: 16px; }
#sidebar .nav-section.is-collapsible > .nav-section-label::after { content: '' !important; width: 5px; height: 5px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: translateY(-50%) rotate(45deg) !important; }
#sidebar .nav-section.is-collapsible.is-open > .nav-section-label::after { transform: translateY(-70%) rotate(135deg) !important; }
#sidebar .nav-logout-section { margin-top: auto !important; padding-top: 8px !important; }
.sidebar-menu-tab.mobile-nav-toggle { display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; width: auto !important; min-width: 0 !important; min-height: 34px !important; height: auto !important; padding: 7px 10px !important; border: 1px solid rgba(148,163,184,.24); border-radius: 8px; background: rgba(15,23,42,.6); color: #dbe7f5; font: inherit; font-size: 12px !important; font-weight: 650; cursor: pointer; }
.sidebar-menu-tab:hover, .sidebar-menu-tab[aria-expanded="true"] { background: #193049; border-color: #46748a; }
.sidebar-menu-tab:focus-visible, #sidebar a:focus-visible { outline: 2px solid #67d5ee; outline-offset: 2px; }
@media (hover: none), (pointer: coarse), (max-width: 1200px) {
    #sidebar .nav a, #sidebar .nav-section-label, .sidebar-menu-tab.mobile-nav-toggle { min-height: 44px !important; }
}
