.sidebar{width:260px;background-color:#0f3557;color:#fff;display:flex;flex-direction:column;height:100vh;border-right:1px solid #e5e5e5}.sidebar-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}.new-chat-btn{width:100%;background-color:#3bafda;color:#fff;border:none;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background-color .2s}.new-chat-btn:hover{background-color:#2a9bc7}.new-project-btn{width:100%;background-color:#c6d300;color:#0f3557;border:none;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background-color .2s}.new-project-btn:hover{background-color:#b8c200}.sidebar-content{flex:1;overflow-y:auto;padding:8px}.sidebar-section{margin-bottom:16px}.section-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-radius:6px;transition:background-color .2s;font-weight:600;font-size:14px;color:#ffffffe6}.section-header:hover{background-color:#ffffff1a}.section-content{margin-top:4px;padding-left:8px}.conversation-item,.project-item{display:flex;align-items:center;gap:12px;padding:12px;margin:4px 0;border-radius:8px;cursor:pointer;transition:background-color .2s;position:relative}.project-item{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.project-item:hover{background-color:#ffffff1a}.project-item.active{background-color:#3bafda;border-color:#3bafda}.conversation-info{display:flex;flex-direction:column;flex:1;min-width:0}.conversation-title,.project-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.conversation-time{font-size:11px;color:#fff9;margin-top:2px}.conversation-item:hover{background-color:#ffffff1a}.conversation-item.active{background-color:#3bafda}.conversation-title{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-btn{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:4px;opacity:0;transition:all .2s}.conversation-item:hover .delete-btn{opacity:1}.delete-btn:hover{background-color:#ffffff1a;color:#fff}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:12px;font-size:14px}.user-avatar{width:32px;height:32px;background-color:#3bafda;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.history-timeline{max-height:300px;overflow-y:auto}.timeline-item{display:flex;align-items:flex-start;gap:12px;padding:8px 0;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:6px;top:24px;bottom:-8px;width:2px;background-color:#fff3}.timeline-marker{width:24px;height:24px;background-color:#3bafda;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.timeline-content{flex:1;min-width:0}.timeline-title{font-size:13px;font-weight:500;color:#fff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-time{font-size:11px;color:#fff9;margin-bottom:4px}.timeline-description{font-size:11px;color:#ffffffb3;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 768px){.sidebar{width:100%;height:60px;flex-direction:row;align-items:center;padding:0 16px}.sidebar-header{padding:0;border:none}.new-chat-btn{width:auto;padding:8px 12px;font-size:12px}.conversations-list{display:none}.sidebar-footer{padding:0;border:none;margin-left:auto}.user-info span{display:none}}.json-viewer{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:12px;margin:8px 0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4;overflow-x:auto;max-width:100%}.json-content{margin:0;white-space:pre-wrap;word-wrap:break-word;color:#333}.json-content{background:linear-gradient(90deg,#f8f9fa 0%,#f8f9fa 100%)}.json-content{color:#333}.message-bubble{display:flex;gap:12px;max-width:100%;animation:fadeIn .3s ease-in}.message-bubble.user{flex-direction:row-reverse}.message-bubble.ai{flex-direction:row}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:4px}.message-bubble.user .message-avatar{background-color:#c6d300;color:#333}.message-bubble.ai .message-avatar{background-color:#f5f5f5;color:#333}.message-content{max-width:70%;display:flex;flex-direction:column;gap:4px}.message-bubble.user .message-content{align-items:flex-end}.message-bubble.ai .message-content{align-items:flex-start}.message-text{background-color:#f5f5f5;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.message-bubble.user .message-text{background-color:#c6d300;color:#333;border-bottom-right-radius:4px}.message-bubble.ai .message-text{background-color:#f5f5f5;color:#333;border-bottom-left-radius:4px}.message-timestamp{font-size:11px;color:#999;padding:0 4px}.message-attachments{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.attachments-header{font-size:12px;font-weight:600;color:#666;margin-bottom:4px;padding:4px 8px;background-color:#0000000d;border-radius:4px;border-left:3px solid #3BAFDA}.message-bubble.user .attachments-header{background-color:#c6d30033;color:#333}.attachment-display{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#0000000d;border-radius:8px;border:1px solid rgba(0,0,0,.1);max-width:250px}.message-bubble.user .attachment-display{background-color:#c6d30033;border-color:#c6d3004d}.attachment-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:#0000001a;border-radius:4px;flex-shrink:0}.message-bubble.user .attachment-icon{background-color:#c6d30033}.attachment-info{display:flex;flex-direction:column;flex:1;min-width:0}.attachment-name{font-size:12px;font-weight:500;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:10px;opacity:.7}.download-btn{background:none;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:.7;flex-shrink:0}.download-btn:hover{background-color:#0000001a;opacity:1}.message-bubble.user .download-btn:hover{background-color:#c6d30033}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.message-content{max-width:85%}.message-text{padding:10px 14px;font-size:13px}.message-avatar{width:28px;height:28px}.attachment-display{max-width:200px;padding:6px 8px}.attachment-name{font-size:11px}.attachment-size{font-size:9px}.attachment-icon{width:20px;height:20px}}.typing-indicator{display:flex;gap:12px;align-items:flex-start;animation:fadeIn .3s ease-in}.message-avatar{width:32px;height:32px;border-radius:50%;background-color:#f5f5f5;color:#333;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:4px}.typing-content{background-color:#f5f5f5;padding:12px 16px;border-radius:18px 18px 18px 4px;display:flex;align-items:center}.typing-dots{display:flex;gap:4px}.typing-dots span{width:8px;height:8px;border-radius:50%;background-color:#999;animation:typing 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.message-avatar{width:28px;height:28px}.typing-content{padding:10px 14px}}.project-header{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-bottom:1px solid #dee2e6;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.project-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.project-icon{width:40px;height:40px;background:linear-gradient(135deg,#3BAFDA 0%,#2a9bc7 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.project-details{flex:1;min-width:0}.project-name{margin:0 0 4px;font-size:18px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-description{margin:0 0 8px;font-size:14px;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.project-type{background-color:#3bafda;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.project-date{display:flex;align-items:center;gap:4px;font-size:12px;color:#666}.conversation-info{text-align:right;flex-shrink:0}.conversation-title{font-size:14px;font-weight:500;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.conversation-time{display:flex;align-items:center;gap:4px;font-size:12px;color:#666;justify-content:flex-end}@media (max-width: 768px){.project-header{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:12px}.project-info{width:100%}.conversation-info{text-align:left;width:100%}.conversation-title{max-width:none}.project-meta{gap:12px}}.chat-area{flex:1;display:flex;flex-direction:column;background-color:#fff;overflow:hidden}.connection-status{display:flex;align-items:center;gap:8px;padding:8px 20px;background-color:#ffebee;color:#c62828;font-size:14px;border-bottom:1px solid #ffcdd2}.status-indicator{width:8px;height:8px;border-radius:50%;background-color:#c62828}.status-indicator.offline{background-color:#c62828}.status-indicator.online{background-color:#4caf50}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}@media (max-width: 768px){.messages-container{padding:16px;gap:12px}}.message-input-container{padding:20px;background-color:#fff;border-top:1px solid #e5e5e5}.attachments-preview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:12px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px #0000001a;max-width:200px}.attachment-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.attachment-details{display:flex;flex-direction:column;min-width:0}.attachment-name{font-size:12px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.attachment-size{font-size:10px;color:#666}.remove-attachment{background:none;border:none;color:#999;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.remove-attachment:hover:not(:disabled){background-color:#ffebee;color:#c62828}.remove-attachment:disabled{cursor:not-allowed;opacity:.5}.message-input-form{max-width:800px;margin:0 auto}.input-wrapper{display:flex;align-items:flex-end;gap:12px;background-color:#f5f5f5;border:2px solid transparent;border-radius:24px;padding:8px 12px;transition:all .2s}.input-wrapper:focus-within{border-color:#3bafda;background-color:#fff;box-shadow:0 0 0 3px #3bafda1a}.attach-btn{background:none;border:none;color:#999;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.attach-btn:hover{background-color:#e5e5e5;color:#333}.message-textarea{flex:1;border:none;outline:none;background:transparent;resize:none;font-size:14px;line-height:1.5;color:#333;min-height:20px;max-height:120px;font-family:inherit}.message-textarea::placeholder{color:#999}.send-btn{background-color:#3bafda;color:#fff;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.send-btn:hover:not(:disabled){background-color:#2a9bc7;transform:scale(1.05)}.send-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.input-wrapper.disabled{opacity:.6;background-color:#f5f5f5;border-color:#e0e0e0}.message-textarea:disabled{color:#999;cursor:not-allowed}@media (max-width: 768px){.message-input-container{padding:16px}.attachments-preview{padding:8px;gap:6px}.attachment-item{padding:6px 8px;max-width:150px}.attachment-name{max-width:80px;font-size:11px}.attachment-size{font-size:9px}.input-wrapper{padding:6px 10px;gap:8px}.message-textarea{font-size:13px}.send-btn{width:36px;height:36px}.attach-btn{padding:6px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;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;align-items:center;justify-content:space-between;padding:24px 24px 0;border-bottom:1px solid #e5e5e5;margin-bottom:24px}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.close-btn{background:none;border:none;color:#999;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover:not(:disabled){background-color:#f5f5f5;color:#333}.close-btn:disabled{opacity:.5;cursor:not-allowed}.modal-form{padding:0 24px 24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-input,.form-textarea{width:100%;padding:12px 16px;border:2px solid #e5e5e5;border-radius:8px;font-size:14px;transition:border-color .2s;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3bafda;box-shadow:0 0 0 3px #3bafda1a}.form-input:disabled,.form-textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.project-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:8px}.project-type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .2s;background:white}.project-type-option:hover{border-color:#3bafda;background-color:#f8f9fa}.project-type-option.selected{border-color:#3bafda;background-color:#f0f9ff;box-shadow:0 0 0 3px #3bafda1a}.type-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.type-name{font-size:12px;font-weight:500;color:#333;text-align:center}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e5e5e5}.cancel-btn,.create-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.cancel-btn{background-color:#f5f5f5;color:#666}.cancel-btn:hover:not(:disabled){background-color:#e5e5e5}.create-btn{background-color:#3bafda;color:#fff}.create-btn:hover:not(:disabled){background-color:#2a9bc7}.create-btn:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:20px 20px 0}.modal-form{padding:0 20px 20px}.project-types{grid-template-columns:repeat(2,1fr)}.modal-actions{flex-direction:column}.cancel-btn,.create-btn{width:100%}}.debug-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.debug-modal{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:800px;max-height:90vh;overflow-y:auto}.debug-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;background-color:#f8f9fa;border-radius:12px 12px 0 0}.debug-header h3{margin:0;font-size:16px;color:#333}.close-btn{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.debug-content{padding:20px}.debug-section{margin-bottom:24px}.debug-section h4{margin:0 0 12px;font-size:14px;color:#333;font-weight:600}.attachments-list{display:flex;flex-direction:column;gap:12px}.attachment-item{border:1px solid #e5e5e5;border-radius:8px;padding:12px;background-color:#f8f9fa}.attachment-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.attachment-info strong{font-size:14px;color:#333}.attachment-info span{font-size:12px;color:#666}.attachment-preview{background-color:#fff;border:1px solid #e5e5e5;border-radius:4px;padding:8px;font-size:11px;color:#666;max-height:100px;overflow-y:auto}.api-messages{position:relative}.toggle-btn{position:absolute;top:8px;right:8px;background:#3BAFDA;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;z-index:1}.toggle-btn:hover{background:#2a9bc7}.json-display{background-color:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.4;color:#333;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto;margin:0}@media (max-width: 768px){.debug-overlay{padding:10px}.debug-modal{max-height:95vh}.debug-content{padding:16px}.toggle-btn{position:static;margin-bottom:12px;width:100%;justify-content:center}}.tester-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.tester-modal{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.tester-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;background-color:#f8f9fa;border-radius:12px 12px 0 0}.tester-header h3{margin:0;font-size:18px;color:#333}.close-btn{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;font-size:20px;line-height:1}.close-btn:hover{background-color:#e5e5e5}.tester-content{padding:20px}.file-input-section{margin-bottom:20px}.file-input-label{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;border:2px dashed #3BAFDA;border-radius:8px;background-color:#f0f9ff;cursor:pointer;transition:all .2s;font-weight:500;color:#333}.file-input-label:hover{background-color:#e0f2fe;border-color:#2a9bc7}.file-input{display:none}.selected-file{margin-top:12px;padding:8px 12px;background-color:#e8f5e8;border-radius:6px;font-size:14px;color:#2d5a2d}.test-section{text-align:center;margin-bottom:20px}.test-btn{background-color:#3bafda;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.test-btn:hover:not(:disabled){background-color:#2a9bc7}.test-btn:disabled{background-color:#ccc;cursor:not-allowed}.result-section{border-radius:8px;padding:16px;margin-top:16px}.result-section.success{background-color:#f0f9ff;border:1px solid #3BAFDA}.result-section.error{background-color:#fef2f2;border:1px solid #ef4444}.result-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:16px}.result-content{margin-bottom:12px}.result-content h4{margin:0 0 8px;font-size:14px;color:#333}.content-preview,.json-preview{background-color:#fff;border:1px solid #e5e5e5;border-radius:4px;padding:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.4;color:#333;white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto;margin:0}.error-details{background-color:#fff;border:1px solid #fecaca;border-radius:4px;padding:12px;margin-top:12px}.error-details h4{margin:0 0 8px;font-size:14px;color:#dc2626}.error-details pre{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;color:#dc2626;white-space:pre-wrap;word-wrap:break-word;margin:0}@media (max-width: 768px){.tester-overlay{padding:10px}.tester-modal{max-height:95vh}.tester-content,.file-input-label{padding:16px}}.app{display:flex;height:100vh;background-color:#fff}.main-content{flex:1;display:flex;flex-direction:column;background-color:#fff}@media (max-width: 768px){.app{flex-direction:column}.main-content{height:calc(100vh - 60px)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#333;height:100vh;overflow:hidden}#root{height:100vh;width:100vw}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
