/* Compact, labelled navigation rail. Preserve the console's blue/white theme. */
:root{--nav-width:104px}
.sidebar{width:var(--nav-width);padding:0;background:#fff;border-right:1px solid #e9edf4;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.sidebar .brand{display:flex;align-items:center;justify-content:center;padding:24px 0 20px;flex-shrink:0}
.sidebar .brand img{display:block;width:56px;height:56px}
.sidebar nav{display:flex;flex-direction:column;gap:0;margin:0;flex-shrink:0}
.sidebar nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:86px;width:100%;padding:14px 8px;border:0;border-radius:0;background:transparent;color:#71829a;text-align:center;font-size:12px;font-weight:550;line-height:1.4;transition:background .15s,color .15s}
.sidebar nav button .menu-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:11px;background:#f3f6fb;color:#71829a;transition:background .15s,color .15s}
.sidebar nav button .ui-icon{display:block;width:20px;height:20px}
.sidebar nav button .menu-label{display:block;width:auto;font-size:12px;line-height:1.4;white-space:nowrap}
.sidebar nav button:hover{background:#f5f8ff;color:#246be8}
.sidebar nav button.active{background:#edf4ff;color:#246be8;font-weight:650}
.sidebar nav button.active .menu-icon{background:#dceaff;color:#246be8}
.sidebar nav button.active::after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #f5f7fb;pointer-events:none}
.sidebar nav button:focus-visible{outline:2px solid #83b3ff;outline-offset:-4px}
.sidebar .sidebar-bottom{display:flex;justify-content:center;align-items:center;gap:6px;margin:auto 0 0;padding:22px 6px 18px;font-size:10px;flex-shrink:0}
.sidebar .health-dot{flex-shrink:0}
.main-shell{margin-left:var(--nav-width);width:calc(100% - var(--nav-width));min-width:0}
@media(max-width:520px){:root{--nav-width:88px}.sidebar .brand{padding:20px 0 16px}.sidebar .brand img{width:48px;height:48px}.sidebar nav button{min-height:80px;padding:12px 5px}.sidebar nav button .menu-label{font-size:11px}}
@media(max-height:640px){.sidebar .brand{padding:14px 0}.sidebar .brand img{width:44px;height:44px}.sidebar nav button{min-height:72px;gap:6px;padding-top:10px;padding-bottom:10px}.sidebar .sidebar-bottom{padding:16px 4px}}
