/* Persistent desktop drawer, modal off-canvas drawer on small screens. */
.sidebar{height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:contain;transition:transform .22s ease,visibility .22s;box-sizing:border-box}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:4px}
.sidebar-head .brand{margin:0 0 26px;gap:9px;min-width:0}
.sidebar-head .brand strong{font-size:24px}
.sidebar-close{flex-shrink:0;width:32px;height:36px;margin-bottom:26px}
.sidebar>.workspace,.sidebar>.nav-label,.sidebar-bottom{flex-shrink:0}
.sidebar>nav{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8aaf97 transparent;padding:0 3px 12px}
.sidebar>nav::-webkit-scrollbar{width:5px}
.sidebar>nav::-webkit-scrollbar-thumb{background:#8aaf97;border-radius:8px}
.sidebar-bottom{margin-top:0;padding-top:12px}
.sidebar-bottom .offline-card{margin-bottom:10px;padding:10px 9px}
.sidebar-bottom .profile{min-height:66px;padding:12px 4px}
.mobile-menu{display:inline-flex}
.main-wrap{transition:margin-right .22s ease}
.sidebar-hidden .sidebar{transform:translateX(100%);visibility:hidden;pointer-events:none}
.sidebar-hidden .main-wrap{margin-right:0}
.mobile-shade{border:0;padding:0}
@media(max-width:760px){
 .sidebar{width:min(300px,calc(100vw - 48px));transform:translateX(100%);visibility:hidden;pointer-events:none;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}
 .menu-open .sidebar{transform:translateX(0);visibility:visible;pointer-events:auto;box-shadow:-12px 0 35px #15322226}
 .menu-open{overflow:hidden}
 .menu-open .mobile-shade{display:block;position:fixed;inset:0;z-index:29;background:#19382e66;backdrop-filter:blur(3px);touch-action:none}
 .main-wrap,.sidebar-hidden .main-wrap{margin-right:0}
 .sidebar-close{width:36px;height:36px}
}
@media(max-height:620px){
 .sidebar{padding-top:12px}
 .sidebar-head .brand,.sidebar-close{margin-bottom:12px}
 .sidebar>.workspace{padding:9px 10px;margin-bottom:12px}
 .sidebar>.nav-label{margin-bottom:5px}
 .sidebar-bottom .offline-card{display:none}
 .sidebar-bottom{padding-top:5px}
 .sidebar-bottom .profile{min-height:56px;padding:8px 4px}
}
@media(prefers-reduced-motion:reduce){.sidebar,.main-wrap{transition:none}}
@media print{.sidebar,.mobile-shade{display:none!important}}

/* Compact mobile close control after removing the brand heading. */
.sidebar-controls{display:none;flex-shrink:0}
@media(max-width:760px){.sidebar-controls{display:flex;justify-content:flex-end;margin-bottom:12px}.sidebar-controls .sidebar-close{margin:0}}
