.bl-sidebar { position: sticky; top: 0; height: 100vh; overflow: hidden; padding: 20px 13px 13px; background: var(--bl-sidebar-bg); border-right: 1px solid var(--bl-line); display: flex; flex-direction: column; z-index: 60; }
.bl-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 7px 18px; }
.bl-brand, .bl-auth-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 780; letter-spacing: -.025em; }
.bl-brand-mark { width: 31px; height: 31px; border-radius: 9px; display: inline-grid; place-items: center; background: var(--bl-brand); color: #fff; font-size: 13px; font-weight: 850; box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }
.bl-sidebar-close { display: none; }
.bl-workspace-card { margin-bottom: 13px; padding: 10px; border: 1px solid var(--bl-line); border-radius: 12px; background: rgba(255,255,255,.58); }
.bl-workspace-meta { margin-bottom: 7px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bl-workspace-meta .bl-eyebrow { font-size: 8.5px; }
.bl-workspace-role { color: var(--bl-muted); font-size: 8.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.bl-context-select { width: 100%; height: 34px; padding: 0 26px 0 8px; border: 0; border-radius: 8px; background: rgba(255,255,255,.72); color: var(--bl-text); font-size: 11px; font-weight: 750; cursor: pointer; }
.bl-workspace-name { min-width: 0; display: grid; gap: 2px; }
.bl-workspace-name strong { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bl-workspace-name small { color: var(--bl-muted); font-size: 9px; }
.bl-nav-scroll { min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #d7d6d0 transparent; }
.bl-nav { display: grid; gap: 16px; padding: 3px 0 14px; }
.bl-nav-group { display: grid; gap: 3px; }
.bl-nav-label { padding: 0 9px 5px; font-size: 8.5px; }
.bl-nav-link { min-height: 39px; padding: 0 9px; border-radius: 10px; color: #666762; font-size: 11.5px; font-weight: 680; display: flex; align-items: center; gap: 9px; transition: background var(--bl-transition),color var(--bl-transition),transform var(--bl-transition); }
.bl-nav-link .bl-icon { width: 16px; height: 16px; opacity: .86; }
.bl-nav-link:hover { background: rgba(255,255,255,.7); color: var(--bl-text); }
.bl-nav-link.is-active { background: var(--bl-brand); color: #fff; box-shadow: var(--bl-shadow-xs); }
.bl-nav-link.is-active .bl-icon { opacity: 1; }
.bl-sidebar-user { margin-top: auto; padding: 13px 6px 2px; border-top: 1px solid var(--bl-line); display: flex; align-items: center; gap: 9px; }
.bl-sidebar-user > div { min-width: 0; display: grid; gap: 1px; }
.bl-sidebar-user strong, .bl-sidebar-user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bl-sidebar-user strong { font-size: 10.5px; }
.bl-sidebar-user small { color: var(--bl-muted); font-size: 9px; }
.bl-avatar { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: var(--bl-brand-soft); color: var(--bl-brand); display: grid; place-items: center; font-size: 10px; font-weight: 850; }
.bl-mobile-menu { display: none; }
.bl-mobile-nav { display: none; }
.bl-popover-wrap { position: relative; }
.bl-popover { position: absolute; top: calc(100% + 9px); right: 0; z-index: 85; width: 290px; padding: 7px; border: 1px solid var(--bl-line); border-radius: 14px; background: var(--bl-surface); box-shadow: var(--bl-shadow-lg); }
.bl-popover-head { padding: 10px 10px 9px; border-bottom: 1px solid var(--bl-line); }
.bl-popover-head strong, .bl-popover-head small { display: block; }
.bl-popover-head strong { font-size: 11.5px; }
.bl-popover-head small { margin-top: 3px; color: var(--bl-muted); font-size: 9.5px; }
.bl-popover-item { width: 100%; min-height: 38px; padding: 0 9px; border: 0; border-radius: 9px; background: transparent; color: var(--bl-text); display: flex; align-items: center; gap: 9px; font-size: 10.5px; font-weight: 700; text-align: left; cursor: pointer; }
.bl-popover-item:hover { background: var(--bl-soft-2); }
.bl-popover-empty { padding: 15px 11px; color: var(--bl-muted); font-size: 10px; line-height: 1.5; }
.bl-popover-separator { height: 1px; margin: 5px; background: var(--bl-line); }
