/* 组态画面（SCADA）画布与元素样式。 */
/* 组态画布 */
.scada-wrap{display:flex;gap:14px}
.scada-canvas{position:relative;background:#0b0f18 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="M20 0H0V20" fill="none" stroke="%231c2438" stroke-width="1"/></svg>') repeat;border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:520px;flex:1}
.scada-canvas>img.scada-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.sc-el img{display:block;pointer-events:none;user-select:none}
.sc-el .rz{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;background:var(--accent2);border:1px solid #fff;border-radius:2px;cursor:nwse-resize}
/* 组态元素：绝对定位（百分比），四类 */
.sc-el{position:absolute;transform:translate(-50%,-50%);color:var(--text);font-size:13px}
.sc-el.edit{cursor:move;outline:1px dashed var(--accent);outline-offset:2px}
.sc-el.edit.sel{outline:2px solid var(--accent2)}
.sc-el.alarm{color:#fecaca}
.sc-el.invalid{color:var(--muted)}
/* 数值标签 */
.sc-label{background:rgba(22,29,46,.92);border:1px solid var(--accent);border-radius:6px;padding:4px 10px;white-space:nowrap}
.sc-label .tv{font-weight:700}
.sc-label.alarm{border-color:var(--crit);background:rgba(239,68,68,.22)}
/* 进度条 */
.sc-progress{width:160px;background:rgba(22,29,46,.92);border:1px solid var(--line);border-radius:6px;padding:6px 8px;white-space:nowrap}
.sc-progress .pl{font-size:11px;color:var(--muted);margin-bottom:4px}
.sc-progress .pbar{height:12px;background:var(--panel2);border-radius:6px;overflow:hidden}
.sc-progress .pfill{height:100%;background:var(--ok);transition:width .3s}
.sc-progress .pv{font-size:11px;margin-top:3px;text-align:right}
/* 状态色块 */
.sc-block{width:80px;height:50px;border-radius:6px;background:var(--panel2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center}
.sc-block.on{background:rgba(239,68,68,.3);border-color:var(--crit);color:#fecaca}
/* 仪表盘容器 */
.sc-gauge{width:150px;height:130px}
/* 状态指示灯 */
.sc-light{display:flex;align-items:center;background:rgba(22,29,46,.85);border-radius:6px;padding:4px 8px}
.sc-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}
.sc-dot.ok{background:var(--ok);color:var(--ok)}
.sc-dot.on{background:var(--crit);color:var(--crit);animation:blink 1s infinite}
.sc-dot.off{background:var(--gray);color:transparent;box-shadow:none}
@keyframes blink{50%{opacity:.35}}
/* 管道/连线 */
.sc-pipeline{background:linear-gradient(90deg,#3b82f6,#22d3ee);border-radius:4px}
.sc-pipeline.flow{background:repeating-linear-gradient(90deg,#22d3ee 0 8px,#3b82f6 8px 16px);background-size:32px 100%;animation:pipeflow 1s linear infinite}
@keyframes pipeflow{to{background-position:32px 0}}
/* 迷你趋势图 */
.sc-spark{background:rgba(22,29,46,.85);border-radius:6px;padding:4px 6px}
.scada-side{width:280px;flex-shrink:0}

/* 绑定了测点的元素可下钻查看历史。 */
.sc-el.bound{cursor:pointer}
.sc-el.bound:hover{filter:brightness(1.12);outline:1px solid var(--accent2);outline-offset:3px}

/* 大屏模式：画布铺满全屏。 */
.scada-full{position:fixed;inset:0;z-index:800;background:var(--bg);padding:0;margin:0;gap:0}
.scada-full .scada-canvas{border-radius:0;border:0;height:100vh;min-height:100vh}
.scada-full .scada-side{display:none}

/* 内置图库选择器 */
.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.asset-item{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--edge);border-radius:9px;background:var(--panel2);cursor:pointer;text-align:center}
.asset-item:hover{border-color:var(--accent);background:var(--active)}
.asset-item img{width:100%;height:84px;object-fit:contain;background:#fff;border-radius:5px}
.asset-item span{font-size:12px;color:var(--text)}

/* 文本元素：标题与说明，无边框无背景 */
.sc-text{background:none;border:0;box-shadow:none;padding:0;line-height:1.45}
/* 文本左对齐：锚点改为左上角，便于按 x/y 精确排版标题 */
.sc-el.sc-text.left{transform:translate(0,0)}
