.g-chart{--animation-duration:.2s;position:relative;overflow:visible}.g-chart:hover .g-toolbar{display:flex}.g-chart>svg{overflow:visible}.g-chart.g-loaded .g-bar,.g-chart.g-loaded .g-bar-percent{transition:var(--animation-duration) linear;transition-property:opacity,width,height,x,y,transform}.g-chart.g-loaded .g-value-label{transition:var(--animation-duration) linear;transition-property:opacity,transform}.g-chart.g-loaded .g-per-line>rect,.g-chart.g-loaded .g-per-line text{transition:var(--animation-duration) linear;transition-property:width,x,y}.g-chart.g-loaded .g-slice{transition:var(--animation-duration) linear;transition-property:opacity,transform}.g-chart.g-loaded.g-animate{--animation-duration:1s}.g-chart{--g-accent:var(--primary-color);--g-text:var(--text-color);--g-text-muted:var(--text-light);--g-border:var(--border-light)}.g-gantt{--gantt-grid-color:var(--g-border);--gantt-text-color:var(--g-text);--gantt-text-muted:var(--g-text-muted);--gantt-link-color:var(--g-accent);--gantt-today-bg:#2563eb1f}.g-workflow{--workflow-accent:var(--g-accent);--workflow-text:var(--g-text);--workflow-text-muted:var(--g-text-muted);--workflow-border:var(--g-border)}.g-scada{--scada-accent:var(--g-accent);--scada-text:#fff;--scada-muted:#8892a6}.g-transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,width,height,max-width,max-height,min-width,min-height;transition-duration:.2s;transition-timing-function:cubic-bezier(.645,.045,.355,1)}.g-title{justify-content:center;align-items:center;width:100%;font-size:1rem;font-weight:500;line-height:1.5;display:inline-flex;position:absolute;top:0;left:0}.g-title-desc{cursor:pointer;padding:0 6px}.g-value-label{fill:#f1f1f1;pointer-events:none;opacity:0;dominant-baseline:central;font-weight:lighter}.g-value-label.g-opacity-100{opacity:1}.g-value-label.g-light-bg{fill:#555}.g-value-label.g-font-normal{font-weight:400}.g-value-label.g-stroke-text{opacity:.9;fill:var(--text-color)}.g-axis-line{stroke:var(--bg-gray-400);stroke-dasharray:3 2}.g-axis-line.g-secondary{stroke:var(--bg-gray-200)}.g-axis-line.g-zero,.g-axis-tick{stroke:var(--border-color)}.g-axis-name{fill:var(--text-color);opacity:.9;font-weight:lighter;transition:opacity .2s linear}.g-axis-name:hover{opacity:1}.g-axis-value{fill:var(--text-light);opacity:.9;font-weight:lighter}.g-legend{cursor:pointer;transition:opacity .2s linear}.g-legend>text{dominant-baseline:central;fill:var(--text-color);opacity:.7}.g-legend:hover>rect{opacity:.9}.g-legend:hover>text{opacity:1}.g-legend.g-deactive{opacity:.4}.g-line,.g-line-fill{transition:d .2s linear}.g-dot{cursor:pointer;transition:all .2s linear;transition-property:cx cy r}.g-dot:hover{r:5}.g-bar{cursor:pointer}.g-bar:hover,.g-bar.g-hover{opacity:.95}.g-bar.g-deactive{opacity:.6}.g-bar-list .g-bar{fill:#0000}.g-bar-list .g-value-label{opacity:1}.g-bar-percent{pointer-events:none}.g-rounded-corner>rect{transition:all .2s linear;transition-property:width x y}.g-tooltip{pointer-events:none;background-color:var(--bg-content);color:var(--text-color);z-index:1004;border-radius:4px;padding:8px 12px;transition-property:left,top;transition-duration:.1s;transition-timing-function:linear;position:fixed;transform:translate(calc(10px - 50%),30px);box-shadow:0 0 1px #0000004d,0 4px 14px #0000001a}.g-tooltip-title{border-bottom:1px solid var(--border-light);font-weight:600}.g-tooltip-value{text-align:end;padding:0 4px;font-weight:600}.g-toolbar{z-index:1;gap:4px;padding:2px;display:none;position:absolute;top:5px;right:10px}.g-toolbar-left{left:10px;right:auto}.g-per-line{cursor:pointer;transition:opacity .2s linear}.g-per-line:hover,.g-per-line.g-hover{opacity:.95}.g-per-line.g-deactive{opacity:.4}.g-empty-per{fill:var(--gray-color);opacity:.1}.g-slice{cursor:pointer}.g-slice:hover,.g-slice.g-hover{opacity:.95}.g-slice.g-deactive{opacity:.4}.g-slice-shadow{opacity:.1;pointer-events:none}.g-slice-label{transition-duration:.25s;transform:translate(0)}.g-slice-label-line{stroke:var(--text-color);opacity:.3}.g-slice-label-name{fill:var(--text-color);opacity:.7;cursor:pointer;dominant-baseline:central}.g-slice-label-name:hover{opacity:1}.g-slice-label-name.g-hover{font-weight:600}.g-empty-circle{fill:var(--gray-color);opacity:.1}.g-inner-circle{fill:var(--bg-color)}.g-inner-text{fill:var(--text-color);dominant-baseline:central;text-anchor:middle}.g-radial-item{cursor:pointer;transition:opacity .2s linear}.g-radial-item.g-deactive{opacity:.4}.g-radial-item text{dominant-baseline:central}.g-map{background-color:#f8f8f8;border:1px solid #eee;overflow:hidden}.g-map svg path{stroke:#999;fill:#f0f8ff;stroke-width:.1px}.g-mini-chart-bg{opacity:.08}.g-gantt{--gantt-grid-color:var(--border-light);--gantt-text-color:var(--text-color);--gantt-today-bg:var(--primary-4);width:100%;position:relative;overflow:auto}.g-gantt-wrap{display:flex}.g-gantt-sidebar{border-right:1px solid var(--gantt-grid-color);background:var(--bg-content);flex:0 0 220px}svg text{-webkit-user-select:none;user-select:none}svg text.label-on-bar{paint-order:stroke}.g-gantt-canvas{position:relative;overflow:hidden}.g-gantt-grid{stroke:var(--gantt-grid-color)}.g-gantt-bar{rx:3px;ry:3px;cursor:grab;filter:drop-shadow(0 1px #0000000a)}.g-gantt--dragging .g-gantt-bar{cursor:grabbing}.g-gantt-tooltip{pointer-events:none;background:var(--bg-content);color:var(--text-color);white-space:nowrap;z-index:9999;opacity:0;border-radius:4px;padding:6px 8px;font-size:12px;transition:opacity .12s ease-out,transform .12s ease-out;position:fixed;transform:translateY(4px);box-shadow:0 0 1px #0000004d,0 4px 14px #0000001a}.g-gantt-tooltip.is-visible{opacity:1;transform:translateY(0)}.g-gantt-timeline{color:var(--gantt-text-color);border-bottom:1px solid var(--gantt-grid-color);background:var(--bg-content);box-sizing:border-box;padding-top:2px;padding-bottom:2px}.g-gantt-hl-bottom{z-index:0}.g-gantt-today-line{background:var(--primary-4);width:1px;position:absolute;top:0;bottom:0}.g-gantt-today-bubble{height:18px;color:var(--bg-content);background:var(--gantt-text-color);border-radius:9px;padding:0 6px;font-size:13px;line-height:18px;position:absolute;top:0;transform:translate(-50%,-10%);box-shadow:0 1px 2px #00000014}.g-gantt-bg-rows{position:absolute;inset:0}.g-gantt-row{border-bottom:1px solid var(--gantt-grid-color);background:0 0;position:absolute;left:0;right:0}.g-gantt-row.is-alt{background:color-mix(in oklab,var(--bg-highlight) 10%,transparent)}.g-gantt-sidebar__header{border-bottom:1px solid var(--gantt-grid-color)}.g-gantt-bar:hover{opacity:.9}.map-container[data-v-944a71ad]{cursor:grab;position:relative}.map-container[data-v-944a71ad]:active{cursor:grabbing}.g-workflow .edge-path.is-internal{stroke-width:2px;fill:none;stroke:var(--edge-color);opacity:.95}.g-workflow .node-pill{box-sizing:border-box;background:#fff;border:1px solid #0f172a14;border-radius:26px;align-items:center;gap:18px;width:100%;height:100%;padding:18px 26px;transition:box-shadow .18s,border-color .18s,background .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px #0f172a05}.g-workflow .node-pill:hover{border-color:#0f172a1f;box-shadow:0 10px 20px #0f172a1a,inset 0 0 0 1px #fff9}.g-workflow .node-pill-icon{background:var(--accent-soft,#10a37f47);color:#0f172abf;z-index:1;width:40px;height:40px;box-shadow:none;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex;position:relative}.g-workflow .node-pill-icon svg{width:18px;height:18px}.g-workflow .node-pill-icon span{line-height:1;display:inline-block}.g-workflow .node-pill-text{z-index:1;color:#0f172a;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex;position:relative}.g-workflow .node-pill-title{font-size:15px;font-weight:600;line-height:1.2}.g-workflow .node-pill-subtitle{letter-spacing:.08em;text-transform:uppercase;color:#0f172a80;font-size:12px}.g-workflow .node-pill-tag{letter-spacing:.12em;color:#0f172a6b;z-index:1;background:#0f172a0f;border-radius:999px;margin-left:auto;padding:4px 12px;font-size:11px;position:relative;box-shadow:inset 0 0 0 1px #ffffff9e}.g-workflow .node-pill--start,.g-workflow .node-pill--end,.g-workflow .node-pill--default{background:#fff}.g-workflow .node-pill--start .node-pill-icon,.g-workflow .node-pill--end .node-pill-icon,.g-workflow .node-pill--default .node-pill-icon{color:#0f172abf}.g-workflow .node-diamond{fill:#ffffffd6;stroke:var(--accent,#3b82f6);stroke-width:1.4px;filter:drop-shadow(0 18px 36px #0f172a29);paint-order:stroke}.g-workflow .node-diamond-title{fill:#0f172a;font-size:15px;font-weight:600}.g-workflow .node-diamond-subtitle{letter-spacing:.08em;text-transform:uppercase;fill:#0f172a8c;font-size:12px}.g-workflow .node-body-expanded{fill:#fff;stroke:#0b132014;filter:drop-shadow(0 16px 32px #0f172a1a)}.g-workflow .node-title-bar{fill:#e2f0ffe0;stroke:#0000}.g-workflow .node-title-bar.is-group{fill:#fff;stroke:#0000}.g-workflow .node-label-expanded{fill:#0f172a;letter-spacing:.04em;font-size:14px}.g-workflow .note-body{fill:#fff5cd;stroke:#f7c85473}.g-workflow .anchor-hit{fill:#0000;cursor:crosshair;pointer-events:all}.g-workflow .anchor-point{stroke:#0b13201f;stroke-width:1px;fill:#fff;cursor:crosshair;transition:transform 80ms,r 80ms,fill 80ms}.g-workflow .anchor-point.snap-target{fill:var(--primary-color);stroke:var(--primary-color);transform:scale(1.15)}.g-workflow .anchor-point.small{r:3.5px}.g-workflow .anchor-label{fill:#0b132099;font-size:12px}.g-workflow .resize-handle{fill:#fffffff5;stroke:#e2f0ffe6;cursor:nwse-resize;box-shadow:0 4px 12px #0f172a14}.g-workflow .resize-handle:hover{fill:#e2f0ffeb}.g-workflow .loop-icon{pointer-events:none}.g-workflow .temp-local{stroke:var(--primary-color);stroke-width:2px;stroke-dasharray:6 4;fill:none;opacity:1}.g-workflow .note-textarea{color:#4a4a4a;resize:none;box-sizing:border-box;background:#ffffffeb;border:1px solid #0b13201f;border-radius:6px;outline:none;width:100%;min-height:80px;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.4;transition:border-color .18s,box-shadow .18s}.g-workflow .note-textarea:focus{border-color:#2563ff73;box-shadow:0 0 0 3px #2563ff2e}.g-workflow .note-text{color:#4a4a4a;white-space:pre-wrap;box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4}.g-workflow .title-fo{pointer-events:none}.g-workflow .title-bar-content{color:#0b1320;justify-content:center;align-items:center;gap:8px;height:100%;font-size:14px;font-weight:700;display:flex}.g-workflow .title-bar-content .title-icon{box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.g-workflow .title-bar-content .title-text{line-height:1}.g-workflow .workflow-shell{--bg-color:#f7f8fb;--panel-bg:#ffffffe6;--panel-border:#e6ebf4;--panel-shadow:0 22px 46px #0f172a1f;--primary-color:#2563eb;--primary-soft:#2563eb1f;--text-color:#0f172a;--text-muted:#6b7280;--muted:#9aa3b2;--edge-color:#cfd6e4;--edge-muted:#cfd6e4;--node-stroke:#ffffffb3;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:100%;color:var(--text-color);background:linear-gradient(#f7f9fd,#eef1f8);gap:20px;padding:20px 24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto;display:flex}.g-workflow .palette{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);border-radius:26px;flex-direction:column;gap:18px;width:260px;min-height:0;padding:20px 22px 22px;display:flex;box-shadow:0 12px 28px #0f172a14}.g-workflow .palette.collapsed{align-items:center;gap:14px;padding:18px 12px;width:88px!important}.g-workflow .palette.collapsed .palette-title,.g-workflow .palette.collapsed .palette-search,.g-workflow .palette.collapsed .palette-groups{display:none}.g-workflow .palette-header{justify-content:space-between;align-items:center;display:flex}.g-workflow .palette-title span{font-size:15px;font-weight:600}.g-workflow .palette-toggle{cursor:pointer;width:36px;height:36px;color:var(--text-muted);background:#ffffff73;border:none;border-radius:12px;justify-content:center;align-items:center;transition:background .18s,color .18s,box-shadow .18s;display:flex;box-shadow:inset 0 0 0 1px #0f172a0a}.g-workflow .palette-toggle:hover{color:var(--primary-color);background:#10a37f29;box-shadow:inset 0 0 0 1px #10a37f3d}.g-workflow .palette-search .n-input{background:#ffffffd1;border-radius:14px;box-shadow:inset 0 0 0 1px #0f172a0f}.g-workflow .palette-search .n-input__state-border{display:none}.g-workflow .palette-search .n-input__input-el{color:var(--text-color);font-size:13px}.g-workflow .palette-groups{flex:1;min-height:0}.g-workflow .palette-groups .palette-nav-wrapper{flex-direction:column;flex:1;min-height:0;display:flex}.g-workflow .palette-groups .palette-nav{background:0 0;border:none;flex:1;padding:0}.g-workflow .palette-groups .palette-nav .f1-nav-group{margin-bottom:16px}.g-workflow .palette-groups .palette-nav .f1-nav-group:last-of-type{margin-bottom:0}.g-workflow .palette-groups .palette-nav .f1-nav-item{color:var(--text-color);background:0 0;border-radius:14px;padding:2px 0;transition:color .18s}.g-workflow .palette-groups .palette-nav .f1-nav-item.selected,.g-workflow .palette-groups .palette-nav .f1-nav-item.expand,.g-workflow .palette-groups .palette-nav .f1-nav-item:hover,.g-workflow .palette-groups .palette-nav .f1-nav-item:focus{color:inherit;background:0 0}.g-workflow .palette-groups .palette-nav .f1-nav-item .f1-icon{color:var(--text-muted);transition:color .18s}.g-workflow .palette-groups .palette-nav .f1-nav-item.expand .f1-icon{color:var(--primary-color)}.g-workflow .palette-groups .palette-nav .f1-nav-content{width:100%;display:block}.g-workflow .palette-groups .palette-nav .f1-nav-sub{background:0 0;border:none;margin:0;padding:0}.g-workflow .palette-groups .palette-nav .f1-nav-sub .f1-nav-item{margin:0}.g-workflow .palette-groups .palette-nav .palette-card{box-shadow:none;background:0 0;border:1px solid #0000;border-radius:16px;align-items:center;gap:12px;padding:10px 12px;transition:box-shadow .18s,border-color .18s,background .18s;display:flex}.g-workflow .palette-groups .palette-nav .palette-card:hover{background:#ffffffe6;border-color:#0f172a14;box-shadow:0 5px 12px #0f172a1a}.g-workflow .palette-groups .palette-nav .palette-card .card-icon{background:#ffffffeb;border-radius:12px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:inset 0 0 0 1px #ffffffb3}.g-workflow .palette-groups .palette-nav .palette-card .card-body{flex-direction:column;gap:2px;display:flex}.g-workflow .palette-groups .palette-nav .palette-card .card-title{color:var(--text-color);font-size:13px;font-weight:600}.g-workflow .palette-groups .palette-nav .palette-card .card-desc{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.g-workflow .group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}.g-workflow .palette-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:40px 0;font-size:13px;display:flex}.g-workflow .palette-empty .n-icon{color:var(--primary-color);font-size:20px}.g-workflow .palette-collapsed-list{flex-direction:column;align-items:center;gap:12px;display:flex}.g-workflow .palette-collapsed-item{width:40px;height:40px;color:var(--primary-color);cursor:grab;background:#10a37f29;border-radius:14px;justify-content:center;align-items:center;transition:box-shadow .18s,border-color .18s,background .18s;display:flex;box-shadow:inset 0 0 0 1px #10a37f33}.g-workflow .palette-collapsed-item:hover{background:#10a37f33;box-shadow:0 8px 18px #10182824,inset 0 0 0 1px #10a37f47}.g-workflow .canvas-area{border:1px solid var(--panel-border);min-width:0;box-shadow:var(--panel-shadow);background:#ffffffc7;border-radius:32px;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.g-workflow .canvas-topbar{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;top:22px;left:28px;right:28px}.g-workflow .canvas-toolbar{-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);pointer-events:auto;background:#ffffffdb;border:1px solid #0f172a0f;border-radius:18px;padding:6px 10px;box-shadow:0 14px 28px #0f172a24}.g-workflow .canvas-zoom{pointer-events:auto;color:var(--text-muted);background:#ffffffad;border:1px solid #0f172a0f;border-radius:14px;padding:4px 12px;font-size:13px;font-weight:600}.g-workflow .workflow-svg{flex:1;width:100%;height:100%}.g-workflow .workflow-svg.panning{cursor:grab}.g-workflow .workflow-svg.panning:active{cursor:grabbing}.g-workflow .canvas-bg{pointer-events:none}.g-workflow .alignment-overlay .guide-line{stroke:#10a37f52;stroke-width:1.2px;stroke-dasharray:4 6;pointer-events:none}.g-workflow .alignment-overlay .guide-line.horizontal{stroke-dasharray:6 6}.g-workflow .inspector{background:var(--panel-bg);border:1px solid var(--panel-border);box-sizing:border-box;width:320px;min-width:260px;box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);border-radius:28px;padding:24px 24px 22px}.g-workflow .inspector-panel{flex-direction:column;gap:18px;height:100%;display:flex}.g-workflow .inspector-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.g-workflow .inspector-title{color:var(--text-color);font-size:18px;font-weight:700}.g-workflow .inspector-subtitle{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:12px}.g-workflow .inspector-actions{gap:8px;display:flex}.g-workflow .inspector-fields{flex-direction:column;gap:12px;display:flex}.g-workflow .inspector-fields label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}.g-workflow .inspector-meta{color:var(--text-muted);gap:20px;font-size:12px;display:flex}.g-workflow .inspector-edge{color:var(--text-color);flex-direction:column;gap:8px;font-size:13px;display:flex}.g-workflow .inspector-empty{text-align:left;color:var(--text-muted);margin-top:40px}.g-workflow .inspector-empty .n-icon{color:var(--primary-color);font-size:24px}.g-workflow .inspector-empty h4{color:var(--text-color);margin:12px 0;font-size:15px}.g-workflow .inspector-empty ul{flex-direction:column;gap:8px;padding-left:20px;display:flex}.g-workflow .node-group{cursor:move}.g-workflow .node-body{stroke:var(--node-stroke);stroke-width:1.2px;filter:url(#shadow);transition:transform .2s,filter .2s,stroke .2s}.g-workflow .node-group[data-selected=true] .node-card-bg{stroke:var(--primary-color);filter:drop-shadow(0 18px 36px #10a37f47)}.g-workflow .node-group[data-selected=true] .node-circle{stroke:var(--primary-color);filter:drop-shadow(0 12px 28px #10a37f47)}.g-workflow .node-group[data-selected=true] .note-body{stroke:#10a37f59;filter:drop-shadow(0 12px 26px #10a37f38)}.g-workflow .node-group:hover .node-card-bg,.g-workflow .node-group:hover .node-circle,.g-workflow .node-group:hover .note-body{filter:drop-shadow(0 16px 32px #0f172a2e)}.g-workflow .node-group.is-expanded>g>.node-body-expanded{stroke:#0f172a14;stroke-dasharray:8 10;stroke-width:1px}.g-workflow .node-group.is-expanded>g>.node-title-bar{stroke:#0000}.g-workflow .node-label,.g-workflow .node-label-expanded{pointer-events:none;fill:var(--text-color);font-size:13px;font-weight:600}.g-workflow .anchors{opacity:0;pointer-events:none;transition:opacity .18s}.g-workflow .anchors.visible{opacity:1;pointer-events:auto}.g-workflow .anchor-point{fill:#fff;stroke:#0f172a1f;stroke-width:1.4px;cursor:crosshair;transition:all .14s}.g-workflow .anchor-point:hover,.g-workflow .anchor-point.snap-target{fill:var(--primary-color);stroke:var(--primary-color);r:7px}.g-workflow .anchor-point.small{r:3.5px;stroke-width:1px;fill:#10a37ff2}.g-workflow .anchor-label{pointer-events:none;fill:var(--text-muted);font-size:12px}.g-workflow .node-group:not(:hover) .anchors,.g-workflow .node-group[data-selected=false] .anchors{opacity:0;pointer-events:none}.g-workflow .edges-layer .edge-path{stroke:var(--edge-color);stroke-width:1.8px;fill:none;cursor:pointer;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.86;transition:stroke .18s,opacity .18s}.g-workflow .edges-layer .edge-path.muted{stroke:var(--edge-muted);opacity:.45}.g-workflow .edges-layer .edge-path.highlighted,.g-workflow .edges-layer .edge-path:hover,.g-workflow .edges-layer .edge-path[data-selected=true]{stroke:var(--primary-color);opacity:1}.g-workflow .temp-line{stroke:var(--primary-color);stroke-width:2px;stroke-dasharray:8 5;pointer-events:none}@keyframes compressor-flow{to{stroke-dashoffset:-66px}}@keyframes pump-flow{to{stroke-dashoffset:-68px}}.g-scada .metric-text{font-size:11px;font-weight:500}.g-scada .flowline-base{fill:none;stroke:#ffffff59;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.g-scada .flowline{fill:none;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18 12;stroke-dashoffset:0;opacity:0}.g-scada .flowline.active{opacity:1;animation:1.3s linear infinite screw-flow}@keyframes screw-flow{to{stroke-dashoffset:-60px}}.g-scada svg{font-family:var(--scada-font,"DIN Alternate", "Segoe UI", sans-serif)}.g-scada .metric{fill:#ebf4ffeb;font-size:12px;font-weight:600}.g-scada .metric-mini{fill:#ebf4ffd9;font-size:10px;font-weight:600}.g-scada .generator,.g-scada .energy-unit{font-family:var(--scada-font,"DIN Alternate", "Segoe UI", sans-serif)}.g-scada .energy-unit .charge-fill{transition:fill .3s}.g-scada rect,.g-scada circle,.g-scada ellipse,.g-scada path{transition:fill .3s}.g-scada text{pointer-events:none;-webkit-user-select:none;user-select:none}.g-scada path{transition:stroke .3s}.g-scada .section.row label.prop-label{opacity:.75;margin:0}.g-scada .geom-editor .section.row{align-items:center;gap:8px;grid-template-columns:50px minmax(0,1fr) 50px minmax(0,1fr)!important;display:grid!important}.g-scada .geom-editor .section.row+.section.row{margin-top:6px}.g-scada .geom-editor label{width:50px}.g-scada .geom-editor label.prop-label{opacity:.75;margin:0}.g-scada .connector-section{gap:8px;display:grid}.g-scada .connector-section .anchor-row{grid-template-columns:50px 80px 80px minmax(0,1fr);align-items:center;gap:6px;display:grid}.g-scada .connector-section .anchor-name{width:50px}.g-scada .connector-section .anchor-name .prop-label{opacity:.75;white-space:nowrap;margin:0;display:block}.g-scada .generic-props-editor{padding:0}.g-scada .generic-props-editor .empty{color:var(--n-typography-text-3);font-size:13px}.g-scada .prop-label{color:var(--n-typography-text-2);white-space:nowrap;width:100%;margin-bottom:6px;font-size:13px;line-height:1.35;display:block}.g-scada .prop-label.expr{color:var(--n-primary-color,#4af)}.g-scada .prop-control{flex:1}.g-scada .props-nav .color-chip{border-radius:3px;width:16px;height:16px}.g-scada .props-nav .cat-body{gap:10px;width:100%;display:grid}.g-scada .props-nav .prop-field{flex-direction:column;width:100%;font-size:13px;display:flex}.g-scada .props-nav .prop-field .prop-label{opacity:.75;width:100%;margin-bottom:6px;display:block!important}.g-scada .props-nav .prop-field .f1-input,.g-scada .props-nav .prop-field .n-input,.g-scada .props-nav .prop-field .n-input-wrapper{width:100%}.g-scada .props-nav .prop-field.row-line{grid-template-columns:50px minmax(0,1fr);align-items:center;column-gap:8px;display:grid}.g-scada .props-nav .prop-field.row-line .prop-label{white-space:nowrap;width:auto;margin:0}.g-scada .props-nav .prop-field.row-line .f1-input,.g-scada .props-nav .prop-field.row-line .n-input,.g-scada .props-nav .prop-field.row-line .n-input-wrapper{width:100%}.g-scada .props-nav .props-body{padding:6px 0}.g-scada .props-nav .f1-nav-item,.g-scada .props-nav .scada-nav-item{align-items:flex-start;height:auto;box-shadow:none!important;background:0 0!important;border-radius:0!important;padding:6px 0!important}.g-scada .props-nav .f1-nav-item:before,.g-scada .props-nav .scada-nav-item:before,.g-scada .props-nav .f1-nav-item:hover,.g-scada .props-nav .scada-nav-item:hover,.g-scada .props-nav .f1-nav-item:hover:before,.g-scada .props-nav .scada-nav-item:hover:before{background:0 0!important}.g-scada .props-nav .f1-nav-content{width:100%;display:block;padding:0!important}.g-scada .f1-scada,.g-scada .f-scada{--scada-symbol:#7acbff;--scada-alarm:#ff5252;--scada-muted:#444;--scada-accent:#4af;--scada-accent-2:#88d0ff;--scada-accent-1:#f88}.g-scada .f-scada{-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.g-scada .f-scada .f-scada-palette{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#cdd3dc;z-index:11;background:#0000008c;flex-direction:column;width:150px;height:100%;padding:6px 6px 12px;font-size:12px;display:flex;position:absolute;top:0;left:0;box-shadow:2px 0 4px #0006}.g-scada .f-scada .f-scada-palette .p-title{margin-bottom:4px;font-weight:600}.g-scada .f-scada .f-scada-palette .p-groups{flex-direction:column;flex:1;gap:8px;display:flex;overflow:auto}.g-scada .f-scada .f-scada-palette .p-group{display:block}.g-scada .f-scada .f-scada-palette .p-group .p-title{cursor:pointer;align-items:center;gap:8px;display:flex}.g-scada .f-scada .f-scada-palette .p-group .p-items{flex-direction:column;gap:6px;display:flex;overflow:visible}.g-scada .f-scada .f-scada-palette .p-group .p-item{flex-direction:row;align-items:center;gap:8px;padding:8px 6px;display:flex}.g-scada .f-scada .f-scada-palette .p-group .p-item .p-icon{justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.g-scada .f-scada .f-scada-palette .p-group .p-item .p-label{text-align:left;color:#fff;flex:1}.g-scada .scada-nav .scada-nav-item{box-sizing:border-box;cursor:grab;background:0 0;border:none;border-left:3px solid #0000;flex-flow:row;align-items:center;gap:10px;width:100%;height:40px;padding:6px 8px 6px 12px;transition:transform .12s,background .18s,box-shadow .18s,border-color .18s;display:flex}.g-scada .scada-nav .scada-nav-item:hover,.g-scada .scada-nav .scada-nav-item:focus-visible{z-index:2;background:#335268;border-left:3px solid #4af;box-shadow:0 8px 20px #0a1e320f}.g-scada .scada-nav .scada-nav-item .p-icon{justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.g-scada .palette-nav{background:0 0;border:none;flex:1;padding:0}.g-scada .palette-nav .f1-nav-group{margin-bottom:16px}.g-scada .palette-nav .f1-nav-group:last-of-type{margin-bottom:0}.g-scada .palette-nav .f1-nav-item{flex-wrap:nowrap;align-items:center;gap:10px;padding:2px 0;display:flex}.g-scada .palette-nav .f1-nav-content{width:100%;display:block}.g-scada .scada-nav .scada-nav-item .p-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.g-scada .scada-nav .scada-nav-item{flex-wrap:nowrap;align-items:center;gap:10px;display:flex;flex-direction:row!important}.g-scada .scada-nav .scada-nav-item .p-label{white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden}.g-scada .scada-nav .scada-nav-item:hover .p-icon svg,.g-scada .scada-nav .scada-nav-item:focus-visible .p-icon svg{filter:drop-shadow(0 6px 14px #61c8ff47)}.g-scada .scada-nav .scada-nav-item .p-label{text-align:left;color:#fff;flex:1}.g-scada .scada-nav .scada-nav-item:hover .p-label,.g-scada .scada-nav .scada-nav-item:focus-visible .p-label{color:#4af;font-weight:600}.g-scada .f-scada .f-scada-palette .p-items{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:start;gap:6px;display:grid;overflow:hidden auto}.g-scada .f-scada .f-scada-palette .p-item{cursor:grab;text-align:center;--ic:#61c8ff;background:linear-gradient(#263747,#1f2d3a);border:1px solid #33424f;border-radius:6px;flex-direction:column;align-items:center;gap:4px;height:56px;min-height:56px;max-height:56px;padding:6px;transition:transform .12s,background .2s;display:flex}.g-scada .f-scada .f-scada-palette .p-item:active{cursor:grabbing}.g-scada .f-scada .f-scada-palette .p-item:hover,.g-scada .f-scada .f-scada-palette .p-item:focus-visible{z-index:2;background:#335268;border-color:#4af;transform:translateY(-2px);box-shadow:0 6px 18px #143c5a14,0 2px 6px #143c5a0f}.g-scada .f-scada .f-scada-palette .p-item .p-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.g-scada .f-scada .f-scada-palette .p-item .p-icon.glow{position:relative}.g-scada .f-scada .f-scada-palette .p-item .p-icon.glow:before{content:"";background:radial-gradient(circle,var(--ic),transparent 60%);opacity:.28;pointer-events:none;border-radius:50%;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.g-scada .f-scada .f-scada-palette .p-item:hover .p-icon.glow:before{opacity:.6}.g-scada .f-scada .f-scada-palette .p-item:hover .p-icon.glow svg{filter:drop-shadow(0 6px 14px #61c8ff52)}.g-scada .f-scada .f-scada-palette .p-item:hover .p-label,.g-scada .f-scada .f-scada-palette .p-item:focus-visible .p-label{color:#4af;font-weight:600}.g-scada .f-scada .f-scada-palette .p-item:focus-visible{outline-offset:2px;outline:3px solid #4aafff29}.g-scada .f-scada .f-scada-palette .p-item.it-alarm{--ic:#ff6060}.g-scada .f-scada .f-scada-palette .p-item.it-valve{--ic:#7acbff}.g-scada .f-scada .f-scada-palette .p-item.it-pipe{--ic:#47d0ff}.g-scada .f-scada .f-scada-palette .p-item.it-pump,.g-scada .f-scada .f-scada-palette .p-item.it-motor,.g-scada .f-scada .f-scada-palette .p-item.it-sensor{--ic:#9fd3ff}.g-scada .f-scada .f-scada-palette .p-item .p-label{color:#cdd3dc;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.g-scada .f-scada .f-scada-palette .p-gridcfg{flex-direction:column;gap:4px;margin-top:6px;display:flex}.g-scada .f-scada .f-scada-palette .p-gridcfg label{align-items:center;gap:4px;font-size:11px;display:flex}.g-scada .f-scada .f-scada-palette .p-gridcfg .zoom-row{align-items:center;gap:6px;margin-top:6px;display:flex}.g-scada .f-scada .f-scada-palette .p-gridcfg .zoom-row .mini{color:#cdd3dc;cursor:pointer;background:#253545;border:1px solid #33424f;border-radius:3px;height:22px;padding:0 6px}.g-scada .f-scada .f-scada-palette .p-gridcfg .zoom-row .mini:hover{background:#335268}.g-scada .f-scada .f-scada-palette .p-gridcfg .zoom-row .zval{text-align:center;opacity:.9;width:46px}.g-scada .f-scada .f-scada-palette .p-gridcfg .hint{opacity:.7;margin-top:4px;font-size:10px}.g-scada .f-scada .f-scada-palette input[type=number]{color:#cdd3dc;background:#1e2a35;border:1px solid #33424f;border-radius:3px;width:60px;padding:2px 4px}.g-scada .f-scada .f-scada-palette input[type=checkbox]{accent-color:#4af}.g-scada .f-scada svg{cursor:default}.g-scada .anchor-layer circle{transition:fill .15s,stroke .15s}.g-scada .f-scada .selected-outline{stroke:#4af;stroke-dasharray:4 4}.g-scada .f-scada-main{z-index:10;flex-direction:column;display:flex;position:absolute;inset:0}.g-scada .f-scada-side{z-index:12;color:#cdd3dc;box-sizing:border-box;background:#0000008c;width:250px;height:100%;padding:10px;position:absolute;top:0;right:0;box-shadow:-2px 0 6px #0006}.g-scada .f-scada-toolbar{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#000000eb;border:none;border-radius:12px;align-items:center;gap:8px;height:44px;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:10px;left:10px;transform:none;box-shadow:0 10px 28px #0a141e38,0 2px 10px #0a141e2e,inset 0 1px #ffffff0f}.g-scada .f-scada-toolbar :deep(.f1-toolbar){background:0 0;gap:6px;padding:0}.g-scada .f-scada-toolbar :deep(.divider){opacity:.8;background:linear-gradient(#ffffff2e,#ffffff0f);border:none;width:1px;height:22px;margin:0 6px;box-shadow:inset 0 0 0 1px #00000014}.g-scada .f-scada-side.props-mode .header-row{margin-top:2px}.g-scada .f-scada-canvas{flex:auto;position:relative;overflow:hidden}.g-scada .f-scada-canvas svg{width:100%;height:100%;display:block}.g-scada .f1-scroll{overflow:auto}.g-scada .f-scada-side .side-title{margin-bottom:4px;font-weight:600}.g-scada .f-scada-side .side-list{flex:1;overflow:auto}.g-scada .f-scada-side .side-item{cursor:pointer;border-radius:3px;justify-content:space-between;align-items:center;gap:4px;padding:2px 4px;display:flex}.g-scada .f-scada-side .side-item.active{background:#1e2a35}.g-scada .connector-section .anchor-row{grid-template-columns:50px 80px 80px minmax(0,1fr);align-items:center;gap:6px;margin-top:8px;display:grid}.g-scada .connector-section .anchor-name{color:#cdd3dc;white-space:nowrap;flex-direction:column;gap:2px;font-size:11px;display:flex}.g-scada .connector-section .anchor-title{color:#fff;font-weight:600}.g-scada .connector-section :deep(.anchor-side){opacity:.85;font-size:10px}.g-scada .anchor-badge rect{transition:fill .2s,stroke .2s}.g-scada .f-scada-side .side-item.locked{opacity:.6}.g-scada .f-scada-side .actions button{color:#cdd3dc;cursor:pointer;background:#253545;border:1px solid #33424f;padding:0 4px}.g-scada .f-scada-side .actions button:hover{background:#335268}.g-scada .f-scada-side .side-history{gap:6px;padding-top:6px;display:flex}.g-scada .f-scada-side .side-history button{color:#cdd3dc;cursor:pointer;background:#1e2a35;border:1px solid #33424f;flex:1;padding:4px 2px}.g-scada .f-scada-side .side-history button:disabled{opacity:.4;cursor:not-allowed}.g-scada .f-scada-side.props-mode .prop-wrapper{flex-direction:column;gap:10px;display:flex}.g-scada .f-scada-side.props-mode :deep(.section.row){grid-template-columns:50px minmax(0,1fr);align-items:center;gap:8px;display:grid}.g-scada .f-scada-side.props-mode :deep(.section .sub-title){margin-bottom:4px;font-weight:600}.g-scada .f-scada-side.props-mode :deep(.th-row){flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px;display:flex}.g-scada .f-scada-side.props-mode :deep(.footer-actions){gap:8px;display:flex}.g-scada .f-scada-side.props-mode .header-row .type-tag{letter-spacing:.2px;color:#fff;font-weight:600;line-height:1.8;display:inline-block}.g-scada .f-scada-side .side-props{background:#1b2833;border:1px solid #22313d;border-radius:4px;margin-top:8px;padding:6px 4px}.g-scada .f-scada-side .side-props .p-title{margin-bottom:4px;font-weight:600}.g-scada .f-scada-side .side-props .field{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:4px;display:flex}.g-scada .f-scada-side .side-props label{opacity:.8;width:auto;font-size:11px}.g-scada .f-scada-side .side-props input{color:#cdd3dc;background:#253545;border:1px solid #33424f;border-radius:3px;flex:48px;padding:2px 4px;font-size:11px}.g-scada .f-scada-side .side-props input:focus{outline:1px solid #4af}.g-scada .f-scada-side .side-props .thresholds{background:#18242e;border:1px solid #22313d;border-radius:4px;flex-direction:column;gap:4px;width:100%;padding:4px;display:flex}.g-scada .f-scada-side .side-props .thresholds .th-row{align-items:center;gap:4px;display:flex}.g-scada .f-scada-side .side-props .thresholds select,.g-scada .f-scada-side .side-props .thresholds .num{color:#cdd3dc;background:#253545;border:1px solid #33424f;border-radius:3px;width:56px;padding:2px 4px;font-size:11px}.g-scada .f-scada-side .side-props .thresholds .color{background:#253545;border:1px solid #33424f;width:34px;height:22px;padding:0}.g-scada .f-scada-side .side-props button.mini{color:#cdd3dc;cursor:pointer;background:#253545;border:1px solid #33424f;border-radius:3px;padding:2px 4px;font-size:11px}.g-scada .f-scada-side .side-props button.mini:hover{background:#335268}.g-scada .f-scada-side .side-props .thresholds button.add{align-self:flex-start}.g-gantt-bar.is-summary-collapsed,.g-group-toggle-target{cursor:pointer}.g-link-handle{opacity:.35;transform-box:fill-box;transform-origin:50%;transition:opacity .12s,transform .12s;transform:scale(.9)}.g-link-handle:hover{opacity:.95;transform:scale(1.25)}.g-gantt-milestone{transform-origin:50%;transition:transform .12s,stroke-width .12s,opacity .12s}.g-gantt-milestone.is-hover{opacity:.95;transform:scale(1.05)}.g-gantt-milestone.is-selected{stroke-width:2.2px;opacity:1;transform:none}.g-gantt-bar.is-critical{filter:drop-shadow(0 0 2px #d9302559)}.g-gantt-sidebar{border-right:1px solid var(--gantt-grid-color);background:var(--gantt-sidebar-bg,#fff);flex-direction:column;display:flex}.g-gantt-sidebar-header{border-bottom:1px solid var(--gantt-grid-color);background:var(--gantt-header-bg,#fafafa);padding:0 8px;font-weight:600}.g-gantt-sidebar-body{position:relative;overflow:hidden}.g-gantt-sidebar-tree{will-change:transform}:deep(.f1-tree-title){padding-top:4px;padding-bottom:4px}.g-gantt-tooltip__subtitle{color:var(--gantt-text-muted,#0000008c);margin-top:4px;font-size:12px}
