.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}.MarkerPopup{width:250px;font-family:inherit}.MarkerPopup .popup-image-container{position:relative;width:100%;height:140px;overflow:hidden;border-radius:4px}.MarkerPopup .popup-image-container .popup-image{width:100%;height:100%;object-fit:cover}.MarkerPopup .popup-image-container .status-badge{position:absolute;bottom:6px;left:6px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.MarkerPopup .popup-image-container .status-badge.failed{background-color:#ff3d17}.MarkerPopup .popup-image-container .status-badge.success{background-color:#00c853}.MarkerPopup .popup-content{padding:12px 0 4px}.MarkerPopup .popup-content .info-group{display:flex;flex-direction:column;margin-bottom:10px}.MarkerPopup .popup-content .info-group .info-label{font-size:11px;color:#8e8e93;margin-bottom:2px}.MarkerPopup .popup-content .info-group .info-value{font-size:14px;font-weight:600}.MarkerPopup .popup-content .reason-tag{display:inline-block;margin-top:4px;padding:6px 12px;font-size:11px;font-weight:700;border-radius:16px;text-transform:uppercase;letter-spacing:.5px}.MarkerPopup .popup-content .reason-tag.failed{background-color:#ffd8d1}.MarkerPopup .popup-content .reason-tag.success{background-color:#00c85333}.gm-style-iw{padding:12px!important;border-radius:8px!important;background:#fff!important;box-shadow:0 4px 12px #00000026!important}.gm-style-iw button[title=Close]{display:none!important}.gm-style-iw-d{overflow:hidden!important}.gm-style .gm-style-iw-tc:after{background:#fff!important}.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{position:relative}.custom-marker .marker-number{position:absolute;top:50%;left:50%;transform:translate(calc(-50% - .5px),calc(-50% - 4.5px));color:#fff;font-weight:700;font-size:21px;line-height:30px}.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}
