:root{--hfe-nav-width:224px;--hfe-nav-rail:64px;--hfe-nav-font:14px;--hfe-nav-item:38px;--hfe-nav-icon:18px;--hfe-nav-avatar:34px}.sidebar.sidebar--adaptive{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-dark);font-size:var(--hfe-nav-font);padding-top:calc(12px + var(--safe-area-top,0px));width:var(--hfe-nav-width)}.sidebar.sidebar--adaptive .sidebar-header{gap:8px;min-height:44px;padding:0 12px 12px}.sidebar.sidebar--adaptive .sidebar-brand{font-size:calc(var(--hfe-nav-font) + 3px);align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.sidebar.sidebar--adaptive .sidebar-brand img{border-radius:var(--radius-card);height:calc(var(--hfe-nav-icon) + 16px);-o-object-fit:cover;object-fit:cover;width:calc(var(--hfe-nav-icon) + 16px)}.sidebar.sidebar--adaptive .sidebar-toggle{font-size:var(--hfe-nav-icon);height:calc(var(--hfe-nav-icon) + 14px);width:calc(var(--hfe-nav-icon) + 14px);margin-left:auto;padding:0}.sidebar.sidebar--adaptive .sidebar-nav{scrollbar-width:thin;min-height:0;padding:0 8px 10px}.sidebar.sidebar--adaptive .sidebar-nav-group{padding-top:12px}.sidebar.sidebar--adaptive .sidebar-nav-group-title{color:var(--text-muted);font-size:calc(var(--hfe-nav-font) - 2px);letter-spacing:.03em;margin:0;padding:0 10px 6px;font-weight:500;line-height:1.4}.sidebar.sidebar--adaptive .sidebar-item{border-radius:var(--radius-control-md);color:var(--text-muted);font-family:inherit;font-size:var(--hfe-nav-font);letter-spacing:0;min-height:var(--hfe-nav-item);text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-width:0;padding:7px 10px;line-height:1.3;text-decoration:none;display:flex}.sidebar.sidebar--adaptive .sidebar-item i{flex:0 0 var(--hfe-nav-icon);font-size:var(--hfe-nav-icon);width:var(--hfe-nav-icon);margin:0}.sidebar.sidebar--adaptive .sidebar-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar.sidebar--adaptive .sidebar-item:hover{background:var(--bg-card);color:var(--text-main)}.sidebar.sidebar--adaptive .sidebar-item.active{background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 3px 0 var(--accent);color:var(--text-main)}.sidebar.sidebar--adaptive :is(button,a):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.sidebar.sidebar--adaptive .sidebar-footer{padding:12px 10px calc(12px + var(--safe-area-bottom,0px));flex-direction:row;flex-shrink:0;align-items:center;gap:8px;display:flex}.sidebar.sidebar--adaptive .sidebar-user{color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.sidebar.sidebar--adaptive .avatar{height:var(--hfe-nav-avatar);min-width:var(--hfe-nav-avatar);width:var(--hfe-nav-avatar);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.sidebar.sidebar--adaptive .avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.sidebar.sidebar--adaptive .sidebar-user-info{flex:1;gap:2px;min-width:0;display:grid}.sidebar.sidebar--adaptive .user-name,.sidebar.sidebar--adaptive .user-role{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar.sidebar--adaptive .user-name{font-size:var(--hfe-nav-font)}.sidebar.sidebar--adaptive .user-role{color:var(--text-muted);font-size:calc(var(--hfe-nav-font) - 2px)}.sidebar.sidebar--adaptive .sidebar-logout{border-radius:var(--radius-control-md);font-size:var(--hfe-nav-icon);height:var(--hfe-nav-avatar);min-height:0;min-width:var(--hfe-nav-avatar);width:var(--hfe-nav-avatar);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.sidebar.sidebar--adaptive.collapsed{width:var(--hfe-nav-rail)}.sidebar.sidebar--adaptive.collapsed .sidebar-header{justify-content:center;padding-inline:6px}.sidebar.sidebar--adaptive.collapsed .sidebar-toggle{margin-inline:auto}.sidebar.sidebar--adaptive.collapsed .sidebar-brand,.sidebar.sidebar--adaptive.collapsed .sidebar-label,.sidebar.sidebar--adaptive.collapsed .sidebar-user-info{display:none}.sidebar.sidebar--adaptive.collapsed .sidebar-nav-group{border-top:1px solid var(--border-color);margin-top:8px;padding-top:8px}.sidebar.sidebar--adaptive.collapsed .sidebar-nav-group-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.sidebar.sidebar--adaptive.collapsed .sidebar-item{font-size:var(--hfe-nav-font);justify-content:center;padding:7px 4px}.sidebar.sidebar--adaptive.collapsed .sidebar-item i{font-size:var(--hfe-nav-icon);margin:0}.sidebar.sidebar--adaptive.collapsed .sidebar-footer{flex-direction:column;padding-inline:6px}.sidebar.sidebar--adaptive.collapsed .sidebar-user{flex:none}@media (width>=1025px){.sidebar.sidebar--adaptive~.main-content{margin-left:var(--hfe-nav-width);max-width:calc(100% - var(--hfe-nav-width));width:calc(100% - var(--hfe-nav-width))}.sidebar.sidebar--adaptive.collapsed~.main-content{margin-left:var(--hfe-nav-rail);max-width:calc(100% - var(--hfe-nav-rail));width:calc(100% - var(--hfe-nav-rail))}}@media (width>=2200px){:root{--hfe-nav-width:256px;--hfe-nav-rail:72px;--hfe-nav-font:16px;--hfe-nav-item:44px;--hfe-nav-icon:20px;--hfe-nav-avatar:38px}}@media (width>=3000px){:root{--hfe-nav-width:288px;--hfe-nav-rail:80px;--hfe-nav-font:17px;--hfe-nav-item:48px;--hfe-nav-icon:22px;--hfe-nav-avatar:40px}}@media (width>=3600px){:root{--hfe-nav-width:320px;--hfe-nav-rail:88px;--hfe-nav-font:18px;--hfe-nav-item:52px;--hfe-nav-icon:24px;--hfe-nav-avatar:44px}}@media (width<=1024px){.sidebar.sidebar--adaptive{--hfe-nav-font:16px;--hfe-nav-item:48px;--hfe-nav-icon:20px;--hfe-nav-avatar:38px;z-index:30;width:min(86vw,340px);max-width:340px}.sidebar.sidebar--adaptive .sidebar-header{padding-inline:16px}.sidebar.sidebar--adaptive .sidebar-toggle{width:40px;height:40px}.sidebar.sidebar--adaptive:not(.open){pointer-events:none;visibility:hidden}.sidebar.sidebar--adaptive.open{pointer-events:auto;visibility:visible}.sidebar.sidebar--adaptive~.main-content{width:100%;max-width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.sidebar.sidebar--adaptive,.sidebar.sidebar--adaptive .sidebar-item,.sidebar.sidebar--adaptive~.main-content{transition:none}}
