*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #FFFFFF;--bg-secondary: #F5F5F7;--bg-tertiary: #EEEEEF;--bg-card: #FFFFFF;--bg-hover: #F0F0F1;--bg-active: #E8E8EA;--bg-input: #FFFFFF;--bg-overlay: rgba(0, 0, 0, .45);--text-primary: #1D1D1F;--text-secondary: #86868B;--text-tertiary: #A1A1A6;--text-muted: #C7C7CC;--text-disabled: #D1D1D6;--text-inverse: #FFFFFF;--primary-50: #FFF9E6;--primary-100: #FFF0C2;--primary-200: #FFE499;--primary-300: #FFD670;--primary-400: #F5A623;--primary-500: #E09400;--primary-600: #C48200;--primary-700: #A87000;--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .1);--border-hover: rgba(0, 0, 0, .2);--border-focus: rgba(245, 166, 35, .5);--border-active: rgba(245, 166, 35, .6);--border-divider: rgba(0, 0, 0, .08);--success-50: #E8F5E9;--success-400: #34C759;--success-500: #2EAF4D;--warning-50: #FFF3E0;--warning-400: #FF9500;--warning-500: #E68600;--error-50: #FFEBEE;--error-400: #FF3B30;--error-500: #E0352B;--info-50: #E3F2FD;--info-400: #007AFF;--info-500: #006EE6;--chart-1: #F5A623;--chart-2: #007AFF;--chart-3: #34C759;--chart-4: #FF3B30;--chart-5: #5856D6;--chart-6: #FF9500;--chart-7: #5AC8FA;--chart-8: #FF2D55;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--shadow-glow: 0 0 20px rgba(245, 166, 35, .2);--shadow-button: 0 4px 12px rgba(245, 166, 35, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .08);--shadow-card-hover: 0 8px 32px rgba(0, 0, 0, .12);--font-cn: "PingFang SC", "Microsoft YaHei", -apple-system, sans-serif;--font-en: "SF Pro Display", "Inter", -apple-system, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Fira Code", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--text-4xl: 32px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--transition-all: all var(--transition-base) var(--ease-in-out);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-agent-window: 900;--header-height: 56px;--sidebar-width: 220px;--sidebar-collapsed: 64px;--agent-window-width: 380px;--agent-window-height: 520px;--agent-window-minimized: auto;--content-max-width: 1440px;--content-padding: 24px;--accent-blue: var(--primary-400);--accent-green: var(--success-400);--border-color: var(--border-default)}[data-theme=dark]{--bg-primary: #0A0F0D;--bg-secondary: #111815;--bg-tertiary: #151C19;--bg-card: #1A211E;--bg-hover: #242E2A;--bg-active: #2D3A35;--bg-input: #0F1412;--bg-overlay: rgba(10, 15, 13, .85);--text-primary: #F0FDF4;--text-secondary: #86A895;--text-tertiary: #6B8A7D;--text-muted: #5C7368;--text-disabled: #3D4F47;--text-inverse: #0A0F0D;--primary-50: #F0FDF4;--primary-100: #DCFCE7;--primary-200: #BBF7D0;--primary-300: #86EFAC;--primary-400: #4ADE80;--primary-500: #22C55E;--primary-600: #16A34A;--primary-700: #15803D;--border-subtle: rgba(74, 222, 128, .06);--border-default: rgba(74, 222, 128, .12);--border-hover: rgba(74, 222, 128, .2);--border-focus: rgba(74, 222, 128, .5);--border-active: rgba(74, 222, 128, .6);--border-divider: rgba(74, 222, 128, .08);--success-50: #F0FDF4;--success-400: #4ADE80;--success-500: #22C55E;--warning-50: #FFFBEB;--warning-400: #F59E0B;--warning-500: #D97706;--error-50: #FEF2F2;--error-400: #F43F5E;--error-500: #E11D48;--info-50: #ECFEFF;--info-400: #06B6D4;--info-500: #0891B2;--chart-1: #4ADE80;--chart-2: #06B6D4;--chart-3: #A855F7;--chart-4: #F43F5E;--chart-5: #F59E0B;--chart-6: #3B82F6;--chart-7: #EC4899;--chart-8: #8B5CF6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(74, 222, 128, .15);--shadow-button: 0 4px 12px rgba(34, 197, 94, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--shadow-card-hover: 0 8px 32px rgba(0, 0, 0, .5)}body{font-family:var(--font-cn);background:var(--bg-primary);color:var(--text-primary);line-height:var(--leading-normal);transition:background var(--transition-base) var(--ease-in-out),color var(--transition-base) var(--ease-in-out)}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-card);border-bottom:1px solid var(--border-divider);padding:0 var(--space-6);height:var(--header-height);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.header h1{font-size:var(--text-2xl);background:linear-gradient(135deg,var(--primary-400),var(--info-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-nav{display:flex;gap:var(--space-8)}.header-nav a{color:var(--text-secondary);text-decoration:none;font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--space-2) 0;border-bottom:2px solid transparent;transition:var(--transition-all)}.header-nav a:hover,.header-nav a.active{color:var(--text-primary);border-bottom-color:var(--accent-blue)}.main{flex:1;display:flex;padding:var(--space-6);gap:var(--space-6);max-width:var(--content-max-width);margin:0 auto;width:100%}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.sidebar-header{display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.agent-count{font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.agent-list{display:flex;flex-direction:column;gap:var(--space-2);flex:1;overflow-y:auto}.agent-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all)}.agent-item:hover{border-color:var(--border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.agent-item.active{border-color:var(--accent-blue);background:var(--primary-50)}.agent-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.agent-info{flex:1;min-width:0}.agent-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px}.agent-desc{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{flex:1;display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.stat-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);box-shadow:var(--shadow-card);transition:var(--transition-all)}.stat-card:hover{box-shadow:var(--shadow-card-hover)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.stat-info{flex:1}.stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.stat-value{font-size:24px;font-weight:var(--font-bold);color:var(--text-primary)}.chat-container{flex:1;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:500px;box-shadow:var(--shadow-card)}.chat-messages{flex:1;padding:var(--space-6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary)}.empty-state h3{color:var(--text-primary);margin-bottom:var(--space-2)}.quick-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.quick-actions button{background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-primary);padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all);font-size:var(--text-base)}.quick-actions button:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.message{display:flex;gap:var(--space-3);max-width:80%}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.message-content{flex:1}.message-header{display:flex;gap:var(--space-2);align-items:center;margin-bottom:6px}.message-role{font-size:13px;font-weight:var(--font-semibold);color:var(--text-primary)}.message-time{font-size:var(--text-xs);color:var(--text-secondary)}.message-bubble{padding:12px 16px;border-radius:var(--radius-lg);font-size:var(--text-base);line-height:1.6}.message.user .message-bubble{background:var(--accent-blue);color:var(--text-inverse);border-bottom-right-radius:var(--radius-sm)}.message.assistant .message-bubble{background:var(--bg-card);color:var(--text-primary);border-bottom-left-radius:var(--radius-sm)}.typing-indicator{display:inline-flex;gap:4px;margin-right:8px}.typing-indicator span{width:6px;height:6px;background:var(--text-secondary);border-radius:var(--radius-full);animation:bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.chat-input{padding:var(--space-4);border-top:1px solid var(--border-divider);display:flex;gap:var(--space-3)}.chat-input input{flex:1;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:14px 18px;color:var(--text-primary);font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast) var(--ease-in-out)}.chat-input input:focus{border-color:var(--accent-blue)}.chat-input input::placeholder{color:var(--text-secondary)}.chat-input button{background:var(--accent-blue);color:var(--text-inverse);border:none;border-radius:var(--radius-md);padding:14px 24px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;gap:var(--space-2)}.chat-input button:hover{filter:brightness(1.1)}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.output-panel{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-2)}.output-header h3{font-size:var(--text-base);color:var(--text-secondary)}.output-content{background:var(--bg-input);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-mono);font-size:13px;line-height:var(--leading-relaxed);overflow-x:auto;white-space:pre-wrap;color:var(--text-primary)}.risk-badge{display:inline-block;font-size:11px;padding:3px 10px;border-radius:var(--radius-sm);font-weight:var(--font-semibold)}.risk-badge.LOW{background:var(--success-50);color:var(--success-400)}.risk-badge.MEDIUM{background:var(--warning-50);color:var(--warning-400)}.risk-badge.HIGH{background:var(--error-50);color:var(--error-400)}.risk-badge.CRITICAL{background:var(--error-50);color:var(--error-500)}.ant-card{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-card)!important;transition:var(--transition-all)!important}.ant-card:hover{box-shadow:var(--shadow-card-hover)!important}.ant-statistic-title{color:var(--text-secondary)!important;font-size:var(--text-sm)!important}.ant-statistic-content{color:var(--text-primary)!important;font-size:var(--text-2xl)!important;font-weight:var(--font-bold)!important}.ant-table{background:transparent!important;color:var(--text-primary)!important}.ant-table-thead>tr>th{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;font-size:var(--text-xs)!important;font-weight:var(--font-semibold)!important;border-bottom:1px solid var(--border-subtle)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border-subtle)!important;color:var(--text-primary)!important}.ant-table-tbody>tr:hover>td{background:var(--bg-hover)!important}.ant-table-wrapper .ant-table-thead>tr.ant-table-row-selected>td{background:var(--primary-50)!important}.ant-tag{border-radius:var(--radius-sm)!important;font-size:var(--text-xs)!important}.ant-btn-primary{background:var(--primary-400)!important;border-color:var(--primary-400)!important;box-shadow:var(--shadow-button)!important}.ant-btn-primary:hover{background:var(--primary-500)!important;border-color:var(--primary-500)!important}.agent-float-btn{position:fixed;bottom:var(--space-6);right:var(--space-6);width:56px;height:56px;border-radius:var(--radius-full);background:var(--primary-400);color:var(--text-inverse);border:none;font-size:24px;cursor:pointer;z-index:var(--z-agent-window);box-shadow:var(--shadow-lg),var(--shadow-glow);display:flex;align-items:center;justify-content:center;transition:var(--transition-all)}.agent-float-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-xl),var(--shadow-glow)}.agent-window{position:fixed;bottom:calc(var(--space-6) + 64px);right:var(--space-6);width:var(--agent-window-width);height:var(--agent-window-height);max-height:calc(100vh - 120px);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-xl),var(--shadow-glow);z-index:var(--z-agent-window);display:flex;flex-direction:column;overflow:hidden;transition:height var(--transition-base) var(--ease-in-out),opacity var(--transition-base) var(--ease-in-out)}.agent-window.minimized{height:auto!important}.agent-window-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border-divider);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.agent-window-header:active{cursor:grabbing}.agent-window-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.agent-window-controls{display:flex;gap:var(--space-2);align-items:center}.agent-window-controls button{width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:var(--transition-fast)}.agent-window-controls button:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-window-controls .close-btn:hover{background:var(--error-50);color:var(--error-400)}.agent-window-body{flex:1;overflow-y:auto;padding:var(--space-4)}.theme-toggle-btn{width:32px;height:32px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:var(--transition-all)}.theme-toggle-btn:hover{background:var(--bg-hover);border-color:var(--primary-400)}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.main{flex-direction:column}.sidebar{width:100%}.agent-list{flex-direction:row;flex-wrap:wrap}.agent-item{flex:1;min-width:150px}}
