.modal-backdrop[data-v-efc5dea3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.modal-panel[data-v-efc5dea3]{display:flex;flex-direction:column;width:min(920px,100%);max-height:min(85vh,900px);background:#fff;border-radius:10px;box-shadow:0 20px 50px #0f172a40;overflow:hidden}.modal-header[data-v-efc5dea3]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.header-main[data-v-efc5dea3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.token[data-v-efc5dea3]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.title-token[data-v-efc5dea3]{max-width:200px;overflow:hidden;text-overflow:ellipsis;background:#eff6ff;color:#1d4ed8}.meta-token[data-v-efc5dea3]{background:#f1f5f9;color:#64748b;font-weight:500}.header-filter[data-v-efc5dea3]{display:inline-flex;align-items:center;gap:6px;margin-left:4px;padding:4px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;font-size:12px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s}.header-filter[data-v-efc5dea3]:has(input:checked){background:#eff6ff;border-color:#93c5fd;color:#1e40af}.header-filter input[data-v-efc5dea3]{width:14px;height:14px;margin:0;accent-color:#2563eb;cursor:pointer}.close-btn[data-v-efc5dea3]{flex-shrink:0;width:28px;height:28px;border:none;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:20px;line-height:1;cursor:pointer;transition:background .15s}.close-btn[data-v-efc5dea3]:hover{background:#e2e8f0;color:#334155}.table-wrap[data-v-efc5dea3]{flex:1;overflow:auto;min-height:0}.table-empty[data-v-efc5dea3]{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:13px;color:#94a3b8}table[data-v-efc5dea3]{width:100%;border-collapse:collapse;font-size:12px}thead[data-v-efc5dea3]{position:sticky;top:0;background:#f8fafc;z-index:1}th[data-v-efc5dea3]{padding:10px 12px;text-align:left;font-weight:600;color:#64748b;border-bottom:1px solid #e2e8f0;white-space:nowrap}th.sortable[data-v-efc5dea3]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}th.sortable[data-v-efc5dea3]:hover{color:#2563eb}.sort-icon[data-v-efc5dea3]{margin-left:2px;font-size:11px;color:#94a3b8}td[data-v-efc5dea3]{padding:8px 12px;border-bottom:1px solid #f1f5f9;white-space:nowrap}tbody tr.priority-contact[data-v-efc5dea3]{background:#1e3a8a;color:#eff6ff}tbody tr.priority-contact[data-v-efc5dea3]:hover{background:#1e40af}tbody tr.priority-contact .id[data-v-efc5dea3]{color:#bfdbfe}tbody tr.priority-contact .pending[data-v-efc5dea3]{color:#ffffff8c}tbody tr.priority-contact .signal-tag.strong[data-v-efc5dea3]{background:#fff3;color:#bbf7d0}tbody tr.priority-contact .signal-tag.medium[data-v-efc5dea3]{background:#ffffff26;color:#fde68a}tbody tr.priority-contact .signal-tag.weak[data-v-efc5dea3]{background:#ffffff26;color:#fecaca}.id[data-v-efc5dea3]{font-family:monospace;font-weight:600;color:#2563eb}.signal-tag[data-v-efc5dea3]{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.signal-tag.strong[data-v-efc5dea3]{background:#dcfce7;color:#15803d}.signal-tag.medium[data-v-efc5dea3]{background:#fef9c3;color:#a16207}.signal-tag.weak[data-v-efc5dea3]{background:#fee2e2;color:#b91c1c}.pending[data-v-efc5dea3]{color:#cbd5e1;font-style:italic}.nearby-count[data-v-efc5dea3]{display:inline-block;min-width:24px;padding:2px 8px;border-radius:4px;font-weight:600;text-align:center;background:#f1f5f9;color:#64748b}.nearby-count.high[data-v-efc5dea3]{background:#dbeafe;color:#1d4ed8}tbody tr.priority-contact .nearby-count[data-v-efc5dea3]{background:#fff3;color:#fff}tbody tr.priority-contact .nearby-count.high[data-v-efc5dea3]{background:#ffffff59;color:#fff}.modal-backdrop[data-v-d67ac733]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.modal-panel[data-v-d67ac733]{width:min(400px,100%);background:#fff;border-radius:10px;box-shadow:0 20px 50px #0f172a40;overflow:hidden}.modal-panel.priority[data-v-d67ac733]{border:2px solid #1e3a8a}.modal-header[data-v-d67ac733]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0}.header-main[data-v-d67ac733]{display:flex;align-items:center;gap:8px;min-width:0}.person-id[data-v-d67ac733]{font-family:monospace;font-size:15px;font-weight:700;color:#2563eb}.priority-badge[data-v-d67ac733]{padding:2px 8px;border-radius:999px;background:#1e3a8a;color:#eff6ff;font-size:11px;font-weight:600}.close-btn[data-v-d67ac733]{flex-shrink:0;width:28px;height:28px;border:none;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:20px;line-height:1;cursor:pointer;transition:background .15s}.close-btn[data-v-d67ac733]:hover{background:#e2e8f0;color:#334155}.detail-body[data-v-d67ac733]{padding:8px 0}.detail-row[data-v-d67ac733]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid #f1f5f9}.detail-row[data-v-d67ac733]:last-child{border-bottom:none}.label[data-v-d67ac733]{font-size:12px;color:#64748b;flex-shrink:0}.value[data-v-d67ac733]{font-size:13px;color:#1e293b;font-weight:500;text-align:right}.value.coord[data-v-d67ac733]{font-family:monospace;font-size:12px}.value.pending[data-v-d67ac733]{color:#cbd5e1;font-style:italic;font-weight:400}.signal-tag[data-v-d67ac733]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.signal-tag.strong[data-v-d67ac733]{background:#dcfce7;color:#15803d}.signal-tag.medium[data-v-d67ac733]{background:#fef9c3;color:#a16207}.signal-tag.weak[data-v-d67ac733]{background:#fee2e2;color:#b91c1c}.nearby-count[data-v-d67ac733]{display:inline-block;min-width:28px;padding:2px 10px;border-radius:4px;font-weight:600;text-align:center;background:#f1f5f9;color:#64748b}.nearby-count.high[data-v-d67ac733]{background:#dbeafe;color:#1d4ed8}.map-panel[data-v-a0f32fb8]{position:relative;z-index:0;width:100%;height:100%;min-height:0;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #00000014;background:#e2e8f0}.map-hint[data-v-a0f32fb8]{position:absolute;left:50%;bottom:80px;transform:translate(-50%);z-index:400;max-width:calc(100% - 48px);pointer-events:none}.hint-text[data-v-a0f32fb8]{margin:0;padding:10px 18px;background:#ffffffeb;border-radius:8px;font-size:13px;color:#475569;box-shadow:0 2px 12px #0f172a1a;text-align:center;line-height:1.6;pointer-events:auto}.hint-link[data-v-a0f32fb8]{color:#2563eb;font-weight:500;text-decoration:none}.hint-link[data-v-a0f32fb8]:hover{text-decoration:underline}.area-action-popup[data-v-a0f32fb8]{position:absolute;top:var(--map-overlay-top, 100px);left:50%;transform:translate(-50%);z-index:550;display:flex;align-items:center;gap:6px;padding:4px 8px;background:#fffffff5;border-radius:6px;box-shadow:0 2px 10px #0f172a1f;border:1px solid #fed7aa}.popup-label[data-v-a0f32fb8]{font-size:11px;color:#9a3412;font-weight:600;margin-right:2px}.popup-hint[data-v-a0f32fb8]{font-size:10px;color:#78716c;margin-right:4px}.popup-btn[data-v-a0f32fb8]{padding:3px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;font-size:11px;color:#475569;cursor:pointer;transition:all .15s}.popup-btn[data-v-a0f32fb8]:hover{border-color:#93c5fd;color:#2563eb}.popup-btn.danger[data-v-a0f32fb8]:hover{border-color:#fca5a5;color:#dc2626;background:#fef2f2}.map-info[data-v-a0f32fb8]{position:absolute;bottom:16px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 14px;background:#ffffffeb;border-radius:6px;font-size:12px;box-shadow:0 1px 4px #0000001a;z-index:500;cursor:pointer;transition:box-shadow .15s,transform .15s}.map-info[data-v-a0f32fb8]:hover{box-shadow:0 4px 12px #2563eb2e;transform:translateY(-1px)}.map-info[data-v-a0f32fb8]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.info-title[data-v-a0f32fb8]{font-weight:600;font-size:13px;color:#1e293b}.info-desc[data-v-a0f32fb8]{font-size:12px;color:#2563eb;font-weight:500}.map-container[data-v-a0f32fb8]{position:relative;z-index:0;width:100%;height:100%}.map-legend[data-v-a0f32fb8]{position:absolute;bottom:16px;left:16px;display:flex;flex-direction:column;gap:8px;padding:10px 14px;background:#fffffff0;border-radius:8px;font-size:12px;color:#475569;box-shadow:0 1px 4px #0000001a;z-index:500;max-width:calc(100% - 200px)}.legend-dimension[data-v-a0f32fb8]{display:flex;align-items:center;justify-content:space-between;gap:8px}.dimension-btns[data-v-a0f32fb8]{display:flex;gap:6px;flex-wrap:wrap}.clear-filter-btn[data-v-a0f32fb8]{flex-shrink:0;padding:4px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;font-size:12px;color:#64748b;cursor:pointer;transition:all .15s;white-space:nowrap}.clear-filter-btn[data-v-a0f32fb8]:hover:not(:disabled){border-color:#fca5a5;color:#dc2626;background:#fef2f2}.clear-filter-btn[data-v-a0f32fb8]:disabled{opacity:.45;cursor:not-allowed}.dimension-btn[data-v-a0f32fb8]{padding:4px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;font-size:12px;color:#64748b;cursor:pointer;transition:all .15s}.dimension-btn[data-v-a0f32fb8]:hover{border-color:#93c5fd;color:#2563eb}.dimension-btn.active[data-v-a0f32fb8]{background:#eff6ff;border-color:#3b82f6;color:#2563eb;font-weight:600}.legend-items[data-v-a0f32fb8]{display:flex;gap:8px 12px;flex-wrap:wrap}.legend-item[data-v-a0f32fb8]{display:flex;align-items:center;gap:6px;white-space:nowrap}.legend-check[data-v-a0f32fb8]{cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px;transition:opacity .15s}.legend-check[data-v-a0f32fb8]:hover{background:#f8fafc}.legend-check.unchecked[data-v-a0f32fb8]{opacity:.55}.legend-checkbox[data-v-a0f32fb8]{width:13px;height:13px;margin:0;accent-color:#2563eb;cursor:pointer;flex-shrink:0}.dot[data-v-a0f32fb8]{display:inline-block;width:10px;height:10px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px #00000026;flex-shrink:0}.modal-backdrop[data-v-680975dc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.modal-panel[data-v-680975dc]{display:flex;flex-direction:column;width:min(520px,100%);max-height:min(85vh,720px);background:#fff;border-radius:10px;box-shadow:0 20px 50px #0f172a40;overflow:hidden}.modal-header[data-v-680975dc]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0}.modal-header h2[data-v-680975dc]{margin:0;font-size:15px;font-weight:600;color:#1e293b}.close-btn[data-v-680975dc]{flex-shrink:0;width:26px;height:26px;border:none;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:18px;line-height:1;cursor:pointer}.close-btn[data-v-680975dc]:hover{background:#e2e8f0}.modal-body[data-v-680975dc]{flex:1;overflow:auto;padding:16px}.guide-section+.guide-section[data-v-680975dc]{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.guide-section h3[data-v-680975dc]{margin:0 0 8px;font-size:13px;font-weight:600;color:#334155}.guide-section ul[data-v-680975dc]{margin:0;padding-left:18px;font-size:12px;line-height:1.7;color:#475569}.guide-section li+li[data-v-680975dc]{margin-top:4px}.guide-section strong[data-v-680975dc]{color:#1e293b;font-weight:600}kbd[data-v-680975dc]{display:inline-block;padding:1px 5px;border:1px solid #cbd5e1;border-radius:4px;background:#f8fafc;font-family:inherit;font-size:11px;color:#334155}.modal-footer[data-v-680975dc]{padding:10px 16px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end}.confirm-btn[data-v-680975dc]{padding:5px 16px;border:none;border-radius:6px;background:#2563eb;color:#fff;font-size:12px;font-weight:500;cursor:pointer}.confirm-btn[data-v-680975dc]:hover{background:#1d4ed8}.area-toolbar-root[data-v-d8dbd9fa]{width:100%}.toolbar[data-v-d8dbd9fa]{background:#fffffff5;border-radius:6px;padding:5px 8px;box-shadow:0 2px 10px #0f172a1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.toolbar-row[data-v-d8dbd9fa]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tool-group[data-v-d8dbd9fa]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.btn[data-v-d8dbd9fa]{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:12px;line-height:1.4;font-weight:500;transition:all .15s;cursor:pointer;white-space:nowrap}.btn[data-v-d8dbd9fa]:disabled{opacity:.45;cursor:not-allowed}.tool-btn[data-v-d8dbd9fa]{border:1px solid #e2e8f0;background:#fff;color:#475569}.tool-btn[data-v-d8dbd9fa]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.tool-btn.active[data-v-d8dbd9fa]{background:#eff6ff;border-color:#3b82f6;color:#2563eb;font-weight:600}.icon[data-v-d8dbd9fa]{font-size:13px}.area-badge[data-v-d8dbd9fa]{padding:2px 7px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:600}.action-btn[data-v-d8dbd9fa]{border:1px solid transparent}.action-btn.danger[data-v-d8dbd9fa]{background:#fff;border-color:#fecaca;color:#dc2626}.action-btn.danger[data-v-d8dbd9fa]:hover{background:#fef2f2}.action-btn.active[data-v-d8dbd9fa]{background:#fff7ed;border-color:#ea580c;color:#ea580c}.action-btn.search[data-v-d8dbd9fa]{background:#2563eb;color:#fff;border-color:#2563eb}.action-btn.search[data-v-d8dbd9fa]:hover:not(:disabled){background:#1d4ed8}.action-btn.clear[data-v-d8dbd9fa]{background:#f8fafc;color:#64748b;border-color:#e2e8f0}.action-btn.clear[data-v-d8dbd9fa]:hover:not(:disabled){background:#f1f5f9}.action-btn.guide[data-v-d8dbd9fa]{width:24px;padding:3px 0;background:#f1f5f9;color:#64748b;border-color:#e2e8f0;font-weight:700}.action-btn.guide[data-v-d8dbd9fa]:hover{background:#e2e8f0;color:#334155}.hint[data-v-d8dbd9fa]{margin-top:4px;padding:4px 8px;background:#fffbeb;border-left:2px solid #f59e0b;font-size:11px;color:#92400e;border-radius:0 3px 3px 0;line-height:1.4}.header-toolbar[data-v-32d2db95]{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0}.toolbar-actions[data-v-32d2db95]{display:flex;align-items:center;gap:8px}.action-btn[data-v-32d2db95]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#ffffff14;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;transition:all .15s}.action-btn[data-v-32d2db95]:hover{background:#ffffff29;border-color:#fff6}.action-btn.active[data-v-32d2db95]{background:#fff3;border-color:#ffffff80}.action-btn.primary[data-v-32d2db95]{background:#fcd34d26;border-color:#fcd34d73;color:#fcd34d}.action-btn.primary[data-v-32d2db95]:hover{background:#fcd34d40}.action-btn.danger[data-v-32d2db95]{border-color:#f8717166;color:#fca5a5}.action-btn.danger[data-v-32d2db95]:hover{background:#f8717126}.action-icon[data-v-32d2db95]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#ffffff1f;font-size:11px;font-weight:700;flex-shrink:0}.switch-wrap[data-v-32d2db95]{position:relative;z-index:800}.switch-btn[data-v-32d2db95]{max-width:200px}.switch-label[data-v-32d2db95]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.switch-dropdown[data-v-32d2db95]{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;max-height:320px;overflow-y:auto;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0f172a33;z-index:800;padding:6px}.action-btn[data-v-32d2db95]:disabled{opacity:.4;cursor:not-allowed}.action-btn[data-v-32d2db95]:disabled:hover{background:#ffffff14;border-color:#ffffff40}.action-btn.danger[data-v-32d2db95]:disabled:hover{background:transparent}.dropdown-empty[data-v-32d2db95]{padding:12px 10px;font-size:12px;color:#94a3b8;text-align:center}.dropdown-title[data-v-32d2db95]{padding:8px 10px 6px;font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:.05em}.dropdown-item[data-v-32d2db95]{display:flex;align-items:center;gap:4px;width:100%;padding:2px;border-radius:6px;transition:background .12s}.dropdown-item[data-v-32d2db95]:hover{background:#f1f5f9}.dropdown-item.active[data-v-32d2db95]{background:#eff6ff}.item-select[data-v-32d2db95]{display:flex;justify-content:space-between;align-items:center;flex:1;min-width:0;padding:6px 8px;border:none;border-radius:4px;background:transparent;font-size:13px;color:#334155;text-align:left}.dropdown-item.active .item-select[data-v-32d2db95]{color:#2563eb}.item-delete[data-v-32d2db95]{flex-shrink:0;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#94a3b8;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .12s}.item-delete[data-v-32d2db95]:hover{background:#fee2e2;color:#dc2626}.item-name[data-v-32d2db95]{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.item-count[data-v-32d2db95]{font-size:11px;color:#94a3b8;flex-shrink:0}.dropdown-item.active .item-count[data-v-32d2db95]{color:#60a5fa}.modal-overlay[data-v-32d2db95]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-32d2db95]{width:680px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);background:#fff;border-radius:10px;box-shadow:0 16px 48px #0f172a40;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-32d2db95]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.modal-header h3[data-v-32d2db95]{font-size:16px;font-weight:600;color:#1e293b}.modal-close[data-v-32d2db95]{width:28px;height:28px;border:none;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.modal-close[data-v-32d2db95]:hover{background:#e2e8f0}.modal-body[data-v-32d2db95]{padding:20px;overflow-y:auto}.field[data-v-32d2db95]{display:block;margin-bottom:16px}.field-label[data-v-32d2db95]{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:6px}.field input[type=text][data-v-32d2db95]{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e293b;outline:none;transition:border-color .15s}.field input[type=text][data-v-32d2db95]:focus{border-color:#2563eb}.file-row[data-v-32d2db95]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.format-guide-btn[data-v-32d2db95]{padding:5px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:12px;flex-shrink:0;transition:background .15s,border-color .15s}.format-guide-btn[data-v-32d2db95]:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.file-name[data-v-32d2db95]{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.json-textarea[data-v-32d2db95]{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-family:Consolas,Courier New,monospace;color:#1e293b;line-height:1.5;resize:vertical;outline:none;transition:border-color .15s}.json-textarea[data-v-32d2db95]:focus{border-color:#2563eb}.file-btn[data-v-32d2db95]{padding:7px 14px;border:1px solid #2563eb;border-radius:6px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:500;flex-shrink:0}.file-btn[data-v-32d2db95]:hover{background:#dbeafe}.field-error[data-v-32d2db95]{margin-top:8px;font-size:12px;color:#dc2626}.modal-footer[data-v-32d2db95]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #e2e8f0}.import-footer[data-v-32d2db95]{justify-content:space-between;align-items:center;gap:12px}.test-data-btns[data-v-32d2db95]{display:flex;flex-wrap:wrap;gap:8px}.footer-actions[data-v-32d2db95]{display:flex;gap:8px;flex-shrink:0}.footer-btn[data-v-32d2db95]{padding:7px 16px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;font-size:13px}.footer-btn[data-v-32d2db95]:hover{background:#f8fafc}.footer-btn.confirm[data-v-32d2db95]{background:#2563eb;border-color:#2563eb;color:#fff}.footer-btn.confirm[data-v-32d2db95]:hover{background:#1d4ed8}.footer-btn.confirm.danger[data-v-32d2db95]{background:#dc2626;border-color:#dc2626}.footer-btn.confirm.danger[data-v-32d2db95]:hover{background:#b91c1c}.confirm-modal[data-v-32d2db95]{width:400px;max-width:calc(100vw - 32px);background:#fff;border-radius:10px;box-shadow:0 16px 48px #0f172a40;overflow:hidden}.confirm-message[data-v-32d2db95]{padding:24px 20px 8px;font-size:14px;line-height:1.6;color:#334155}.format-overlay[data-v-32d2db95]{z-index:1100}.format-modal[data-v-32d2db95]{width:640px}.format-body[data-v-32d2db95]{max-height:calc(100vh - 180px)}.format-section+.format-section[data-v-32d2db95]{margin-top:20px;padding-top:20px;border-top:1px solid #f1f5f9}.format-section-title[data-v-32d2db95]{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px}.format-desc[data-v-32d2db95]{font-size:13px;color:#475569;line-height:1.6;margin-bottom:10px}.format-code[data-v-32d2db95]{margin:0 0 10px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:11px;font-family:Consolas,Courier New,monospace;color:#334155;line-height:1.5;overflow-x:auto;white-space:pre}.format-notes[data-v-32d2db95]{margin:0;padding-left:18px;font-size:12px;color:#64748b;line-height:1.6}.format-notes li+li[data-v-32d2db95]{margin-top:4px}@media(max-width:1024px){.header-toolbar[data-v-32d2db95]{width:100%}.toolbar-actions[data-v-32d2db95]{flex-wrap:wrap;justify-content:flex-end}}.analysis-charts[data-v-7efc564c]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chart-block[data-v-7efc564c]{padding:10px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;min-width:0}.chart-block h5[data-v-7efc564c]{margin-bottom:8px;font-size:11px;font-weight:600;color:#475569}.pie-layout[data-v-7efc564c]{display:flex;flex-direction:column;align-items:center;gap:8px}.pie-chart-wrap[data-v-7efc564c]{position:relative;flex-shrink:0}.pie-chart[data-v-7efc564c]{width:112px;height:112px;display:block}.pie-slice[data-v-7efc564c]{cursor:pointer;transition:opacity .15s,filter .15s}.pie-slice[data-v-7efc564c]:hover{filter:brightness(1.08)}.pie-slice--selected[data-v-7efc564c]{filter:brightness(1.12);stroke:#fff;stroke-width:1.5}.pie-center-overlay[data-v-7efc564c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none;text-align:center;padding:0 18px}.pie-center-label[data-v-7efc564c]{font-size:9px;color:#334155;font-weight:600;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.pie-center-value[data-v-7efc564c]{font-size:10px;color:#475569;line-height:1.2}.pie-center-percent[data-v-7efc564c]{font-size:12px;color:#0f172a;font-weight:700;line-height:1.2}.pie-legend[data-v-7efc564c]{list-style:none;width:100%;display:flex;flex-direction:column;gap:4px}.pie-legend-item[data-v-7efc564c]{display:flex;align-items:center;gap:5px;font-size:10px;color:#475569;cursor:pointer;padding:2px 4px;margin:0 -4px;border-radius:4px;transition:background .15s}.pie-legend-item[data-v-7efc564c]:hover{background:#e2e8f0}.pie-legend-item--selected[data-v-7efc564c]{background:#e2e8f0;font-weight:600}.legend-label[data-v-7efc564c]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pie-legend em[data-v-7efc564c]{font-style:normal;font-weight:600;color:#64748b;white-space:nowrap}.color-dot[data-v-7efc564c]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chart-hint[data-v-7efc564c],.chart-empty-inline[data-v-7efc564c],.charts-empty[data-v-7efc564c]{font-size:10px;color:#94a3b8}.chart-hint[data-v-7efc564c]{margin-top:6px;text-align:center}.chart-empty-inline[data-v-7efc564c]{padding:20px 0;text-align:center}.charts-empty[data-v-7efc564c]{padding:20px 12px;text-align:center;background:#f8fafc;border-radius:8px;font-size:12px}.chart-tooltip{position:fixed;z-index:9999;display:flex;align-items:center;gap:6px;padding:6px 10px;background:#0f172aeb;border-radius:4px;box-shadow:0 2px 8px #00000026;pointer-events:none;font-size:12px;line-height:1.4;white-space:nowrap;transform:translateY(-50%)}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-label{color:#e2e8f0;font-weight:500}.chart-tooltip-value{color:#f8fafc;font-weight:600}.chart-tooltip-percent{color:#94a3b8}.help-tip[data-v-e72649ff]{position:relative;display:inline-flex;vertical-align:middle}.help-btn[data-v-e72649ff]{width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:10px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s,color .15s}.help-btn[data-v-e72649ff]:hover,.help-btn[aria-expanded=true][data-v-e72649ff]{background:#dbeafe;color:#2563eb}.help-popover[data-v-e72649ff]{position:fixed;z-index:1900;width:220px;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.help-title[data-v-e72649ff]{font-size:12px;font-weight:600;color:#1e293b;margin-bottom:8px}.help-diagram[data-v-e72649ff]{margin-bottom:8px;padding:8px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.help-diagram[data-v-e72649ff] svg{display:block;width:100%;height:auto}.help-desc[data-v-e72649ff]{font-size:11px;line-height:1.55;color:#64748b}.tip-fade-enter-active[data-v-e72649ff],.tip-fade-leave-active[data-v-e72649ff]{transition:opacity .15s ease,transform .15s ease}.tip-fade-enter-from[data-v-e72649ff],.tip-fade-leave-to[data-v-e72649ff]{opacity:0;transform:translateY(-4px)}.side-panel-root[data-v-40536d42]{display:flex;flex-direction:column;min-height:0;flex:1}.panel-card[data-v-40536d42]{flex:1;display:flex;flex-direction:column;min-height:0;background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;overflow:hidden}.panel-header[data-v-40536d42]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.panel-title[data-v-40536d42]{font-size:14px;font-weight:700;color:#1e293b}.scope-tag[data-v-40536d42]{flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:500;color:#2563eb;background:#eff6ff;border-radius:999px}.panel-body[data-v-40536d42]{flex:1;display:flex;flex-direction:column;min-height:0;padding:12px 14px 14px;gap:14px;overflow:auto}.empty[data-v-40536d42]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;text-align:center;padding:32px 16px}.empty.compact[data-v-40536d42]{padding:48px 16px}.empty-icon[data-v-40536d42]{font-size:32px;margin-bottom:10px}.empty p[data-v-40536d42]{font-size:13px;line-height:1.6}.section-label[data-v-40536d42]{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.overview-section[data-v-40536d42]{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex-shrink:0}.overview-card[data-v-40536d42]{padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.overview-card.accent[data-v-40536d42]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.overview-card.pending[data-v-40536d42]{background:#f8fafc;border-color:#e2e8f0}.overview-card.pending .overview-value[data-v-40536d42]{color:#cbd5e1;font-size:24px}.overview-card-head[data-v-40536d42]{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.overview-card-head .overview-label[data-v-40536d42]{margin-bottom:0}.view-detail-btn[data-v-40536d42]{flex-shrink:0;padding:2px 8px;border:1px solid #93c5fd;border-radius:999px;background:#ffffffd9;color:#1d4ed8;font-size:10px;font-weight:600;line-height:1.4;cursor:pointer;transition:background .15s,border-color .15s}.view-detail-btn[data-v-40536d42]:hover{background:#fff;border-color:#3b82f6}.overview-label[data-v-40536d42]{display:block;font-size:11px;color:#64748b;margin-bottom:4px}.overview-value-row[data-v-40536d42]{display:flex;align-items:baseline;gap:3px}.overview-value[data-v-40536d42]{font-size:26px;font-weight:800;color:#1e293b;line-height:1.1}.overview-card.accent:not(.pending) .overview-value[data-v-40536d42]{color:#1d4ed8}.overview-unit[data-v-40536d42]{font-size:12px;color:#64748b;font-weight:500}.overview-hint[data-v-40536d42]{margin-top:4px;font-size:10px;color:#94a3b8;line-height:1.3}.rescue-section[data-v-40536d42]{flex-shrink:0}.rescue-list[data-v-40536d42]{list-style:none;display:flex;flex-direction:column;gap:6px}.rescue-item[data-v-40536d42]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.rescue-head[data-v-40536d42]{display:flex;align-items:center;gap:4px;min-width:0}.metric-draw-btn[data-v-40536d42]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:#94a3b8;cursor:pointer;flex-shrink:0;pointer-events:auto;transition:color .15s,background .15s}.metric-draw-btn svg[data-v-40536d42]{width:13px;height:13px}.metric-draw-btn[data-v-40536d42]:hover{color:#2563eb;background:#eff6ff}.metric-draw-btn.active[data-v-40536d42]{color:#2563eb;background:#dbeafe}.rescue-label[data-v-40536d42]{font-size:12px;color:#475569;white-space:nowrap}.rescue-value[data-v-40536d42]{font-size:14px;font-weight:700;color:#1e293b;white-space:nowrap;flex-shrink:0}.charts-section[data-v-40536d42]{flex-shrink:0}.app-layout[data-v-16155a89]{display:flex;flex-direction:column;height:100%;background:#f1f5f9}.app-header[data-v-16155a89]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 24px;height:72px;background:linear-gradient(135deg,#0f172a,#1e3a8a 45%,#1d4ed8);color:#fff;flex-shrink:0;overflow:visible;z-index:700;box-shadow:0 2px 12px #0f172a40}.header-accent[data-v-16155a89]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 420px 120px at 8% 50%,rgba(251,191,36,.12) 0%,transparent 70%),radial-gradient(ellipse 300px 80px at 92% 30%,rgba(96,165,250,.15) 0%,transparent 70%);pointer-events:none}.brand[data-v-16155a89]{position:relative;display:flex;align-items:center;gap:16px;min-width:0;flex:1}.logo-wrap[data-v-16155a89]{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.logo-img[data-v-16155a89]{width:44px;height:44px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.logo-badge[data-v-16155a89]{font-size:10px;font-weight:600;letter-spacing:.12em;color:#fcd34d;white-space:nowrap}.brand-divider[data-v-16155a89]{width:1px;height:44px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.35),transparent);flex-shrink:0}.brand-text[data-v-16155a89]{min-width:0}.title-row[data-v-16155a89]{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.brand h1[data-v-16155a89]{font-size:20px;font-weight:700;line-height:1.3;letter-spacing:.04em;white-space:nowrap}.slogan[data-v-16155a89]{font-size:13px;font-weight:500;color:#fcd34df2;letter-spacing:.06em;white-space:nowrap}.desc[data-v-16155a89]{margin-top:4px;font-size:12px;line-height:1.5;color:#ffffffb8;max-width:640px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main[data-v-16155a89]{flex:1;display:flex;gap:12px;padding:12px;min-height:0}.map-section[data-v-16155a89]{position:relative;z-index:0;isolation:isolate;flex:1;min-width:0;min-height:0;overflow:hidden}.map-wrap[data-v-16155a89]{position:relative;width:100%;height:100%;min-height:0;--map-overlay-top: 100px}.map-toolbar[data-v-16155a89]{position:absolute;top:12px;left:12px;right:12px;z-index:600}.side-panel[data-v-16155a89]{width:380px;flex-shrink:0;display:flex;flex-direction:column;min-height:0}@media(max-width:1024px){.app-header[data-v-16155a89]{height:auto;flex-wrap:wrap;padding:12px 16px;gap:12px}.desc[data-v-16155a89]{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.app-main[data-v-16155a89]{flex-direction:column}.side-panel[data-v-16155a89]{width:100%;max-height:50vh}}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#1f2937;background:#f3f4f6}button{font-family:inherit;cursor:pointer}input[type=range]{width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tdt-search-box{display:flex;height:30px;position:relative;box-shadow:2px 2px 2px #00000026}.tdt-search-box .tdt-search-box__input{outline:none;width:200px;height:100%;border:none;text-indent:10px}.tdt-search-box .tdt-search-box__btn{outline:none;border:none;width:30px;height:100%;line-height:35px;font-size:16px;color:#333;cursor:pointer;text-align:center;background-color:#fff}.tdt-search-box .tdt-search-box__close{position:absolute;left:180px;top:0;width:15px;height:30px;line-height:35px;font-size:10px;color:#333;cursor:pointer;text-align:center;background-color:#fff}.tdt-search-suggests{width:100%;background:#fff;border-radius:2px;margin-top:1px;box-shadow:2px 2px 2px #00000026}.tdt-search-suggests .search-suggests-item{text-align:left;line-height:2;padding:0 10px;cursor:pointer}.tdt-search-suggests .search-suggests-item:hover{background:#eee}.tdt-search-suggests .search-suggests-item .search-suggests-item__name{font-size:14px}.tdt-search-suggests .search-suggests-item .search-suggests-item__address{font-size:12px;color:#999;margin-left:10px}.tdt-search-page{width:100%;text-align:center}.tdt-search-page .tdt-search-page__btn{cursor:pointer;padding:4px;font-size:14px}.tdt-search-pois{width:100%;background:#fff;border-radius:2px;margin-top:1px;max-height:400px;overflow-y:auto;box-shadow:2px 2px 2px #00000026}.tdt-search-pois .search-pois-item{text-align:left;line-height:2;padding:0 10px;cursor:pointer;border-bottom:1px solid #eee}.tdt-search-pois .search-pois-item:hover{background:#f5f5f5}.tdt-search-pois .search-pois-item .search-pois-item__name{font-size:14px}.tdt-search-pois .search-pois-item .search-pois-item__address{font-size:12px;color:#999}.route-plans{padding:10px;max-height:400px;overflow-y:auto;box-shadow:2px 2px 2px #00000026}.route-plans details>summary{cursor:pointer}.route-policies{display:flex;width:100%;justify-content:space-between;padding:5px 0}.route-policies .route-policies-item{width:100%;color:#333;text-align:center;cursor:pointer}.route-policies .route-policies-item:not(:last-child){border-right:1px solid #aaa}.route-policies .route-policies-item:hover,.route-policies .route-policies-item.active{color:#2c64a7}.route-types{display:flex;width:100%;padding:5px 0}.route-types .route-types-item{width:100%;color:#333;text-align:center;cursor:pointer}.route-types .route-types-item:hover,.route-types .route-types-item.active{color:#2c64a7}.tdt-icon{width:1em;height:1em;fill:currentColor;overflow:hidden}.tdt-route{width:min-content;background-color:#fff}.tdt-route .tdt-search-box__input{width:260px}.tdt-route .tdt-search-box__close{left:240px}.tdt-search{width:min-content;position:relative}.tdt-search .tdt-search-route__close{position:absolute;right:5px;top:7px;cursor:pointer}
