.Icon{display:flex;align-items:center;justify-content:center}.AgentChat{margin-top:auto;display:flex;flex-direction:column;gap:20px;padding-top:20px;border-top:1px solid #e9ecef}.AgentChat .chat-suggestions{display:flex;flex-direction:column;gap:12px}.AgentChat .chat-suggestions .suggestion-title{font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.AgentChat .chat-suggestions .suggestion-btn{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e0e0;padding:10px 16px;border-radius:12px;text-align:left;font-size:14px;font-weight:500;color:#212121;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.AgentChat .chat-suggestions .suggestion-btn:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px)}.AgentChat .chat-suggestions .suggestion-btn:disabled{cursor:not-allowed;opacity:.6;background:#f8f9fa}.AgentChat .chat-suggestions .suggestion-btn .Icon{display:flex;align-items:center;justify-content:center}.AgentChat .chat-input{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e0e0;border-radius:999px;padding:6px 6px 6px 20px;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.AgentChat .chat-input:focus-within{border-color:#3461ff;box-shadow:0 0 0 3px #3461ff1a}.AgentChat .chat-input .input{flex:1;border:none;font-size:14px;outline:none;background:transparent;padding:8px 0}.AgentChat .chat-input .input::placeholder{color:#adb5bd}.AgentChat .chat-input .send-btn{background:#3461ff;border:none;border-radius:50%;width:36px;height:36px;min-width:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.AgentChat .chat-input .send-btn:hover:not(:disabled){background:#2b51db;transform:scale(1.05)}.AgentChat .chat-input .send-btn:disabled{background:#e9ecef;cursor:not-allowed}.AgentChat .chat-input .send-btn:disabled .Icon{opacity:.5}.AgentChat .chat-input .send-btn .Icon{width:18px;height:18px}.UploadFile{display:flex;flex-direction:column;width:100%}.UploadFile .upload-title{font-size:14px;font-weight:700;color:#000;line-height:20px;margin-bottom:8px}.UploadFile .upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background-color:#fff;border:1px dashed #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 2px 4px #0000000a,0 0 1px #0000003d}.UploadFile .upload-box.dragging{border-color:#3461ff;background-color:#3461ff0d}.UploadFile .upload-box:hover{border-color:#a0aec0}.UploadFile .upload-box .upload-text{font-size:12px;font-weight:400;line-height:16px;color:#888;margin-bottom:8px}.UploadFile .upload-box .browse-action{display:flex;align-items:center;gap:8px}.UploadFile .upload-box .browse-action .browse-text{font-size:14px;font-weight:700;line-height:24px;color:#3461ff}.UploadFile .upload-box .hidden-input{display:none}.UploadFile .sample-file-section{display:flex;flex-direction:column;align-items:center;margin-top:24px;gap:12px}.UploadFile .sample-file-section .sample-label{font-size:14px;color:#64748b;margin:0;font-weight:400}.UploadFile .sample-file-section .sample-button{display:inline-block;padding:10px 24px;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.UploadFile .sample-file-section .sample-button:hover{border-color:#cbd5e1;background-color:#f8fafc;transform:translateY(-1px)}.UploadFile .sample-file-section .sample-button:active{transform:translateY(0)}.AgentAside{height:100%;width:488px;background:#f4f4f4;box-shadow:0 2px 4px #0000000a,0 0 1px #0000003d}.AgentAside .agent-header{width:100%;height:80px;display:flex;align-items:start;justify-content:space-between;padding:16px}.AgentAside .agent-header .left{display:flex;justify-content:center;align-items:center;gap:20px}.AgentAside .agent-header .Icon.map{width:48px;height:48px;border-radius:8px;border:1px solid #ffce99;background:#fff3e6}.AgentAside .agent-header .agent-model{display:flex;flex-direction:column}.AgentAside .agent-header .agent-model .label{font-size:14px;font-weight:700;line-height:24px}.AgentAside .agent-header .agent-model .model{font-size:12px;font-weight:400;line-height:16px}.AgentAside .agent-header .right{display:flex;justify-content:center;align-items:center;gap:8px}.AgentAside .agent-header .right:hover{cursor:pointer;opacity:.8}.AgentAside .agent-header .right .label{color:#3461ff;font-size:14px;font-weight:700;line-height:24px}.AgentAside .agent-content{height:calc(100% - 80px);padding:16px;display:flex;flex-direction:column;gap:16px}.AgentAside .agent-content .attached-file-box{display:flex;align-items:center;padding:8px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.AgentAside .agent-content .attached-file-box .file-icon{background:#e8f5e9;padding:8px;border-radius:4px;margin-right:12px}.AgentAside .agent-content .attached-file-box .file-info{flex:1;display:flex;flex-direction:column}.AgentAside .agent-content .attached-file-box .file-info .file-name{font-weight:600;font-size:14px}.AgentAside .agent-content .attached-file-box .file-info .file-ext{font-size:12px;color:#666}.AgentAside .agent-content .attached-file-box .remove-btn{background:none;border:none;cursor:pointer}.AgentAside .agent-content .messages-container{display:flex;flex-direction:column;gap:20px;flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:20px}.AgentAside .agent-content .messages-container::-webkit-scrollbar{display:none}.AgentAside .agent-content .messages-container .message-block{display:flex;flex-direction:column;gap:8px;max-width:85%}.AgentAside .agent-content .messages-container .message-block.agent{align-self:flex-start}.AgentAside .agent-content .messages-container .message-block.user{align-self:flex-end}.AgentAside .agent-content .messages-container .message-block.user .role-label{text-align:right}.AgentAside .agent-content .messages-container .message-block.user .message-bubble{background:#f8f9fa;border-color:#e9ecef}.AgentAside .agent-content .messages-container .message-block .role-label{font-size:12px;font-weight:600;color:#212121}.AgentAside .agent-content .messages-container .message-block .message-bubble{background:#fff;border:1px solid #e0e0e0;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.6;box-shadow:0 1px 2px #0000000d}.AgentAside .agent-content .messages-container .message-block .message-bubble p{margin:0 0 8px}.AgentAside .agent-content .messages-container .message-block .message-bubble p:last-child{margin:0}.GoogleMap{flex:1;flex-shrink:0;width:50%;height:100%;padding:16px}.Map{border-radius:16px;overflow:hidden;width:100%;height:100%;box-shadow:0 2px 4px #0000000a,0 0 1px #0000003d}.custom-marker{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;border:2px solid #ffffff;box-shadow:0 2px 6px #0003;transition:transform .2s ease}.custom-marker:hover{transform:scale(1.1);z-index:1000}.custom-marker.normal{background-color:#3461ff}.custom-marker.failed{background-color:#ff3d17}.custom-marker .marker-number{line-height:1;font-family:inherit}.custom-marker .close-icon{width:16px;height:16px}.App{display:flex;align-items:center;justify-content:center;height:100dvh;background-color:#fff;color:#212121}*{margin:0;padding:0;box-sizing:border-box;font-family:Roboto,sans-serif}
