.side nav>button[data-nav-key]{cursor:grab;user-select:none;touch-action:none;position:relative}
.nav-drag-handle{margin-left:auto;font-style:normal;opacity:.55;font-size:20px;line-height:1}
/* Keep the desktop menu compact without hiding module names or drag controls. */
@media(min-width:761px){
 .shell>.side{width:210px;flex:0 0 210px;padding-left:10px;padding-right:10px}
 .side .sidebar-brand{gap:8px;padding:8px 0 16px}
 .side .sidebar-brand .sidebar-logo{flex:0 0 30px;width:30px}
 .side .sidebar-title{min-width:0;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:clip}
 .side nav>button{padding-left:8px;padding-right:8px;gap:8px;align-items:center}
 .side nav>button i{flex:0 0 24px;width:24px;height:28px}
 .side nav>button span{padding-top:0}
 .side nav>.sub-nav{padding-left:24px!important}
 .side nav>.group-nav b{padding-top:0;flex-shrink:0}
 .side nav>button .nav-drag-handle{flex:0 0 12px;font-size:18px;text-align:center}
}
.side nav>button:hover .nav-drag-handle{opacity:1}
.side nav>button.nav-dragging{opacity:.45}
.side nav>button.nav-drop-before:before,.side nav>button.nav-drop-after:after{content:'';position:absolute;left:4px;right:4px;height:3px;border-radius:2px;background:#66d4ff;box-shadow:0 0 6px #66d4ff;pointer-events:none}
.side nav>button.nav-drop-before:before{top:-3px}
.side nav>button.nav-drop-after:after{bottom:-3px}
body.nav-sorting,body.nav-sorting *{cursor:grabbing!important;user-select:none!important}
