:root{--primary-color: #0678be;--primary-hover: #0567a2;--secondary-color: #4eb3d3;--background-color: #f8f9fa;--text-color: #333333;--light-gray: #e9ecef;--border-color: #dee2e6;--success-color: #28a745;--error-color: #dc3545;--sidebar-width: 320px;--sidebar-bg: #f4f8fb;--sidebar-border: #e3e8ee;--sidebar-selected: #e6f2fb;--sidebar-hover: #eaf4fa;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);line-height:1.6}button{cursor:pointer;font-family:var(--font-family)}.App{height:100vh;display:flex;flex-direction:column}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#ffffffe6}.loading-spinner{text-align:center}.spinner{width:50px;height:50px;border:5px solid var(--light-gray);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{color:var(--text-color);font-size:1.2rem}.login-screen{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--background-color);background-image:linear-gradient(135deg,#f8f9fa,#e9ecef)}.login-container{width:100%;max-width:1200px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:3rem}.login-header{text-align:center}.login-header h1{color:var(--primary-color);font-size:2.5rem;margin-bottom:.5rem}.login-header p{color:#666;font-size:1.2rem}.login-content{width:100%;max-width:480px}.login-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:2.5rem;text-align:center}.login-card h2{margin-bottom:1rem;color:var(--text-color)}.login-card p{margin-bottom:2rem;color:#666}.login-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background-color .2s}.login-button:hover{background-color:var(--primary-hover)}.login-footer{color:#999;text-align:center}.error-container{max-width:800px;margin:4rem auto;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;text-align:center}.error-container h2{color:var(--error-color);margin-bottom:1rem}.error-container p{margin-bottom:1rem}.error-alert{text-align:left;background-color:#ffebee;border:1px solid #ffcdd2;color:#b71c1c;padding:1rem;border-radius:4px;margin:1.5rem 0}.error-alert h3{color:#b71c1c;margin-bottom:.5rem;font-size:1rem}.error-alert ul{margin:.5rem 0 .5rem 1.5rem}.error-alert li{margin-bottom:.25rem}.error-details{text-align:left;background-color:#f5f5f5;padding:1rem;border-radius:4px;margin-bottom:2rem;overflow-x:auto}.error-details pre{font-size:.8rem;white-space:pre-wrap}.retry-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background-color .2s}.retry-button:hover{background-color:var(--primary-hover)}.delete-conversation-btn{background:none;border:none;padding:0;margin-left:.5rem;cursor:pointer;opacity:1;transition:opacity .15s;display:inline-flex;align-items:center}.new-conversation-row{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;background:#fafdff;border-bottom:1px solid var(--sidebar-border)}.new-conversation-input{padding:.35rem .6rem;border:1px solid #ccc;border-radius:5px;font-size:1rem;min-width:0;flex:1 1 0;max-width:180px;background:#fff;transition:border .15s}.new-conversation-input:focus{border:1.5px solid var(--primary-color);outline:none}.delete-conversation-btn:disabled{cursor:not-allowed;opacity:.5}.delete-conversation-btn:hover svg{color:#b52d3a!important}.app-with-sidebar{display:flex;height:calc(100vh - 74px);width:100vw;background:var(--background-color);margin-top:74px;min-height:0;position:relative}.conversations-sidebar{width:var(--sidebar-width);min-width:240px;max-width:100vw;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;height:100%;z-index:20;box-shadow:1px 0 6px #00000008}.conversations-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--sidebar-border);background:#fff;z-index:2}.conversations-header h2{font-size:1.2rem;color:var(--primary-color);font-weight:700;letter-spacing:.01em}.new-conversation-btn{background:var(--primary-color);color:#fff;border:none;border-radius:6px;padding:.4rem .6rem;display:flex;align-items:center;transition:background .18s}.new-conversation-btn:disabled{background:var(--light-gray);color:#aaa;cursor:not-allowed}.new-conversation-btn:hover:not(:disabled){background:var(--primary-hover)}.plus-icon{width:22px;height:22px}.conversations-list{flex:1;overflow-y:auto;padding:.5rem 0;background:var(--sidebar-bg)}.conversation-item{display:flex;align-items:flex-start;padding:.85rem 1.25rem;cursor:pointer;border-bottom:1px solid var(--sidebar-border);background:transparent;transition:background .15s}.conversation-item.selected,.conversation-item:hover{background:var(--sidebar-selected)}.conversation-content{flex:1;min-width:0}.conversation-title{font-weight:600;color:var(--primary-color);font-size:1rem;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-preview{color:#666;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{margin-left:.75rem;display:flex;align-items:flex-end}.conversation-time{font-size:.8rem;color:#999;white-space:nowrap}.new-conversation-item{border-left:3px solid var(--primary-color);background:var(--sidebar-selected)}.new-conversation-item .conversation-title{font-style:italic;color:var(--primary-color)}.new-conversation-item .conversation-preview{color:#888;font-style:italic}.conversations-loading,.conversations-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;color:#888;text-align:center}.loading-spinner-small{width:28px;height:28px;border:4px solid var(--light-gray);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite;margin-bottom:1rem}.empty-icon{width:36px;height:36px;color:var(--primary-color);margin-bottom:.5rem}.create-first-btn{margin-top:1.2rem;background:var(--primary-color);color:#fff;border:none;border-radius:5px;padding:.5rem 1.2rem;font-size:1rem;font-weight:500;transition:background .18s}.create-first-btn:hover{background:var(--primary-hover)}.conversations-error{background:#fff3f3;color:var(--error-color);border:1px solid #ffd6d6;border-radius:6px;margin:1rem;padding:1rem;text-align:center}.retry-btn{margin-top:.7rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.4rem 1.2rem;font-size:1rem;font-weight:500;transition:background .18s}.retry-btn:hover{background:var(--primary-hover)}.chat-container{display:flex;flex-direction:column;height:100%;background-color:#fff;min-height:0}.chat-header{background-color:#fff;border-bottom:1px solid var(--border-color);padding:1rem 2rem;box-shadow:0 1px 4px #0000000d;z-index:100;position:fixed;top:0;left:0;width:100vw}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 2rem}.chat-header h1{color:var(--primary-color);font-size:1.5rem;font-weight:600}.user-info{display:flex;align-items:center;gap:1rem}.user-name{font-weight:500;color:var(--text-color)}.logout-button{background-color:transparent;color:#666;border:none;display:flex;align-items:center;padding:.5rem;border-radius:4px;transition:background-color .2s}.logout-button:hover{background-color:var(--light-gray)}.logout-icon{width:20px;height:20px}.messages-container{flex:1;overflow-y:auto;padding:2rem;background-color:var(--background-color);min-height:0}.welcome-message{max-width:800px;margin:4rem auto;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000d;text-align:center}.welcome-message h2{color:var(--primary-color);margin-bottom:1rem}.messages{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;max-width:85%;margin-bottom:1rem}.user-message{align-self:flex-end}.ai-message{align-self:flex-start}.message-content{padding:1rem;border-radius:1rem;position:relative}.user-message .message-content{background-color:var(--primary-color);color:#fff;border-bottom-right-radius:.25rem;max-width:100%}.user-message .message-content a{color:#fff;text-decoration:underline}.ai-message .message-content{background-color:#fff;color:var(--text-color);border-bottom-left-radius:.25rem;box-shadow:0 2px 6px #0000000d;max-width:100%}.message-text{margin-bottom:.25rem;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:.5em 0;font-weight:700}.message-content h1{font-size:1.5em}.message-content h2{font-size:1.3em}.message-content h3{font-size:1.2em}.message-content h4{font-size:1.1em}.message-content h5{font-size:1em}.message-content h6{font-size:.9em}.message-content p{margin:.5em 0;line-height:1.4}.message-content ul,.message-content ol{margin:.5em 0;padding-left:1.5em}.message-content li{margin:.2em 0}.message-content code{background:#0000001a;padding:.2em .4em;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.message-content.agent code{background:#0000001a}.message-content.user code{background:#fff3}.message-content pre{background:#0000001a;padding:1em;border-radius:8px;overflow-x:auto;margin:.5em 0}.message-content.agent pre{background:#0000001a}.message-content.user pre{background:#fff3}.message-content pre code{background:none;padding:0;font-size:.9em}.message-content blockquote{border-left:4px solid #e92063;padding-left:1em;margin:.5em 0;font-style:italic}.message-content.user blockquote{border-left-color:#ffffff80}.message-content a{color:#e92063;text-decoration:underline}.message-content.user a{color:#ffb3d1}.message-content table{border-collapse:collapse;margin:.5em 0;width:100%}.message-content th,.message-content td{border:1px solid #ddd;padding:.5em;text-align:left}.message-content th{background:#0000001a;font-weight:700}.message-time{font-size:.75rem;text-align:right;opacity:.8}.user-message .message-time{color:#fffc}.ai-message .message-time{color:#999;text-align:left}.streaming-cursor{display:inline-block;width:.5rem;height:1.2rem;background-color:currentColor;margin-left:2px;animation:blink 1s infinite;vertical-align:middle}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.input-container{padding:1.5rem 2rem;background-color:#fff;border-top:1px solid var(--border-color)}.file-preview{display:flex;align-items:center;justify-content:space-between;max-width:800px;margin:0 auto .75rem;background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:6px;padding:.75rem}.file-info{display:flex;align-items:center;gap:.5rem;flex:1}.file-icon{width:18px;height:18px;color:var(--primary-color)}.file-name{font-weight:500;color:var(--text-color)}.file-size{color:#666;font-size:.9rem}.remove-file-button{background:none;border:none;padding:.25rem;border-radius:4px;cursor:pointer;color:#666;transition:background-color .2s,color .2s}.remove-file-button:hover{background-color:#f0f0f0;color:var(--error-color)}.remove-icon{width:16px;height:16px}.input-wrapper{display:flex;max-width:800px;margin:0 auto;background-color:#fff;border:1px solid var(--border-color);border-radius:8px;padding:.75rem;box-shadow:0 2px 8px #0000000d;transition:border-color .2s,box-shadow .2s}.input-wrapper.drag-over{border-color:var(--primary-color);box-shadow:0 2px 8px #0678be26;background-color:#f8fbff}.message-input{flex:1;border:none;resize:none;outline:none;font-family:var(--font-family);font-size:1rem;padding:.5rem;min-height:40px;max-height:200px;overflow-y:auto;line-height:1.4}.file-upload-button{display:flex;align-items:center;justify-content:center;background-color:transparent;color:#666;border:none;border-radius:6px;width:40px;height:40px;margin-right:.5rem;transition:background-color .2s,color .2s}.file-upload-button:hover:not(:disabled){background-color:#f0f0f0;color:var(--primary-color)}.file-upload-button:disabled{opacity:.5;cursor:not-allowed}.upload-icon{width:20px;height:20px}.send-button,.stop-button{display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;width:40px;height:40px;transition:background-color .2s}.send-button:hover{background-color:var(--primary-hover)}.send-button:disabled{background-color:var(--light-gray);cursor:not-allowed}.send-icon{width:20px;height:20px;transform:rotate(45deg)}.stop-button{background-color:var(--error-color)}.stop-button:hover{background-color:#b52d3a}.stop-icon{width:14px;height:14px;background-color:#fff;border-radius:2px}.task-status-floating{position:fixed;top:100px;right:20px;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:8px;font-size:.9rem;color:#666;box-shadow:0 4px 12px #00000026;border:1px solid #e9ecef;z-index:1000;animation:slideInRight .3s ease-out}.task-status-floating.processing{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.task-status-floating.completed{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.task-status-floating.failed{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.task-status-icon{width:16px;height:16px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}.task-status-floating.completed .task-status-icon,.task-status-floating.failed .task-status-icon{animation:none;border:none;background:currentColor;border-radius:50%}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 900px){.app-with-sidebar{flex-direction:column}.conversations-sidebar{width:100vw;min-width:0;max-width:100vw;height:auto;border-right:none;border-bottom:1px solid var(--sidebar-border);box-shadow:none}.chat-container{height:auto}}@media (max-width: 768px){.messages-container{padding:1rem}.message{max-width:90%}.input-container{padding:1rem}.chat-header{padding:.75rem 1rem}.chat-header h1{font-size:1.25rem}.conversations-sidebar{width:100vw;min-width:0;max-width:100vw;height:auto;border-right:none;border-bottom:1px solid var(--sidebar-border);box-shadow:none}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;color:#333;background-color:#f8f9fa}#root{height:100%;width:100%}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#0678be;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
