.loading-topics{display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--text-muted);font-size:14px}.loading-spinner{animation:spin 1s linear infinite;font-size:16px}.no-topics{padding:12px 16px;color:var(--text-muted);font-size:14px;text-align:center}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .3s ease;position:relative;z-index:100;height:100vh;height:100dvh;overflow:hidden}.sidebar-open{width:260px}.sidebar-closed{width:60px}.sidebar-top-header,.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:12px}.agent-selector{border-bottom:1px solid var(--border);background:var(--card)}.agent-selector select{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--sidebar-bg);color:var(--text);font-size:14px}.sidebar-closed .agent-selector{display:none}.new-chat-btn{flex:1;justify-content:center}.sidebar-closed .new-chat-btn{width:100%;padding:8px}.sidebar-closed .new-chat-btn span{display:none}.toggle-btn{background:transparent;border:1px solid var(--border)}.toggle-btn:hover{background:var(--sidebar-hover)}.conversation-list,.hierarchical-list{flex:1;overflow-y:auto;padding:12px}.agent-node{margin-bottom:8px}.agent-header{display:flex;align-items:center;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background-color .2s ease;font-weight:500;font-size:14px}.agent-header.agent-selected{background:#f8f9fa;font-weight:700}.agent-specific-icon{margin-right:8px;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.folder-icon{background-color:#f0f0f0;padding:2px;border-radius:3px;color:#666}.agent-name{flex:1;text-align:left}.expand-icon{margin-left:8px;flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.green-expand-icon{color:#10b981;transition:transform .2s ease}.expand-icon-expanded{transform:rotate(45deg)}.agent-header:hover{background:var(--sidebar-hover)}.expand-icon{margin-right:8px;flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.plus-rotated{transform:rotate(45deg)}.agent-specific-icon{margin-right:8px;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:4px}.agent-icon-1{background-color:#3b82f61a;color:#3b82f6}.agent-icon-2{background-color:#10b9811a;color:#10b981}.agent-icon-3{background-color:#ef44441a;color:#ef4444}.agent-icon-4{background-color:#f59e0b1a;color:#f59e0b}.agent-icon-5{background-color:#8b5cf61a;color:#8b5cf6}.agent-name{flex:1}.topics-container{margin-left:24px;margin-top:4px;padding-left:8px;border-left:1px dashed var(--border)}.topic-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:2px;font-size:13px}.topic-item:hover{background:var(--sidebar-hover)}.topic-item.active{background:var(--sidebar-active);color:var(--text);font-weight:500}.topic-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-topics{padding:16px;text-align:center;color:var(--subtle);font-size:12px;font-style:italic}.conversation-group{margin-bottom:16px}.group-date{font-size:12px;color:var(--subtle);padding:4px 8px;margin-bottom:4px;font-weight:500}.conversation-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:2px;font-size:14px}.conversation-item:hover{background:var(--sidebar-hover)}.conversation-item.active{background:var(--sidebar-active);color:var(--text);font-weight:500}.conv-icon{flex-shrink:0;color:var(--subtle)}.conversation-item.active .conv-icon{color:var(--primary)}.conv-title{flex:1;font-size:14px;min-width:0}.delete-btn{opacity:0;background:transparent;border:none;color:var(--subtle);padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.conversation-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#ef44441a;color:var(--danger)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:var(--subtle)}.empty-state svg{margin-bottom:12px;opacity:.5}.empty-state p{margin:4px 0;font-size:14px}.empty-state .hint{font-size:12px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:var(--subtle)}.loading-spinner{animation:spin 1s linear infinite;margin-bottom:12px;opacity:.7}.loading-state p{margin:0;font-size:14px}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;height:100vh;height:100dvh;z-index:1000}.sidebar-open{width:260px;box-shadow:2px 0 8px #0000001a}.sidebar-closed{width:0;overflow:hidden}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.doubao-toggle-btn{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.doubao-toggle-btn:hover{background-color:#0000000d;transform:translate(2px)}.toggle-icon{color:var(--text);transition:all .2s ease}.doubao-toggle-btn:hover .toggle-icon{color:var(--primary)}.sidebar-title{font-size:16px;font-weight:500;color:var(--text);flex:1;text-align:center}.sidebar-closed{width:52px;background-color:var(--card);border-right:1px solid var(--border)}.sidebar-header-mini{display:flex;justify-content:center;align-items:center;padding:16px 4px;border-bottom:1px solid var(--border)}.doubao-toggle-btn-mini{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.doubao-toggle-btn-mini:hover{background-color:#0000000d;transform:translate(2px)}.toggle-icon-mini{color:var(--text)}.doubao-toggle-btn-mini:hover .toggle-icon-mini{color:var(--primary)}.sidebar-open{width:240px;background-color:var(--card);box-shadow:1px 0 8px #0000000d}.agent-header{display:flex;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px;margin-bottom:4px}.agent-header:hover{background-color:#0000000d}.topic-item{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:4px;font-size:13px}.topic-item:hover{background-color:#0000000d}.topic-item.active{background-color:#10a37f1a;color:var(--primary);font-weight:500}.loading-container{display:flex;justify-content:center;align-items:center;height:200px;flex-direction:column}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner span{color:var(--text-secondary);font-size:14px;animation:none}.chat-container{flex:1;display:flex;flex-direction:column;background:var(--bg);position:relative;height:100vh;height:100dvh;overflow:hidden}.messages-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:24px 32px;max-width:900px;width:100%;margin:0 auto;min-height:calc(100vh - 60px - var(--composer-height, 120px));min-height:calc(100dvh - 60px - var(--composer-height, 120px))}.composer{background:var(--card);border-top:1px solid var(--border);padding:20px 32px;display:flex;gap:16px;align-items:center;max-width:900px;width:100%;margin:0 auto;position:sticky;bottom:0;z-index:10;flex-shrink:0;box-shadow:0 -1px 8px #0000000d}.input-wrapper{display:flex;flex-direction:column;flex:1}.input-container{position:relative;width:100%}.message-input::placeholder{color:var(--subtle);opacity:1}.send-btn{height:48px;padding:0 24px;border-radius:24px;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;margin-left:auto;margin-right:auto}.message-bubble{background:var(--bot);border:none;padding:14px 18px;border-radius:18px;display:inline-block;max-width:80%;box-shadow:0 1px 2px #0000000d}.message.user{flex-direction:row-reverse;justify-content:flex-start}.message.user .message-bubble{background:var(--primary);color:#fff;max-width:80%;border-bottom-right-radius:6px}.message.assistant .message-bubble{border-bottom-left-radius:6px}.message-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:#fff;flex-shrink:0;font-size:16px;background:var(--primary)}.message.user .message-avatar{background:var(--subtle)}.message-text{white-space:pre-wrap;line-height:1.6;font-size:15px}.message.user .message-text{color:#fff}.message-input{width:100%;resize:none;min-height:48px;max-height:200px;padding:14px 48px 14px 14px;border:1px solid var(--border);border-radius:24px;font-size:15px;font-family:inherit;outline:none;transition:all .2s ease;background:var(--card);box-shadow:inset 0 1px 2px #00000008}.message-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10a37f1a}.send-btn{height:48px;padding:0 24px;border-radius:24px;font-size:15px;font-weight:500;align-self:stretch;display:flex;align-items:center;justify-content:center}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--subtle);padding:0 40px;width:100%}.chat-empty-content{width:100%;max-width:840px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.chat-empty-content p{font-size:24px;font-weight:600;margin-bottom:24px;color:var(--text);text-align:left;padding-left:20px}.chat-empty .composer{position:static;border-top:none;background:transparent;padding:0;max-width:900px;box-shadow:none;width:100%}.chat-empty .input-container{margin-top:0}.example-btn{position:absolute;right:10px;bottom:10px;background:var(--card);border:1px solid var(--border);color:var(--subtle);padding:8px;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.example-btn:hover{background:var(--sidebar-hover);color:var(--primary);border-color:var(--primary)}@media (max-width: 1024px){.messages-container,.composer{max-width:85%}}@media (max-width: 768px){.messages-container,.composer{padding:16px;max-width:100%}.message-bubble{max-width:85%}}@media (max-width: 640px){.messages-container,.composer{padding:12px}.message-bubble{max-width:90%;padding:12px 16px}}.bottom-spacer{height:var(--composer-height, 120px);flex-shrink:0}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.app-header-logo{display:flex;align-items:center}.logo-emoji{font-size:24px;margin-right:10px}.app-header-logo span{font-size:1.2rem;font-weight:700}.app-header-actions{display:flex;gap:12px;align-items:center}.app-header-actions .btn{padding:10px 16px;font-size:15px;font-weight:500;border-radius:8px;min-height:40px}.user-menu{display:flex;align-items:center;gap:12px}.user-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--sidebar-bg);border-radius:6px;border:1px solid var(--border)}.username{font-weight:500;color:var(--text);font-size:14px}.question-count{font-size:12px;color:var(--subtle);font-weight:400}.logout-btn{padding:8px!important;min-width:auto!important}.logout-btn .btn-text{display:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--card);border-radius:12px;width:100%;max-width:400px;margin:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid var(--border);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;margin-bottom:20px}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:var(--text)}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--subtle);padding:4px;border-radius:4px;transition:all .2s ease;line-height:1}.close-btn:hover{background:var(--sidebar-hover);color:var(--text)}.password-strength{margin-top:5px;font-size:14px;font-weight:700}.password-strength.weak{color:#e74c3c}.password-strength.medium{color:#f39c12}.password-strength.strong{color:#27ae60}.login-form{padding:0 24px}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{flex:1;padding-right:35px}.password-hint{position:absolute;right:10px;color:#666;font-size:14px;background:#f5f5f5;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:help;-webkit-user-select:none;user-select:none}.password-hint:hover{background:#e0e0e0;color:#333}.password-requirements{display:block;margin-top:5px;font-size:12px;color:#666;line-height:1.4}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text);font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg);color:var(--text);transition:all .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10a37f1a}.form-group input::placeholder{color:var(--subtle)}.login-btn{width:100%;padding:12px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.login-btn:hover:not(:disabled){background:#0d9488;transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-btn{width:100%;padding:16px 20px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:20px;box-shadow:0 2px 8px #10a37f33;letter-spacing:.5px}.submit-btn:hover:not(:disabled){background:#0d9488;transform:translateY(-2px);box-shadow:0 4px 12px #10a37f4d}.submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #10a37f33}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #10a37f1a}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px}.modal-footer{padding:20px 24px 24px;text-align:center;border-top:1px solid var(--border);margin-top:20px}.switch-form{color:var(--subtle);font-size:14px}.switch-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s ease;padding:4px 8px;border-radius:4px}.switch-btn:hover{color:#0d9488;background:#10a37f1a}@media (max-width: 480px){.modal-content{margin:10px;max-width:none}.modal-header{padding:20px 20px 0}.login-form{padding:0 20px}.modal-footer{padding:0 20px 20px}}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--bg)}.main-layout{display:flex;flex:1;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;transition:all .3s ease;position:relative;z-index:1;overflow:hidden;background:var(--bg);border-radius:12px 0 0 12px;margin-left:-8px}.mcp-server-form{padding:20px;background-color:#f8f9fa;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.mcp-server-form h2{margin:0 0 16px;color:#212529;font-size:22px;font-weight:600;border-bottom:1px solid #e9ecef;padding-bottom:12px}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:12px;margin-bottom:16px}.success-message{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;padding:12px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group input,.form-group select,.form-group textarea{width:100%;max-width:500px;padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 2px #007bff40}.form-actions{display:flex;gap:12px;margin-top:20px}.cancel-btn{padding:10px 20px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.cancel-btn:hover:not(:disabled){background-color:#5a6268}.save-btn:disabled,.cancel-btn:disabled{opacity:.65;cursor:not-allowed}.mcp-server-list{padding:20px;background-color:#f8f9fa;min-height:100vh}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.list-header h2{margin:0;color:#212529;font-size:24px;font-weight:600}.add-btn{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.add-btn:hover:not(:disabled){background-color:#218838}.add-btn:disabled{opacity:.65;cursor:not-allowed}.servers-table-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.servers-table{width:100%;border-collapse:collapse}.servers-table th,.servers-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e9ecef;vertical-align:middle}.servers-table th{background-color:#f8f9fa;font-weight:600;color:#495057;font-size:14px}.servers-table tr:last-child td{border-bottom:none}.servers-table tr:hover{background-color:#f8f9fa}.no-data{text-align:center;color:#6c757d;font-style:italic;padding:40px}.status-connected{color:#28a745;font-weight:500}.status-disconnected{color:#dc3545}.action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.action-buttons button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s}.view-tools-btn{background:transparent;color:#0d6efd;border:none;padding:0;cursor:pointer;text-decoration:none}.view-tools-btn:hover{text-decoration:underline}.view-tools-btn:focus{outline:none;text-decoration:underline}.connect-btn{background-color:#28a745;color:#fff}.connect-btn:hover{background-color:#218838}.disconnect-btn{background-color:#ffc107;color:#212529}.disconnect-btn:hover{background-color:#e0a800}.edit-btn{background-color:#007bff;color:#fff}.edit-btn:hover{background-color:#0056b3}.delete-btn{background-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333}.nav-buttons{margin-top:24px;display:flex;gap:12px;justify-content:flex-end}.back-btn,.tools-assignment-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.back-btn{background-color:#6c757d;color:#fff}.tools-assignment-btn{background-color:#6f42c1;color:#fff}.tools-assignment-btn:hover{background-color:#5a32a3}.tools-row .tools-dropdown{background-color:#f7fbff;border:1px solid #e3f2fd;border-radius:6px;padding:12px;margin-top:8px}.tools-list{list-style:none;margin:0;padding:0}.tools-list li{padding:6px 0;border-bottom:1px dashed #e3f2fd}.tools-list li:last-child{border-bottom:none}.tool-name{font-weight:600;color:#0b5ed7}.tool-desc{color:#6c757d}.no-tools{color:#6c757d;font-style:italic}.tools-table{width:100%;border-collapse:collapse;background-color:#fff}.tools-table th,.tools-table td{padding:10px 12px;border-bottom:1px solid #e9ecef;text-align:left;font-size:13px}.tools-table th{background-color:#f8fbff;color:#495057;font-weight:600}.tool-name-cell{color:#0d6efd;font-weight:600}.tool-desc-cell{color:#495057}.tool-req-cell{color:#6c757d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.agent-tools-assignment{padding:20px;background-color:#f8f9fa;min-height:100vh}.assignment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.assignment-header h2{margin:0;color:#212529;font-size:24px;font-weight:600}.back-btn{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.back-btn:hover{background-color:#5a6268}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:12px;margin-bottom:20px}.agent-selector{margin-bottom:24px}.agent-selector label{display:block;margin-bottom:8px;font-weight:500;color:#495057}.agent-selector select{width:100%;max-width:400px;padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background-color:#fff}.loading{text-align:center;padding:40px;color:#6c757d}.tools-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;width:100%;box-sizing:border-box}.agent-config-panel{width:100%}.agent-config-panel .form-group input[type=text],.agent-config-panel .form-group textarea{width:100%;max-width:none;box-sizing:border-box}.description-textarea{min-height:140px;resize:vertical}.system-prompt-textarea{min-height:300px;resize:vertical}.tools-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tools-header h3{margin:0;color:#212529;font-size:18px;font-weight:600}.save-btn{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.save-btn:hover:not(:disabled){background-color:#0056b3}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed}.tools-groups{display:flex;flex-direction:column;gap:20px}.tool-group{border:1px solid #e9ecef;border-radius:6px;overflow:hidden}.tool-group h4{margin:0;padding:12px 16px;background-color:#f8f9fa;color:#495057;font-size:14px;font-weight:600;border-bottom:1px solid #e9ecef}.tools-list{max-height:400px;overflow-y:auto}.tool-item{padding:12px 16px;border-bottom:1px solid #f8f9fa;display:flex;align-items:flex-start;gap:12px;transition:background-color .2s}.tool-item:last-child{border-bottom:none}.tool-item:hover{background-color:#f8f9fa}.tool-item input[type=checkbox]{margin-top:2px}.tool-item label{flex:1;cursor:pointer;font-weight:400}.tool-name{font-weight:500;color:#212529;margin-bottom:4px}.tool-description{font-size:12px;color:#6c757d;line-height:1.4}.no-tools{text-align:center;padding:40px;color:#6c757d;font-style:italic}.admin-layout{display:flex;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.admin-nav{width:250px;background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 4px #0000001a}.nav-header{padding:20px;border-bottom:1px solid #34495e}.nav-header h1{margin:0;font-size:20px;font-weight:600}.nav-menu{flex:1;padding:20px 0}.nav-item{display:block;width:100%;padding:12px 20px;background:none;border:none;color:#bdc3c7;text-align:left;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.nav-item:hover{background-color:#34495e;color:#fff;padding-left:24px}.nav-item.active{background-color:#3498db;color:#fff}.nav-actions{padding:20px;border-top:1px solid #34495e}.logout-btn{width:100%;padding:10px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.logout-btn:hover{background-color:#c0392b}.admin-main{flex:1;overflow-y:auto;background-color:#f8f9fa}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.login-form{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:40px;width:100%;max-width:400px}.login-form h2{margin-bottom:30px;color:#2c3e50;text-align:center;font-size:24px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#495057}.form-group input{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-group input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 2px #007bff40}.login-form button{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .2s}.login-form button:hover:not(:disabled){background-color:#0056b3}.login-form button:disabled{background-color:#6c757d;cursor:not-allowed}.login-form .error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:12px;margin-bottom:20px;text-align:center}:root{--bg: #ffffff;--card: #ffffff;--text: #374151;--subtle: #9ca3af;--primary: #10a37f;--primary-600: #0d8a6b;--primary-100: #f0fdf4;--accent: #10a37f;--danger: #ef4444;--border: #e5e7eb;--user: #f7f7f8;--bot: #ffffff;--chip: #f0f0f0;--sidebar-bg: #f7f7f8;--sidebar-hover: #e5e5e5;--sidebar-active: #d1d5db;--shadow: rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 12px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;font-weight:400;white-space:nowrap}.btn:hover{background:var(--sidebar-hover);border-color:var(--subtle)}.btn:active{transform:scale(.98)}.btn-primary{border-color:var(--primary);background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-600);border-color:var(--primary-600)}.btn-primary:disabled{background:#389981;border-color:#389981;color:#fff;cursor:not-allowed;opacity:.8}.btn-icon{padding:6px;min-width:32px;height:32px;border-radius:4px}.loader{display:inline-flex;gap:4px;vertical-align:middle}.dot{width:6px;height:6px;border-radius:50%;background:#64748b;opacity:.6;animation:bounce 1s infinite ease-in-out}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
