/* Keep every main menu item visible at standard laptop heights. */
@media(min-width:701px){
 #shell>aside{width:235px;padding:18px 14px 14px;height:100dvh;gap:0;overflow-y:auto}
 #shell>aside .portal-brand{margin:0;gap:10px;font-size:21px;line-height:1.2}
 #shell>aside .portal-logo{width:44px;height:44px;min-width:44px}
 #shell>aside .brand span{font-size:9px;letter-spacing:2px;margin-top:4px}
 #shell>aside>.nav-caption{margin:20px 10px 8px;font-size:9px}
 #shell>aside>#nav{display:grid;gap:3px;flex:0 0 auto;margin:0;padding:0}
 #shell>aside>#nav>a{min-height:38px;height:38px;padding:8px 10px;margin:0;gap:9px;font-size:13px;line-height:20px;white-space:nowrap;border-radius:8px}
 #shell>aside>#nav>a>span{width:16px;flex:0 0 16px;text-align:center}
 #shell>aside>.sidebar-footer{margin-top:auto;padding-top:14px;font-size:9px;line-height:1.6}
}
@media(min-width:701px) and (max-height:650px){
 #shell>aside{padding-top:12px;padding-bottom:10px}
 #shell>aside>.nav-caption{margin-top:12px;margin-bottom:6px}
 #shell>aside>#nav{gap:2px}
 #shell>aside>#nav>a{height:34px;min-height:34px;padding-top:6px;padding-bottom:6px}
 #shell>aside>.sidebar-footer{padding-top:10px}
}
#main .tabs [data-menu-migration]{font:inherit;white-space:nowrap}

/* Group labels stay compact; settings is ordered last by the menu organizer. */
#nav>.nav-group-label{display:block;font-size:9px;line-height:12px;letter-spacing:.65px;text-transform:uppercase;color:#9fbac8;margin:8px 10px 3px;font-weight:600;pointer-events:none}
#nav>.nav-group-label:first-child{margin-top:0}
@media(min-width:701px){
 #shell>aside{padding:14px 12px 10px}
 #shell>aside>.nav-caption{display:none}
 #shell>aside>#nav{gap:0;margin-top:12px}
 #shell>aside>#nav>a{height:32px;min-height:32px;padding:6px 9px;font-size:13px;line-height:20px}
 #shell>aside>.sidebar-footer{font-size:9px;padding-top:8px;line-height:1.4}
}
@media(min-width:701px) and (max-height:750px){
 #shell>aside{padding:10px 12px 8px}
 #shell>aside>#nav{margin-top:8px;gap:0}
 #shell>aside>#nav>a{height:28px;min-height:28px;padding:4px 9px;font-size:12.5px;line-height:20px}
 #nav>.nav-group-label{margin:6px 9px 2px;font-size:8.5px;line-height:11px}
 #shell>aside>.sidebar-footer{font-size:8px;padding-top:6px}
}

/* Identical icon and text columns for every navigation item. */
#shell>aside>#nav>a{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:10px;align-items:center;font-weight:600;letter-spacing:0}
#shell>aside>#nav>a>.nav-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0;padding:0;line-height:1}
#shell>aside>#nav>a>.nav-icon svg{display:block;width:18px;height:18px}
#shell>aside>#nav>a>.nav-label{display:block;width:auto;min-width:0;margin:0;padding:0;text-align:left;white-space:nowrap;font:inherit;line-height:20px;letter-spacing:0}
#shell>aside>#nav>.nav-group-label{margin-left:37px;margin-right:3px;letter-spacing:.5px;font-weight:600}

/* Quiet separators replace group captions, preserving the same ordering. */
#shell>aside>#nav>.nav-group-separator{display:block;box-sizing:border-box;height:1px;min-height:1px;margin:7px 9px;background:rgba(171,201,216,.22);border:0;pointer-events:none}
@media(min-width:701px) and (max-height:750px){#shell>aside>#nav>.nav-group-separator{margin:6px 9px}}
