.sidebar { gap:20px; padding-top:26px; overflow:hidden; }
.sidebar > .brand, .sidebar-line, .sidebar-bottom { flex-shrink:0; }
.sidebar-navigation { flex:1; min-height:0; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#47635b transparent; }
.grouped-nav { gap:18px; padding-right:4px; }
.nav-section .nav-label { margin:0 12px 8px; font-size:10px; font-weight:500; line-height:1.6; letter-spacing:1px; color:#94b2a5; }
.nav-section-items { display:grid; gap:3px; }
.grouped-nav button { width:100%; min-height:39px; padding:10px 12px; gap:11px; line-height:1.4; }
.grouped-nav button svg { flex-shrink:0; }
.sidebar-bottom { margin-top:0; }
.guide-link { display:flex; align-items:center; gap:10px; margin-bottom:13px; padding:11px 12px; border:1px solid #ffffff20; border-radius:8px; color:#dcece2; font-size:12px; text-decoration:none; }
.guide-link:hover { background:#ffffff0c; color:white; }
.guide-link small { margin-left:auto; color:#9db5a9; font-size:10px; }
.guide-link:focus-visible, .grouped-nav button:focus-visible { outline:2px solid #bbf1cf; outline-offset:-2px; }
@media(max-width:720px) {
  .sidebar { display:flex; gap:12px; height:auto; padding:14px 16px; }
  .sidebar-navigation { flex:none; overflow:visible; }
  .grouped-nav { display:flex; flex-wrap:nowrap; align-items:flex-start; gap:20px; overflow-x:auto; padding:0 0 5px; }
  .nav-section { flex:0 0 auto; }
  .nav-section .nav-label { display:block; margin:0 5px 6px; }
  .nav-section-items { display:flex; gap:3px; }
  .grouped-nav button { width:auto; min-height:34px; padding:8px 9px; white-space:nowrap; }
  .sidebar .sidebar-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .sidebar-bottom .paper-note { display:none; }
  .sidebar-bottom .guide-link { margin:0; padding:7px 10px; }
  .sidebar-bottom .btn { width:auto; margin:0; padding:7px 10px; }
}
