.camera-annotation[data-v-2637b94e]{display:flex;height:100%;position:relative;background:#f5f7fa;margin-left:38px}.left-panel[data-v-2637b94e]{width:370px;min-width:370px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e4e7ed;z-index:10}.panel-section[data-v-2637b94e]{display:flex;flex-direction:column;padding:12px}.panel-section .section-header[data-v-2637b94e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-section .section-header .section-title[data-v-2637b94e]{font-size:14px;font-weight:700;color:#303133}.panel-section .section-header .region-label[data-v-2637b94e]{font-size:12px;color:#909399;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-section .el-input[data-v-2637b94e]{margin-bottom:8px}.region-section[data-v-2637b94e]{flex-shrink:0;max-height:45%;overflow:hidden}.region-section .region-tree[data-v-2637b94e]{flex:1;overflow-y:auto}.camera-section[data-v-2637b94e]{flex:1;overflow:hidden;border-top:1px solid #ebeef5}.camera-section .camera-list[data-v-2637b94e]{flex:1;overflow-y:auto;min-height:0}.camera-item[data-v-2637b94e]{display:flex;align-items:center;padding:8px 12px;border-radius:6px;cursor:grab;transition:all .2s;border:1px solid transparent;margin-bottom:4px}.camera-item[data-v-2637b94e]:hover{background:#ecf5ff;border-color:#d9ecff}.camera-item[data-v-2637b94e]:active{cursor:grabbing}.camera-item.is-annotated[data-v-2637b94e]{background:#f0f9eb;border-color:#e1f3d8}.camera-item.is-dragging[data-v-2637b94e]{opacity:.5}.camera-item .camera-icon[data-v-2637b94e]{font-size:20px;margin-right:10px;flex-shrink:0}.camera-item .camera-info[data-v-2637b94e]{flex:1;min-width:0}.camera-item .camera-info .camera-name[data-v-2637b94e]{font-size:13px;color:#303133;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-item .camera-info .camera-location[data-v-2637b94e]{font-size:11px;color:#909399;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-item .annotated-tag[data-v-2637b94e]{flex-shrink:0;margin-left:6px}.empty-hint[data-v-2637b94e]{text-align:center;color:#c0c4cc;padding:30px 0;font-size:13px}.map-panel[data-v-2637b94e]{flex:1;position:relative;overflow:hidden;transition:all .2s}.map-panel.drag-over[data-v-2637b94e]{box-shadow:inset 0 0 20px rgba(64,158,255,.4)}.map-panel .map-container[data-v-2637b94e]{width:100%;height:100%}.map-panel .map-toolbar[data-v-2637b94e]{position:absolute;top:12px;left:12px;z-index:1000;background:hsla(0,0%,100%,.95);border-radius:6px;padding:6px 12px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;align-items:center;gap:8px}.map-panel .map-toolbar .toolbar-group[data-v-2637b94e]{display:flex;align-items:center;gap:4px}.map-panel .map-toolbar .toolbar-label[data-v-2637b94e]{font-size:12px;color:#606266;white-space:nowrap}.map-panel .map-toolbar .toolbar-divider[data-v-2637b94e]{width:1px;height:20px;background:#dcdfe6}.map-panel .drop-hint[data-v-2637b94e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:16px 32px;background:rgba(64,158,255,.9);color:#fff;border-radius:8px;font-size:16px;font-weight:700;pointer-events:none;z-index:1000;box-shadow:0 4px 16px rgba(64,158,255,.4)}.tree-actions[data-v-2637b94e]{display:flex;gap:0}.tree-actions .el-button[data-v-2637b94e]{padding:0 6px;font-size:12px;color:#409eff}.tree-actions .el-button[data-v-2637b94e]:hover{color:#66b1ff}.context-menu[data-v-2637b94e]{position:fixed;z-index:9999;background:#fff;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.15);padding:4px 0;min-width:130px}.context-menu .context-menu-item[data-v-2637b94e]{padding:8px 16px;font-size:13px;color:#303133;cursor:pointer;display:flex;align-items:center;transition:background .15s}.context-menu .context-menu-item i[data-v-2637b94e]{margin-right:6px;font-size:14px}.context-menu .context-menu-item[data-v-2637b94e]:hover{background:#ecf5ff}.context-menu .context-menu-item.danger[data-v-2637b94e]{color:#f56c6c}.context-menu .context-menu-item.danger[data-v-2637b94e]:hover{background:#fef0f0}.amap-marker-label{background:rgba(0,0,0,.7);color:#fff;padding:3px 8px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;user-select:none}