*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}#app{width:100%;height:100%}.modal-overlay[data-v-73b65f4a]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container[data-v-73b65f4a]{background:#fff;border-radius:12px;width:90%;max-width:400px;box-shadow:0 10px 25px #00000026;overflow:hidden}.modal-header[data-v-73b65f4a]{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f0f0}.modal-title[data-v-73b65f4a]{font-size:18px;font-weight:600;color:#1f1f1f}.close-btn[data-v-73b65f4a]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;transition:color .2s;line-height:1}.close-btn[data-v-73b65f4a]:hover{color:#333}.modal-content[data-v-73b65f4a]{padding:24px 20px;display:flex;align-items:center;gap:16px}.info-icon[data-v-73b65f4a]{color:#faad14;flex-shrink:0}.modal-message[data-v-73b65f4a]{margin:0;font-size:15px;color:#555;line-height:1.5;white-space:pre-wrap;word-break:break-word}.modal-footer[data-v-73b65f4a]{padding:12px 20px;background:#fafafa;display:flex;justify-content:flex-end;gap:12px}.btn[data-v-73b65f4a]{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-cancel[data-v-73b65f4a]{background:#fff;border-color:#d9d9d9;color:#666}.btn-cancel[data-v-73b65f4a]:hover{border-color:#40a9ff;color:#40a9ff}.btn-confirm[data-v-73b65f4a]{color:#fff}.btn-confirm[data-v-73b65f4a]:hover{transform:translateY(-1px);opacity:.9}.btn-confirm[data-v-73b65f4a]:active{transform:translateY(0)}.btn-warning[data-v-73b65f4a]{background:#faad14}.btn-success[data-v-73b65f4a]{background:#52c41a}.btn-info[data-v-73b65f4a]{background:#1890ff}.btn-error[data-v-73b65f4a]{background:#ff4d4f}.fade-enter-active[data-v-73b65f4a],.fade-leave-active[data-v-73b65f4a]{transition:opacity .3s}.fade-enter-from[data-v-73b65f4a],.fade-leave-to[data-v-73b65f4a]{opacity:0}.scale-enter-active[data-v-73b65f4a],.scale-leave-active[data-v-73b65f4a]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.scale-enter-from[data-v-73b65f4a],.scale-leave-to[data-v-73b65f4a]{opacity:0;transform:scale(.9)}.map-search-container[data-v-43e07cc4]{position:absolute;top:20px;left:20px;z-index:1100;width:360px;max-width:calc(100vw - 40px);transition:all .3s cubic-bezier(.4,0,.2,1)}.search-input-wrapper[data-v-43e07cc4]{display:flex;align-items:center;background:var(--bg-panel-gradient);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:var(--radius-md);padding:8px 12px;box-shadow:var(--shadow-main),var(--shadow-glass);border:1px solid var(--border-color);transition:all .3s}.map-search-container.has-results .search-input-wrapper[data-v-43e07cc4]{border-bottom-left-radius:0;border-bottom-right-radius:0}.search-icon[data-v-43e07cc4]{font-size:18px;margin-right:10px;opacity:.8}.search-input[data-v-43e07cc4]{flex:1;background:transparent;border:none;outline:none;font-size:14px;color:var(--text-main);padding:4px 0}.search-input[data-v-43e07cc4]::placeholder{color:var(--text-secondary);opacity:.7}.clear-btn[data-v-43e07cc4]{background:transparent;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:0 8px;display:flex;align-items:center;justify-content:center}.clear-btn[data-v-43e07cc4]:hover{color:var(--danger-color)}.divider[data-v-43e07cc4]{width:1px;height:20px;background:var(--border-color);margin:0 10px}.search-btn[data-v-43e07cc4]{background:var(--primary-color);border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.search-btn[data-v-43e07cc4]:hover{background:var(--primary-hover);transform:scale(1.05)}.search-results[data-v-43e07cc4]{background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-color);border-top:none;border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);max-height:500px;overflow-y:auto;box-shadow:0 10px 25px #0000001a}.results-section[data-v-43e07cc4]{padding:12px 0;border-bottom:1px solid var(--border-color)}.results-section[data-v-43e07cc4]:last-child{border-bottom:none}.section-title[data-v-43e07cc4]{padding:0 16px 8px;font-size:12px;color:var(--text-secondary);font-weight:600;display:flex;justify-content:space-between;align-items:center}.current-location[data-v-43e07cc4]{background:#3385ff0d}.location-card[data-v-43e07cc4]{margin:0 12px;padding:12px;border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--border-color);transition:all .2s;position:relative}.location-card.current[data-v-43e07cc4]{border-color:var(--primary-color);box-shadow:0 2px 8px #3385ff26}.location-card.history-item[data-v-43e07cc4]{cursor:pointer;margin-bottom:8px;display:flex;justify-content:space-between;align-items:flex-start}.location-card.history-item[data-v-43e07cc4]:hover{background:var(--btn-default-bg);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.coord-info[data-v-43e07cc4]{display:flex;flex-direction:column;gap:4px}.coord-row[data-v-43e07cc4]{display:flex;align-items:center;gap:8px}.coord-row .label[data-v-43e07cc4]{font-size:12px;color:var(--text-secondary);width:32px}.coord-row .value[data-v-43e07cc4]{font-size:14px;font-weight:600;color:var(--primary-color);font-family:monospace}.location-time[data-v-43e07cc4]{margin-top:8px;font-size:11px;color:var(--text-secondary);text-align:right}.history-content[data-v-43e07cc4]{flex:1;overflow:hidden}.coord-text[data-v-43e07cc4]{font-size:14px;color:var(--text-main);font-weight:500;margin-bottom:4px;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta[data-v-43e07cc4]{display:flex;gap:12px;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-item-btn[data-v-43e07cc4]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;opacity:.5}.delete-item-btn[data-v-43e07cc4]:hover{background:var(--danger-bg);color:var(--danger-color);opacity:1}.history-footer[data-v-43e07cc4]{padding:8px 16px;display:flex;justify-content:center;border-top:1px solid var(--border-color);background:var(--bg-panel-light, rgba(0, 0, 0, .02))}.clear-history-all[data-v-43e07cc4]{background:transparent;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;font-weight:500;padding:6px 12px;border-radius:4px;display:flex;align-items:center;transition:all .2s}.clear-history-all[data-v-43e07cc4]:hover{background:var(--danger-bg);color:var(--danger-color)}.history-meta[data-v-43e07cc4]:hover{text-overflow:clip;white-space:normal}.fade-slide-enter-active[data-v-43e07cc4],.fade-slide-leave-active[data-v-43e07cc4]{transition:all .3s ease}.fade-slide-enter-from[data-v-43e07cc4],.fade-slide-leave-to[data-v-43e07cc4]{opacity:0;transform:translateY(-10px)}.list-enter-active[data-v-43e07cc4],.list-leave-active[data-v-43e07cc4]{transition:all .3s ease}.list-enter-from[data-v-43e07cc4],.list-leave-to[data-v-43e07cc4]{opacity:0;transform:translate(30px)}.list-leave-active[data-v-43e07cc4]{position:absolute;width:calc(100% - 24px)}.list-move[data-v-43e07cc4]{transition:transform .3s ease}@media(max-width:480px){.map-search-container[data-v-43e07cc4]{top:10px;left:10px;width:calc(100vw - 20px)}.search-results[data-v-43e07cc4]{max-height:60vh}.location-card[data-v-43e07cc4]{margin:0 8px}}.map-scale-container[data-v-cc0ee3e6]{position:absolute;margin:10px}.bottom-right[data-v-cc0ee3e6]{bottom:0;right:0}.bottom-left[data-v-cc0ee3e6]{bottom:0;left:0}.top-right[data-v-cc0ee3e6]{top:0;right:0}.top-left[data-v-cc0ee3e6]{top:0;left:0}@media(max-width:600px){.responsive[data-v-cc0ee3e6]{padding:2px 4px;margin:5px}.responsive .scale-label[data-v-cc0ee3e6]{font-size:10px!important}}.contact-btn[data-v-1393a63d]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#07c160;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s;box-shadow:0 2px 8px #07c16033}.contact-btn[data-v-1393a63d]:hover{transform:translateY(-1px);background:#06ae56}.modal-mask[data-v-1393a63d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box[data-v-1393a63d]{background:#fff;padding:30px;border-radius:12px;position:relative;text-align:center;box-shadow:0 20px 40px #0000004d;animation:zoom-1393a63d .3s ease-out}.qr-img[data-v-1393a63d]{width:200px;height:200px;display:block;margin-bottom:15px}.close-x[data-v-1393a63d]{position:absolute;top:10px;right:10px;border:none;background:none;font-size:24px;cursor:pointer;color:#999}@keyframes zoom-1393a63d{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.fade-enter-active[data-v-1393a63d],.fade-leave-active[data-v-1393a63d]{transition:opacity .3s}.fade-enter-from[data-v-1393a63d],.fade-leave-to[data-v-1393a63d]{opacity:0}.map-context-menu[data-v-70625baa]{position:fixed;z-index:2000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:6px;min-width:150px;box-shadow:0 10px 25px #00000026;-webkit-user-select:none;user-select:none}.menu-item[data-v-70625baa]{display:flex;align-items:center;padding:10px 14px;cursor:pointer;border-radius:8px;transition:all .2s ease;color:#333;font-size:14px;font-weight:500}.menu-item[data-v-70625baa]:hover:not(.disabled){background:#3385ff1a;color:#3385ff}.menu-item.disabled[data-v-70625baa]{cursor:not-allowed;opacity:.5;filter:grayscale(1)}.menu-icon[data-v-70625baa]{margin-right:10px;font-size:16px}.menu-divider[data-v-70625baa]{height:1px;background:#0000000d;margin:4px 8px}.fade-enter-active[data-v-70625baa],.fade-leave-active[data-v-70625baa]{transition:opacity .2s ease,transform .2s ease}.fade-enter-from[data-v-70625baa],.fade-leave-to[data-v-70625baa]{opacity:0;transform:translateY(-5px)}@media(max-width:768px){.control-panel[data-v-878d9d22]{width:280px}.custom-scale-control.panel-visible[data-v-878d9d22],.map-status-info.panel-visible[data-v-878d9d22]{transform:translate(-280px)}}@media(max-width:480px){.control-panel[data-v-878d9d22]{width:100%;right:0;left:0;border-radius:0}.panel-toggle[data-v-878d9d22]{display:none}.control-panel.panel-collapsed[data-v-878d9d22]{transform:translateY(100%);opacity:0}.custom-scale-control.panel-visible[data-v-878d9d22],.map-status-info.panel-visible[data-v-878d9d22]{transform:translateY(-40vh);opacity:0;pointer-events:none}.floating-shortcuts[data-v-878d9d22]{bottom:20px;right:10px}.measurement-panel[data-v-878d9d22]{width:calc(100% - 20px);left:10px;right:10px}}.custom-scale-control[data-v-878d9d22]{position:absolute;right:10px;bottom:50px;transition:all .5s cubic-bezier(.22,1,.36,1);z-index:1001}.custom-scale-control.panel-visible[data-v-878d9d22]{transform:translate(-320px)}[data-v-878d9d22]:root{--primary-color: #3385ff;--primary-hover: #2b73eb;--danger-color: #ff4d4f;--danger-hover: #ff7875;--danger-bg: #fff1f0;--danger-bg-hover: #ffccc7;--bg-panel: #ffffff;--bg-panel-gradient: linear-gradient(135deg, #ffffff, #f9fafb);--glass-blur: 10px;--glass-saturate: 180%;--border-color: rgba(0, 0, 0, .08);--glass-border: rgba(255, 255, 255, .8);--text-main: #1d1d1f;--text-secondary: #86868b;--shadow-main: 0 8px 32px rgba(0, 0, 0, .08);--shadow-glass: inset 0 0 0 1px rgba(255, 255, 255, .5);--btn-default-bg: #f5f5f7;--btn-default-hover: #e8e8ed;--btn-default-text: #1d1d1f;--btn-active-bg: #1a73e8;--btn-active-text: #ffffff;--btn-active-border: #1a73e8;--btn-transition: all .25s cubic-bezier(.4, 0, .2, 1);--panel-header-bg: #ffffff;--panel-header-text-color: #797777;--panel-header-border-color: rgba(0, 0, 0, .1);--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px}.theme-light[data-v-878d9d22]{--bg-panel: #ffffff;--bg-panel-gradient: linear-gradient(135deg, rgba(255, 255, 255, .95), rgba(245, 245, 247, .95));--border-color: rgba(0, 0, 0, .06);--text-main: #1d1d1f;--text-secondary: #6e6e73;--btn-default-bg: #f5f5f7;--btn-default-hover: #e8e8ed;--danger-bg: #fff1f0;--danger-bg-hover: #ffccc7;--primary-color: #1a73e8;--primary-hover: #1557b0}.map-container[data-v-878d9d22]{width:100%;height:100%;position:relative;overflow:hidden;background:#f0f2f5}#map[data-v-878d9d22]{width:100%;height:100%;position:absolute;top:0;left:0}.control-panel[data-v-878d9d22]{position:absolute;top:0;right:0;bottom:0;width:320px;background:var(--bg-panel-gradient);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:var(--radius-lg);box-shadow:var(--shadow-main),var(--shadow-glass);z-index:1000;display:flex;flex-direction:column;transition:all .5s cubic-bezier(.22,1,.36,1);border:1px solid var(--border-color)}.control-panel.panel-collapsed[data-v-878d9d22]{transform:translate(calc(100% + 40px));opacity:0}.panel-toggle[data-v-878d9d22]{position:absolute;left:-32px;top:50%;transform:translateY(-50%);width:32px;height:64px;background:var(--bg-panel-gradient);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:12px 0 0 12px;box-shadow:-4px 0 15px #00000014,var(--shadow-glass);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;border:1px solid var(--border-color);border-right:none;color:var(--text-secondary);transition:all .3s}.panel-toggle[data-v-878d9d22]:hover{background:var(--btn-default-hover);color:var(--primary-color)}.panel-toggle[data-v-878d9d22]:active{background:var(--btn-active-bg)}.toggle-icon[data-v-878d9d22]{font-size:20px;color:inherit;transition:transform .3s}.panel-header-main[data-v-878d9d22]{padding:10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.header-content[data-v-878d9d22]{display:flex;align-items:center;gap:12px}.header-icon-main[data-v-878d9d22]{font-size:22px}.panel-title-main[data-v-878d9d22]{font-size:18px;font-weight:700;color:var(--text-main);letter-spacing:.5px}.header-btn[data-v-878d9d22]:focus-visible,.panel-toggle[data-v-878d9d22]:focus-visible,.close-btn[data-v-878d9d22]:focus-visible,.panel-close[data-v-878d9d22]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.basemap-card:focus-visible .basemap-thumb[data-v-878d9d22]{outline:3px solid var(--primary-color);outline-offset:2px;transform:translateY(-4px)}.header-btn[data-v-878d9d22]{width:32px;height:32px;border-radius:50%;border:none;background:var(--btn-default-bg);color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.header-btn[data-v-878d9d22]:hover{background:var(--btn-default-hover);transform:rotate(15deg)}.panel-content-wrapper[data-v-878d9d22]{flex:1;overflow-y:auto;padding:16px}.custom-scrollbar[data-v-878d9d22]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-878d9d22]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-878d9d22]::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.theme-dark .custom-scrollbar[data-v-878d9d22]::-webkit-scrollbar-thumb{background:#fff3}.theme-dark .custom-scrollbar[data-v-878d9d22]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.panel-section[data-v-878d9d22]{margin-bottom:12px;background:var(--bg-panel);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all .3s}.panel-section[data-v-878d9d22]:hover{background:var(--bg-panel);border-color:var(--primary-color);box-shadow:0 4px 12px #0000000d}.section-header[data-v-878d9d22]{padding:10px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.header-right[data-v-878d9d22]{display:flex;align-items:center;gap:8px}.current-selection-tag[data-v-878d9d22]{font-size:11px;background:#e6f7ff;color:var(--primary-color);padding:1px 6px;border-radius:10px;font-weight:600;border:1px solid #91d5ff}.section-title[data-v-878d9d22]{font-size:13px;font-weight:600;color:var(--text-main)}.section-arrow[data-v-878d9d22]{font-size:11px;color:#bbb;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.section-arrow.rotated[data-v-878d9d22]{transform:rotate(180deg)}.section-content[data-v-878d9d22]{padding:0 14px 14px}.basemap-grid-compact[data-v-878d9d22]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.basemap-card[data-v-878d9d22]{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.basemap-thumb[data-v-878d9d22]{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;transition:all .3s;box-shadow:0 4px 10px #0000000d}.basemap-thumb img[data-v-878d9d22]{width:100%;height:100%;object-fit:cover;transition:transform .5s}.basemap-overlay[data-v-878d9d22]{position:absolute;top:2px;right:2px;width:18px;height:18px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s;box-shadow:0 2px 6px #0003;z-index:2}.check-icon[data-v-878d9d22]{color:#fff;font-size:10px;font-weight:700;transform:scale(.5);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.basemap-card.active .basemap-thumb[data-v-878d9d22]{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 15px #3385ff33}.basemap-card.active .basemap-overlay[data-v-878d9d22]{opacity:1}.basemap-card.active .check-icon[data-v-878d9d22]{transform:scale(1)}.basemap-card:hover .basemap-thumb img[data-v-878d9d22]{transform:scale(1.1)}.basemap-name[data-v-878d9d22]{font-size:11px;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.basemap-card.active .basemap-name[data-v-878d9d22]{color:var(--primary-color);font-weight:700}.tools-flex-grid[data-v-878d9d22]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.modern-tool-btn[data-v-878d9d22]{width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--btn-default-bg);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;transition:var(--btn-transition)}.modern-tool-btn[data-v-878d9d22]:hover{border-color:var(--primary-color);background:var(--btn-default-hover);transform:translateY(-2px);color:var(--primary-color)}.modern-tool-btn.active[data-v-878d9d22]{background:var(--btn-active-bg);border-color:var(--btn-active-border);color:var(--btn-active-text);box-shadow:0 4px 12px #1a73e84d;text-shadow:0 1px 2px rgba(0,0,0,.1)}.tool-icon-wrapper[data-v-878d9d22]{font-size:18px}.tool-label[data-v-878d9d22]{font-size:11px;font-weight:600}.active-dot[data-v-878d9d22]{width:6px;height:6px;background:var(--primary-color);border-radius:50%;box-shadow:0 0 0 2px #3385ff33}.modern-drawing-tip[data-v-878d9d22]{margin-top:10px;padding:8px 10px;background:#fff7e6;border:1px solid #ffe7ba;border-radius:var(--radius-sm);display:flex;gap:8px;transition:all .3s ease}.theme-dark .modern-drawing-tip[data-v-878d9d22]{background:#ffab001a;border-color:#ffab0033}.tip-icon[data-v-878d9d22]{font-size:14px}.tip-text[data-v-878d9d22]{font-size:11px;color:#d46b08;line-height:1.5;margin:0}.theme-dark .tip-text[data-v-878d9d22]{color:#ffab00}.modern-actions[data-v-878d9d22]{margin-top:10px;display:flex;gap:8px}.m-btn[data-v-878d9d22]:focus-visible,.btn[data-v-878d9d22]:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #3385ff33}.m-btn[data-v-878d9d22]{flex:1;padding:8px;font-size:12px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;justify-content:center;gap:4px}.m-btn[data-v-878d9d22]:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.8)}.btn-icon[data-v-878d9d22]{font-size:16px}.m-btn-outline[data-v-878d9d22]{background:var(--btn-default-bg);color:var(--btn-default-text);border:1px solid var(--border-color)}.m-btn-outline[data-v-878d9d22]:hover{background:var(--btn-default-hover);border-color:var(--primary-color);color:var(--primary-color)}.m-btn-primary[data-v-878d9d22]{background:var(--primary-color);color:#fff;border:1px solid transparent}.m-btn-primary[data-v-878d9d22]:hover{background:var(--primary-hover);box-shadow:0 4px 12px #1a73e84d}.m-btn-danger[data-v-878d9d22]{background:var(--danger-bg);color:var(--danger-color);border:1px solid transparent}.m-btn-danger[data-v-878d9d22]:hover{background:var(--danger-bg-hover);border-color:var(--danger-color)}.management-list[data-v-878d9d22]{display:flex;flex-direction:column;gap:8px}.m-list-item[data-v-878d9d22]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left;width:100%}.m-list-item[data-v-878d9d22]:hover{background:var(--btn-active-bg);border-color:var(--primary-color);transform:translate(4px)}.m-list-item.danger[data-v-878d9d22]:hover{background:var(--danger-bg-hover);border-color:var(--danger-color)}.item-icon-box[data-v-878d9d22]{width:32px;height:32px;background:var(--btn-default-bg);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .3s}.m-list-item:hover .item-icon-box[data-v-878d9d22]{background:var(--bg-panel);box-shadow:0 4px 10px #0000000d}.item-info[data-v-878d9d22]{display:flex;flex-direction:column;gap:1px}.item-title[data-v-878d9d22]{font-size:13px;font-weight:600;color:var(--text-main)}.item-desc[data-v-878d9d22]{font-size:10px;color:var(--text-secondary)}.spinning[data-v-878d9d22]{animation:spin-878d9d22 2s linear infinite}@keyframes spin-878d9d22{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.floating-shortcuts[data-v-878d9d22]{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:12px;z-index:999}.shortcut-btn[data-v-878d9d22]{width:48px;height:48px;background:var(--bg-panel-gradient);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #0000001a,var(--shadow-glass);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.175,.885,.32,1.275);color:var(--text-main)}.shortcut-btn[data-v-878d9d22]:hover{transform:scale(1.1);box-shadow:0 6px 20px #00000026;background:var(--btn-default-hover);color:var(--primary-color)}.shortcut-btn.primary[data-v-878d9d22]{background:var(--primary-color);color:#fff}.shortcut-btn.active[data-v-878d9d22]{background:var(--btn-active-bg);color:var(--btn-active-text);border-color:var(--btn-active-border)}.shortcut-btn.danger[data-v-878d9d22]:hover{background:var(--danger-bg-hover);color:var(--danger-color);border-color:var(--danger-color)}.s-text[data-v-878d9d22]{font-size:12px;font-weight:700;margin-top:2px}.measurement-panel[data-v-878d9d22]{position:absolute;bottom:10px;left:10px;z-index:1000;background:var(--bg-panel);border-radius:var(--radius-md);box-shadow:var(--shadow-main);min-width:240px;overflow:hidden;border:1px solid var(--border-color)}.slide-right-enter-active[data-v-878d9d22],.slide-right-leave-active[data-v-878d9d22]{transition:all .3s ease}.slide-right-enter-from[data-v-878d9d22],.slide-right-leave-to[data-v-878d9d22]{transform:translate(20px);opacity:0}.panel-header[data-v-878d9d22]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--panel-header-bg);color:var(--panel-header-text-color);border-bottom:1px solid var(--panel-header-border-color);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.panel-title[data-v-878d9d22]{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;text-shadow:0 1px 3px rgba(0,0,0,.8)}.title-icon[data-v-878d9d22]{font-size:16px}.panel-close[data-v-878d9d22]{font-size:20px;cursor:pointer;line-height:1}.panel-content[data-v-878d9d22]{padding:16px}.measurement-item[data-v-878d9d22]{display:flex;justify-content:space-between;margin-bottom:8px}.measurement-label[data-v-878d9d22]{color:var(--text-secondary);font-size:13px;font-weight:500}.measurement-value[data-v-878d9d22]{color:var(--primary-color);font-weight:700;font-size:14px}.edit-hint[data-v-878d9d22]{margin-top:12px;padding:8px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:var(--radius-sm);color:#52c41a;font-size:12px;display:flex;align-items:center;gap:6px}.map-status-info[data-v-878d9d22]{position:absolute;bottom:15px;right:20px;z-index:1001;background:var(--bg-panel);padding:6px 14px;border-radius:var(--radius-sm);box-shadow:0 4px 20px #00000014;display:flex;align-items:center;gap:12px;transition:transform .5s cubic-bezier(.22,1,.36,1);pointer-events:auto;border:1px solid var(--border-color);cursor:default}.map-status-info.panel-visible[data-v-878d9d22]{transform:translate(-320px)}.status-item[data-v-878d9d22]{display:flex;align-items:center;gap:8px;white-space:nowrap}.status-label[data-v-878d9d22]{font-size:11px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-value[data-v-878d9d22]{font-size:13px;color:var(--text-main);font-weight:700;min-width:85px;font-variant-numeric:tabular-nums}.status-divider[data-v-878d9d22]{width:1px;height:14px;background:#e0e0e0}.theme-dark[data-v-878d9d22]{--bg-panel: rgba(28, 28, 30, .9);--bg-panel-gradient: linear-gradient(135deg, rgba(28, 28, 30, .98), rgba(44, 44, 46, .92));--border-color: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .2);--text-main: #ffffff;--text-secondary: #b0b0b8;--glass-blur: 20px;--shadow-main: 0 12px 48px rgba(0, 0, 0, .5);--btn-default-bg: rgba(255, 255, 255, .08);--btn-default-hover: rgba(255, 255, 255, .15);--btn-default-text: #ffffff;--btn-active-bg: var(--primary-color);--btn-active-text: #ffffff;--btn-active-border: var(--primary-color);--danger-bg: rgba(255, 77, 79, .2);--danger-bg-hover: rgba(255, 77, 79, .3);--panel-header-bg: #1c1c1e;--panel-header-text-color: #e5e5e7;--panel-header-border-color: rgba(255, 255, 255, .12);--modal-bg: #1c1c1e;--modal-header-bg: #2c2c2e;--modal-footer-bg: #1c1c1e;--input-bg: rgba(255, 255, 255, .05);--input-border: rgba(255, 255, 255, .15);--primary-color: #3385ff}.control-panel.theme-dark[data-v-878d9d22]{border-color:var(--border-color)}.theme-dark .panel-section[data-v-878d9d22]{background:#ffffff0a;border-color:#ffffff1a}.theme-dark .panel-section[data-v-878d9d22]:hover{background:#ffffff14;border-color:var(--primary-color)}.theme-dark .section-title[data-v-878d9d22],.theme-dark .panel-title-main[data-v-878d9d22]{color:#fff}.theme-dark .header-btn[data-v-878d9d22]{background:#ffffff1a;color:#fff}.theme-dark .header-btn[data-v-878d9d22]:hover{background:#fff3}.theme-dark .modern-tool-btn.active[data-v-878d9d22]{color:#fff;background:var(--primary-color);box-shadow:0 4px 15px #3385ff66}.theme-dark .m-list-item[data-v-878d9d22]{background:var(--btn-default-bg);border-color:var(--border-color)}.theme-dark .m-list-item[data-v-878d9d22]:hover{background:var(--btn-default-hover);transform:translate(4px) scale(1.02)}.theme-dark .item-title[data-v-878d9d22]{color:#fff}.theme-dark .item-desc[data-v-878d9d22]{color:var(--text-secondary)}.theme-dark .floating-shortcuts .shortcut-btn[data-v-878d9d22]{background:var(--bg-panel-gradient);box-shadow:0 8px 32px #0006,var(--shadow-glass);border-color:var(--border-color)}.theme-dark .shortcut-btn[data-v-878d9d22]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.theme-dark .map-status-info[data-v-878d9d22]{background:var(--bg-panel-gradient);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--border-color);box-shadow:0 8px 32px #0000004d}.theme-dark .status-label[data-v-878d9d22]{color:var(--text-secondary)}.theme-dark .status-value[data-v-878d9d22]{color:#fff}.theme-dark .status-divider[data-v-878d9d22]{background:#ffffff26}.theme-dark .modal-content[data-v-878d9d22]{background:var(--modal-bg);color:var(--text-main);border:1px solid var(--border-color);box-shadow:0 24px 64px #000000b3}.theme-dark .modal-header[data-v-878d9d22]{background:var(--modal-header-bg);border-bottom-color:var(--border-color)}.theme-dark .modal-header h3[data-v-878d9d22]{color:#fff}.theme-dark .modal-footer[data-v-878d9d22]{background:var(--modal-footer-bg);border-top-color:var(--border-color)}.theme-dark .form-group label[data-v-878d9d22]{color:var(--text-secondary);font-weight:600}.theme-dark .form-group input[type=text][data-v-878d9d22]{background:var(--input-bg);border-color:var(--input-border);color:#fff}.theme-dark .form-group input[type=text][data-v-878d9d22]:focus{background:#ffffff14;border-color:var(--primary-color)}.theme-dark .format-option[data-v-878d9d22]{background:#ffffff0a;border-color:var(--border-color)}.theme-dark .format-option[data-v-878d9d22]:hover{background:#ffffff14;border-color:var(--primary-color)}.theme-dark .format-option.active[data-v-878d9d22]{background:#3385ff26;border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.theme-dark .format-name[data-v-878d9d22]{color:#fff}.theme-dark .format-desc[data-v-878d9d22]{color:var(--text-secondary)}.theme-dark .btn-secondary[data-v-878d9d22]{background:#ffffff1a;color:#fff}.theme-dark .btn-secondary[data-v-878d9d22]:hover{background:#ffffff26}.theme-dark .close-btn[data-v-878d9d22]{color:var(--text-secondary)}.theme-dark .close-btn[data-v-878d9d22]:hover{color:#fff}.theme-dark .measurement-panel[data-v-878d9d22]{background:var(--bg-panel-gradient);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:var(--border-color);box-shadow:0 12px 48px #0006}.theme-dark .panel-header[data-v-878d9d22]{background:var(--panel-header-bg);border-bottom-color:var(--panel-header-border-color)}.theme-dark .panel-content .measurement-label[data-v-878d9d22]{color:var(--text-secondary)}.theme-dark .panel-content .measurement-value[data-v-878d9d22]{color:var(--primary-color);text-shadow:0 0 8px rgba(51,133,255,.3)}.theme-dark .edit-hint[data-v-878d9d22]{background:#52c41a26;border-color:#52c41a4d;color:#73d13d}.expand-enter-active[data-v-878d9d22],.expand-leave-active[data-v-878d9d22]{transition:all .4s cubic-bezier(.4,0,.2,1);max-height:500px;overflow:hidden}.expand-enter-from[data-v-878d9d22],.expand-leave-to[data-v-878d9d22]{max-height:0;opacity:0}.fade-enter-active[data-v-878d9d22],.fade-leave-active[data-v-878d9d22]{transition:opacity .3s ease}.fade-enter-from[data-v-878d9d22],.fade-leave-to[data-v-878d9d22]{opacity:0}.slide-up-enter-active[data-v-878d9d22],.slide-up-leave-active[data-v-878d9d22]{transition:all .3s cubic-bezier(.165,.84,.44,1)}.slide-up-enter-from[data-v-878d9d22],.slide-up-leave-to[data-v-878d9d22]{transform:translateY(20px);opacity:0}.modal-overlay[data-v-878d9d22]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.theme-dark .modal-overlay[data-v-878d9d22]{background:#0009}.modal-content[data-v-878d9d22]{background:#fff;width:480px;border-radius:16px;box-shadow:0 20px 60px #00000026;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.modal-header[data-v-878d9d22]{padding:20px 24px;border-bottom:1px solid #f0f0f2;display:flex;justify-content:space-between;align-items:center;background:#fafafa}.modal-header h3[data-v-878d9d22]{margin:0;font-size:18px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em}.close-btn[data-v-878d9d22]{background:#0000000d;border:none;font-size:20px;color:#86868b;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn[data-v-878d9d22]:hover{background:#0000001a;color:#1d1d1f;transform:rotate(90deg)}.modal-body[data-v-878d9d22]{padding:24px 30px}.form-group[data-v-878d9d22]{margin-bottom:24px}.form-group label[data-v-878d9d22]{display:block;margin-bottom:10px;font-weight:600;font-size:13px;color:#48484a;text-transform:uppercase;letter-spacing:.05em}.input-wrapper[data-v-878d9d22]{position:relative;display:flex;align-items:center}.input-suffix[data-v-878d9d22]{position:absolute;right:12px;color:#86868b;font-size:13px;font-weight:600;pointer-events:none}.form-group input[type=text][data-v-878d9d22]{width:100%;padding:12px 60px 12px 16px;border:1.5px solid #e5e5e7;border-radius:10px;font-size:15px;font-family:inherit;box-sizing:border-box;transition:all .2s cubic-bezier(.4,0,.2,1);background:#f5f5f7;color:#1d1d1f}.form-group input[type=text][data-v-878d9d22]:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 4px #3385ff1a}.format-options[data-v-878d9d22]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.format-option[data-v-878d9d22]{border:1.5px solid #e5e5e7;border-radius:12px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);background:#fff;position:relative}.format-option[data-v-878d9d22]:hover{border-color:var(--primary-color);background:#f0f7ff;transform:translateY(-2px)}.format-option.active[data-v-878d9d22]{background:#f0f7ff;border-color:var(--primary-color);box-shadow:0 4px 12px #3385ff1a}.format-icon[data-v-878d9d22]{font-size:24px;margin-bottom:8px}.format-name[data-v-878d9d22]{font-weight:700;font-size:14px;color:#1d1d1f;margin-bottom:4px}.format-desc[data-v-878d9d22]{font-size:10px;color:#86868b;text-align:center;font-weight:500}.modal-footer[data-v-878d9d22]{padding:20px 24px;border-top:1px solid #f0f0f2;display:flex;justify-content:flex-end;gap:12px;background:#fafafa}.btn[data-v-878d9d22]{padding:12px 28px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;outline:none}.btn-secondary[data-v-878d9d22]{background:#e5e5e7;color:#48484a;border-color:#0000000d}.btn-secondary[data-v-878d9d22]:hover:not(:disabled){background:#d1d1d6;color:#1d1d1f;border-color:#0000001a}.btn-primary[data-v-878d9d22]{background:var(--primary-color);color:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 12px #1a73e833,0 2px 4px #0000000d}.btn-primary[data-v-878d9d22]:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 6px 16px #1a73e84d,0 4px 8px #0000001a;transform:translateY(-1.5px)}.theme-dark .btn-primary[data-v-878d9d22]{border-color:#ffffff1a;box-shadow:0 4px 15px #0006}.theme-dark .btn-primary[data-v-878d9d22]:hover:not(:disabled){box-shadow:0 8px 25px #00000080}.btn-primary[data-v-878d9d22]:active:not(:disabled){transform:translateY(0)}.loading-spinner[data-v-878d9d22]{display:inline-block;animation:spin-878d9d22 1s linear infinite}.modal-zoom-enter-active[data-v-878d9d22],.modal-zoom-leave-active[data-v-878d9d22]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.modal-zoom-enter-from[data-v-878d9d22],.modal-zoom-leave-to[data-v-878d9d22]{opacity:0;transform:scale(.9)}.modal-zoom-enter-active .modal-overlay[data-v-878d9d22],.modal-zoom-leave-active .modal-overlay[data-v-878d9d22]{transition:opacity .3s ease}.modal-zoom-enter-from .modal-overlay[data-v-878d9d22],.modal-zoom-leave-to .modal-overlay[data-v-878d9d22]{opacity:0}.btn[data-v-878d9d22]:disabled{opacity:.6;cursor:not-allowed}#map[data-v-878d9d22]{width:100%;height:100%}@media(max-width:768px){.control-panel[data-v-878d9d22]{top:auto;left:0;right:0;bottom:0;width:100%;height:auto;max-height:70vh;border-radius:24px 24px 0 0;transform:translateY(0);box-shadow:0 -8px 32px #00000026;background:var(--bg-panel-gradient);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-color)}.control-panel.panel-collapsed[data-v-878d9d22]{transform:translateY(calc(100% - 40px));opacity:1;pointer-events:auto}.panel-toggle[data-v-878d9d22]{left:50%;top:-20px;transform:translate(-50%) rotate(90deg);width:48px;height:24px;border-radius:12px 12px 0 0;background:var(--bg-panel-gradient);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-color);border-bottom:none;box-shadow:0 -4px 15px #0000000d}.panel-content-wrapper[data-v-878d9d22]{padding-bottom:30px}.floating-shortcuts[data-v-878d9d22]{top:5px;right:5px;gap:6px}.shortcut-btn[data-v-878d9d22]{width:48px;height:48px;border-radius:var(--radius-sm)}.s-text[data-v-878d9d22]{font-size:9px}.measurement-panel[data-v-878d9d22]{bottom:80px;left:10px;right:10px;min-width:0;background:var(--bg-panel-gradient);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-color:var(--border-color)}.map-status-info[data-v-878d9d22]{bottom:10px;left:10px;right:10px;justify-content:center;gap:8px;padding:6px 12px;background:var(--bg-panel-gradient);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:12px;font-size:11px;transform:translateY(0);border:1px solid var(--border-color);box-shadow:0 4px 15px #0000001a}.map-status-info.panel-visible[data-v-878d9d22]{transform:translateY(-70vh) translateY(-20px)}.status-value[data-v-878d9d22]{font-size:11px;min-width:70px}}.panel-footer-contact[data-v-878d9d22]{padding:15px;border-top:1px solid var(--border-color, #eee);background:var(--bg-panel, #fff)}.location-form[data-v-878d9d22]{display:flex;flex-direction:column;gap:12px;padding:4px}.form-item[data-v-878d9d22]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-878d9d22]{font-size:12px;color:var(--text-secondary);font-weight:500}.modern-input[data-v-878d9d22]{width:100%;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input, #fff);color:var(--text-main);font-size:13px;transition:all .2s;box-sizing:border-box}.modern-input[data-v-878d9d22]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1890ff1a}.full-width[data-v-878d9d22]{width:100%}.theme-dark .modern-input[data-v-878d9d22]{background:#ffffff0d;border-color:#ffffff1a;color:#eee}#app{width:100%;height:100vh}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;background:#f8f9fa;color:#dc3545;padding:20px}.error-boundary h2{margin-bottom:10px}.error-boundary button{margin-top:20px;padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.error-boundary button:hover{background:#0056b3}
