/* The unpinned rail expands over the page; pinning reserves its full width. */
.sb-account{display:flex;align-items:center;min-width:0}
.sb-account .sb-user{min-width:0;flex:1}
.sb-user-info{flex:1;min-width:0}
.sb-pin{display:none}
@media(min-width:901px){
 #app{--sidebar-rail:76px;--sidebar-open:252px;position:relative;padding-left:var(--sidebar-rail);transition:padding-left .22s cubic-bezier(.2,.8,.2,1)}
 #app.sidebar-pinned{padding-left:var(--sidebar-open)}
 #app>.sidebar{position:absolute;inset:0 auto 0 0;z-index:200;width:var(--sidebar-rail);min-width:0;height:100%;border-right:1px solid var(--border);background:var(--bg2);transition:width .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;overflow:hidden}
 #app.sidebar-expanded>.sidebar,#app.sidebar-pinned>.sidebar{width:var(--sidebar-open)}
 #app.sidebar-expanded:not(.sidebar-pinned)>.sidebar{box-shadow:16px 0 40px #0005}
 #app>.main{min-width:0;max-width:100%;flex:1 1 0}
 #app .sidebar .sb-logo{height:clamp(60px,9vh,82px);min-height:clamp(60px,9vh,82px);padding:8px 16px;gap:12px;overflow:hidden}
 #app .sidebar .sb-logo img{width:44px;height:44px}
 #app .sidebar .sb-logo-text{flex:none;font-size:20px;white-space:nowrap}
 #app .sidebar .sb-nav{--sidebar-item-height:44px;--sidebar-heading-height:22px;--sidebar-item-gap:2px;--sidebar-group-gap:8px;min-height:0;padding:6px 12px 10px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;scrollbar-gutter:auto;overscroll-behavior:contain}
 #app .sidebar .sb-nav::-webkit-scrollbar{width:0}
 #app:is(.sidebar-expanded,.sidebar-pinned) .sidebar:is(:hover,:has(:focus-visible)) .sb-nav{scrollbar-width:thin;scrollbar-color:var(--text3) transparent}
 #app:is(.sidebar-expanded,.sidebar-pinned) .sidebar:is(:hover,:has(:focus-visible)) .sb-nav::-webkit-scrollbar{width:5px}
 #app .sidebar .sb-nav::-webkit-scrollbar-thumb{background:var(--text3);border-radius:99px}
 #app .sidebar .sb-nav[data-density=compact]{--sidebar-heading-height:18px;--sidebar-item-gap:1px;--sidebar-group-gap:6px;padding-block:4px 6px}
 #app .sidebar .sb-group-title{position:relative;display:block;height:var(--sidebar-heading-height);margin:0;padding:0 13px;overflow:hidden;white-space:nowrap;font-size:10px;line-height:var(--sidebar-heading-height);font-weight:600;letter-spacing:.1em;color:transparent;transition:color .18s ease}
 #app .sidebar .sb-group-title::before{content:'';position:absolute;left:13px;top:50%;width:22px;height:1px;background:var(--border2);opacity:.75;transform-origin:left center;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
 #app.sidebar-expanded .sidebar .sb-group-title,#app.sidebar-pinned .sidebar .sb-group-title{color:var(--text3);transition-delay:.05s}
 #app.sidebar-expanded .sidebar .sb-group-title::before,#app.sidebar-pinned .sidebar .sb-group-title::before{opacity:0;transform:scaleX(.55)}
 #app .sidebar .sb-group+.sb-group{margin-top:var(--sidebar-group-gap)}
 #app .sidebar .sb-group-items{display:flex;flex-direction:column;gap:var(--sidebar-item-gap)}
 #app .sidebar .sb-group{margin-bottom:0}
 #app .sidebar .sb-item{position:relative;display:flex;align-items:center;gap:13px;width:100%;height:var(--sidebar-item-height);min-height:var(--sidebar-item-height);margin:0;padding:0 13px;border:1px solid transparent;border-radius:10px;white-space:nowrap;overflow:hidden;transition:background .15s,color .15s,border-color .15s}
 #app .sidebar .sb-icon{width:22px;height:22px;flex:none;opacity:1;color:var(--text3)}
 #app .sidebar .sb-icon svg{width:19px;height:19px}
 #app .sidebar .sb-item:hover .sb-icon,#app .sidebar .sb-item.active .sb-icon{color:inherit}
 #app .sidebar .sb-item.active{border-color:var(--violetborder);background:var(--violetbg);color:var(--violet3)}
 #app .sidebar .sb-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:500}
 #app:not(.sidebar-expanded):not(.sidebar-pinned) .sidebar .sb-item{justify-content:center;gap:0;padding-inline:0}
 #app:not(.sidebar-expanded):not(.sidebar-pinned) .sidebar .sb-label{position:absolute;left:48px}
 #app .sidebar .sb-logo-text,#app .sidebar .sb-label,#app .sidebar .sb-user-info{opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease}
 #app.sidebar-expanded .sidebar .sb-logo-text,#app.sidebar-pinned .sidebar .sb-logo-text,
 #app.sidebar-expanded .sidebar .sb-label,#app.sidebar-pinned .sidebar .sb-label,
 #app.sidebar-expanded .sidebar .sb-user-info,#app.sidebar-pinned .sidebar .sb-user-info{opacity:1;visibility:visible;transition-delay:.06s}
 #app .sidebar .sb-badge{flex:none;margin-left:auto}
 #app:not(.sidebar-expanded):not(.sidebar-pinned) .sidebar .sb-badge{position:absolute;right:5px;top:7px;width:6px;height:6px;min-width:0;padding:0;border:0;background:var(--violet2);font-size:0}
 #app:not(.sidebar-expanded):not(.sidebar-pinned) .sidebar .sb-badge.warn{background:var(--amber)}
 #app .sidebar .sb-bottom{flex:none;padding:6px 12px;border-top:1px solid var(--border);background:var(--bg2)}
 #app .sidebar .sb-account{position:relative;min-height:48px}
 #app .sidebar .sb-user{flex:none;gap:11px;width:100%;height:48px;padding:8px 10px;overflow:hidden;white-space:nowrap}
 #app.sidebar-expanded .sidebar .sb-user,#app.sidebar-pinned .sidebar .sb-user{padding-right:40px}
 #app .sidebar .sb-user .av{width:30px;height:30px}
 #app .sidebar #sb-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important}
 #app .sidebar .sb-pin{position:absolute;right:0;top:5px;display:flex;align-items:center;justify-content:center;width:36px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text3);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .12s ease,background .15s ease}
 #app.sidebar-expanded .sidebar .sb-pin,#app.sidebar-pinned .sidebar .sb-pin{opacity:1;visibility:visible;transition-delay:.06s}
 #app .sidebar .sb-pin:hover{background:var(--bg3)}
 #app .sb-pin-track{position:relative;width:28px;height:17px;border:1px solid var(--border2);border-radius:99px;background:var(--bg4);transition:background .18s,border-color .18s}
 #app .sb-pin-track::after{content:'';position:absolute;width:11px;height:11px;left:2px;top:2px;border-radius:50%;background:var(--text3);transition:transform .18s,background .18s}
 #app .sb-pin[aria-checked=true] .sb-pin-track{background:var(--violet);border-color:var(--violet)}
 #app .sb-pin[aria-checked=true] .sb-pin-track::after{transform:translateX(11px);background:#fff}
 #app .sidebar button:focus-visible{outline:2px solid var(--violet2);outline-offset:-2px}
}
@media(min-width:901px) and (prefers-reduced-motion:reduce){
 #app,#app>.sidebar,#app .sidebar .sb-logo-text,#app .sidebar .sb-label,#app .sidebar .sb-user-info,#app .sidebar .sb-pin,#app .sidebar .sb-group-title,#app .sidebar .sb-group-title::before,#app .sb-pin-track,#app .sb-pin-track::after{transition:none}
}
