*{margin:0;padding:0;box-sizing:border-box}:root,:root.dark-mode{--bg-primary: #0f0f0f;--bg-secondary: #171717;--bg-tertiary: #1f1f1f;--bg-border: #2a2a2a;--text-primary: #e5e5e5;--text-secondary: #9ca3af;--text-tertiary: #6b7280;--accent-primary: #2563eb;--accent-hover: #1d4ed8;--accent-subtle: rgba(37, 99, 235, .1);--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--scrollbar-thumb: rgba(255, 255, 255, .1);--scrollbar-thumb-hover: rgba(255, 255, 255, .2);--tooltip-bg: #1f1f1f;--tooltip-border: #2a2a2a;--chat-background: #005696;--chat-border: #90caf9}:root.light-mode{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-border: #cbd5e1;--border-strong: #94a3b8;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--accent-primary: #2563eb;--accent-hover: #1d4ed8;--accent-subtle: #dbeafe;--success: #059669;--warning: #d97706;--error: #dc2626;--info: #2563eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .25);--tooltip-bg: #ffffff;--tooltip-border: #e0e0e0;--chat-Background: #e3f2fd;--chat-border: #90caf9}html,body{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}#root{height:100%}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sidebar{height:100vh;width:260px;background:var(--bg-secondary);border-right:1px solid var(--bg-border);display:flex;flex-direction:column;transition:all .3s ease;overflow-y:auto}.sidebar.collapsed{width:70px}.sidebar-header{position:sticky;top:0;z-index:10;padding:20px;border-bottom:1px solid var(--bg-border);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between;min-height:72px;flex-shrink:0}.sidebar.collapsed .sidebar-header{padding:20px 15px}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:16px;flex-shrink:0}.logo-text{font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:1;transition:opacity .2s ease}.sidebar.collapsed .logo-text{opacity:0;width:0;overflow:hidden}.sidebar-toggle{width:32px;height:32px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.sidebar-toggle:hover{background:var(--bg-border)}.sidebar-toggle svg{width:16px;height:16px;stroke:var(--text-secondary);transition:transform .3s ease}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.menu-section{margin-bottom:20px}.menu-section-title{padding:8px 20px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;opacity:1;transition:opacity .2s ease}.sidebar.collapsed .menu-section-title{opacity:0;height:0;padding:0;overflow:hidden}.menu-section-header{display:flex;align-items:center;gap:12px;padding:12px;color:var(--text-tertiary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.menu-section-items{display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--text-secondary);text-decoration:none;transition:all .2s ease;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;position:relative}.sidebar.collapsed .menu-item{padding:12px 25px;justify-content:center}.menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.menu-item.active{background:var(--accent-subtle);color:var(--accent-primary);border-right:2px solid var(--accent-primary)}.menu-item.submenu-item{padding-left:24px;font-size:13px}.menu-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:2;fill:none}.sidebar.collapsed .menu-text{opacity:0;width:0;overflow:hidden}.sidebar-footer{padding:16px 8px;border-top:1px solid var(--bg-border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.sidebar.collapsed .sidebar-footer{padding:16px 8px}.sidebar-footer .menu-item{padding:12px;display:flex;align-items:center;gap:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s;text-decoration:none;border-radius:8px}.sidebar-footer .menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar.collapsed .sidebar-footer .menu-item{padding:12px;justify-content:center}.theme-toggle{width:100%;height:auto;padding:12px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s}.sidebar.collapsed .theme-toggle{justify-content:center;padding:12px}.theme-toggle:hover{background:var(--bg-border)}.theme-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.theme-icon svg{width:20px;height:20px;stroke:currentColor}.theme-text{font-size:14px;font-weight:500;color:var(--text-primary);opacity:1;transition:opacity .2s ease;flex:1;text-align:left}.sidebar.collapsed .theme-text{opacity:0;width:0;overflow:hidden}.user-info{display:flex;flex-direction:column;flex:1;min-width:0}.user-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.light-mode .sidebar{background:var(--bg-secondary);border-right-color:var(--bg-border)}.light-mode .sidebar-header{background:var(--bg-secondary);border-bottom-color:var(--bg-border)}.light-mode .logo-text,.light-mode .menu-text,.light-mode .user-name{color:var(--text-primary)}.light-mode .menu-item.active{background:var(--accent-subtle);color:var(--accent-primary);border-right:2px solid var(--accent-primary)}.light-mode .menu-section-header,.light-mode .menu-section-title{color:var(--text-tertiary)}.light-mode .theme-toggle,.light-mode .sidebar-toggle{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .theme-toggle:hover,.light-mode .sidebar-toggle:hover{background:var(--bg-border)}.light-mode .theme-icon{color:var(--text-secondary)}.light-mode .theme-text{color:var(--text-primary)}.light-mode .sidebar-footer .menu-item{color:var(--text-secondary)}.light-mode .sidebar-footer .menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#fff3}.light-mode .sidebar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.light-mode .sidebar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.custom-header{position:sticky;top:0;z-index:10;width:100%;height:72px;background:var(--bg-primary);display:flex;align-items:center;border-bottom:1px solid var(--bg-border);justify-content:center;transition:background .3s ease}.app-container{display:flex;height:100vh;background:var(--bg-primary);overflow:hidden}.main-content{flex:1;display:flex;transition:all .3s ease;flex-direction:column;min-height:0;overflow:hidden}.container{flex:1;width:100%;overflow-y:auto;padding:24px;margin:0 auto}.page-header{margin:32px 0;padding-bottom:24px;border-bottom:1px solid var(--bg-border);background:transparent}.page-header.page-header--sticky{position:sticky;top:0;z-index:100;background:var(--bg-primary);padding:16px 0;margin:0 0 32px;border-bottom:1px solid var(--bg-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:box-shadow .3s ease,background .3s ease}.page-header.page-header--sticky.scrolled{box-shadow:0 6px 18px #0f172a59;background:#0f0f0ff5}.light-mode .page-header.page-header--sticky.scrolled{background:#f8fafcf2;box-shadow:0 6px 18px #0f172a14}.page-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:nowrap;width:100%}.page-header-left{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.page-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.page-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.4;margin:2px 0 0}.header-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:none}.header-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.header-btn-primary{background:var(--accent-primary);color:#fff}.header-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.header-btn-primary:active{transform:scale(.98)}.header-btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--bg-border)}.header-btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}.header-btn-icon{padding:10px;width:40px;height:40px;justify-content:center}.container{min-width:0;min-height:0}.header{margin-bottom:32px}.header h1{font-size:28px;font-weight:600;margin-bottom:8px;color:#fff}.header-subtitle{font-size:14px;color:#9ca3af}.custom-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:nowrap;width:100%}.custome-header-left{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding-left:24px}.custom-header-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.custom-header-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.4;margin:2px 0 0}.tabs{display:flex;gap:4px;margin-bottom:32px;border-bottom:1px solid var(--bg-border)}.tab{padding:14px 24px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:all .2s ease}.tab-content{display:none}.tab-content.active{display:block}.section{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:28px;margin-bottom:24px;max-height:max-content}.section-title{font-size:18px;font-weight:600;margin-bottom:24px;color:#fff;display:flex;align-items:center;gap:10px}.section-subtitle{font-size:13px;color:#9ca3af;margin-top:-16px;margin-bottom:20px;line-height:1.5}.label{display:block;font-size:13px;font-weight:600;color:#d1d5db;margin-bottom:8px;letter-spacing:.01em}.input,.select,.textarea{width:100%;background:#1f1f1f;border:1px solid #3f3f3f;border-radius:8px;padding:11px 14px;color:#e5e5e5;font-size:14px;transition:all .2s ease;font-family:inherit}.input:hover,.select:hover,.textarea:hover{border-color:#4a4a4a}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:#3b82f6;background:#262626;box-shadow:0 0 0 3px #3b82f61a}.input.error,.textarea.error{border-color:#ef4444}.textarea{min-height:140px;resize:vertical;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:13px;line-height:1.6}.textarea.large{min-height:400px}.help-text{font-size:12px;color:#6b7280;margin-top:6px;line-height:1.4}.error-text{font-size:12px;color:#ef4444;margin-top:6px;display:none}.error-text.show{display:block}.char-counter{font-size:12px;color:#6b7280;text-align:right;margin-top:6px}.char-counter.warning{color:#f59e0b}.char-counter.error{color:#ef4444}.info-box{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:14px 16px;margin-top:12px}.info-box-text{font-size:13px;color:#93c5fd;line-height:1.5}.warning-box{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:14px 16px;margin-top:12px}.warning-box-text{font-size:13px;color:#fbbf24;line-height:1.5}.badge{display:inline-block;padding:4px 10px;background:#3b82f633;color:#60a5fa;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.parameter-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.parameter-item{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;padding:16px}.parameter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.parameter-label{font-size:13px;font-weight:600;color:#d1d5db}.parameter-desc{font-size:12px;color:#6b7280;line-height:1.4}.model-support{display:inline-flex;gap:6px;margin-left:8px}.model-tag{display:inline-block;padding:2px 6px;background:#2a2a2a;color:#9ca3af;border-radius:4px;font-size:10px;font-weight:500}.model-tag.supported{background:#10b98133;color:#34d399}.model-tag.not-supported{background:#ef444433;color:#f87171}.action-bar{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #2a2a2a;margin-top:32px}.btn{padding:11px 24px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f666}.btn-secondary:hover{background:#3a3a3a}.btn-outline{background:transparent;color:#9ca3af;border:1px solid #3f3f3f}.btn-outline:hover{background:#1f1f1f;border-color:#4a4a4a;color:#e5e5e5}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:18px;background:#1f1f1f;border:2px solid #2a2a2a;border-radius:8px;cursor:pointer;transition:all .2s ease}.radio-option:hover{border-color:#3f3f3f;background:#262626}.radio-option.selected{border-color:#3b82f6;background:#3b82f614}.radio-option input[type=radio]{margin-top:2px;cursor:pointer;accent-color:#3b82f6}.radio-title{font-weight:600;font-size:15px;color:#fff;margin-bottom:6px}.radio-desc{font-size:13px;color:#9ca3af;line-height:1.5}.radio-desc strong{color:#d1d5db}.memory-config{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;padding:20px;margin-top:20px}.config-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.config-row:last-child{margin-bottom:0}.toggle-container{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid #2a2a2a;margin-top:16px}.toggle-label{font-size:14px;font-weight:500;color:#d1d5db}.toggle{position:relative;display:inline-block;width:48px;height:26px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#3f3f3f;transition:.3s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}.toggle input:checked+.toggle-slider:before{transform:translate(22px)}.list-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.list-header-left{flex:1}.list-header-right{display:flex;align-items:center;gap:12px}.search-bar-header{display:flex}.search-bar{display:flex;gap:12px;margin-bottom:24px;padding:16px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;width:100%}.search-input{flex:1;padding:10px 16px;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:6px;color:#fff;font-size:14px;transition:all .2s ease}.search-input:focus{outline:none;border-color:#3b82f6;background:#121212}.search-input::placeholder{color:#6b7280}.agent-table{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;overflow:hidden}.agent-table table{width:100%;border-collapse:collapse}.agent-table thead{background:#0a0a0a;border-bottom:1px solid #2a2a2a}.agent-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.agent-table tbody tr{border-bottom:1px solid #2a2a2a;transition:background .2s ease}.agent-table tbody tr:last-child{border-bottom:none}.agent-table tbody tr:hover{background:#3b82f60d}.agent-table tbody tr.current-row{background:#3b82f61a;border-left:3px solid #3b82f6}.agent-table td{padding:16px;font-size:14px;color:#e5e5e5;font-weight:600}.agent-name-cell{display:flex;align-items:center;gap:8px}.name-text{font-weight:500}.current-badge{display:inline-block;padding:2px 8px;background:#3b82f633;color:#60a5fa;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.model-id code{padding:4px 8px;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;font-family:inherit;font-size:12px;color:#60a5fa;font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600}.status-badge.running{background:#22c55e33;color:#4ade80}.status-badge.stopped{background:#6b728033;color:#9ca3af}.date-cell{color:#9ca3af;font-size:13px}.action-cell{display:flex;gap:8px}.action-btn{padding:6px 12px;border:1px solid #2a2a2a;border-radius:6px;background:#0a0a0a;color:#e5e5e5;font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.action-btn:hover{background:#1f1f1f;border-color:#3b82f6}.action-btn.load:hover{color:#3b82f6}.action-btn.delete:hover{border-color:#ef4444;color:#ef4444}.action-btn:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.pagination-btn{padding:8px 16px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:6px;color:#e5e5e5;font-size:14px;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#2a2a2a;border-color:#3b82f6}.pagination-info{color:#9ca3af;font-size:14px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.loading-spinner{width:40px;height:40px;border:3px solid #2a2a2a;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-title{font-size:18px;font-weight:600;color:#e5e5e5;margin-bottom:8px}.empty-desc{font-size:14px;color:#9ca3af;margin-bottom:24px}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.dashboard-controls{display:flex;gap:12px;align-items:center}.refresh-control{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;background-color:var(--bg-secondary)}.refresh-control input[type=checkbox]{cursor:pointer;accent-color:#3b82f6}.refresh-interval-select{padding:8px 12px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:6px;color:#e5e5e5;font-size:13px;cursor:pointer}.refresh-interval-select:disabled{opacity:.5;cursor:not-allowed}.dashboard-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.metric-card{background:linear-gradient(135deg,#1f1f1f,#171717);border:1px solid #2a2a2a;border-radius:12px;padding:24px;display:flex;gap:16px;align-items:flex-start;transition:all .3s ease}.metric-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f626}.metric-card.success{border-color:#10b9814d}.metric-card.success:hover{border-color:#10b981;box-shadow:0 8px 24px #10b98126}.metric-icon{font-size:32px;line-height:1}.metric-content{flex:1}.metric-label{font-size:12px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.metric-value{font-size:28px;font-weight:700;color:#fff;margin-bottom:4px}.metric-detail{font-size:13px;color:#6b7280}.dashboard-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.chart-section{margin-bottom:0}.chart-container{margin-top:20px;padding:16px;background:#1f1f1f;border-radius:8px}.success-rate{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.success-rate.excellent{background:#f0c89640;color:#e8b27a}.success-rate.good{background:#e8a83840;color:#e8a838}.success-rate.warning{background:#f1e15b40;color:#e0c64a}.error-count{color:#ef4444;font-weight:500}@media(max-width:1200px){.dashboard-overview{grid-template-columns:repeat(2,1fr)}.dashboard-charts-row{grid-template-columns:1fr}}@media(max-width:768px){.parameter-grid,.config-row{grid-template-columns:1fr}.container{padding:16px}.section{padding:20px}.list-header{flex-direction:column;gap:16px}.list-header-right{width:100%}.search-bar{flex-direction:column}.agent-table{overflow-x:auto}.agent-table table{min-width:800px}.action-cell{flex-direction:column}.dashboard-overview{grid-template-columns:1fr}.dashboard-header{flex-direction:column;gap:16px}.dashboard-controls{width:100%;flex-wrap:wrap}}.light-mode .header{border-bottom-color:var(--bg-border)}.light-mode .header h1{color:var(--text-primary)}.light-mode .header-subtitle{color:var(--text-secondary)}.light-mode .tabs{border-bottom-color:var(--bg-border);background:var(--bg-primary)}.light-mode .tab{color:var(--text-secondary);background:transparent}.light-mode .tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);background:transparent}.light-mode .section{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .section-title{color:var(--text-primary)}.light-mode .section-subtitle{color:var(--text-secondary)}.light-mode .label{color:var(--text-primary)}.light-mode .input:hover,.light-mode .select:hover,.light-mode .textarea:hover{border-color:var(--border-strong)}.light-mode .error-text{color:var(--error)}.light-mode .char-counter{color:var(--text-tertiary)}.light-mode .info-box{background:var(--accent-subtle);border-color:var(--accent-primary)}.light-mode .info-box-text{color:var(--accent-primary)}.light-mode .warning-box{background:#d977061a;border-color:#d9770633}.light-mode .warning-box-text{color:var(--warning)}.light-mode .badge{background:var(--accent-subtle);color:var(--accent-primary)}.light-mode .parameter-item{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .parameter-label{color:var(--text-primary)}.light-mode .parameter-desc{color:var(--text-secondary)}.light-mode .model-tag{background:var(--bg-tertiary);color:var(--text-secondary)}.light-mode .action-bar{border-top-color:var(--bg-border)}.light-mode .btn-outline{border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .btn-outline:hover{background:var(--bg-tertiary);border-color:var(--border-strong);color:var(--text-primary)}.light-mode .radio-desc strong{color:var(--text-primary)}.light-mode .memory-config{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .config-row{border-color:var(--bg-border)}.light-mode .toggle-container{border-top-color:var(--bg-border)}.light-mode .toggle-label{color:var(--text-primary)}.light-mode .search-bar{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .search-input{background:var(--bg-secondary)!important;border-color:var(--bg-border)!important;color:var(--text-primary)!important}.light-mode .search-input:focus{border-color:var(--accent-primary)!important;background:var(--bg-secondary)!important}.light-mode .search-input::placeholder{color:var(--text-tertiary)}.light-mode .agent-table{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .agent-table thead{background:var(--bg-tertiary);border-bottom-color:var(--bg-border)}.light-mode .agent-table th{color:var(--text-secondary)}.light-mode .agent-table tbody tr{border-bottom-color:var(--bg-border)}.light-mode .agent-table tbody tr:hover{background:var(--accent-subtle)}.light-mode .agent-table tbody tr.current-row{background:var(--accent-subtle);border-left-color:var(--accent-primary)}.light-mode .agent-table td{color:var(--text-primary)}.light-mode .current-badge{background:var(--accent-subtle);color:var(--accent-primary)}.light-mode .model-id code{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--accent-primary)}.light-mode .date-cell{color:var(--text-secondary)}.light-mode .action-btn{border-color:var(--bg-border);background:var(--bg-tertiary);color:var(--text-primary)}.light-mode .action-btn:hover{background:var(--bg-border);border-color:var(--accent-primary)}.light-mode .pagination-btn{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--text-primary)}.light-mode .pagination-btn:hover:not(:disabled){background:var(--bg-border);border-color:var(--accent-primary)}.light-mode .pagination-info,.light-mode .loading-state{color:var(--text-secondary)}.light-mode .loading-spinner{border-color:var(--bg-border);border-top-color:var(--accent-primary)}.light-mode .empty-title{color:var(--text-primary)}.light-mode .empty-desc{color:var(--text-secondary)}.light-mode .refresh-control{color:var(--text-primary)}.light-mode .refresh-interval-select{background:var(--bg-tertiary)!important;border-color:var(--bg-border)!important;color:var(--text-primary)!important}.light-mode .metric-card{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .metric-label{color:var(--text-secondary)}.light-mode .metric-value{color:var(--text-primary)}.light-mode .metric-detail{color:var(--text-tertiary)}.light-mode .chart-container{background:#fff}.tool-list-content{padding-bottom:32px}.search-filter-section{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:24px;margin-bottom:32px}.search-wrapper{position:relative}.search-input{width:100%;padding:12px 16px 12px 44px;background:#1f1f1f;border:1px solid #3f3f3f;border-radius:8px;color:#e5e5e5;font-size:14px;transition:all .2s}.search-input:focus{outline:none;border-color:#3b82f6;background:#262626;box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;stroke:#6b7280}.filter-row{display:flex;gap:12px;margin-bottom:10px}.filter-select{flex:1;padding:11px 14px;background:#1f1f1f;border:1px solid #3f3f3f;border-radius:8px;color:#e5e5e5;font-size:14px;cursor:pointer;transition:all .2s}.filter-select:focus{outline:none;border-color:#3b82f6}.tool-section{background:#fff;border:1px solid #2a2a2a;border-radius:12px;padding:24px;margin-bottom:32px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;margin-bottom:32px}.tool-card{background:#171717;border:2px solid #2a2a2a;border-radius:12px;padding:24px;transition:all .2s;position:relative;cursor:pointer}.tool-card:hover{border-color:#3f3f3f;background:#1a1a1a;transform:translateY(-2px)}.tool-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.tool-info{flex:1}.tool-name{font-size:18px;font-weight:600;color:#fff;margin-bottom:6px}.tool-id{font-size:12px;color:#6b7280;font-family:SF Mono,Monaco,monospace}.tool-status{display:inline-block;padding:6px 12px;background:#10b98133;color:#34d399;border-radius:6px;font-size:12px;font-weight:600}.tool-status.inactive{background:#6b728033;color:#9ca3af}.tool-description{font-size:14px;color:#9ca3af;line-height:1.6;margin-bottom:16px}.tool-meta{display:flex;gap:20px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #2a2a2a}.meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#9ca3af}.meta-item svg{width:16px;height:16px;stroke:currentColor}.category-badge{display:inline-block;padding:4px 10px;background:#a855f733;color:#c084fc;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tool-actions{display:flex;gap:8px}.action-btn{flex:1;padding:10px 16px;background:#1f1f1f;border:1px solid #3f3f3f;border-radius:8px;color:#e5e5e5;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.action-btn:hover{background:#2a2a2a;border-color:#4a4a4a}.action-btn.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.action-btn.primary:hover{background:#2563eb;border-color:#2563eb}.action-btn svg{width:14px;height:14px;stroke:currentColor}.empty-state{text-align:center;padding:80px 20px;background:#171717;border:1px solid #2a2a2a;border-radius:12px}.empty-icon svg{width:40px;height:40px;stroke:#3b82f6}.empty-title{font-size:20px;font-weight:600;color:#fff;margin-bottom:8px}.empty-description{font-size:14px;color:#9ca3af;margin-bottom:24px}@media(max-width:1200px){.tool-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.tool-grid{grid-template-columns:1fr}.filter-row{flex-direction:column}.page-header-content{flex-direction:column;gap:16px;align-items:stretch}.page-header-actions{flex-direction:column}.header-btn{width:100%;justify-content:center}}.light-mode .page-title{color:#1e293b}.light-mode .page-subtitle{color:#64748b}.light-mode .header-btn-secondary{border-color:#e2e8f0;color:#64748b}.light-mode .header-btn-secondary:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.light-mode .search-filter-section,.light-mode .tool-card{background:#fff;border-color:#e2e8f0}.light-mode .tool-card:hover{border-color:#cbd5e1;background:#f8fafc}.light-mode .search-input,.light-mode .filter-select{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.light-mode .search-input:focus,.light-mode .filter-select:focus{background:#fff;border-color:#3b82f6}.light-mode .tool-name{color:#1e293b}.light-mode .tool-id,.light-mode .tool-description{color:#64748b}.light-mode .action-btn{border-color:#e2e8f0;color:#64748b;background:#fff}.light-mode .action-btn:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.light-mode .action-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.light-mode .action-btn.primary:hover{background:#1d4ed8;border-color:#1d4ed8}.light-mode .empty-state{background:#fff;border-color:#e2e8f0}.light-mode .empty-title{color:#1e293b}.light-mode .empty-description{color:#64748b}.light-mode .tool-meta{border-bottom-color:#e2e8f0}.tabs{display:flex;background:#1a1a1a;border-bottom:1px solid #3f3f3f}.tab{background:none;border:none;color:#999;cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:all .2s}.tab:hover{color:#e5e5e5;background:#ffffff0d}.tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-content{display:block}.section{margin-bottom:32px;padding:24px;background:#1a1a1a;border-radius:8px;border:1px solid #2a2a2a}.section-header{margin-bottom:20px}.section-title{font-size:18px;font-weight:600;color:#e5e5e5;margin-bottom:8px}.section-subtitle{color:#999;font-size:13px;margin-bottom:20px}.section-body{margin-top:20px}.form-group{margin-bottom:24px;position:relative}.label{display:block;margin-bottom:8px;color:#e5e5e5;font-size:13px;font-weight:500}.label-required:after{content:"*";color:#ef4444;margin-left:4px}.input,.textarea,.select{width:100%;padding:12px 16px;background:#0a0a0a;border:1px solid #3f3f3f;border-radius:6px;color:#e5e5e5;font-size:14px;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.textarea{min-height:100px;resize:vertical}.textarea.code{min-height:200px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.grid-2{grid-template-columns:1fr}}.status-toggle-group{display:flex;align-items:center;gap:12px}.status-text{font-size:14px;font-weight:500;transition:color .2s}.radio-group{display:flex;gap:16px}.radio-option{display:flex;align-items:center;gap:8px}.radio-option input[type=radio]{accent-color:#3b82f6;width:16px;height:16px}.radio-option label{color:#e5e5e5;font-size:14px;cursor:pointer}.auth-section{background:#0a0a0a;border:1px solid #3f3f3f;border-radius:6px;padding:16px;margin-top:12px}.toolbar{display:flex;gap:8px;margin-bottom:8px}.toolbar-btn{padding:6px 12px;background:#2a2a2a;border:1px solid #3f3f3f;border-radius:4px;color:#999;font-size:12px;cursor:pointer;transition:all .2s}.toolbar-btn:hover{background:#3f3f3f;color:#e5e5e5}.json-hint{background:#0a0a0a;border:1px solid #3f3f3f;border-radius:6px;padding:12px;margin-top:12px}.json-hint-title{font-size:12px;font-weight:600;color:#999;margin-bottom:8px}.json-hint pre{color:#666;font-size:11px;font-family:Consolas,Monaco,Courier New,monospace;overflow-x:auto;margin:0}.test-result{margin-top:20px;padding:16px;background:#1a1a1a;border-radius:6px;border:1px solid #2a2a2a}.test-result pre{color:#999;font-size:13px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;font-family:Consolas,Monaco,Courier New,monospace;margin:0}.status-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:12px;font-size:12px;font-weight:500;margin-bottom:12px}.status-indicator.success{background:#10b98133;color:#10b981}.status-indicator.error{background:#ef444433;color:#ef4444}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:#2a2a2a;color:#e5e5e5}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.action-bar-container{padding:32px 0}.action-bar{display:flex;gap:12px;padding-top:24px;border-top:1px solid #2a2a2a;margin-top:24px}body.light-mode .tabs{background:#fff;border-bottom-color:#cbd5e1}body.light-mode .tab{color:#64748b}body.light-mode .tab:hover{color:#1e293b;background:#f1f5f9}body.light-mode .tab.active{color:#2563eb;border-bottom-color:#2563eb}body.light-mode .section{background:#fff;border-color:#e2e8f0}body.light-mode .section-title{color:#1e293b}body.light-mode .section-subtitle{color:#64748b}body.light-mode .label{color:#1e293b}body.light-mode .input,body.light-mode .textarea,body.light-mode .select{background:#fff;border-color:#cbd5e1;color:#1e293b}body.light-mode .input:focus,body.light-mode .textarea:focus,body.light-mode .select:focus{background:#fff;border-color:#2563eb}body.light-mode .help-text{color:#64748b}body.light-mode .toggle-slider{background-color:#cbd5e1}body.light-mode .radio-option label{color:#1e293b}body.light-mode .auth-section,body.light-mode .json-hint,body.light-mode .test-result{background:#f8fafc;border-color:#e2e8f0}body.light-mode .toolbar-btn{background:#e2e8f0;border-color:#cbd5e1;color:#64748b}body.light-mode .toolbar-btn:hover{background:#cbd5e1;color:#1e293b}body.light-mode .json-hint pre,body.light-mode .test-result pre{color:#475569}body.light-mode .btn-secondary{background:#e2e8f0;color:#1e293b}body.light-mode .btn-secondary:hover{background:#cbd5e1}body.light-mode .action-bar{border-top-color:#e2e8f0}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;min-height:400px}.placeholder-content svg{width:80px;height:80px;stroke:var(--text-tertiary);margin-bottom:24px;opacity:.5}.placeholder-content h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.placeholder-content p{font-size:14px;color:var(--text-secondary);margin:0;max-width:500px}.filters-section{display:flex;gap:12px;flex-wrap:wrap}.search-box{flex:1;min-width:300px;position:relative}.search-box svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--text-tertiary);fill:none;stroke-width:2}.search-input{width:100%;padding:10px 16px 10px 40px;background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s ease}.filter-select{padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease;min-width:150px}.filter-select:focus{outline:none;border-color:var(--accent-primary)}.table-container{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:8px}.data-table thead{background:var(--bg-tertiary)}.data-table th{padding:16px 20px;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--bg-border);white-space:nowrap}.data-table td{padding:16px 20px;font-size:clamp(14px,1.2vw,18px);color:var(--text-primary);border-bottom:1px solid var(--bg-border);vertical-align:middle;justify-content:center}.user-info{display:flex;flex-direction:row;gap:12px}.user-avatar{width:40px;height:40px;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:16px;flex-shrink:0}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:500;color:var(--text-primary)}.user-email{font-size:12px;color:var(--text-tertiary)}.role-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;gap:6px}.role-badge .role-color{width:6px;height:6px;border-radius:50%;background:currentColor}.role-badge.admin{background:#2563eb1a;color:#2563eb}.role-badge.ai-engineer{background:#9333ea1a;color:#9333ea}.role-badge.service-operator{background:#10b9811a;color:#10b981}.role-badge.user{background:#f59e0b1a;color:#f59e0b}.role-badge.viewer{background:#6b72801a;color:#6b7280}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500}.status-badge.active{background:#10b9811a;color:var(--success)}.status-badge.inactive{background:#6b72801a;color:var(--text-tertiary)}.date-text{color:var(--text-primary);font-weight:500;font-size:16px}.action-buttons{display:flex;align-items:center;gap:8px}.action-btn{padding:6px 12px;background:transparent;border:1px solid var(--bg-border);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none;display:flex;align-items:center;gap:6px}.action-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.action-btn.primary:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}.pagination{padding:16px 20px;border-top:1px solid var(--bg-border);display:flex;justify-content:center;column-gap:8px;width:100%}.pagination-info{grid-column:span 2;justify-self:start;font-size:13px;color:var(--text-secondary)}.pagination-buttons{justify-self:end;display:flex;gap:8px}.pagination-info strong{color:var(--text-primary)}.pagination-btn{min-width:32px;height:32px;padding:0 12px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--bg-border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:14px}.permission-two-column-layout{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start}.left-panel{position:sticky}.role-list{display:flex;flex-direction:column;gap:12px}.role-card{background:var(--bg-secondary);border:2px solid var(--bg-border);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.role-card:hover{border-color:#3f3f3f;background:var(--bg-tertiary)}.role-card.active{border-color:var(--accent-primary);background:var(--accent-subtle)}.role-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.role-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.role-color.blue{background:#3b82f6}.role-color.purple{background:#a855f7}.role-color.green{background:#10b981}.role-color.orange{background:#f59e0b}.role-color.gray{background:#6b7280}.role-name{font-size:16px;font-weight:600;color:var(--text-primary);flex:1}.role-badge{padding:4px 8px;background:#3b82f633;color:#3b82f6;border-radius:4px;font-size:11px;font-weight:600}.role-description{font-size:13px;color:var(--text-secondary);line-height:1.5}.right-panel{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;padding:32px}.panel-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--bg-border)}.panel-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.panel-subtitle{font-size:13px;color:var(--text-secondary)}.role-info-section{margin-bottom:32px;padding:24px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--bg-border)}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.form-group:last-child{margin-bottom:0}.input,.textarea{width:100%;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--bg-border);border-radius:6px;color:var(--text-primary);font-size:14px;transition:all .2s;font-family:inherit}.input:focus,.textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.textarea{min-height:80px;resize:vertical}.color-picker{display:flex;gap:12px;margin-top:8px}.color-option{width:40px;height:40px;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.permission-section{margin-bottom:32px}.permission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.bulk-actions{display:flex;gap:8px}.btn-bulk{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:6px;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-bulk:hover{background:var(--bg-border)}.permission-tree{display:flex;flex-direction:column;gap:16px}.permission-section-item{background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;overflow:hidden}.section-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-primary);cursor:pointer;transition:all .2s}.section-header:hover{background:var(--bg-tertiary)}.section-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.section-toggle svg{width:16px;height:16px;stroke:var(--text-secondary);transition:transform .2s}.permission-section-item.collapsed .section-toggle svg{transform:rotate(-90deg)}.section-name{font-size:14px;font-weight:600;color:var(--text-primary);flex:1}.section-count{font-size:12px;color:var(--text-tertiary)}.section-checkboxes{display:flex;gap:20px}.checkbox-group{display:flex;align-items:center;gap:6px}.checkbox-group label{font-size:12px;color:var(--text-secondary);cursor:pointer}.checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.menu-items{padding:8px}.permission-section-item.collapsed .menu-items{display:none}.menu-permission-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--bg-border);border-radius:6px;margin-bottom:8px;transition:all .2s}.menu-permission-item:last-child{margin-bottom:0}.menu-permission-item:hover{background:var(--bg-tertiary);border-color:var(--bg-border)}.menu-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.menu-item-icon svg{width:18px;height:18px;stroke:var(--text-secondary)}.menu-item-name{font-size:13px;color:var(--text-primary);flex:1}.permission-checkboxes{display:flex;gap:24px}.checkbox-readonly{opacity:.5;pointer-events:none}.checkbox-readonly.enabled{opacity:1;pointer-events:auto}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-border)}@media(max-width:1200px){.two-column-layout{grid-template-columns:1fr}.left-panel{position:relative;top:0}}.two-column-layout{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start}.left-panel{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;padding:24px;position:sticky;max-height:calc(100vh - 120px);overflow-y:auto}.left-panel::-webkit-scrollbar{width:6px}.left-panel::-webkit-scrollbar-track{background:transparent}.left-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.left-panel::-webkit-scrollbar-thumb:hover{background:#fff3}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bg-border)}.panel-title{font-size:16px;font-weight:600;color:#fff}.btn-add-section{padding:6px;background:#2a2a2a;border:1px solid #3f3f3f;border-radius:6px;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:1px}.btn-add-menu{padding:6px 12px;background:#00f;border:1px solid #3f3f3f;border-radius:6px;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.btn-add-section:hover{background:#3f3f3f}.btn-add-section svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.menu-tree{list-style:none;padding:0;margin:0}.tree-section{margin-bottom:16px}.section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-tertiary);border-radius:6px;cursor:pointer;transition:all .2s;margin-bottom:8px}.section-header:hover{background:#2a2a2a}.section-header.active{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.section-info{display:flex;align-items:center;gap:10px;flex:1}.section-toggle{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.section-toggle svg{width:12px;height:12px;stroke:var(--text-secondary);transition:transform .2s;fill:none;stroke-width:2}.tree-section.collapsed .section-toggle svg{transform:rotate(-90deg)}.section-name{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.section-count{font-size:11px;color:var(--text-tertiary);background:#2a2a2a;padding:2px 6px;border-radius:4px}.section-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.section-header:hover .section-actions{opacity:1}.action-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .2s}.action-icon:hover{background:#3f3f3f}.action-icon svg{width:14px;height:14px;stroke:var(--text-secondary);fill:none;stroke-width:2}.action-icon:hover svg{stroke:var(--text-primary)}.menu-items{list-style:none;padding-left:24px;margin:0}.tree-section.collapsed .menu-items{display:none}.menu-tree-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:4px;background:#1a1a1a;border:1px solid var(--bg-border);border-radius:6px;cursor:pointer;transition:all .2s}.menu-tree-item:hover{background:var(--bg-tertiary);border-color:#3f3f3f}.menu-tree-item.active{background:#3b82f61a;border-color:#3b82f6}.menu-tree-item.disabled{opacity:.5}.item-info{display:flex;align-items:center;gap:10px;flex:1}.drag-handle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:grab}.drag-handle svg{width:12px;height:12px;stroke:var(--text-tertiary);fill:none;stroke-width:2}.drag-handle:active{cursor:grabbing}.item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.item-icon svg{width:18px;height:18px;stroke:var(--text-secondary);fill:none;stroke-width:2}.item-name{font-size:13px;color:var(--text-primary)}.item-status{display:inline-block;width:6px;height:6px;border-radius:50%;background:#10b981}.item-status.inactive{background:var(--text-tertiary)}.item-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.menu-tree-item:hover .item-actions{opacity:1}.right-panel{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;padding:32px;overflow-y:auto;max-height:calc(100vh - 120px)}.empty-icon{width:80px;height:80px;background:#3b82f61a;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.empty-icon svg{width:40px;height:40px;stroke:#3b82f6;fill:none;stroke-width:2}.empty-title{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}.edit-form{display:none}.edit-form.active{display:block}.form-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--bg-border)}.form-title{font-size:20px;font-weight:600;color:#fff;margin-bottom:8px}.form-subtitle{font-size:13px;color:var(--text-secondary)}.form-group{margin-bottom:24px}.label{display:block;margin-bottom:8px;color:var(--text-primary);font-size:13px;font-weight:500}.label-required:after{content:"*";color:var(--error);margin-left:4px}.input,.select,.textarea{width:100%;padding:12px 16px;background:#0a0a0a;border:1px solid #3f3f3f;border-radius:6px;color:var(--text-primary);font-size:14px;transition:all .2s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input:disabled{opacity:.5;cursor:not-allowed}.help-text{margin-top:6px;font-size:12px;color:#666}.toggle{position:relative;width:44px;height:24px;display:inline-block}.toggle input{display:none}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#2a2a2a;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle input:checked+.toggle-slider{background-color:#3b82f6}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-group{display:flex;align-items:center;gap:12px}.toggle-label{font-size:14px;color:var(--text-primary)}.form-actions{display:flex;gap:12px;padding-top:24px;border-top:1px solid var(--bg-border);margin-top:32px}.btn{padding:11px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;transform:translateY(-1px)}.btn-secondary{background:#2a2a2a;color:var(--text-primary)}.btn-secondary:hover{background:#3f3f3f}.btn-danger{background:var(--error);color:#fff;margin-left:auto}.btn-danger:hover{background:#dc2626}@media(max-width:1200px){.two-column-layout{grid-template-columns:1fr}.left-panel{position:relative;top:0;max-height:none}}.light-mode .panel-title{color:var(--text-primary)}.light-mode .btn-add-section{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--text-primary)}.light-mode .btn-add-section:hover,.light-mode .section-header:hover{background:var(--bg-border)}.light-mode .section-count{background:var(--bg-tertiary);color:var(--text-secondary)}.light-mode .action-icon:hover{background:var(--bg-border)}.light-mode .menu-tree-item{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .menu-tree-item:hover{background:var(--bg-secondary);border-color:var(--border-strong)}.light-mode .menu-tree-item.active{background:var(--accent-subtle);border-color:var(--accent-primary)}.light-mode .item-status.inactive{background:var(--text-tertiary)}.light-mode .empty-icon{background:var(--accent-subtle)}.light-mode .empty-icon svg{stroke:var(--accent-primary)}.light-mode .empty-title,.light-mode .form-title{color:var(--text-primary)}.light-mode .input,.light-mode .select,.light-mode .textarea{background:var(--bg-secondary)!important;border-color:var(--bg-border)!important;color:var(--text-primary)!important}.light-mode .input:focus,.light-mode .select:focus,.light-mode .textarea:focus{border-color:var(--accent-primary)!important;background:var(--bg-secondary)!important;box-shadow:0 0 0 3px var(--accent-subtle)}.light-mode .help-text{color:var(--text-tertiary)}.light-mode .toggle-slider{background-color:var(--bg-border)}.light-mode .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--bg-border)}.light-mode .btn-secondary:hover{background:var(--bg-border)}.crawling-sources-page{height:98%}.crawling-sources-container{height:100%}.table-container{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;height:100%}.table-header{padding:16px 20px;border-bottom:1px solid var(--bg-border);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.table-search{flex:1;max-width:400px;min-width:200px;position:relative}.table-search input{width:100%;padding:10px 40px 10px 16px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s}.table-search input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.table-search input::placeholder{color:var(--text-tertiary)}.table-search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.table-filters{display:flex;gap:8px}.filter-btn{padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.table-header .left-btn{margin-left:auto;background:var(--accent-primary)!important;color:#fff;padding:10px 16px;border:1px solid var(--bg-border);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s;align-items:center}.filter-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.filter-btn.active{background:var(--accent-subtle);color:var(--accent-primary);border-color:var(--accent-primary)}.filter-btn svg{width:16px;height:16px;stroke:currentColor;fill:none}.table-wrapper{overflow-x:auto;overflow-y:auto;flex:1;max-height:calc(100vh - 100px)}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#fff3}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table thead{position:sticky;top:0;z-index:10;background:var(--bg-tertiary)}.data-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--bg-border);background:var(--bg-tertiary);white-space:nowrap}.light-mode .data-table thead th{background:var(--bg-tertiary)}.data-table tbody td{padding:10px 16px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--bg-border);vertical-align:middle}.data-table tbody tr{transition:all .15s ease}.data-table tbody tr:hover{background:var(--bg-tertiary);transform:scale(1.001)}.data-table tbody tr[style*="cursor: pointer"]:hover{background:var(--bg-tertiary);box-shadow:0 2px 8px #0000001a}.cell-id,.cell-type{font-weight:500;color:var(--text-primary);font-size:14px}.cell-name{font-weight:500;color:var(--text-primary);font-size:14px;max-width:450px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-description{color:var(--text-secondary);font-size:13px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-url{font-size:13px;text-decoration:underline;color:var(--accent-primary)!important;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge,.priority-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--bg-border);white-space:nowrap;min-width:60px}.cell-date{color:var(--text-secondary);font-size:13px;white-space:nowrap}.cell-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.action-btn{padding:6px 12px;background:transparent;border:1px solid var(--bg-border);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}.action-btn.danger:hover{background:#ef44441a;color:var(--error);border-color:var(--error)}.table-empty{padding:60px 20px;text-align:center}.table-empty-icon{width:64px;height:64px;margin:0 auto 16px;opacity:.3;color:var(--text-tertiary)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header{padding:24px;border-bottom:1px solid var(--bg-border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:24px;overflow-y:auto;flex:1}.light-mode .modal-body::-webkit-scrollbar-thumb{background:#0000001a}.modal-footer{padding:20px 24px;border-top:1px solid var(--bg-border);display:flex;gap:12px;justify-content:flex-end}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--bg-border)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;align-items:start}.form-row.full{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column;gap:8px;min-height:0}.form-label{font-size:14px;font-weight:500;color:var(--text-primary)}.form-label.required:after{content:"*";color:var(--error);margin-left:4px}.form-control{width:100%;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s}.form-control:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}textarea.form-control{resize:vertical;min-height:80px}select.form-control{cursor:pointer}.light-mode .form-control,.light-mode input,.light-mode select,.light-mode textarea{background:#fff!important;color:#1e293b!important;border-color:#cbd5e1!important}.light-mode .form-control:focus{border-color:#2563eb!important}.checkbox-group{display:flex;flex-wrap:wrap;gap:10px}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:6px;cursor:pointer;transition:all .2s;flex:0 0 calc(33.333% - 7px)}.checkbox-item:hover{background:var(--bg-primary)}.checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary)}.checkbox-item label{font-size:13px;color:var(--text-primary);cursor:pointer;flex:1}.radio-group{display:flex;flex-wrap:wrap;gap:10px}.radio-item{display:flex;align-items:center;gap:8px;padding:4px 6px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:6px;cursor:pointer;transition:all .2s;flex:1;min-width:0;justify-content:center}.radio-item:hover{background:var(--bg-primary)}.radio-item input[type=radio]{width:12px;height:12px;cursor:pointer;accent-color:var(--accent-primary)}.radio-item label{font-size:14px;color:var(--text-primary);cursor:pointer}.tag-input-wrapper{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;min-height:42px;cursor:text}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--accent-subtle);color:var(--accent-primary);border-radius:6px;font-size:12px;font-weight:500}.tag-remove{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:0;display:flex;align-items:center;opacity:.7;font-size:18px;line-height:1}.tag-remove:hover{opacity:1}.tag-input{flex:1;min-width:100px;border:none;background:transparent;outline:none;color:var(--text-primary);font-size:13px;padding:4px 0}.toggle-switch{position:relative;width:44px;height:24px;background:var(--bg-border);border-radius:12px;cursor:pointer;transition:background .2s ease}.toggle-switch.active{background:var(--accent-primary)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-switch.active:after{transform:translate(20px)}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px}.toggle-info{display:flex;flex-direction:column;gap:4px}.toggle-label{font-size:14px;font-weight:500;color:var(--text-primary)}.toggle-description,.form-helper{font-size:12px;color:var(--text-secondary)}.roleplay-container{display:flex;background:#0f0f0f}.roleplay-sidebar{position:fixed;left:0;top:0;height:100vh;width:260px;background:#171717;border-right:1px solid #2a2a2a;display:flex;flex-direction:column;transition:all .3s ease;z-index:100}.roleplay-sidebar.collapsed{width:70px}.sidebar-header{padding:20px;border-bottom:1px solid #2a2a2a;display:flex;align-items:center;justify-content:space-between;min-height:60px}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px;flex-shrink:0}.logo-text{font-size:16px;font-weight:600;color:#fff;white-space:nowrap;transition:opacity .2s ease}.roleplay-sidebar.collapsed .logo-text{opacity:0;width:0;overflow:hidden}.sidebar-toggle{width:32px;height:32px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.sidebar-toggle:hover{background:#2a2a2a}.sidebar-toggle svg{width:16px;height:16px;stroke:#9ca3af;transition:transform .3s ease}.roleplay-sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-menu{flex:1;padding:16px 0;overflow-y:auto}.menu-item{padding:12px 20px;display:flex;align-items:center;gap:12px;color:#9ca3af;cursor:pointer;transition:all .2s;background:none;border:none;width:100%;text-align:left;font-size:14px}.roleplay-sidebar.collapsed .menu-item{justify-content:center}.menu-item:hover{background:#1f1f1f;color:#e5e5e5}.menu-item.active{background:#2563eb1a;color:#2563eb;border-right:2px solid #2563eb}.menu-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.menu-icon svg{width:100%;height:100%;color:inherit}.menu-text{font-weight:500;white-space:nowrap;transition:opacity .2s ease}.roleplay-sidebar.collapsed .menu-text{opacity:0;width:0;overflow:hidden}.sidebar-footer{padding:16px 20px;border-top:1px solid #2a2a2a}.roleplay-main-content{margin-left:260px;transition:all .3s ease;width:calc(100% - 260px);padding:32px}.roleplay-main-content.expanded{margin-left:70px;width:calc(100% - 70px)}.progress-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:0;background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:24px;position:relative}.progress-bar:before{content:"";position:absolute;top:50%;left:15%;right:15%;height:2px;background:#2a2a2a;transform:translateY(-50%);z-index:0}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;z-index:1;transition:all .2s}.progress-step:hover .progress-circle{transform:scale(1.05)}.progress-circle{width:48px;height:48px;border-radius:50%;background:#1f1f1f;border:2px solid #2a2a2a;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#6b7280;flex-shrink:0;transition:all .2s}.progress-step.active .progress-circle{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 0 0 4px #2563eb1a}.progress-step.completed .progress-circle{background:#10b981;border-color:#10b981;color:#fff}.progress-label{font-size:13px;color:#6b7280;font-weight:500;text-align:center}.progress-step.active .progress-label{color:#2563eb;font-weight:600}.progress-step.completed .progress-label{color:#9ca3af}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:24px}.card{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:24px}.card-header{margin-bottom:16px}.card-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:6px}.card-description{font-size:13px;color:#9ca3af;line-height:1.5}.chat-container{background:#171717;border:1px solid #2a2a2a;border-radius:12px;height:600px;display:flex;flex-direction:column}.chat-header{padding:16px 20px;border-bottom:1px solid #2a2a2a;display:flex;justify-content:space-between;align-items:center}.chat-title{font-size:15px;font-weight:600;color:#fff}.chat-subtitle{font-size:12px;color:#6b7280;margin-top:2px}.message-avatar{width:32px;height:32px;border-radius:50%;background:#2a2a2a;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#9ca3af;flex-shrink:0}.message.user .message-avatar{background:#2563eb;color:#fff}.message-content{background:#1f1f1f;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;border:1px solid #2a2a2a}.message.user .message-content{background:#2563eb;border-color:#2563eb}.message-time{font-size:11px;color:#6b7280;padding:0 4px;align-self:flex-start}.chat-input-area{padding:16px 20px;border-top:1px solid #2a2a2a}.chat-input{width:100%;padding:12px 16px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;color:#e5e5e5;font-size:14px;font-family:inherit;resize:none}.chat-input:focus{outline:none;border-color:#2563eb}.loading-modal{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:40px;text-align:center;max-width:400px}.spinner{width:60px;height:60px;margin:0 auto;border:4px solid #2a2a2a;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes progressPulse{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;display:flex;gap:12px;align-items:flex-start}.radio-option:hover{border-color:#3f3f3f;background:#212121}.radio-option.selected{border-color:#2563eb;background:#2563eb0d}.radio-option input[type=radio]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:#2563eb;flex-shrink:0}.radio-content{flex:1}.radio-title{font-size:14px;font-weight:500;color:#e5e5e5;margin-bottom:4px}.radio-desc{font-size:12px;color:#9ca3af;line-height:1.5}.brief-section{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:10px;padding:20px;margin-bottom:16px}.brief-section-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:12px}.brief-list{list-style:none;padding:0}.brief-list li{padding:8px 0 8px 20px;position:relative;font-size:13px;color:#e5e5e5;line-height:1.6}.brief-list li:before{content:"•";position:absolute;left:0;color:#2563eb;font-weight:700}.alert-box{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:16px;margin-bottom:16px}.alert-box-title{font-size:13px;font-weight:600;color:#f59e0b;margin-bottom:8px}.alert-box-content{font-size:12px;color:#e5e5e5;line-height:1.6}.sos-button{position:fixed;bottom:40px;right:40px;width:56px;height:56px;border-radius:50%;background:#ef4444e6;border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .2s;display:none;z-index:100}.sos-button:hover{background:#dc2626;transform:scale(1.05)}.sos-button.show{display:block}.voice-indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:#10b981;font-weight:600}.voice-indicator-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.voice-input-area{padding:20px;border-top:1px solid #2a2a2a;background:#171717}.voice-controls{display:flex;align-items:center;gap:16px;margin-bottom:16px}.voice-button{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#2563eb;border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0}.voice-button:hover{background:#1d4ed8}.voice-button.recording{background:#ef4444;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}@keyframes pulse-mic{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 16px #ef444400}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(1.8);opacity:0}}@keyframes soundWave{0%,to{transform:scaleY(.3);opacity:.5}50%{transform:scaleY(1);opacity:1}}@keyframes dotPulse{0%,to{transform:scale(.8);opacity:.4}50%{transform:scale(1.2);opacity:1}}.voice-status{flex:1;padding:12px 16px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px}.voice-status.listening .voice-status-text{color:#10b981;font-weight:600}.voice-transcript{padding:16px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;min-height:80px;font-size:14px;color:#9ca3af}.voice-transcript.active{color:#e5e5e5;border-color:#2563eb}.feedback-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.feedback-stat-card{background:var(--bg-tertiary);padding:16px;border-radius:8px;text-align:center;border:1px solid var(--bg-border);transition:all .2s}.feedback-stat-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.feedback-stat-label{font-size:12px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.feedback-stat-value{font-size:24px;font-weight:600;color:var(--text-primary)}.feedback-stat-value-success{color:var(--success)}.feedback-summary{background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:10px;padding:20px;margin-bottom:24px}.feedback-summary-title{font-size:15px;font-weight:600;color:#10b981;margin-bottom:12px}.feedback-summary-text{font-size:13px;color:#e5e5e5;line-height:1.6}.feedback-section{margin-bottom:24px}.feedback-section-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:12px}.feedback-item{background:#1f1f1f;border-left:3px solid #10b981;padding:12px 16px;margin-bottom:8px;border-radius:4px}.feedback-item.improvement{border-left-color:#f59e0b}.feedback-item-title{font-size:13px;font-weight:600;color:#e5e5e5;margin-bottom:4px}.feedback-item-text{font-size:12px;color:#9ca3af;line-height:1.6}.persona-management{padding:40px;max-width:1400px;margin:0 auto}.persona-management-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.persona-management-header h2{font-size:28px;font-weight:600;color:#e5e5e5;margin-bottom:8px}.persona-management-header .subtitle{font-size:14px;color:#9ca3af;line-height:1.5}.filter-bar{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:16px 20px;margin-bottom:24px}.filter-group label{display:flex;align-items:center;color:#e5e5e5;font-size:14px;cursor:pointer}.filter-group input[type=checkbox]{margin-right:8px}.persona-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.persona-card{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:20px;transition:all .3s ease}.persona-card:hover{border-color:#3a3a3a;box-shadow:0 4px 12px #0000004d}.persona-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.persona-card-header h3{font-size:18px;font-weight:600;color:#e5e5e5;margin-bottom:8px}.persona-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.badge-product{background:#1e3a8a;color:#93c5fd}.badge-type{background:#065f46;color:#6ee7b7}.badge-difficulty{background:#7c2d12;color:#fdba74}.badge-inactive{background:#3f3f46;color:#a1a1aa}.persona-card-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:6px;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#2a2a2a;border-color:#3a3a3a}.btn-icon svg{width:16px;height:16px;stroke:#9ca3af}.btn-icon.btn-danger:hover{background:#7f1d1d;border-color:#991b1b}.btn-icon.btn-danger:hover svg{stroke:#fca5a5}.persona-card-body{margin-bottom:16px}.persona-info{font-size:13px;color:#9ca3af;margin-bottom:8px;line-height:1.5}.persona-info strong{color:#e5e5e5;font-weight:500}.persona-info em{font-style:italic;color:#d1d5db}.persona-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #2a2a2a}.persona-key{font-size:11px;color:#6b7280;font-family:Courier New,monospace}.empty-state{text-align:center;padding:80px 20px;color:#9ca3af}.empty-state p{font-size:16px;margin-bottom:12px}.loading-container{text-align:center;padding:80px 20px;color:#9ca3af}.loading-container p{margin-top:20px;font-size:14px}.persona-form{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:30px}.form-grid{display:grid;grid-template-columns:1fr;gap:30px}.form-section{display:grid;gap:20px}.form-section.full-width{grid-column:1 / -1}.form-section h3{font-size:18px;font-weight:600;color:#e5e5e5;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #2a2a2a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#e5e5e5}.form-label.required:after{content:" *";color:#ef4444}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;color:#e5e5e5;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;background:#0f0f0f}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.form-group small{font-size:12px;color:#6b7280}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:#e5e5e5;font-size:14px}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.array-input{display:flex;gap:8px}.array-input input{flex:1}.btn-small{padding:8px 16px;font-size:13px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-small:hover{background:#1d4ed8}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#1f1f1f;border:1px solid #2a2a2a;border-radius:6px;font-size:13px;color:#e5e5e5}.tag button{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:18px;line-height:1;padding:0;margin:0;transition:color .2s}.tag button:hover{color:#ef4444}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:30px;border-top:1px solid #2a2a2a}.alert{padding:16px 20px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-error{background:#7f1d1d;border:1px solid #991b1b;color:#fecaca}.alert-error strong{color:#fef2f2}.streaming-cursor{display:inline-block;margin-left:2px;color:#2563eb;animation:blink-cursor 1s step-end infinite}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 0}.typing-dot{width:8px;height:8px;border-radius:50%;background:#9ca3af;animation:typing-animation 1.4s infinite}.typing-dot:nth-child(1){animation-delay:0s}@keyframes typing-animation{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.button-group{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #2a2a2a}.btn{padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;background:#2a2a2a;color:#e5e5e5}.btn:hover:not(:disabled){background:#3a3a3a;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{background:#3f3f46;color:#e5e5e5}.btn-secondary:hover:not(:disabled){background:#52525b}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc26264d}@media(max-width:768px){.persona-management{padding:20px}.persona-management-header{flex-direction:column;gap:16px}.persona-grid,.form-row{grid-template-columns:1fr}.button-group{flex-direction:column;gap:8px}.button-group .btn{width:100%}}.light-mode .roleplay-container{background:var(--bg-primary)}.light-mode .roleplay-sidebar{background:var(--bg-secondary);border-right-color:var(--bg-border)}.light-mode .sidebar-header{border-bottom-color:var(--bg-border)}.light-mode .logo-text{color:var(--text-primary)}.light-mode .sidebar-toggle{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .sidebar-toggle:hover{background:var(--bg-border)}.light-mode .sidebar-toggle svg{stroke:var(--text-secondary)}.light-mode .menu-item{color:var(--text-secondary)}.light-mode .menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.light-mode .menu-item.active{background:var(--accent-subtle);color:var(--accent-primary);border-right-color:var(--accent-primary)}.light-mode .sidebar-footer{border-top-color:var(--bg-border)}.light-mode .progress-bar{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .progress-bar:before{background:var(--bg-border)}.light-mode .progress-circle{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .progress-label{color:var(--text-secondary)}.light-mode .progress-step.active .progress-label{color:var(--accent-primary)}.light-mode .progress-step.completed .progress-label{color:var(--text-secondary)}.light-mode .card{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .card-title{color:var(--text-primary)}.light-mode .card-description{color:var(--text-secondary)}.light-mode .chat-container{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .chat-header{border-bottom-color:var(--bg-border)}.light-mode .chat-title{color:var(--text-primary)}.light-mode .chat-subtitle{color:var(--text-secondary)}.light-mode .message-avatar{background:var(--bg-tertiary)!important;color:var(--text-secondary)!important}.light-mode .message.user .message-avatar{background:var(--accent-primary);color:#fff}.light-mode .message.user .message-content{background:var(--accent-subtle)!important;border-color:var(--accent-subtle)!important;color:var(--text-primary)!important}.light-mode .chat-input-area{border-top-color:var(--bg-border)}.light-mode .chat-input{background:var(--bg-secondary)!important;border-color:var(--bg-border)!important;color:var(--text-primary)!important}.light-mode .chat-input:focus{border-color:var(--accent-primary)!important}.light-mode .loading-overlay{background:#000000b3}.light-mode .loading-modal{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .spinner{border-color:var(--bg-border);border-top-color:var(--accent-primary)}.light-mode .radio-option{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .radio-option:hover{border-color:var(--border-strong);background:var(--bg-secondary)}.light-mode .radio-option.selected{border-color:var(--accent-primary);background:var(--accent-subtle)}.light-mode .radio-title{color:var(--text-primary)}.light-mode .radio-desc{color:var(--text-secondary)}.light-mode .brief-section{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .brief-section-title,.light-mode .brief-list li{color:var(--text-primary)}.light-mode .alert-box{background:#d977061a;border-color:#d9770633}.light-mode .alert-box-title{color:var(--warning)}.light-mode .alert-box-content{color:var(--text-primary)}.light-mode .voice-input-area{border-top-color:var(--bg-border);background:var(--bg-secondary)}.light-mode .voice-status{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .voice-transcript{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .voice-transcript.active{color:var(--text-primary);border-color:var(--accent-primary)}.light-mode .feedback-summary{background:#0596691a;border-color:#05966933}.light-mode .feedback-summary-title{color:var(--success)}.light-mode .feedback-summary-text,.light-mode .feedback-section-title{color:var(--text-primary)}.light-mode .feedback-item{background:var(--bg-tertiary);border-left-color:var(--success)}.light-mode .feedback-item.improvement{border-left-color:var(--warning)}.light-mode .feedback-item-title{color:var(--text-primary)}.light-mode .feedback-item-text{color:var(--text-secondary)}.light-mode .feedback-stat-card{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .feedback-stat-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #00000014}.light-mode .feedback-stat-label{color:var(--text-secondary)}.light-mode .feedback-stat-value{color:var(--text-primary)}.light-mode .feedback-stat-value-success{color:var(--success)}.light-mode .persona-management{background:var(--bg-primary)}.light-mode .persona-management-header h2{color:var(--text-primary)}.light-mode .persona-management-header .subtitle{color:var(--text-secondary)}.light-mode .filter-bar{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .filter-group label{color:var(--text-primary)}.light-mode .persona-card{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .persona-card:hover{border-color:var(--border-strong)}.light-mode .persona-card-header h3{color:var(--text-primary)}.light-mode .btn-icon{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .btn-icon:hover{background:var(--bg-border);border-color:var(--border-strong)}.light-mode .btn-icon svg{stroke:var(--text-secondary)}.light-mode .persona-info{color:var(--text-secondary)}.light-mode .persona-info strong{color:var(--text-primary)}.light-mode .persona-card-footer{border-top-color:var(--bg-border)}.light-mode .persona-key{color:var(--text-tertiary)}.light-mode .empty-state,.light-mode .loading-container{color:var(--text-secondary)}.light-mode .persona-form{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .form-section h3{color:var(--text-primary);border-bottom-color:var(--bg-border)}.light-mode .form-label{color:var(--text-primary)}.light-mode .form-group input,.light-mode .form-group select,.light-mode .form-group textarea{background:var(--bg-tertiary)!important;border-color:var(--bg-border)!important;color:var(--text-primary)!important}.light-mode .form-group input:focus,.light-mode .form-group select:focus,.light-mode .form-group textarea:focus{border-color:var(--accent-primary)!important;background:var(--bg-secondary)!important}.light-mode .form-group small{color:var(--text-tertiary)}.light-mode .checkbox-label{color:var(--text-primary)}.light-mode .tag{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--text-primary)}.light-mode .tag button{color:var(--text-secondary)}.light-mode .tag button:hover{color:var(--error)}.light-mode .form-actions{border-top-color:var(--bg-border)}.light-mode .alert-error{background:#dc26261a;border-color:#dc262633;color:var(--error)}.light-mode .button-group{border-top-color:var(--bg-border)}.light-mode .btn{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--bg-border)}.light-mode .btn:hover:not(:disabled){background:var(--bg-border)}.light-mode .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.light-mode .btn-secondary:hover:not(:disabled){background:var(--bg-border)}.content-curation-page{height:98%}.content-curation-container{height:100%}.curation-table-container{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;overflow:hidden;margin-top:6px;height:100%}.curation-table-header{padding:16px 20px;border-bottom:1px solid var(--bg-border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.table-search{display:flex;gap:10px}.search-label{margin-top:5px}.curation-table-wrapper{overflow-x:auto;overflow-y:auto;height:100%;max-width:100%}.table-wrapper::-webkit-scrollbar{height:6px}.table-wrapper::-webkit-scrollbar-track{background:transparent}.table-wrapper::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff40}.data-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%}.data-table thead th{padding:16px 20px;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--bg-border);background:var(--bg-tertiary);white-space:nowrap}.data-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding-right:32px}.data-table thead th.sortable:hover{background:var(--bg-primary);color:var(--text-secondary)}.data-table tbody tr{transition:background-color .15s ease;cursor:pointer}.data-table tbody tr:hover{background:var(--bg-tertiary)}.data-table tbody td{padding:16px 20px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--bg-border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.cell-title{font-weight:500;color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}.cell-url{color:var(--accent-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-date{font-size:15px;font-weight:500;color:var(--text-primary)}.cell-category{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--bg-border)}.table-footer{padding:16px 20px;border-top:1px solid var(--bg-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.table-info{font-size:13px;color:var(--text-secondary)}.pagination{display:flex;align-items:center;gap:8px}.pagination-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--bg-border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:13px}.pagination-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.pagination-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{padding:0 8px;color:var(--text-tertiary)}.table-empty{padding:60px 20px!important;text-align:center}.table-empty-icon{width:64px;height:64px;margin:0 auto 16px;opacity:.3}.table-empty-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.table-empty-description{font-size:14px;color:var(--text-secondary)}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;align-items:center;justify-content:center;animation:fadeIn .2s}.modal-body-content{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s;overflow:hidden}.modal-header{padding:20px 24px;border-bottom:1px solid var(--bg-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:20px;font-weight:600;color:var(--text-primary)}.modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.markdown-content{color:var(--text-primary);line-height:1.8}.markdown-content h1{font-size:28px;font-weight:700;margin-bottom:16px;color:var(--text-primary);border-bottom:2px solid var(--bg-border);padding-bottom:8px}.markdown-content h2{font-size:24px;font-weight:600;margin:32px 0 16px;color:var(--text-primary)}.markdown-content h3{font-size:20px;font-weight:600;margin:24px 0 12px;color:var(--text-primary)}.markdown-content h4{font-size:18px;font-weight:600;margin:20px 0 12px;color:var(--text-primary)}.markdown-content p{margin-bottom:16px;color:var(--text-primary)}.markdown-content ul,.markdown-content ol{margin-bottom:16px;padding-left:24px}.markdown-content li{margin-bottom:8px;color:var(--text-primary)}.markdown-content a{color:var(--accent-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.markdown-content a:hover{border-bottom-color:var(--accent-primary)}.markdown-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:var(--accent-primary)}.markdown-content pre{background:var(--bg-tertiary);padding:16px;border-radius:8px;overflow-x:auto;margin-bottom:16px;border:1px solid var(--bg-border)}.markdown-content pre code{background:transparent;padding:0;color:var(--text-primary)}.markdown-content blockquote{border-left:4px solid var(--accent-primary);padding-left:16px;margin:16px 0;color:var(--text-secondary);font-style:italic}.markdown-content img{max-width:100%;height:auto;border-radius:8px;margin:16px 0}.markdown-content table{width:100%;border-collapse:collapse;margin:16px 0}.markdown-content table th,.markdown-content table td{padding:12px;border:1px solid var(--bg-border);text-align:left}.markdown-content table th{background:var(--bg-tertiary);font-weight:600}.markdown-content hr{border:none;border-top:1px solid var(--bg-border);margin:24px 0}.markdown-content strong{font-weight:600;color:var(--text-primary)}.light-mode .search-input{background:#fff!important;color:#1e293b!important;border-color:#cbd5e1!important}.light-mode .search-input:focus{border-color:#2563eb!important}.light-mode .search-input::placeholder{color:#94a3b8}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-modal{background:#171717;border:1px solid #2a2a2a;border-radius:12px;padding:40px;text-align:center;max-width:400px;width:90%}.progress-bar-container{width:100%;margin-top:24px}.progress-bar-track{width:100%;height:6px;background:#2a2a2a;border-radius:3px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#1d4ed8);border-radius:3px;transition:width .3s ease-out;position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shimmer 2s ease-in-out infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.pdf-view-container{height:100%;padding:8px;border-radius:8px;background:var(--bg-secondary)}.pdf-view-container .pdf-view{width:100%;height:100%;display:block}.tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--bg-border);padding-bottom:0}.tab{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.chat-container{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;height:calc(100vh - 195px);display:flex;flex-direction:column}.chat-header{padding:16px 20px;border-bottom:1px solid var(--bg-border);display:flex;justify-content:space-between;align-items:center}.chat-title{font-size:15px;font-weight:600;color:var(--text-primary)}.chat-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.chat-stats{display:flex;gap:16px}.chat-stat-item{font-size:12px;color:var(--text-secondary)}.chat-stat-item strong{color:var(--accent-primary);font-weight:600}.chat-agent-selector{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--bg-border);flex-wrap:wrap}.agent-selector-label{font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap}.agent-select{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--bg-border);border-radius:6px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s}.agent-select:hover:not(:disabled){border-color:var(--accent-primary)}.agent-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.agent-select:disabled{opacity:.5;cursor:not-allowed}.agent-info-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agent-info-badge{padding:4px 10px;background:var(--accent-subtle);color:var(--accent-primary);border-radius:6px;font-size:12px;font-weight:600}.agent-info-status{padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.session-info{padding:4px 10px;background:#05966926;color:var(--success);border:1px solid rgba(5,150,105,.3);border-radius:6px;font-size:11px;font-weight:500;font-family:monospace;cursor:help}.loading-text,.empty-text{padding:8px 12px;color:var(--text-secondary);font-size:14px}.chat-messages{flex:1;padding:20px;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#fff3}.message{margin-bottom:16px;display:flex;gap:12px}.message.user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.message.user .message-avatar{background:var(--chat-border);color:#fff}.message-bubble{max-width:70%;display:flex;flex-direction:column;gap:4px}.message-content{background:var(--bg-tertiary);padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.6;border:1px solid var(--bg-border);color:var(--text-primary);word-wrap:break-word}.message-content .markdown-content{white-space:normal}.message.user .message-content{background:var(--chat-background);border-color:var(--chat-border);color:#fff}.message-time{font-size:11px;color:var(--text-tertiary);padding:0 4px;align-self:flex-start}.message.user .message-time{align-self:flex-end}.message-sources{margin-top:8px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;padding:12px}.sources-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.source-card{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:all .2s}.source-card:last-child{margin-bottom:0}.source-card:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.source-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.source-card-title{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.source-card-relevance{font-size:11px;font-weight:600;color:var(--success);background:#0596691a;padding:2px 8px;border-radius:4px}.source-card-preview{font-size:12px;color:var(--text-tertiary);line-height:1.4}.typing-indicator{display:flex;gap:4px;padding:0;background:transparent;border:none;width:fit-content}.typing-dot{width:8px;height:8px;background:var(--text-tertiary);border-radius:50%;animation:typingAnimation 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingAnimation{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.streaming-cursor{display:inline-block;margin-left:2px;color:var(--accent-primary);animation:blink-cursor 1s step-end infinite}@keyframes blink-cursor{0%,50%{opacity:1}51%,to{opacity:0}}.chat-input-area{padding:16px 20px;border-top:1px solid var(--bg-border)}.chat-input{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;line-height:1.5}.chat-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-input::placeholder{color:var(--text-tertiary)}.documents-container{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;padding:24px}.documents-header{display:flex;gap:16px;margin-bottom:24px;align-items:center}.documents-search{flex:1}.search-input{width:100%;padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.search-input::placeholder{color:var(--text-tertiary)}.documents-filters{display:flex;gap:12px;align-items:center}.category-select{padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.category-select:focus{outline:none;border-color:var(--accent-primary)}.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--bg-border)}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-icon{width:30px;height:30px;padding:0;display:flex;justify-content:center;background:transparent;border:1px solid var(--bg-border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-icon svg{width:16px;height:16px;stroke-width:2}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-primary)}.btn-icon.btn-danger:hover{background:var(--error);color:#fff;border-color:var(--error)}.documents-list{display:flex;flex-direction:column;gap:12px}.document-group{background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:12px;overflow:hidden;transition:all .2s;height:100%}.document-group:hover{border-color:var(--accent-primary)}.document-group-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--bg-border);cursor:pointer;transition:all .2s}.document-group-header:hover{background:var(--bg-tertiary)}.document-group-info{display:flex;align-items:center;gap:12px;flex:1}.document-group-toggle{width:24px;height:24px;background:transparent;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.document-group-toggle:hover{color:var(--accent-primary)}.group-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.document-group-title{font-size:15px;font-weight:600;color:var(--text-primary);flex:1}.document-group-count{font-size:13px;color:var(--text-secondary);font-weight:500}.document-group-actions{display:flex;gap:8px;align-items:center}.document-group-content{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.document-card{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;padding:16px;transition:all .2s}.document-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.document-card.selected{border-color:var(--accent-primary);background:var(--accent-subtle)}.document-card-header{margin-bottom:12px}.document-card-title-row{display:flex;align-items:flex-start;gap:12px}.doc-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary);margin-top:2px;flex-shrink:0}.document-card-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4;flex:1}.document-card-category{font-size:11px;font-weight:600;color:var(--accent-primary);background:var(--accent-subtle);padding:4px 8px;border-radius:4px;white-space:nowrap}.document-card-content{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.document-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag{font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--bg-border);padding:3px 8px;border-radius:4px}.document-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--bg-border)}.document-card-date{font-size:11px;color:var(--text-tertiary)}.document-card-actions{display:flex;gap:6px}.empty-state{text-align:center;padding:80px 20px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-description{font-size:14px;color:var(--text-secondary)}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center;animation:fadeIn .2s}.modal-overlay.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--bg-border);border-radius:12px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s;overflow:hidden}.modal-large{max-width:800px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:10px;border-bottom:1px solid var(--bg-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;background:transparent;border:1px solid var(--bg-border);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--error)}.modal-body{flex:1;overflow-y:auto;padding:24px}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#fff3}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid var(--bg-border)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-group input,.form-group textarea{width:100%;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.form-group textarea{resize:vertical;line-height:1.5}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.source-detail{padding:0}.source-meta{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:20px;font-size:12px}.source-id{color:var(--text-tertiary);font-family:monospace}.source-relevance-badge{padding:4px 12px;background:linear-gradient(90deg,var(--success),#22c55e);color:#fff;border-radius:6px;font-weight:600}.markdown-content{font-size:14px;line-height:1.7;color:var(--text-primary);word-break:break-word}.markdown-content p{margin:0 0 12px}.markdown-content p:last-child{margin-bottom:0}.markdown-content .markdown-ul,.markdown-content .markdown-ol,.markdown-content ul,.markdown-content ol{margin:12px 0;padding-left:24px}.markdown-content .markdown-ol,.markdown-content ol{list-style-type:decimal}.markdown-content .markdown-ul,.markdown-content ul{list-style-type:disc}.markdown-content .markdown-li,.markdown-content li{margin-bottom:6px;line-height:1.6}.markdown-content .markdown-li:last-child,.markdown-content li:last-child{margin-bottom:0}.markdown-content ul ul,.markdown-content ol ol,.markdown-content ul ol,.markdown-content ol ul{margin:4px 0}.markdown-content .markdown-table-wrapper,.markdown-content>div:has(>table){overflow-x:auto;margin:16px 0;border-radius:8px;border:1px solid var(--bg-border)}.markdown-content .markdown-table,.markdown-content table{width:100%;border-collapse:collapse;font-size:13px;min-width:300px;background:var(--bg-secondary);white-space:normal!important;display:table!important}.markdown-content table *{white-space:normal!important}.markdown-content .markdown-thead,.markdown-content thead{background:var(--bg-tertiary)}.markdown-content .markdown-th,.markdown-content th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--bg-border);border-right:1px solid var(--bg-border);white-space:normal}.markdown-content th:last-child{border-right:none}.markdown-content .markdown-tbody .markdown-tr,.markdown-content tbody tr{transition:background-color .15s ease}.markdown-content .markdown-tbody .markdown-tr:hover,.markdown-content tbody tr:hover{background:var(--bg-tertiary)}.markdown-content .markdown-td,.markdown-content td{padding:10px 16px;border-bottom:1px solid var(--bg-border);border-right:1px solid var(--bg-border);color:var(--text-primary);vertical-align:top;white-space:normal!important}.markdown-content td:last-child{border-right:none}.markdown-content .markdown-tbody .markdown-tr:last-child .markdown-td,.markdown-content tbody tr:last-child td{border-bottom:none}.markdown-content strong{font-weight:700;color:inherit}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--text-primary);margin-top:20px;margin-bottom:10px;font-weight:600;line-height:1.4}.markdown-content h1{font-size:1.5em;border-bottom:1px solid var(--bg-border);padding-bottom:8px}.markdown-content h2{font-size:1.3em}.markdown-content h3{font-size:1.15em}.markdown-content .markdown-code-inline,.markdown-content code:not(pre code){background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em;color:var(--accent-primary)}.markdown-content .markdown-pre,.markdown-content pre{background:var(--bg-tertiary);border:1px solid var(--bg-border);border-radius:8px;padding:16px;margin:12px 0;overflow-x:auto}.markdown-content .markdown-code-block,.markdown-content pre code{font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;color:var(--text-primary);background:transparent;padding:0}.markdown-content a{color:var(--accent-primary);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content blockquote{margin:12px 0;padding:12px 16px;border-left:4px solid var(--accent-primary);background:var(--bg-tertiary);border-radius:0 8px 8px 0}.markdown-content blockquote p{margin:0}.markdown-content hr{border:none;border-top:1px solid var(--bg-border);margin:20px 0}.markdown-content blockquote.reference-section{margin:4px 0;padding:0;border-left:none;background:transparent}.markdown-content blockquote.reference-section p strong.reference-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:2px;display:inline-flex;align-items:center;gap:6px}.markdown-content blockquote.reference-section p strong.reference-title .reference-icon{display:inline-flex;align-items:center;width:14px;height:14px;color:var(--text-secondary);flex-shrink:0}.markdown-content blockquote.reference-section p strong.reference-title .reference-icon svg{width:100%;height:100%}.markdown-content blockquote.reference-section ul{margin-top:2px;margin-bottom:0;padding-left:0;list-style:none}.markdown-content blockquote.reference-section ul li{padding:2px 0;margin-bottom:1px;font-size:12px;color:var(--text-secondary);line-height:1.4}.markdown-content blockquote.reference-section ul li:before{content:"•";color:var(--text-tertiary);margin-right:6px}@media(max-width:768px){.documents-header{flex-direction:column}.documents-filters{width:100%;justify-content:space-between}.document-group-content{grid-template-columns:1fr}.message-bubble{max-width:85%}}.light-mode .tabs{border-bottom-color:var(--bg-border)}.light-mode .tab{color:var(--text-secondary)}.light-mode .tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.light-mode .tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.light-mode .chat-container,.light-mode .documents-container{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .chat-header,.light-mode .chat-input-area{border-color:var(--bg-border)}.light-mode .chat-title,.light-mode .document-card-title,.light-mode .empty-title,.light-mode .page-title{color:var(--text-primary)}.light-mode .chat-subtitle,.light-mode .chat-stat-item,.light-mode .document-card-content,.light-mode .page-subtitle{color:var(--text-secondary)}.light-mode .chat-stat-item strong{color:var(--accent-primary)}.light-mode .agent-selector-label{color:var(--text-primary)}.light-mode .agent-select{background:var(--bg-secondary);border-color:var(--bg-border);color:var(--text-primary)}.light-mode .agent-info-status{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .message-avatar{background:var(--bg-tertiary);color:var(--text-secondary)}.light-mode .message.user .message-avatar{background:var(--accent-subtle);border:var(--accent-subtle);color:#fff}.light-mode .message-content{background:var(--bg-tertiary);border-color:var(--bg-border);color:var(--text-primary)}.light-mode .message.user .message-content{background:var(--accent-subtle);border:var(--accent-subtle);color:#fff}.light-mode .message-time{color:var(--text-tertiary)}.light-mode .message-sources{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .sources-title{color:var(--text-secondary)}.light-mode .source-card{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .source-card:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.light-mode .source-card-title{color:var(--text-primary)}.light-mode .source-card-preview{color:var(--text-tertiary)}.light-mode .chat-input,.light-mode .search-input,.light-mode .category-select,.light-mode .form-group input,.light-mode .form-group textarea{background:var(--bg-secondary);border-color:var(--bg-border);color:var(--text-primary)}.light-mode .chat-input::placeholder,.light-mode .search-input::placeholder{color:var(--text-tertiary)}.light-mode .document-card,.light-mode .document-group{background:var(--bg-tertiary);border-color:var(--bg-border)}.light-mode .document-group-header{background:var(--bg-secondary);border-bottom-color:var(--bg-border)}.light-mode .document-group-header:hover{background:var(--bg-tertiary)}.light-mode .document-group-title{color:var(--text-primary)}.light-mode .document-group-count{color:var(--text-secondary)}.light-mode .document-card.selected{background:var(--accent-subtle);border-color:var(--accent-primary)}.light-mode .document-card-category{background:var(--accent-subtle);color:var(--accent-primary)}.light-mode .tag{background:var(--bg-secondary);border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .document-card-date{color:var(--text-tertiary)}.light-mode .btn-secondary{border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.light-mode .btn-icon{border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-primary)}.light-mode .modal{background:var(--bg-secondary);border-color:var(--bg-border)}.light-mode .modal-header{border-bottom-color:var(--bg-border)}.light-mode .modal-title{color:var(--text-primary)}.light-mode .modal-close{border-color:var(--bg-border);color:var(--text-secondary)}.light-mode .modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.light-mode .modal-actions{border-top-color:var(--bg-border)}.light-mode .form-group label{color:var(--text-primary)}.light-mode .source-meta{background:var(--bg-tertiary)}.light-mode .source-id{color:var(--text-tertiary)}.light-mode .markdown-content,.light-mode .markdown-content h1,.light-mode .markdown-content h2,.light-mode .markdown-content h3,.light-mode .markdown-content h4,.light-mode .markdown-content h5,.light-mode .markdown-content h6,.light-mode .markdown-content strong{color:var(--text-primary)}.light-mode .markdown-content .markdown-code-inline,.light-mode .markdown-content code:not(pre code){background:var(--bg-tertiary);color:var(--accent-primary)}.light-mode .markdown-content .markdown-pre,.light-mode .markdown-content pre{background:#f8fafc;border-color:#e2e8f0}.light-mode .markdown-content .markdown-code-block,.light-mode .markdown-content pre code{color:#1e293b}.light-mode .markdown-content .markdown-table-wrapper,.light-mode .markdown-content>div:has(>table){border-color:#e2e8f0}.light-mode .markdown-content .markdown-table,.light-mode .markdown-content table{background:#fff}.light-mode .markdown-content .markdown-thead,.light-mode .markdown-content thead{background:#f8fafc}.light-mode .markdown-content .markdown-th,.light-mode .markdown-content th{color:#1e293b;border-bottom-color:#e2e8f0;border-right-color:#e2e8f0}.light-mode .markdown-content .markdown-tbody .markdown-tr:hover,.light-mode .markdown-content tbody tr:hover{background:#f8fafc}.light-mode .markdown-content .markdown-td,.light-mode .markdown-content td{color:#334155;border-bottom-color:#f1f5f9;border-right-color:#f1f5f9}.light-mode .markdown-content blockquote{background:#f8fafc;border-left-color:var(--accent-primary)}.light-mode .empty-description{color:var(--text-secondary)}.analysis-info-box{background:var(--accent-subtle);border:1px solid var(--accent-primary);color:var(--text-primary)}.light-mode .analysis-info-box{background:#e3f2fd;border-color:#bfdbfe;color:#1e40af}.form-label-analysis{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:10px;display:block}.required-mark{color:var(--error)}.form-input-analysis,.form-select-analysis,.form-textarea-analysis{font-size:15px;padding:12px 16px;background:var(--bg-tertiary);border:2px solid var(--bg-border);border-radius:8px;color:var(--text-primary);width:100%;font-family:inherit;transition:all .2s}.form-input-analysis:focus,.form-select-analysis:focus,.form-textarea-analysis:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.form-select-analysis{cursor:pointer}.form-textarea-analysis{line-height:1.6;resize:vertical}.light-mode .form-input-analysis,.light-mode .form-select-analysis,.light-mode .form-textarea-analysis{background:#fff;border-color:#e2e8f0;color:#1e293b}.light-mode .form-input-analysis:focus,.light-mode .form-select-analysis:focus,.light-mode .form-textarea-analysis:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.checkbox-label-analysis{font-size:15px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-analysis{width:18px;height:18px;cursor:pointer}.extracted-text-preview{background:var(--bg-tertiary);font-size:14px;padding:14px 16px;border:2px solid var(--bg-border);border-radius:8px;color:var(--text-secondary);width:100%;font-family:inherit;line-height:1.7}.light-mode .extracted-text-preview{background:#f8fafc;border-color:#e2e8f0;color:#334155}.document-section{margin-bottom:24px;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.document-section:hover{box-shadow:0 4px 6px #0000001a}.document-section-header{transition:background-color .2s}.document-section-header:hover{background-color:#00000005!important}.chunk-card{transition:all .2s;cursor:pointer}.chunk-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.chunk-table-wrapper{overflow-x:auto;overflow-y:auto;height:100%;max-width:100%}.chunk-table-wrapper::-webkit-scrollbar{height:6px}.chunk-table-wrapper::-webkit-scrollbar-track{background:transparent}.chunk-table-wrapper::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.chunk-table-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff40}.chunk-data-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%}.chunk-data-table thead th{padding:16px 20px;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--bg-border);background:var(--bg-tertiary);white-space:nowrap}.chunk-data-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding-right:32px}.chunk-data-table thead th.sortable:hover{background:var(--bg-primary);color:var(--text-secondary)}.chunk-data-table tbody tr{transition:background-color .15s ease;cursor:pointer}.chunk-data-table tbody tr:hover{background:var(--bg-tertiary)}.chunk-data-table tbody td{padding:16px 20px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--bg-border);vertical-align:middle}.chunk-data-table tbody tr:last-child td{border-bottom:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner-with-text{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.spinner-text{font-size:inherit;color:inherit;font-weight:inherit}.btn .spinner-with-text{gap:8px}
