.shell[data-v-3f5988df]{height:100%;display:flex}.aside[data-v-3f5988df]{background:var(--bg-sidebar);flex-direction:column;width:220px;min-width:220px;height:100%;display:flex}.brand[data-v-3f5988df]{height:56px;padding:0 var(--sp-5);align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--sidebar-divider);flex:none;display:flex}.brand-dot[data-v-3f5988df]{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.brand-text[data-v-3f5988df]{font-size:var(--fs-lg);color:var(--sidebar-text-active);white-space:nowrap;font-weight:700}.nav[data-v-3f5988df]{padding:var(--sp-2) 0;flex:1;overflow-y:auto}.nav-group[data-v-3f5988df]{font-size:var(--fs-xs);color:var(--sidebar-label);letter-spacing:.5px;padding:8px 20px 4px}.menu-item[data-v-3f5988df]{height:36px;margin:1px var(--sp-2);padding:0 var(--sp-3);border-radius:var(--r-menu);font-size:var(--fs-base);color:var(--sidebar-text);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:10px;text-decoration:none;display:flex}.menu-item[data-v-3f5988df]:hover{background:var(--sidebar-hover);color:var(--sidebar-text-hover)}.menu-item.active[data-v-3f5988df]{background:var(--accent-strong);color:var(--sidebar-text-active);font-weight:500}.identity[data-v-3f5988df]{height:64px;padding:0 var(--sp-3);border-top:1px solid var(--sidebar-divider);align-items:center;gap:var(--sp-2);cursor:pointer;transition:background var(--transition-fast);flex:none;display:flex}.identity[data-v-3f5988df]:hover{background:var(--sidebar-hover)}.avatar[data-v-3f5988df]{background:var(--accent);width:32px;height:32px;color:var(--sidebar-text-active);font-size:var(--fs-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex}.identity-text[data-v-3f5988df]{flex-direction:column;min-width:0;display:flex}.identity-name[data-v-3f5988df]{font-size:var(--fs-sm);color:var(--sidebar-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.identity-role[data-v-3f5988df]{font-size:var(--fs-xs);color:var(--sidebar-label)}.online[data-v-3f5988df]{align-items:center;gap:var(--sp-1);padding:var(--sp-1);font-size:var(--fs-xs);color:var(--sidebar-text);flex:none;margin-left:auto;display:flex}.online-dot[data-v-3f5988df]{background:var(--sidebar-label);border-radius:50%;flex:none;width:8px;height:8px}.online-dot.on[data-v-3f5988df]{background:var(--ok)}.actions[data-v-3f5988df]{height:32px;padding:0 var(--sp-3);border-top:1px solid var(--sidebar-divider);flex:none}.logout[data-v-3f5988df]{width:100%;height:100%;padding:0 var(--sp-2);border:1px solid var(--sidebar-divider);border-radius:var(--r-btn);background:var(--sidebar-hover);text-align:center;font-size:var(--fs-sm);color:var(--sidebar-text);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast)}.logout[data-v-3f5988df]:hover{border-color:var(--sidebar-text);color:var(--sidebar-text-active)}.content[data-v-3f5988df]{min-height:0;padding:var(--sp-5);flex:1;overflow-y:auto}.container[data-v-3f5988df]{max-width:1200px;margin:0 auto}:root{--bg:#f5f6f8;--bg-chat:#eef0f3;--card:#fff;--bg-input:#f7f8fa;--hover:#f0f1f3;--bg-sidebar:#1e2329;--ink:#1d2129;--soft:#4e5969;--faint:#86909c;--line:#e5e6eb;--line2:#d0d5dd;--accent:#3370ff;--accent-strong:#2860e0;--ok:#047857;--ok-bg:#e8f8f0;--ok-line:#a7f3d0;--warn:#b45309;--warn-bg:#fff3e0;--warn-line:#fcd34d;--danger:#dc2626;--danger-bg:#ffece8;--danger-line:#fca5a5;--sidebar-text:#b0b8c3;--sidebar-text-hover:#d0d5dd;--sidebar-text-active:#fff;--sidebar-hover:#ffffff0f;--sidebar-label:#ffffff4d;--sidebar-divider:#ffffff14;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:20px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--r-card:12px;--r-btn:8px;--r-input:8px;--r-menu:8px;--shadow-card:0 1px 2px #0000000a;--transition-fast:.2s ease-out;--font-family:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-family);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3,p{margin:0}button{font-family:inherit;font-size:inherit;cursor:pointer}input{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
