@keyframes t-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.t-icon{display:inline-block;vertical-align:middle;width:1em;height:1em}.t-icon:before{font-family:unset}.t-icon-loading{animation:t-spin 1s linear infinite}.t-icon{fill:currentColor}.t-icon.t-size-s,i.t-size-s{font-size:14px}.t-icon.t-size-m,i.t-size-m{font-size:16px}.t-icon.t-size-l,i.t-size-l{font-size:18px}.brand-icon[data-v-24346d8d]{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}.brand-icon svg[data-v-24346d8d]{width:18px;height:18px;display:block}.app-layout[data-v-a358da4f]{display:flex;height:100vh;overflow:hidden}.sidebar[data-v-a358da4f]{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;transition:width .2s ease}.sidebar.collapsed[data-v-a358da4f]{width:var(--sidebar-cw)}.sidebar-logo[data-v-a358da4f]{padding:14px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;min-height:var(--header-h)}.logo-icon[data-v-a358da4f]{width:30px;height:30px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;font-weight:700;flex-shrink:0}.logo-text[data-v-a358da4f]{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden}.sidebar.collapsed .logo-text[data-v-a358da4f]{display:none}.sidebar-nav[data-v-a358da4f]{flex:1;padding:10px 8px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.nav-section[data-v-a358da4f]{display:flex;flex-direction:column;gap:4px}.nav-section-title[data-v-a358da4f]{padding:0 12px 6px;color:var(--text-muted);font-size:12px;font-weight:600;line-height:18px}.nav-item[data-v-a358da4f]{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;border-radius:8px;cursor:pointer;transition:var(--tr);color:var(--text-secondary);font-size:14px;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-decoration:none}.nav-item[data-v-a358da4f]:hover{background:var(--bg-input);color:var(--text-primary)}.nav-item.active[data-v-a358da4f]{background:var(--accent-light);color:var(--accent);font-weight:600}.nav-svg[data-v-a358da4f]{width:18px;height:18px;flex-shrink:0;color:currentColor}.sidebar.collapsed .nav-label[data-v-a358da4f],.sidebar.collapsed .nav-section-title[data-v-a358da4f]{display:none}.sidebar.collapsed .nav-item[data-v-a358da4f]{justify-content:center;padding:0}.sidebar-footer[data-v-a358da4f]{padding:8px;border-top:1px solid var(--border)}.user-bar-wrap[data-v-a358da4f]{position:relative}.user-bar-wrap:hover .user-hover-menu[data-v-a358da4f]{display:flex}.user-hover-menu[data-v-a358da4f]{display:none;position:absolute;left:0;right:0;bottom:100%;flex-direction:column;gap:2px;padding:6px 6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-body);box-shadow:var(--shadow-lg);z-index:120}.hover-menu-item[data-v-a358da4f]{display:flex;align-items:center;height:34px;padding:0 10px;border-radius:6px;color:var(--text-secondary);font-size:13px;text-decoration:none;transition:var(--tr)}.hover-menu-item[data-v-a358da4f]:hover{background:var(--bg-input);color:var(--text-primary)}.balance-chip[data-v-a358da4f]{display:flex;align-items:center;gap:6px;margin:6px 4px 8px;padding:6px 10px;border-radius:8px;background:var(--accent-light);color:var(--accent);font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;transition:var(--tr)}.balance-chip[data-v-a358da4f]:hover{background:var(--accent);color:#fff}.balance-icon[data-v-a358da4f]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#fff3;font-weight:700}.balance-chip:not(:hover) .balance-icon[data-v-a358da4f]{background:var(--accent);color:#fff}.balance-amount[data-v-a358da4f]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.user-bar[data-v-a358da4f]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius)}.user-avatar[data-v-a358da4f]{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.user-name[data-v-a358da4f]{font-size:12px;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis}.logout-btn[data-v-a358da4f]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:0;background:transparent;cursor:pointer;color:var(--text-muted);transition:var(--tr)}.logout-btn[data-v-a358da4f]:hover{background:var(--bg-input);color:var(--error)}.main-area[data-v-a358da4f]{margin-left:var(--sidebar-w);height:100vh;overflow-y:auto;display:flex;flex-direction:column;transition:margin-left .2s ease;flex:1;background:#fff}.sb-collapsed .main-area[data-v-a358da4f]{margin-left:var(--sidebar-cw)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-root: #f5f5f7;--bg-body: #ffffff;--bg-input: #f5f5f7;--bg-sidebar: #ffffff;--border: #e8e8e8;--border-light: #efefef;--text-primary: #1a1a1a;--text-secondary: #666;--text-muted: #999;--accent: #2563eb;--accent-light: #eff4ff;--accent-border: rgba(37,99,235,.3);--success: #16a34a;--success-bg: #f0fdf4;--warning: #d97706;--warning-bg: #fffbeb;--error: #dc2626;--error-bg: #fef2f2;--info: #2563eb;--info-bg: #eff6ff;--radius: 8px;--radius-lg: 10px;--sidebar-w: 200px;--sidebar-cw: 56px;--header-h: 68px;--tr: all .15s ease;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06);--shadow-lg: 0 4px 16px rgba(0,0,0,.08)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-root);color:var(--text-primary);height:100vh;overflow:hidden;font-size:14px}#app{height:100vh;overflow:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
