/* Keep navigation icons visible; hover reveals their labels over the page. */
.sidebar .sidebar-panel { display:flex; flex-direction:column; height:100%; background:inherit; padding:16px 11px; border-right:1px solid var(--line); overflow-x:hidden; overflow-y:auto; }
.sidebar-heading { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.sidebar-heading .nav-caption { margin:0; min-width:160px; line-height:1.5; }
.sidebar-toggle { flex:0 0 48px; width:48px; height:44px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:#111d35; color:#bed1ed; cursor:pointer; }
.sidebar-toggle:hover { color:#fff; background:#203657; }
.sidebar-close-icon { display:none; }
.sidebar .nav-link { min-height:44px; padding:11px 12px; gap:10px; }
.sidebar .nav-icon { flex:0 0 24px; width:24px; text-align:center; font-size:20px; line-height:24px; }
.sidebar .nav-label { font-size:14px; line-height:1.4; white-space:nowrap; }
.sidebar nav > .bf-action-wrap { width:100%; }
.sidebar .sidebar-footer { padding:18px 4px 0; line-height:1.5; }
@media (min-width:951px) {
  .sidebar { display:flex; flex:0 0 72px; width:72px; min-width:0; padding:0; border:0; overflow:visible; z-index:4; transition:flex-basis .2s ease,width .2s ease; }
  .app-shell > .main-content { flex:1 1 0%; width:auto; max-width:none; margin:0; padding-left:24px; }
  .sidebar .sidebar-panel { position:absolute; inset:0 auto 0 0; width:72px; transition:width .2s ease,box-shadow .2s ease; }
  .sidebar.is-expanded .sidebar-panel { width:260px; }
  .sidebar.is-expanded:not(.is-pinned) .sidebar-panel { box-shadow:14px 0 28px #02061755; }
  .sidebar.is-pinned { flex-basis:260px; width:260px; }
  .sidebar.is-pinned .sidebar-pin-icon { transform:rotate(180deg); }
  .sidebar:not(.is-expanded) .nav-label,
  .sidebar:not(.is-expanded) .nav-caption,
  .sidebar:not(.is-expanded) .sidebar-footer { visibility:hidden; }
  .sidebar:not(.is-expanded) .sidebar-footer { height:0; overflow:hidden; padding:0; border:0; }
  .sidebar:not(.is-expanded) .bf-action-progress { padding:5px; justify-content:center; }
  .sidebar:not(.is-expanded) .bf-action-message { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
}
@media (max-width:950px) {
  .sidebar { display:none; padding:0; border:0; }
  .sidebar.is-open { width:min(280px,95vw); }
  .sidebar .sidebar-panel { width:100%; }
  .sidebar-pin-icon { display:none; }
  .sidebar-close-icon { display:block; }
  .sidebar .nav-label { white-space:normal; }
}
@media (prefers-reduced-motion:reduce) {
  .sidebar,.sidebar .sidebar-panel { transition:none; }
}
