.visual-builder-container[data-v-6f7afc6a]{height:calc(100vh - 60px);display:flex;flex-direction:column;background:#f0f2f5}.toolbar[data-v-6f7afc6a]{height:48px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 16px;box-shadow:0 1px 4px rgba(0,0,0,.05);z-index:2}.left-action[data-v-6f7afc6a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-k[data-v-6f7afc6a]{font-size:12px;color:#606266;margin-left:4px}.toolbar-hint-icon[data-v-6f7afc6a]{cursor:help;color:#c0c4cc;font-size:16px;flex-shrink:0;outline:none}.toolbar-hint-icon[data-v-6f7afc6a]:focus-visible,.toolbar-hint-icon[data-v-6f7afc6a]:hover{color:#409eff}.scope-select[data-v-6f7afc6a]{width:140px}.device-ms[data-v-6f7afc6a]{width:min(360px,40vw)}.sidebar-title-row[data-v-6f7afc6a]{display:flex;align-items:center;justify-content:center;gap:6px}.main-layout[data-v-6f7afc6a]{flex:1;min-height:0;display:flex;padding:10px;gap:10px}.sidebar[data-v-6f7afc6a]{width:260px;background:#fff;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;flex-shrink:0;overflow-y:auto}.sidebar-title[data-v-6f7afc6a]{font-weight:600;font-size:13px;color:#666}.material-item[data-v-6f7afc6a]{padding:10px;background:#f8f9fa;border:1px dashed #dcdfe6;border-radius:6px;cursor:grab;min-height:118px;display:flex;flex-direction:column;gap:8px;font-size:12px;transition:all .2s}.material-item[data-v-6f7afc6a]:hover{border-color:#409eff;background:#ecf5ff;transform:translateY(-1px);box-shadow:0 2px 6px rgba(64,158,255,.2)}.material-head[data-v-6f7afc6a]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.material-hint-icon[data-v-6f7afc6a]{cursor:help;color:#c0c4cc;font-size:15px;flex-shrink:0;outline:none}.material-hint-icon[data-v-6f7afc6a]:focus-visible,.material-hint-icon[data-v-6f7afc6a]:hover{color:#409eff}.material-title[data-v-6f7afc6a]{font-size:13px;font-weight:600;color:#303133;min-width:0;flex:1}.material-preview[data-v-6f7afc6a]{border:1px solid #ebeef5;border-radius:6px;background:#fff;padding:8px;min-height:54px;display:flex;flex-direction:column;gap:4px}.pv-row[data-v-6f7afc6a]{display:flex;justify-content:space-between;align-items:center;font-size:11px}.pv-k[data-v-6f7afc6a]{color:#909399}.pv-v[data-v-6f7afc6a]{color:#303133;font-weight:600}.pv-v.strong[data-v-6f7afc6a]{color:#ff8c00}.pv-grid[data-v-6f7afc6a]{display:grid;gap:4px}.pv-grid3[data-v-6f7afc6a],.pv-grid[data-v-6f7afc6a]{grid-template-columns:repeat(3,1fr)}.pv-cell[data-v-6f7afc6a]{font-size:10px;padding:2px 4px;text-align:center;border-radius:4px;background:#fafafa;color:#909399}.pv-cell-v[data-v-6f7afc6a]{color:#303133;font-weight:600;background:#fff7e6}.pv-gauges[data-v-6f7afc6a]{display:flex;align-items:center;gap:8px}.pv-dot[data-v-6f7afc6a]{width:20px;height:20px;border-radius:50%;border:3px solid #ff8c00;display:inline-block}.pv-bar[data-v-6f7afc6a]{height:10px;border-radius:999px;background:linear-gradient(90deg,#ff8c00,#ffd591)}.pv-bar2[data-v-6f7afc6a]{width:72%;background:linear-gradient(90deg,#409eff,#91caff)}.pv-status[data-v-6f7afc6a]{display:flex;align-items:center;gap:6px;font-size:11px;color:#606266}.pv-light[data-v-6f7afc6a]{width:10px;height:10px;border-radius:50%;background:#d9d9d9}.pv-light.on[data-v-6f7afc6a]{background:#67c23a}.canvas-area[data-v-6f7afc6a]{flex:1;min-width:0;min-height:0;overflow:auto;background:#f5f7fa;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.canvas-area.is-edit[data-v-6f7afc6a]{box-shadow:inset 0 0 0 1px rgba(64,158,255,.15)}.header-action[data-v-6f7afc6a]{display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;padding:4px 8px;background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.device-label[data-v-6f7afc6a]{font-size:14px;color:#606266;margin-right:8px}[data-v-6f7afc6a] .header-action .el-input__wrapper{background-color:#ff8c00;border-radius:20px;box-shadow:none!important}[data-v-6f7afc6a] .header-action .el-input__inner{color:#fff;font-weight:700;text-align:center}[data-v-6f7afc6a] .header-action .el-select .el-input .el-select__caret{color:#fff}