@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{color-scheme:dark;--bg-0: #0b1020;--bg-1: #111827;--bg-2: #172033;--bg-elevated: #1a2438;--bg-hover: #1b2a44;--bg-sidebar: #0f172a;--surface-1: rgba(17, 24, 39, .82);--surface-2: rgba(23, 32, 51, .76);--surface-3: rgba(12, 20, 40, .92);--surface-hover: rgba(45, 62, 96, .42);--surface-active: rgba(54, 75, 115, .42);--nav-active-start: #223660;--nav-active-end: #1a2d54;--border: rgba(112, 132, 171, .22);--border-soft: rgba(112, 132, 171, .14);--text-strong: #edf3ff;--text-primary: #cbd8f4;--text-muted: #8fa1c6;--text-secondary: color-mix(in srgb, var(--text-primary) 72%, var(--text-muted));--accent: #4f87ff;--accent-soft: #2f4f8d;--accent-rgb: 79, 135, 255;--accent-2: #80e0c5;--accent-3: #facc15;--brand-core: #4f87ff;--brand-grow: #80e0c5;--brand-water: #38bdf8;--brand-energy: #facc15;--brand-alarm: #ef4444;--brand-mark-bg: linear-gradient(145deg, var(--brand-core), var(--brand-grow));--brand-mark-shadow: 0 10px 24px rgba(var(--accent-rgb), .18);--ok: #22c55e;--warning: #facc15;--alarm: #ef4444;--offline: #6b7280;--shadow-card: 0 8px 18px rgba(2, 8, 23, .18);--shadow-soft: 0 5px 14px rgba(2, 8, 23, .14);--radius-sm: 7px;--radius-md: 9px;--radius-lg: 11px;--space-1: 4px;--space-2: 8px;--space-3: 10px;--space-4: 14px;--space-5: 18px;--space-6: 22px;--space-7: 26px;--space-8: 30px;--font-size-xs: .68rem;--font-size-sm: .78rem;--font-size-md: .88rem;--font-size-lg: .98rem;--font-size-xl: 1.08rem;--font-main: Inter, "Segoe UI", Roboto, -apple-system, BlinkMacSystemFont, sans-serif}:root[data-theme=green]{--bg-0: #07140f;--bg-1: #0d1f18;--bg-2: #143326;--bg-elevated: #173a2b;--bg-hover: #1d4a36;--bg-sidebar: #091811;--surface-1: rgba(10, 31, 22, .84);--surface-2: rgba(14, 43, 31, .76);--surface-3: rgba(8, 28, 20, .92);--surface-hover: rgba(31, 83, 58, .42);--surface-active: rgba(32, 104, 65, .4);--nav-active-start: #1f5b38;--nav-active-end: #17472f;--border: rgba(93, 185, 139, .24);--border-soft: rgba(93, 185, 139, .14);--text-strong: #f0fff8;--text-primary: #ccebdd;--text-muted: #8cb9a2;--accent: #22c55e;--accent-soft: #174b2d;--accent-rgb: 34, 197, 94;--accent-2: #80e0c5;--accent-3: #bef264}:root[data-theme=orange]{--bg-0: #160d08;--bg-1: #24160f;--bg-2: #332014;--bg-elevated: #3c2618;--bg-hover: #4a2f1e;--bg-sidebar: #1b100b;--surface-1: rgba(41, 24, 15, .84);--surface-2: rgba(54, 34, 21, .76);--surface-3: rgba(36, 20, 12, .92);--surface-hover: rgba(94, 57, 31, .42);--surface-active: rgba(132, 72, 32, .38);--nav-active-start: #70411f;--nav-active-end: #553119;--border: rgba(251, 146, 60, .25);--border-soft: rgba(251, 146, 60, .14);--text-strong: #fff8ee;--text-primary: #f0d7bd;--text-muted: #c59d78;--accent: #fb923c;--accent-soft: #6e3518;--accent-rgb: 251, 146, 60;--accent-2: #facc15;--accent-3: #80e0c5}:root[data-theme=cyan]{--bg-0: #061119;--bg-1: #0b1d2a;--bg-2: #123047;--bg-elevated: #153852;--bg-hover: #1b4667;--bg-sidebar: #081925;--surface-1: rgba(9, 31, 45, .84);--surface-2: rgba(13, 45, 65, .76);--surface-3: rgba(8, 27, 40, .92);--surface-hover: rgba(28, 78, 109, .42);--surface-active: rgba(30, 108, 148, .38);--nav-active-start: #195c82;--nav-active-end: #134464;--border: rgba(56, 189, 248, .24);--border-soft: rgba(56, 189, 248, .14);--text-strong: #f0fbff;--text-primary: #c9e7f6;--text-muted: #8cb8cf;--accent: #38bdf8;--accent-soft: #15506d;--accent-rgb: 56, 189, 248;--accent-2: #67e8f9;--accent-3: #80e0c5}:root[data-theme=violet]{--bg-0: #100c1f;--bg-1: #19142d;--bg-2: #261d45;--bg-elevated: #2c2352;--bg-hover: #382d68;--bg-sidebar: #151025;--surface-1: rgba(29, 22, 51, .84);--surface-2: rgba(40, 31, 72, .76);--surface-3: rgba(24, 18, 43, .92);--surface-hover: rgba(69, 54, 119, .42);--surface-active: rgba(92, 70, 158, .36);--nav-active-start: #513d8d;--nav-active-end: #3b2f68;--border: rgba(167, 139, 250, .25);--border-soft: rgba(167, 139, 250, .14);--text-strong: #f7f2ff;--text-primary: #ded2ff;--text-muted: #a99ad0;--accent: #a78bfa;--accent-soft: #4a347f;--accent-rgb: 167, 139, 250;--accent-2: #f472b6;--accent-3: #80e0c5}:root[data-theme=sunset]{--bg-0: #160912;--bg-1: #24101e;--bg-2: #36192d;--bg-elevated: #421d36;--bg-hover: #542645;--bg-sidebar: #1d0c18;--surface-1: rgba(44, 18, 36, .84);--surface-2: rgba(62, 26, 50, .76);--surface-3: rgba(39, 15, 31, .92);--surface-hover: rgba(96, 38, 75, .42);--surface-active: rgba(132, 48, 88, .36);--nav-active-start: #873653;--nav-active-end: #64263f;--border: rgba(251, 113, 133, .25);--border-soft: rgba(251, 113, 133, .14);--text-strong: #fff2f7;--text-primary: #f3cad9;--text-muted: #c592a8;--accent: #fb7185;--accent-soft: #6f2437;--accent-rgb: 251, 113, 133;--accent-2: #f472b6;--accent-3: #facc15}:root[data-theme=emerald]{--bg-0: #06130f;--bg-1: #0b2119;--bg-2: #12362a;--bg-elevated: #163f31;--bg-hover: #1b503d;--bg-sidebar: #081911;--surface-1: rgba(9, 33, 24, .84);--surface-2: rgba(14, 48, 36, .76);--surface-3: rgba(7, 28, 20, .92);--surface-hover: rgba(16, 185, 129, .18);--surface-active: rgba(16, 185, 129, .26);--nav-active-start: #176246;--nav-active-end: #104b36;--border: rgba(16, 185, 129, .25);--border-soft: rgba(16, 185, 129, .14);--text-strong: #effff8;--text-primary: #c9f1df;--text-muted: #91baa7;--accent: #10b981;--accent-soft: #14543e;--accent-rgb: 16, 185, 129;--accent-2: #2dd4bf;--accent-3: #a3e635}:root[data-theme=lime]{--bg-0: #101407;--bg-1: #1a220c;--bg-2: #283614;--bg-elevated: #304018;--bg-hover: #3b511d;--bg-sidebar: #121908;--surface-1: rgba(28, 37, 14, .84);--surface-2: rgba(40, 54, 20, .76);--surface-3: rgba(24, 32, 12, .92);--surface-hover: rgba(132, 204, 22, .18);--surface-active: rgba(132, 204, 22, .24);--nav-active-start: #526d1d;--nav-active-end: #3c5317;--border: rgba(132, 204, 22, .25);--border-soft: rgba(132, 204, 22, .14);--text-strong: #fbfff0;--text-primary: #dfeec7;--text-muted: #abbc82;--accent: #84cc16;--accent-soft: #3d5d12;--accent-rgb: 132, 204, 22;--accent-2: #22c55e;--accent-3: #facc15}:root[data-theme=amber]{--bg-0: #150f06;--bg-1: #231908;--bg-2: #33250d;--bg-elevated: #3c2b10;--bg-hover: #4b3614;--bg-sidebar: #1a1206;--surface-1: rgba(40, 28, 10, .84);--surface-2: rgba(56, 40, 15, .76);--surface-3: rgba(35, 24, 8, .92);--surface-hover: rgba(245, 158, 11, .18);--surface-active: rgba(245, 158, 11, .24);--nav-active-start: #704a16;--nav-active-end: #57380f;--border: rgba(245, 158, 11, .26);--border-soft: rgba(245, 158, 11, .15);--text-strong: #fff9eb;--text-primary: #f1ddb5;--text-muted: #bea072;--accent: #f59e0b;--accent-soft: #6b4210;--accent-rgb: 245, 158, 11;--accent-2: #f97316;--accent-3: #22c55e}:root[data-theme=rose]{--bg-0: #17080d;--bg-1: #261018;--bg-2: #391722;--bg-elevated: #441b29;--bg-hover: #552234;--bg-sidebar: #1d0a11;--surface-1: rgba(47, 16, 25, .84);--surface-2: rgba(66, 23, 35, .76);--surface-3: rgba(40, 13, 21, .92);--surface-hover: rgba(244, 63, 94, .18);--surface-active: rgba(244, 63, 94, .24);--nav-active-start: #873045;--nav-active-end: #652335;--border: rgba(244, 63, 94, .25);--border-soft: rgba(244, 63, 94, .14);--text-strong: #fff1f4;--text-primary: #f3c7d1;--text-muted: #c58b9b;--accent: #f43f5e;--accent-soft: #702136;--accent-rgb: 244, 63, 94;--accent-2: #fb7185;--accent-3: #facc15}:root[data-theme=ocean]{--bg-0: #051315;--bg-1: #092124;--bg-2: #0f3538;--bg-elevated: #123f43;--bg-hover: #175056;--bg-sidebar: #07191c;--surface-1: rgba(8, 33, 36, .84);--surface-2: rgba(12, 48, 52, .76);--surface-3: rgba(7, 28, 31, .92);--surface-hover: rgba(20, 184, 166, .18);--surface-active: rgba(20, 184, 166, .24);--nav-active-start: #176764;--nav-active-end: #114d50;--border: rgba(20, 184, 166, .25);--border-soft: rgba(20, 184, 166, .14);--text-strong: #efffff;--text-primary: #c6edf0;--text-muted: #8db9be;--accent: #14b8a6;--accent-soft: #15524f;--accent-rgb: 20, 184, 166;--accent-2: #38bdf8;--accent-3: #a3e635}:root[data-theme=graphite]{--bg-0: #0b0f17;--bg-1: #141923;--bg-2: #202733;--bg-elevated: #252d3a;--bg-hover: #303947;--bg-sidebar: #0f141d;--surface-1: rgba(20, 25, 35, .86);--surface-2: rgba(30, 37, 49, .78);--surface-3: rgba(14, 19, 28, .92);--surface-hover: rgba(148, 163, 184, .16);--surface-active: rgba(148, 163, 184, .22);--nav-active-start: #3a4556;--nav-active-end: #2d3645;--border: rgba(148, 163, 184, .24);--border-soft: rgba(148, 163, 184, .14);--text-strong: #f8fafc;--text-primary: #d7dee9;--text-muted: #9aa7ba;--accent: #94a3b8;--accent-soft: #3c4655;--accent-rgb: 148, 163, 184;--accent-2: #60a5fa;--accent-3: #22c55e}:root[data-appearance=light]{color-scheme:light;--bg-0: color-mix(in srgb, #ffffff 94%, var(--accent));--bg-1: color-mix(in srgb, #f7f9fd 90%, var(--accent));--bg-2: color-mix(in srgb, #eef3fb 86%, var(--accent));--bg-elevated: color-mix(in srgb, #ffffff 88%, var(--accent));--bg-hover: color-mix(in srgb, #e8effa 82%, var(--accent));--bg-sidebar: color-mix(in srgb, #f8fbff 88%, var(--accent));--surface-1: color-mix(in srgb, #ffffff 91%, var(--accent));--surface-2: color-mix(in srgb, #f3f7fd 86%, var(--accent));--surface-3: color-mix(in srgb, #ffffff 94%, var(--accent));--surface-hover: rgba(var(--accent-rgb), .12);--surface-active: rgba(var(--accent-rgb), .18);--nav-active-start: color-mix(in srgb, #ffffff 76%, var(--accent));--nav-active-end: color-mix(in srgb, #eef4ff 76%, var(--accent));--border: rgba(var(--accent-rgb), .24);--border-soft: rgba(var(--accent-rgb), .14);--text-strong: #101827;--text-primary: #263449;--text-muted: #61708a;--shadow-card: 0 10px 24px rgba(24, 36, 58, .1);--shadow-soft: 0 6px 16px rgba(24, 36, 58, .08)}:root[data-disco-mode=on]{animation:dixy-disco-theme 160s linear infinite}@keyframes dixy-disco-theme{0%,to{--accent: #4f87ff;--accent-rgb: 79, 135, 255;--accent-2: #80e0c5;--accent-3: #facc15;--surface-hover: rgba(79, 135, 255, .14);--surface-active: rgba(79, 135, 255, .2);--border: rgba(79, 135, 255, .24);--border-soft: rgba(79, 135, 255, .14)}20%{--accent: #14b8a6;--accent-rgb: 20, 184, 166;--accent-2: #38bdf8;--accent-3: #a3e635;--surface-hover: rgba(20, 184, 166, .14);--surface-active: rgba(20, 184, 166, .2);--border: rgba(20, 184, 166, .24);--border-soft: rgba(20, 184, 166, .14)}40%{--accent: #a78bfa;--accent-rgb: 167, 139, 250;--accent-2: #f0abfc;--accent-3: #22c55e;--surface-hover: rgba(167, 139, 250, .14);--surface-active: rgba(167, 139, 250, .2);--border: rgba(167, 139, 250, .24);--border-soft: rgba(167, 139, 250, .14)}60%{--accent: #f59e0b;--accent-rgb: 245, 158, 11;--accent-2: #fb7185;--accent-3: #22c55e;--surface-hover: rgba(245, 158, 11, .14);--surface-active: rgba(245, 158, 11, .2);--border: rgba(245, 158, 11, .24);--border-soft: rgba(245, 158, 11, .14)}80%{--accent: #22c55e;--accent-rgb: 34, 197, 94;--accent-2: #67e8f9;--accent-3: #facc15;--surface-hover: rgba(34, 197, 94, .14);--surface-active: rgba(34, 197, 94, .2);--border: rgba(34, 197, 94, .24);--border-soft: rgba(34, 197, 94, .14)}}@media (prefers-reduced-motion: reduce){:root[data-disco-mode=on]{animation:none}.disco-toggle.active{animation:none}}*{box-sizing:border-box;min-width:0}html,body,#root{height:100%;min-height:100%}html{font-size:14px}body{margin:0;font-family:var(--font-main);background:radial-gradient(circle at 12% 0%,rgba(var(--accent-rgb),.13),transparent 30%),linear-gradient(145deg,var(--bg-0),var(--bg-1) 48%,var(--bg-0));color:var(--text-primary);overflow:hidden}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-strong);font-weight:560;line-height:1.3}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-md)}h4{font-size:var(--font-size-sm)}p{margin:0;color:var(--text-primary);line-height:1.45;overflow-wrap:anywhere}small{color:var(--text-muted);font-size:var(--font-size-xs)}strong{font-weight:560}button,input,select,textarea{font:inherit}input,select,textarea{outline:none}input::placeholder,textarea::placeholder{color:#a8b8d89e}input:disabled,select:disabled,textarea:disabled,button:disabled{cursor:not-allowed;opacity:.58}code,pre{font-family:JetBrains Mono,SF Mono,Monaco,Menlo,monospace}.app-shell{height:100dvh;width:100vw;min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-columns:clamp(240px,15vw,292px) minmax(0,1fr)}.sidebar{background:radial-gradient(circle at 12% 0%,rgba(var(--accent-rgb),.14),transparent 30%),linear-gradient(180deg,var(--bg-sidebar),var(--bg-1));border-right:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:var(--space-3);position:relative;z-index:40;overflow:hidden;min-height:0}.sidebar-brand{display:flex;align-items:center;gap:var(--space-2);padding:2px 2px 8px;border-bottom:1px solid var(--border-soft)}.logo-mark{width:31px;height:31px;border-radius:var(--radius-md);display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;font-weight:700;box-shadow:0 0 0 1px #ffffff14 inset,0 10px 24px #39d3b729}.sidebar-collapse-toggle{border:0;cursor:pointer;padding:0;background:transparent;flex:0 0 auto}.sidebar-collapse-toggle:hover{filter:brightness(1.08)}.sidebar-collapse-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sidebar-brand-text{min-width:0;display:grid;gap:2px}.sidebar-brand-text strong,.sidebar-brand-text small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-mark svg{stroke-width:2.25}.app-logo{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--text-strong)}.app-logo-mark{position:relative;width:34px;height:34px;border-radius:var(--radius-md);display:grid;place-items:center;overflow:hidden;color:#fff;background:var(--brand-mark-bg);box-shadow:var(--brand-mark-shadow),0 0 0 1px #ffffff24 inset}.app-logo-mark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 42%),radial-gradient(circle at 72% 76%,rgba(250,204,21,.24),transparent 32%);pointer-events:none}.app-logo-cells{position:absolute;left:7px;top:7px;display:grid;grid-template-columns:repeat(2,6px);grid-auto-rows:6px;gap:3px;opacity:.38}.app-logo-cells i{border:1px solid rgba(255,255,255,.78);border-radius:2px}.app-logo-mark svg{position:relative;z-index:1;margin-left:9px;margin-top:8px;stroke-width:2.4}.app-logo-mark img{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:inherit}.app-logo-copy{display:grid;gap:2px;min-width:0;line-height:1.1}.app-logo-copy strong,.app-logo-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-logo-copy strong{font-weight:820;letter-spacing:0}.app-logo-copy small{color:var(--text-muted);font-size:.74rem;font-weight:650}.app-logo-sm .app-logo-mark{width:28px;height:28px;border-radius:var(--radius-sm)}.app-logo-sm .app-logo-cells{left:6px;top:6px;grid-template-columns:repeat(2,5px);grid-auto-rows:5px;gap:2px}.app-logo-sm .app-logo-mark svg{margin-left:8px;margin-top:7px}.app-logo-lg{flex-direction:column;justify-content:center;text-align:center;gap:12px}.app-logo-lg .app-logo-mark{width:66px;height:66px;border-radius:18px;box-shadow:0 18px 42px rgba(var(--accent-rgb),.24),0 0 0 1px #ffffff2e inset}.app-logo-lg .app-logo-cells{left:13px;top:13px;grid-template-columns:repeat(2,11px);grid-auto-rows:11px;gap:5px}.app-logo-lg .app-logo-mark svg{margin-left:17px;margin-top:15px;stroke-width:2.5}.app-logo-lg .app-logo-copy strong{font-size:clamp(1.55rem,4vw,1.9rem);line-height:1.04}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:2px}.sidebar-search{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--text-muted);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:32px;padding:0 8px}.sidebar-search:focus-within{border-color:rgba(var(--accent-rgb),.36);background:color-mix(in srgb,var(--surface-2) 88%,transparent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.sidebar-search input{border:0;background:transparent;color:var(--text-primary);min-width:0;outline:none;width:100%}.sidebar-search input::placeholder{color:var(--text-muted)}.sidebar-search button{border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-grid;height:22px;place-items:center;width:22px}.sidebar-search button:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-empty{border:1px dashed var(--border-soft);border-radius:var(--radius-sm);color:var(--text-muted);display:flex;align-items:center;gap:8px;justify-content:center;min-height:42px;padding:8px;font-size:.78rem}.nav-group{display:grid;gap:4px}.nav-group-trigger{border:1px solid transparent;background:transparent;color:var(--text-primary);width:100%;min-height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px 8px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.nav-group-trigger button{border:0;background:transparent;color:inherit;font:inherit}.nav-group-trigger:hover{background:var(--surface-hover);border-color:var(--border-soft)}.active-group>.nav-group-trigger{color:var(--text-strong);background:var(--surface-active);border-color:rgba(var(--accent-rgb),.28)}.nav-group-main{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;font-weight:540;padding:0;cursor:pointer}.nav-group-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group-caret-button{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex:0 0 auto}.nav-group-caret-button:hover{background:var(--surface-hover)}.nav-group-caret{width:7px;height:7px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(45deg);transition:transform .12s ease;margin-right:3px}.nav-group-trigger[aria-expanded=true] .nav-group-caret-button .nav-group-caret{transform:rotate(225deg);margin-top:5px}.nav-item{border:1px solid transparent;background:transparent;color:var(--text-primary);text-align:left;display:flex;align-items:center;gap:var(--space-2);padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease}.nav-item:hover{background:var(--surface-hover);border-color:rgba(var(--accent-rgb),.28)}.nav-item.active{background:linear-gradient(180deg,var(--nav-active-start) 0%,var(--nav-active-end) 100%);border-color:rgba(var(--accent-rgb),.52);color:var(--text-strong);box-shadow:inset 0 0 0 1px #78a5ff2e}.nav-icon{color:color-mix(in srgb,var(--accent) 48%,var(--text-muted));flex:0 0 auto}.nav-submenu{display:grid;gap:2px;margin-left:14px;padding-left:7px;border-left:1px solid rgba(126,151,196,.2)}.nav-subitem{border:1px solid transparent;background:transparent;color:var(--text-muted);text-align:left;min-height:27px;padding:5px 8px;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);transition:background .12s ease,color .12s ease,border-color .12s ease}.nav-subitem-main{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto}.nav-subitem-main .icon{color:color-mix(in srgb,var(--accent) 46%,var(--text-muted));flex:0 0 auto}.nav-subitem-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-plugin-block{display:grid;gap:2px}.nav-subitem-meta{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.nav-plugin-caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.68;transition:transform .16s ease}.nav-plugin-caret-button{width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.nav-plugin-caret-button:hover{background:rgba(var(--accent-rgb),.12);color:var(--text-primary)}.nav-subitem[aria-expanded=true] .nav-plugin-caret{transform:rotate(45deg)}.nav-plugin-children{display:grid;gap:2px;margin-left:12px;padding-left:7px;border-left:1px solid rgba(126,151,196,.16)}.nav-esp-devices{gap:4px;margin-left:10px;padding-left:8px}.nav-esp-device-block{gap:2px}.nav-esp-device-children{margin-left:12px}.nav-subitem.nav-child{min-height:25px;padding-left:8px;font-size:.76rem}.nav-esp-devices>.nav-subitem,.nav-esp-device-block>.nav-subitem{min-height:30px}.nav-subitem:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-subitem.active{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.24);color:var(--text-strong)}.nav-plugin-status{width:8px;height:8px;border-radius:999px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-sidebar) 84%,transparent)}.nav-plugin-status.active{background:#36d399}.nav-plugin-status.warning{background:#fbbf24}.nav-plugin-status.paused{width:14px;height:14px;background:color-mix(in srgb,var(--text-muted) 42%,var(--bg-sidebar));color:var(--bg-sidebar)}.nav-plugin-status.offline{background:#ef4444}.sidebar-user-zone{border-top:1px solid var(--border-soft);display:grid;gap:8px;margin-top:auto;padding-top:10px;position:relative}.sidebar-user-card{border:1px solid var(--border-soft);border-radius:16px;background:radial-gradient(circle at 12% 20%,rgba(var(--accent-rgb),.18),transparent 42%),color-mix(in srgb,var(--surface-2) 76%,transparent);color:var(--text-primary);cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:8px;text-align:left}.sidebar-user-card:hover,.sidebar-user-card[aria-expanded=true]{border-color:rgba(var(--accent-rgb),.38);background:radial-gradient(circle at 12% 20%,rgba(var(--accent-rgb),.24),transparent 42%),var(--surface-active)}.sidebar-user-avatar{border:1px solid rgba(var(--accent-rgb),.26);border-radius:999px;background:linear-gradient(145deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.08));color:var(--text-strong);display:grid;place-items:center;width:31px;height:31px}.sidebar-user-text{display:grid;gap:1px;min-width:0}.sidebar-user-text strong,.sidebar-user-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-text strong{color:var(--text-strong);font-size:.82rem}.sidebar-user-text small{color:var(--text-muted);font-size:.68rem}.sidebar-user-caret{width:7px;height:7px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(45deg)}.sidebar-user-card[aria-expanded=true] .sidebar-user-caret{transform:rotate(225deg);margin-top:5px}.sidebar-user-menu{border:1px solid var(--border-soft);border-radius:16px;background:linear-gradient(145deg,rgba(var(--accent-rgb),.08),transparent 46%),var(--surface-1);box-shadow:0 16px 42px #00000038;display:grid;gap:4px;padding:6px}.sidebar-user-menu button{border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;min-height:32px;padding:7px 8px;text-align:left}.sidebar-user-menu button:hover{border-color:rgba(var(--accent-rgb),.24);background:rgba(var(--accent-rgb),.12);color:var(--text-strong)}@media (min-width: 1101px){.app-shell:has(.sidebar.collapsed){grid-template-columns:64px minmax(0,1fr)}.sidebar{transition:width .16s ease,padding .16s ease}.sidebar.collapsed{padding:10px 8px;overflow-x:hidden}.sidebar.collapsed .sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-brand-text,.sidebar.collapsed .nav-group-main>span,.sidebar.collapsed .nav-group-caret-button,.sidebar.collapsed .nav-submenu,.sidebar.collapsed .nav-subitem,.sidebar.collapsed .sidebar-user-text,.sidebar.collapsed .sidebar-user-caret,.sidebar.collapsed .sidebar-user-menu{display:none}.sidebar.collapsed .nav-group{justify-items:center}.sidebar.collapsed .nav-group-trigger{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:12px}.sidebar.collapsed .nav-group-main{gap:0}.sidebar.collapsed .nav-icon{width:20px;height:20px}.sidebar.collapsed .sidebar-nav{align-items:center;gap:8px}.sidebar.collapsed .sidebar-user-zone{align-items:center;padding-top:8px}.sidebar.collapsed .sidebar-user-card{display:grid;grid-template-columns:1fr;place-items:center;width:44px;height:44px;min-height:44px;padding:0}}.main-shell{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.topbar{border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(var(--accent-rgb),.06),transparent 42%),color-mix(in srgb,var(--bg-sidebar) 94%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:var(--space-3) clamp(var(--space-3),1.4vw,var(--space-5));min-height:52px}.topbar-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.topbar h1{font-size:.92rem;letter-spacing:.01em;white-space:nowrap}.topbar-logo{flex:0 0 auto}.topbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end;min-width:0}.topbar-alarm-button{--alarm-accent: var(--ok);border:1px solid color-mix(in srgb,var(--alarm-accent) 42%,transparent);border-radius:999px;background:radial-gradient(circle at 14% 50%,color-mix(in srgb,var(--alarm-accent) 22%,transparent),transparent 44%),color-mix(in srgb,var(--surface-2) 76%,transparent);color:color-mix(in srgb,var(--alarm-accent) 34%,var(--text-strong));cursor:pointer;display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 8px;font-size:.62rem;font-weight:820;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.topbar-alarm-button:hover,.topbar-alarm-button:focus-visible{border-color:color-mix(in srgb,var(--alarm-accent) 68%,transparent);background:radial-gradient(circle at 14% 50%,color-mix(in srgb,var(--alarm-accent) 32%,transparent),transparent 46%),color-mix(in srgb,var(--surface-active) 72%,transparent);color:var(--text-strong);outline:none;transform:translateY(-1px)}.topbar-alarm-button.warning{--alarm-accent: var(--warning)}.topbar-alarm-button.alarm{--alarm-accent: var(--alarm)}.topbar-alarm-dot{border-radius:999px;background:var(--alarm-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--alarm-accent) 18%,transparent);width:6px;height:6px;flex:0 0 auto}.topbar-alarm-button.alarm .topbar-alarm-dot{animation:topbar-alarm-pulse 1.8s ease-in-out infinite}@keyframes topbar-alarm-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--alarm) 18%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--alarm) 8%,transparent)}}.topbar-grow-strip{--group-accent: var(--ok);border:1px solid color-mix(in srgb,var(--group-accent) 34%,var(--border));border-radius:999px;background:radial-gradient(circle at 10% 50%,color-mix(in srgb,var(--group-accent) 20%,transparent),transparent 42%),color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--text-primary);display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:3px 10px;white-space:nowrap}.topbar-grow-strip.group-warning{--group-accent: var(--warning)}.topbar-grow-strip.group-alarm{--group-accent: var(--alarm)}.topbar-grow-strip.group-unknown{--group-accent: var(--text-muted)}.topbar-grow-strip>svg{color:var(--group-accent)}.topbar-grow-strip span{display:inline-flex;align-items:baseline;gap:4px}.topbar-grow-metric{--metric-accent: var(--accent-2);--metric-fill: color-mix(in srgb, var(--metric-accent) 14%, transparent);border:1px solid color-mix(in srgb,var(--metric-accent) 48%,transparent);border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--metric-accent) 22%,transparent),transparent 70%),var(--metric-fill);padding:3px 8px;box-shadow:0 0 0 1px color-mix(in srgb,var(--metric-accent) 10%,transparent) inset}.topbar-grow-metric.metric-optimal{--metric-accent: #22c55e}.topbar-grow-metric.metric-warning-high{--metric-accent: #f59e0b}.topbar-grow-metric.metric-warning-low{--metric-accent: #7dd3fc}.topbar-grow-metric.metric-alarm-high{--metric-accent: #ef4444}.topbar-grow-metric.metric-alarm-low{--metric-accent: #3b82f6}.topbar-grow-metric.metric-unknown{--metric-accent: var(--text-muted)}.topbar-grow-strip small{color:color-mix(in srgb,var(--metric-accent) 68%,var(--text-muted));font-size:.62rem;font-weight:820;text-transform:uppercase}.topbar-grow-strip strong{color:color-mix(in srgb,var(--metric-accent) 28%,var(--text-strong));font-size:.74rem;font-weight:820}.appearance-toggle,.disco-toggle{border:1px solid rgba(var(--accent-rgb),.2);border-radius:999px;background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.16),transparent 38%),color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--text-primary);cursor:pointer;display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;transition:border-color .16s ease,background .16s ease,color .16s ease}.appearance-toggle:hover,.appearance-toggle:focus-visible,.disco-toggle:hover,.disco-toggle:focus-visible{border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.12);color:var(--text-strong);outline:none}.appearance-toggle-icon,.disco-toggle-icon{border-radius:999px;display:inline-grid;place-items:center;width:100%;height:100%}.disco-toggle.active{border-color:color-mix(in srgb,var(--accent-2) 50%,var(--accent));background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.28),transparent 32%),conic-gradient(from 120deg,rgba(var(--accent-rgb),.24),#80e0c533,#facc152e,rgba(var(--accent-rgb),.24)),color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--text-strong);animation:disco-toggle-breathe 7s ease-in-out infinite}@keyframes disco-toggle-breathe{0%,to{box-shadow:0 0 rgba(var(--accent-rgb),0);transform:translateY(0)}50%{box-shadow:0 0 18px rgba(var(--accent-rgb),.2);transform:translateY(-1px)}}.mobile-menu-button{display:none}@media (max-width: 760px){.topbar{gap:var(--space-2);align-items:flex-start}.topbar-right{gap:6px}.topbar-right .status-chip{font-size:.6rem;padding-inline:6px}.topbar-grow-strip{order:4;width:100%;justify-content:center}}.current-user{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.82rem}.content-shell{overflow:auto;min-height:0;min-width:0;max-height:calc(100dvh - 52px);padding:clamp(var(--space-3),1.35vw,var(--space-5));background:radial-gradient(circle at 90% 0%,rgba(var(--accent-rgb),.08),transparent 28%),linear-gradient(145deg,color-mix(in srgb,var(--bg-0) 90%,black),var(--bg-1))}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000073;border:none}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;max-width:86vw;height:100dvh;transform:translate(-105%);transition:transform .18s ease}.sidebar.open{transform:translate(0)}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-2);color:var(--text-strong);border-radius:var(--radius-sm);width:34px;height:34px;cursor:pointer}}.sidebar-mobile-close,.mobile-bottom-nav{display:none}@media (max-width: 760px){.app-shell{height:100dvh;min-height:100dvh}.main-shell{height:100dvh;grid-template-rows:auto minmax(0,1fr)}.topbar{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;min-height:0;padding:max(9px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 9px max(10px,env(safe-area-inset-left))}.topbar-left{grid-column:1;grid-row:1;gap:9px;width:100%}.topbar h1{flex:1 1 auto;font-size:.86rem}.topbar-logo{display:none}.mobile-menu-button,.appearance-toggle,.disco-toggle,.topbar-alarm-button{min-width:44px;min-height:44px}.mobile-menu-button{border-radius:13px;width:44px;height:44px}.topbar-right{display:contents}.topbar-grow-strip{grid-column:1 / -1;justify-content:flex-start;min-width:0;min-height:42px;overflow-x:auto;overscroll-behavior-inline:contain;padding:5px 8px;scrollbar-width:none;width:100%;-webkit-overflow-scrolling:touch}.topbar-climate-strip{grid-row:2}.topbar-water-strip{grid-row:3}.topbar-grow-strip::-webkit-scrollbar{display:none}.topbar-grow-strip>svg,.topbar-grow-metric{flex:0 0 auto}.topbar-grow-metric{min-height:30px;padding:5px 8px}.topbar-right .live-badge,.topbar-right .status-chip{align-self:center;grid-column:2;grid-row:1;justify-self:end;min-height:36px}.topbar-right .appearance-toggle{grid-column:3;grid-row:1}.topbar-right .topbar-alarm-button{grid-column:4;grid-row:1}.content-shell{max-height:none;overscroll-behavior-y:contain;padding:12px max(12px,env(safe-area-inset-right)) max(92px,calc(env(safe-area-inset-bottom) + 78px)) max(12px,env(safe-area-inset-left));scroll-padding-bottom:max(24px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.sidebar{box-shadow:24px 0 64px #00000070;height:100dvh;max-width:none;padding:max(10px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));width:min(88vw,340px)}.sidebar-brand{min-height:52px}.sidebar-mobile-close{border:1px solid var(--border);border-radius:13px;background:var(--surface-2);color:var(--text-strong);cursor:pointer;display:inline-grid;font-size:1.55rem;line-height:1;margin-left:auto;min-width:44px;min-height:44px;place-items:center}.sidebar-search{min-height:44px}.sidebar-search input,input,select,textarea{font-size:16px}.nav-group-trigger,.nav-subitem,.sidebar-user-card,.sidebar-user-menu button{min-height:44px}.nav-group-caret-button,.nav-plugin-caret-button{min-width:44px;min-height:44px}.sidebar-backdrop{background:#030712a3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-bottom-nav{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 88%,transparent),var(--bg-sidebar));border-top:1px solid var(--border);bottom:0;box-shadow:0 -14px 38px #0000003d;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));left:0;padding:7px max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));position:fixed;right:0;z-index:18;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav button{border:0;border-radius:13px;background:transparent;color:var(--text-muted);cursor:pointer;display:grid;gap:3px;justify-items:center;min-height:52px;padding:6px 4px}.mobile-bottom-nav button span{font-size:.64rem;font-weight:760;letter-spacing:.01em}.mobile-bottom-nav button.active{background:linear-gradient(145deg,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.06));color:var(--text-strong);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.18) inset}.mobile-bottom-nav button.active svg{color:var(--accent);filter:drop-shadow(0 0 8px rgba(var(--accent-rgb),.34))}.page-stack{gap:12px;min-width:0}.page-header,.page-title-row,.page-actions,.home-user-strip,.home-user-actions{align-items:stretch;flex-direction:column}.page-actions,.home-user-actions{width:100%}.page-actions>*,.home-user-actions>*,.btn{min-height:44px}.page-actions>.btn,.home-user-actions>.btn{justify-content:center;width:100%}.dashboard-top-grid,.home-summary-grid,.home-entity-grid,.entity-metric-grid,.plugin-card-grid,.esp-dashboard-card-grid,.dashboard-edit-grid{grid-template-columns:minmax(0,1fr)}.card,.home-summary-tile,.home-entity-tile,.esp-dashboard-card,.plugin-card{min-width:0}.table-shell,.flow-canvas-shell,.topology-shell{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-page-shell{height:auto;min-height:0;overflow:visible}.settings-page-shell>.settings-grid{overflow:visible;padding-right:0}.modal,.dialog,.confirm-dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);max-width:calc(100vw - 24px);overflow:auto}}@media (max-width: 430px){.topbar{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.content-shell{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.topbar-grow-strip{gap:6px}.topbar-grow-metric{padding-inline:7px}.card{border-radius:14px;padding:12px}}@media (hover: none) and (pointer: coarse){button,[role=button],a{touch-action:manipulation}}.grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}:root[data-appearance=light] .table-shell{background:color-mix(in srgb,var(--surface-1) 96%,white);border-color:color-mix(in srgb,var(--accent) 14%,#cbd5e1)}:root[data-appearance=light] .data-table th{background:color-mix(in srgb,var(--surface-2) 92%,white);color:var(--text-muted)}:root[data-appearance=light] .data-table td{color:var(--text-primary);border-bottom-color:color-mix(in srgb,var(--accent) 10%,#d7dee9)}:root[data-appearance=light] .data-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 9%,white)}:root[data-appearance=light] .node-card,:root[data-appearance=light] .node-detail-card,:root[data-appearance=light] .kv-chip,:root[data-appearance=light] .command-card,:root[data-appearance=light] .flow-palette,:root[data-appearance=light] .flow-property-panel,:root[data-appearance=light] .flow-rf-node,:root[data-appearance=light] .function-library-panel,:root[data-appearance=light] .function-block-card,:root[data-appearance=light] .function-block-compact,:root[data-appearance=light] .function-setup-node,:root[data-appearance=light] .function-editor-panel,:root[data-appearance=light] .setpoint-row,:root[data-appearance=light] .setpoint-editor-panel,:root[data-appearance=light] .nutrient-card,:root[data-appearance=light] .nutrient-product-row,:root[data-appearance=light] .nutrient-log-row,:root[data-appearance=light] .simulation-node-card{background:linear-gradient(135deg,rgba(var(--accent-rgb),.06),transparent 48%),var(--surface-1);color:var(--text-primary)}:root[data-appearance=light] .node-card-meta,:root[data-appearance=light] .node-card-capabilities,:root[data-appearance=light] .stepper-field-grid,:root[data-appearance=light] .flow-palette-search,:root[data-appearance=light] .flow-palette-select-row,:root[data-appearance=light] .flow-property-section,:root[data-appearance=light] .flow-rf-node-input,:root[data-appearance=light] .function-category-filters button,:root[data-appearance=light] .function-io-row,:root[data-appearance=light] .function-io-advanced,:root[data-appearance=light] .setpoint-edit-grid .settings-field,:root[data-appearance=light] .nutrient-field,:root[data-appearance=light] .unit-input-wrap,:root[data-appearance=light] .block-code-panel,:root[data-appearance=light] .block-ascii-panel{background:var(--surface-2);color:var(--text-primary)}:root[data-appearance=light] .toolbar input,:root[data-appearance=light] .toolbar select,:root[data-appearance=light] .search-input,:root[data-appearance=light] .kv-chip select,:root[data-appearance=light] .kv-chip input[type=number],:root[data-appearance=light] .stepper-field-grid input,:root[data-appearance=light] .stepper-field-grid select,:root[data-appearance=light] .flow-palette-search input,:root[data-appearance=light] .flow-palette-select-row select,:root[data-appearance=light] .flow-property-section .settings-field input,:root[data-appearance=light] .flow-property-section .settings-field select,:root[data-appearance=light] .setpoint-edit-grid .settings-field input,:root[data-appearance=light] .setpoint-edit-grid .settings-field select,:root[data-appearance=light] .nutrient-calibration-steps input,:root[data-appearance=light] .nutrient-field input,:root[data-appearance=light] .unit-input-wrap input,:root[data-appearance=light] .function-io-row input,:root[data-appearance=light] .function-io-row select,:root[data-appearance=light] .function-io-advanced input{background:#fff;color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 18%,#cbd5e1)}:root[data-appearance=light] .flow-canvas-shell,:root[data-appearance=light] .flow-minimap,:root[data-appearance=light] .function-canvas,:root[data-appearance=light] .block-code-editor{background:color-mix(in srgb,var(--surface-2) 88%,white);color:var(--text-primary)}:root[data-appearance=light] .block-code-editor,:root[data-appearance=light] code,:root[data-appearance=light] pre{color:var(--text-strong)}.grid.columns-2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.grid.columns-3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.grid.columns-1{grid-template-columns:1fr}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,rgba(var(--accent-rgb),.045),transparent 44%),var(--surface-1);box-shadow:var(--shadow-card);padding:var(--space-3);min-width:0;transition:border-color .12s ease,box-shadow .12s ease}.card:hover{border-color:rgba(var(--accent-rgb),.26);box-shadow:var(--shadow-card)}.card-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-3);min-width:0}.card-header>div{min-width:0}.card-header h3,.card-subtitle{overflow-wrap:anywhere}.card-header h3{line-height:1.2}.title-with-icon{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.title-with-icon .icon{color:color-mix(in srgb,var(--accent) 48%,var(--text-muted));flex:0 0 auto}.card-subtitle{color:var(--text-muted);margin-top:4px;font-size:var(--font-size-sm)}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px;color:var(--text-strong);background:var(--surface-2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:var(--font-size-sm);font-weight:500;line-height:1.25;min-height:32px}.btn:hover{border-color:rgba(var(--accent-rgb),.34)}.btn.secondary{background:transparent}.btn.save-attention{border-color:rgba(var(--accent-rgb),.62);background:linear-gradient(135deg,rgba(var(--accent-rgb),.24),rgba(var(--accent-rgb),.1)),var(--surface-active);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.12) inset,0 8px 28px rgba(var(--accent-rgb),.22);color:var(--text-strong)}.btn.save-attention:hover{border-color:rgba(var(--accent-rgb),.82);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.18) inset,0 10px 34px rgba(var(--accent-rgb),.3)}.btn.ghost{border-color:var(--border-soft);background:transparent}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-4)}.action-toolbar,.form-action-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);min-width:0}.section-actions>.action-toolbar{align-items:center;justify-content:flex-end}.action-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.form-action-row{justify-content:flex-start;margin-top:var(--space-2)}.toolbar select,.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);color:var(--text-primary);height:34px;padding:0 9px;max-width:100%}.toolbar input,.toolbar select,.search-input,.settings-field input,.settings-field select,.settings-field textarea,.network-scan-form input,.network-scan-form select,.settings-search,.login-form input{transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.toolbar input:focus,.toolbar select:focus,.search-input:focus-within,.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus,.network-scan-form input:focus,.network-scan-form select:focus,.settings-search:focus,.login-form input:focus{border-color:rgba(var(--accent-rgb),.48);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.search-input{display:inline-flex;align-items:center;gap:var(--space-2);min-width:260px}.search-input input{border:none;outline:none;background:transparent;color:var(--text-primary);width:100%}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.segmented button{border:none;background:transparent;color:var(--text-primary);padding:7px 9px;cursor:pointer}.segmented button.active{background:var(--accent-soft);color:var(--text-strong)}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;font-size:.66rem;border:1px solid transparent;text-transform:uppercase;letter-spacing:.015em;white-space:nowrap;max-width:100%}.status-chip .icon{opacity:.9}.status-ok{color:color-mix(in srgb,var(--ok) 72%,var(--text-strong));border-color:#22c55e3d;background:#22c55e14}.status-warning{color:color-mix(in srgb,var(--warning) 72%,var(--text-strong));border-color:#facc153d;background:#facc1514}.status-alarm{color:color-mix(in srgb,var(--alarm) 72%,var(--text-strong));border-color:#ef444447;background:#ef444417}.status-offline{color:var(--text-muted);border-color:#6b728042;background:#6b72801a}.status-paused{color:var(--text-muted);border-color:color-mix(in srgb,var(--text-muted) 32%,transparent);background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.status-chip-icon-label{display:inline-flex;align-items:center;gap:4px}.status-simulation{color:color-mix(in srgb,var(--accent) 72%,var(--text-strong));border-color:rgba(var(--accent-rgb),.24);background:rgba(var(--accent-rgb),.08)}.live-badge{border-radius:999px;font-size:.7rem;padding:4px 8px;border:1px solid var(--border)}.live-badge.ok{color:color-mix(in srgb,var(--ok) 72%,var(--text-strong));border-color:#22c55e66}.live-badge.warning{color:color-mix(in srgb,var(--warning) 72%,var(--text-strong));border-color:#facc1566}.live-badge.offline{color:var(--text-muted);border-color:#6b728080}.connection-banner{margin-bottom:var(--space-4);border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius-md);padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.connection-banner-text{display:inline-flex;align-items:center;gap:8px}.connection-banner.warning{border-left-color:var(--warning)}.connection-banner.error{border-left-color:var(--alarm)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:var(--space-2)}.stat-tile{border:1px solid transparent;border-radius:var(--radius-md);padding:8px 9px;background:#17203385;display:grid;gap:6px}.stat-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase}.stat-value{font-size:.98rem;color:var(--text-strong)}.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:var(--space-2)}.value-grid.compact{grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr))}.kv-chip{border:1px solid transparent;border-radius:var(--radius-sm);background:#17203380;padding:5px 7px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:var(--space-2);min-width:0}.kv-chip>span,.kv-chip>strong{min-width:0;overflow-wrap:anywhere}.kv-chip>strong{text-align:right;max-width:100%;word-break:break-word;font-size:var(--font-size-sm);line-height:1.25}.kv-chip select{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0d162ae6;color:var(--text-primary);padding:4px 6px;max-width:180px}.kv-chip input[type=number]{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0d162ae6;color:var(--text-primary);padding:4px 6px;width:90px}.kv-chip input[type=checkbox]{width:16px;height:16px}.kv-chip span{color:var(--text-muted);font-size:.66rem;text-transform:uppercase;line-height:1.25}.sparkline{display:flex;align-items:flex-end;gap:4px;min-height:56px;margin:var(--space-3) 0}.sparkline span{width:8px;border-radius:999px;background:linear-gradient(180deg,#73a6ff,#3a61af)}.sparkline.muted{color:var(--text-muted);min-height:unset}.table-shell{border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:auto;max-width:100%;max-height:min(68dvh,720px)}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th,.data-table td{border-bottom:1px solid rgba(112,132,171,.09);padding:7px 8px;text-align:left;font-size:.84rem;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.data-table th{position:sticky;top:0;background:var(--surface-3);z-index:1;color:var(--text-strong);font-size:.7rem;text-transform:uppercase;letter-spacing:.035em}.table-sort-button{border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left}.table-sort-button:hover{color:var(--accent)}.data-table tbody tr:hover{background:rgba(var(--accent-rgb),.1)}.data-table tbody tr.clickable{cursor:pointer}.entity-state{display:inline-grid;gap:2px;min-width:0}.entity-state strong{color:var(--text-strong);font-weight:650}.entity-state small{color:var(--text-muted);font-size:.66rem;line-height:1.1}.entity-state.stale strong{color:color-mix(in srgb,var(--text-primary) 68%,var(--offline))}.entity-state.stale small{color:color-mix(in srgb,var(--warning) 72%,var(--text-muted));text-transform:uppercase;font-weight:760;letter-spacing:.025em}.table-empty{color:var(--text-muted)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);min-width:0;max-width:100%}.section-header>div,.section-actions{min-width:0}.section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.section-header p{margin-top:4px;color:var(--text-muted);font-size:var(--font-size-sm)}.muted{color:var(--text-muted)}.code-block{margin:0;border:1px solid rgba(112,132,171,.12);border-radius:var(--radius-md);background:#0c142a;padding:12px;max-height:340px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.inline-list{margin:0;padding-left:18px;display:grid;gap:4px;font-size:var(--font-size-sm)}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-4);margin-top:var(--space-4)}.panel-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px;margin-top:var(--space-4)}.panel-title:first-child{margin-top:0}.detail-grid .inline-list li{border:1px solid transparent;background:#17203373;border-radius:var(--radius-sm);padding:6px 8px;list-style:none}.detail-grid .inline-list{padding-left:0}.node-detail-card{max-height:calc(100dvh - 180px);overflow:auto}.node-detail-card .detail-grid{grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);align-items:start;min-height:0}.node-detail-card .code-block{max-height:clamp(160px,24dvh,360px)}.node-card{display:grid;gap:var(--space-3);align-content:start}.node-card .card-header{align-items:start}.node-card-meta{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#1720336b;padding:8px;display:grid;gap:3px}.node-card-meta span,.node-card-capabilities{color:var(--text-muted);font-size:.75rem}.node-card-meta strong{color:var(--text-strong);font-size:.88rem}.node-card-capabilities{margin:0;min-height:1.2em;overflow-wrap:anywhere}.stepper-control-panel{display:grid;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:#0f18299e;padding:var(--space-3)}.stepper-status-strip,.stepper-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.stepper-control-section{display:grid;gap:8px;border-top:1px solid rgba(141,164,214,.14);padding-top:var(--space-3)}.stepper-control-section:first-of-type{border-top:0;padding-top:0}.stepper-control-label{color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.stepper-field-grid label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;border:1px solid rgba(141,164,214,.14);border-radius:var(--radius-sm);background:#0b12208a;padding:8px}.stepper-field-grid label>span{color:var(--text-muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.stepper-field-grid input,.stepper-field-grid select{min-width:0;width:104px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0d162ae6;color:var(--text-primary);padding:6px 8px}.stepper-field-grid small{grid-column:1 / -1;color:var(--text-muted)}.node-capability-list,.node-entity-list{max-width:100%}.node-entity-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--space-2);max-height:clamp(180px,30dvh,520px);overflow:auto;padding-right:4px;scrollbar-gutter:stable}.node-entity-list li{display:grid;gap:2px;min-width:0}.node-entity-list strong,.node-entity-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-entity-list small{color:var(--text-muted);font-size:.72rem}.flow-line{display:flex;justify-content:space-between;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px;margin-top:var(--space-3);font-size:.85rem;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.flow-editor-shell{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-3);height:clamp(420px,calc(100dvh - 150px),980px);max-height:calc(100dvh - 150px);min-height:0;overflow:hidden}.flow-tabs-bar{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-3) 78%,transparent);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding:7px;min-width:0}.flow-tabs{display:flex;align-items:stretch;gap:7px;overflow-x:auto;min-width:0;padding-bottom:2px}.flow-tab{border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text-primary);min-width:180px;max-width:260px;padding:7px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 7px;align-items:center;text-align:left;cursor:pointer}.flow-tab.active{border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.16);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.12)}.flow-tab span,.flow-tab small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-tab span{color:var(--text-strong);font-size:var(--font-size-sm);font-weight:760}.flow-tab small{color:var(--text-muted);font-size:.68rem}.flow-tab .status-chip{grid-row:1 / 3;grid-column:2}.flow-tabs-summary{display:grid;grid-template-columns:minmax(58px,auto) minmax(116px,180px);gap:var(--space-2);align-items:stretch;min-width:0}.flow-tabs-summary .kv-chip{min-width:0}.flow-id-chip strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal;overflow-wrap:normal}.flow-layout{display:grid;grid-template-columns:minmax(205px,clamp(205px,14vw,260px)) minmax(0,1fr) minmax(260px,clamp(260px,19vw,360px));gap:var(--space-3);align-items:stretch;height:100%;min-height:0;overflow:hidden}.flow-layout.resizable{grid-template-columns:var(--flow-left-width, 260px) 8px minmax(0,1fr) 8px var(--flow-right-width, 420px);gap:var(--space-2)}.flow-resize-handle{border:none;border-radius:999px;background:rgba(var(--accent-rgb),.12);cursor:col-resize;width:8px;min-width:8px;padding:0;align-self:stretch;transition:background .12s ease}.flow-resize-handle:hover,body.is-resizing-flow .flow-resize-handle{background:rgba(var(--accent-rgb),.34)}body.is-resizing-flow{cursor:col-resize;-webkit-user-select:none;user-select:none}.flow-left-column{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-3);min-height:0;overflow:hidden}.flow-panel{min-height:0;overflow:auto}.flow-list,.flow-palette-section,.flow-palette-group,.flow-palette-grid,.flow-hint-list{display:grid;gap:var(--space-2)}.flow-route-strip{display:flex;flex-wrap:wrap;align-items:center;gap:5px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 78%,transparent);padding:6px}.flow-palette-controls{display:grid;gap:var(--space-2);margin-bottom:var(--space-2)}.flow-palette-search{display:grid;gap:5px}.flow-palette-search span,.flow-palette-select-row span{color:var(--text-muted);font-size:.68rem;font-weight:680}.flow-palette-search input,.flow-palette-select-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-strong);min-height:32px;padding:6px 8px;width:100%}.flow-palette-filter-row{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{border:1px solid rgba(var(--accent-rgb),.18);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--text-muted);cursor:pointer;font-size:.68rem;font-weight:720;min-height:28px;padding:4px 8px}.filter-chip.active{border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.18);color:var(--text-strong)}.flow-palette-select-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:6px}.flow-palette-select-row label{display:grid;gap:5px;min-width:0}.flow-palette-logic-row{border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 64%,transparent);padding:4px}.flow-palette-logic-row .filter-chip{flex:1 1 auto;justify-content:center}.flow-filter-summary{align-items:center;color:var(--text-muted);display:flex;gap:7px;justify-content:space-between;min-width:0}.flow-filter-summary span{font-size:.68rem}.filter-chip.reset{border-color:color-mix(in srgb,var(--warning) 28%,var(--border-soft));color:var(--text-primary)}.editor-mode-switch{background:color-mix(in srgb,var(--surface-2) 72%,transparent);border:1px solid var(--border-soft);border-radius:999px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px}.editor-mode-switch button{background:transparent;border:0;border-radius:999px;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800;padding:8px 10px}.editor-mode-switch button.active{background:color-mix(in srgb,var(--accent) 16%,var(--surface-1));color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.json-editor-panel{display:grid;gap:8px}.json-editor-textarea{background:color-mix(in srgb,var(--surface-0) 88%,#000 8%);border:1px solid var(--border-soft);border-radius:8px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.74rem;line-height:1.5;min-height:340px;padding:12px;resize:vertical;-moz-tab-size:2;tab-size:2;white-space:pre}.json-editor-help,.json-editor-error{color:var(--text-muted);font-size:.72rem}.json-editor-error{color:var(--danger)}.flow-route-strip span{border:1px solid rgba(var(--accent-rgb),.18);border-radius:6px;background:rgba(var(--accent-rgb),.08);color:var(--text-strong);padding:3px 5px;font-size:.66rem;white-space:nowrap}.flow-route-strip b{color:var(--text-muted);font-size:.7rem}.flow-palette-section{border-top:1px solid rgba(148,163,184,.1);padding-top:var(--space-2)}.flow-palette-section:first-child{border-top:0;padding-top:0}.flow-palette-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--surface-3) 92%,var(--bg-0));padding:3px 0}.flow-palette-group{border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 54%,transparent);padding:7px}.flow-list-item,.flow-palette-item{border:1px solid transparent;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:7px 8px;text-align:left;cursor:pointer;min-width:0;overflow-wrap:anywhere}.flow-list-item.active{border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.16)}.flow-palette-item{cursor:grab;display:grid;justify-content:stretch;gap:5px}.flow-palette-item.palette-setpointNode{border-color:color-mix(in srgb,var(--accent-3) 24%,transparent);background:color-mix(in srgb,var(--accent-3) 18%,var(--surface-2))}.flow-palette-item.palette-functionBlockNode{border-color:rgba(var(--accent-rgb),.2);background:color-mix(in srgb,var(--accent) 16%,var(--surface-2))}.flow-palette-item.palette-outputNode{border-color:color-mix(in srgb,var(--warning) 24%,transparent);background:color-mix(in srgb,var(--warning) 18%,var(--surface-2))}.flow-palette-item:active{cursor:grabbing}.flow-palette-item small,.flow-palette-group small,.flow-hint-list span{color:var(--text-muted);font-size:.68rem}.palette-item-main{display:inline-flex;align-items:center;gap:6px;min-width:0}.palette-item-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.palette-item-meta small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-canvas-card{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.flow-canvas-shell{--flow-grid-color: color-mix(in srgb, var(--accent) 42%, var(--border));height:100%;min-height:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:radial-gradient(circle at 18% 12%,rgba(var(--accent-rgb),.18),transparent 34%),radial-gradient(circle at 82% 68%,color-mix(in srgb,var(--accent-2) 16%,transparent),transparent 32%),linear-gradient(145deg,var(--bg-0) 0%,var(--bg-1) 52%,var(--bg-0) 100%);position:relative}.flow-canvas-shell .react-flow{background:transparent}.flow-canvas-shell.drag-active{border-color:rgba(var(--accent-rgb),.44);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.22),var(--shadow-soft)}.flow-canvas-empty{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;border:1px dashed var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text-muted);min-width:min(320px,78%);padding:var(--space-5);display:grid;justify-items:center;gap:var(--space-2);text-align:center}.flow-canvas-empty strong{color:var(--text-strong)}.flow-drop-hint{position:absolute;inset:var(--space-3);z-index:3;pointer-events:none;border:1px dashed rgba(var(--accent-rgb),.52);border-radius:var(--radius-md);background:rgba(var(--accent-rgb),.14);display:grid;place-content:center;justify-items:center;gap:4px;color:var(--text-muted)}.flow-drop-hint strong{color:var(--text-strong)}.flow-canvas-shell .react-flow__edge-path{stroke:color-mix(in srgb,var(--accent) 72%,var(--accent-2));stroke-width:2.4}.flow-canvas-shell .react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent-2);stroke-width:3}.flow-canvas-shell .react-flow__controls,.flow-canvas-shell .react-flow__minimap{background:color-mix(in srgb,var(--surface-3) 92%,transparent);border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden}.flow-canvas-shell .react-flow__controls-button{background:color-mix(in srgb,var(--surface-2) 96%,transparent);border-bottom:1px solid var(--border-soft);color:var(--text-primary);fill:var(--text-primary)}.flow-canvas-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.flow-rf-node{width:178px;min-height:92px;border:1px solid var(--border);border-top:3px solid var(--border-soft);border-radius:10px;background:color-mix(in srgb,var(--surface-1) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);color:var(--text-primary);padding:11px 10px 8px;display:grid;align-content:center;gap:6px;position:relative}.flow-rf-node.status-ok{border-top-color:var(--ok)}.flow-rf-node.status-warning{border-top-color:var(--warning)}.flow-rf-node.status-alarm{border-top-color:var(--alarm)}.flow-node-type-badge{position:absolute;top:-10px;right:9px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-3) 96%,var(--bg-0));color:var(--text-muted);font-size:.58rem;font-weight:760;letter-spacing:.04em;padding:2px 6px}.flow-rf-node-header{display:flex;align-items:center;gap:7px;min-width:0}.flow-rf-node-header strong{overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;font-size:.8rem;font-weight:560}.flow-rf-node small,.flow-rf-node-footer,.flow-rf-node-port-summary,.flow-rf-node-port-list{color:var(--text-muted);font-size:.68rem;overflow:hidden;overflow-wrap:anywhere;white-space:normal}.flow-rf-node-port-summary{display:flex;align-items:center;justify-content:space-between;gap:6px}.flow-rf-node-port-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start;min-width:0}.flow-rf-node-port-list{display:grid;gap:3px;min-width:0}.flow-rf-node-port-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-rf-node-port-list .flow-port-row{position:relative;min-height:20px;display:flex;align-items:center;overflow:visible}.flow-rf-node-port-list-input .flow-port-row{padding-left:12px}.flow-rf-node-port-list-output .flow-port-row{justify-content:flex-end;padding-right:12px}.flow-rf-node-port-list b{color:var(--accent);font-weight:680}.flow-rf-node-port-list.align-right{text-align:right}.advanced-panel{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 44%,transparent);padding:0;min-width:0}.advanced-panel[open]{padding-bottom:var(--space-3)}.advanced-panel summary{cursor:pointer;color:var(--text-primary);font-weight:540;padding:8px 10px;overflow-wrap:anywhere}.advanced-panel>.panel-title,.advanced-panel>.value-grid,.advanced-panel>.block-sections-grid{margin-left:var(--space-3);margin-right:var(--space-3)}.advanced-panel>.panel-title{margin-top:var(--space-2)}.flow-rf-node-input{background:linear-gradient(145deg,color-mix(in srgb,var(--accent-2) 36%,var(--surface-1)),color-mix(in srgb,var(--accent) 18%,var(--surface-2)))}.flow-rf-node-block{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 34%,var(--surface-1)),color-mix(in srgb,var(--accent) 14%,var(--surface-2)));width:clamp(230px,19vw,310px);align-content:start}.flow-rf-node-output{background:linear-gradient(145deg,color-mix(in srgb,var(--warning) 30%,var(--surface-1)),color-mix(in srgb,var(--warning) 12%,var(--surface-2)))}.flow-rf-node-setpoint{background:linear-gradient(145deg,color-mix(in srgb,var(--accent-3) 24%,var(--surface-1)),color-mix(in srgb,var(--accent-3) 10%,var(--surface-2)))}.flow-rf-node-trigger{background:linear-gradient(145deg,color-mix(in srgb,var(--warning) 28%,var(--surface-1)),color-mix(in srgb,var(--warning) 10%,var(--surface-2)))}.flow-handle{width:12px;height:12px;border:1px solid color-mix(in srgb,var(--bg-0) 18%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface-1) 88%,transparent),0 4px 12px #00000038;opacity:1;z-index:6}.flow-port-row .flow-handle{top:50%;transform:translateY(-50%)}.flow-port-row-input .flow-handle{left:-22px}.flow-port-row-output .flow-handle{right:-22px}.flow-handle.input{background:var(--accent)}.flow-handle.output{background:var(--accent-2)}.flow-message{border:1px solid rgba(var(--accent-rgb),.35);border-radius:var(--radius-sm);background:rgba(var(--accent-rgb),.14);color:var(--text-primary);padding:8px 10px}.transient-message{--message-accent: var(--accent);border:1px solid color-mix(in srgb,var(--message-accent) 42%,transparent);border-radius:var(--radius-sm);background:radial-gradient(circle at 12% 50%,color-mix(in srgb,var(--message-accent) 22%,transparent),transparent 46%),color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text-primary);margin:0;overflow:visible;padding:9px 12px;position:fixed;left:50%;top:70px;transform:translate(-50%);z-index:120;min-width:min(560px,calc(100vw - 32px));max-width:min(720px,calc(100vw - 32px));animation:transient-message-in .18s ease-out both}.transient-message span{display:block;overflow-wrap:anywhere}.transient-message-success{--message-accent: var(--ok)}.transient-message-warning{--message-accent: var(--warning)}.transient-message-error{--message-accent: var(--alarm)}.transient-message:before,.transient-message:after{border-radius:999px;content:"";opacity:0;pointer-events:none;position:absolute;left:18px;top:50%;width:5px;height:5px}.transient-message.exiting{animation:transient-message-burst .58s ease-in forwards}.transient-message.exiting:before{animation:transient-message-sparks-a .58s ease-out forwards;background:radial-gradient(circle,var(--message-accent) 45%,transparent 48%) 0 0 / 5px 5px,radial-gradient(circle,var(--accent-2) 45%,transparent 48%) 16px -12px / 5px 5px,radial-gradient(circle,var(--accent-3) 45%,transparent 48%) 34px 10px / 5px 5px;box-shadow:46px -18px color-mix(in srgb,var(--message-accent) 80%,white),64px 12px 0 var(--accent-2)}.transient-message.exiting:after{animation:transient-message-sparks-b .58s ease-out forwards;background:radial-gradient(circle,var(--accent-3) 45%,transparent 48%) 0 0 / 5px 5px,radial-gradient(circle,var(--message-accent) 45%,transparent 48%) 20px 12px / 5px 5px;box-shadow:32px -10px 0 var(--accent-2),56px 16px color-mix(in srgb,var(--message-accent) 70%,white)}@keyframes transient-message-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}@keyframes transient-message-burst{0%{opacity:1;transform:translate(-50%) scale(1)}56%{opacity:.92;transform:translate(-50%) scale(1.018);filter:saturate(1.18)}to{opacity:0;transform:translate(-50%,-8px) scale(.96);filter:blur(2px)}}@keyframes transient-message-sparks-a{0%{opacity:0;transform:translateY(-50%) scale(.4)}28%{opacity:1}to{opacity:0;transform:translate(70px,-42px) scale(1.1)}}@keyframes transient-message-sparks-b{0%{opacity:0;transform:translateY(-50%) scale(.4)}28%{opacity:.9}to{opacity:0;transform:translate(58px,34px) scale(1)}}@media (prefers-reduced-motion: reduce){.transient-message,.transient-message.exiting,.transient-message.exiting:before,.transient-message.exiting:after{animation:none}}.flow-import-dialog{gap:var(--space-3)}.flow-create-menu-wrap{position:relative}.flow-create-menu{background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 62%),var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);display:grid;gap:6px;min-width:260px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:40}.flow-create-menu button{background:color-mix(in srgb,var(--surface-2) 82%,transparent);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:grid;gap:3px;padding:9px 10px;text-align:left}.flow-create-menu button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface-2))}.flow-create-menu button:disabled{cursor:not-allowed;opacity:.52}.flow-create-menu strong{color:var(--text-strong);font-size:.86rem}.flow-create-menu small{color:var(--text-muted);line-height:1.3}.flow-import-help{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text-muted);display:grid;gap:6px;padding:10px 12px}.flow-import-help span,.flow-import-help small{overflow-wrap:anywhere}.flow-import-help code{color:var(--text-strong)}.flow-properties-stack,.flow-property-section{display:grid;gap:var(--space-2)}.flow-property-section{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 58%,transparent);padding:8px;min-width:0}.flow-property-section .value-grid.compact{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.flow-property-section .kv-chip{grid-template-columns:minmax(86px,.75fr) minmax(0,1.25fr);align-items:start}.flow-property-section .kv-chip>span{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.flow-property-section .kv-chip>strong{overflow-wrap:anywhere;word-break:break-word}.flow-property-section>.panel-title{margin:0;color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.flow-compact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.flow-property-section .settings-field{padding:6px;gap:4px}.flow-property-section .settings-field input,.flow-property-section .settings-field select{min-height:28px;padding:4px 6px}.compact-actions{justify-content:flex-start}.flow-port-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.flow-port-editor-grid>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 64%,transparent);padding:8px;display:grid;gap:6px;min-width:0}.flow-port-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0}.flow-port-editor-row span,.flow-port-editor-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-port-editor-row span{color:var(--text-strong);font-size:.78rem}.flow-port-editor-row small{grid-column:1 / -1;color:var(--text-muted);font-size:.66rem}.command-preview-list{display:grid;gap:var(--space-2)}.command-preview-card{border:1px solid rgba(var(--accent-rgb),.22);border-radius:var(--radius-sm);background:#0c152a80;padding:8px;display:grid;gap:var(--space-2)}.command-preview-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.command-preview-header strong{min-width:0;overflow-wrap:anywhere;font-size:var(--font-size-sm)}.command-preview-reason{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.35}.setpoint-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:var(--space-3)}.setpoint-quick-card{border:1px solid transparent;border-radius:var(--radius-sm);background:#1720337a;padding:var(--space-3);display:grid;gap:var(--space-3)}.setpoint-quick-card header,.setpoint-editor-panel header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.setpoint-editor-panel{margin-top:var(--space-4);border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-sm);background:#101931b8;padding:var(--space-3);display:grid;gap:var(--space-3)}.setpoint-manager-layout{display:grid;grid-template-columns:minmax(620px,1.45fr) minmax(320px,.75fr);gap:var(--space-3);align-items:stretch;min-height:0}.setpoint-overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.setpoint-overview-strip>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#17203380;padding:8px 9px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.setpoint-overview-strip span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.setpoint-overview-strip strong{color:var(--text-strong);font-size:1rem}.setpoint-table{display:grid;gap:var(--space-2)}.setpoint-table.compact{max-height:min(62dvh,680px);overflow:auto;padding-right:2px}.setpoint-group{display:grid;gap:7px;padding-bottom:var(--space-2)}.setpoint-group+.setpoint-group{border-top:1px solid rgba(148,163,184,.12);padding-top:var(--space-2)}.setpoint-row{border:1px solid transparent;border-radius:var(--radius-sm);background:#1720337a;color:var(--text-primary);min-height:68px;display:grid;grid-template-columns:minmax(230px,1.4fr) 86px 112px 150px minmax(92px,auto);align-items:center;gap:12px;padding:9px 12px;text-align:left;cursor:pointer;overflow:hidden}.setpoint-row.active{border-color:rgba(var(--accent-rgb),.28);background:#364b7352}.setpoint-row-main{display:grid;gap:2px;min-width:0}.setpoint-row-main strong{line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setpoint-row small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setpoint-row-values{display:contents}.setpoint-row-values>span{display:grid;gap:3px;min-width:0}.setpoint-row-values>span:first-child{max-width:86px}.setpoint-row-values>span:nth-child(2){max-width:112px}.setpoint-row-values>span:nth-child(3){max-width:142px}.setpoint-row-values small{font-size:.66rem;text-transform:uppercase}.setpoint-row .chip-row{justify-content:flex-end;flex-wrap:nowrap;min-width:0}.setpoint-row-values strong,.setpoint-row-main strong{color:var(--text-strong);font-weight:620}.setpoint-row-values strong{font-size:.92rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setpoint-edit-compact{display:grid;gap:8px}.setpoint-editor-head{display:grid;grid-template-columns:minmax(82px,.7fr) minmax(130px,1fr) auto;gap:7px;align-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#1720337a;padding:7px 8px}.setpoint-editor-head>div{display:grid;gap:2px;min-width:0}.setpoint-editor-head span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.setpoint-editor-head strong{color:var(--text-strong);overflow-wrap:anywhere}.setpoint-edit-grid{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.setpoint-edit-grid .settings-field{padding:6px;gap:3px}.setpoint-edit-grid .settings-field>span{font-size:.7rem}.setpoint-edit-grid .settings-field input,.setpoint-edit-grid .settings-field select{padding:4px 6px;min-height:28px}.setpoint-edit-grid .settings-field:first-child,.setpoint-edit-grid .settings-field:nth-child(2){grid-column:1 / -1}.nutrient-overview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.nutrient-overview-strip>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#17203380;padding:8px 9px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0}.nutrient-overview-strip span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.nutrient-overview-strip strong{color:var(--text-strong);font-size:1rem}.nutrient-calculation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.nutrient-calc-card{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:radial-gradient(circle at 12% 12%,rgba(var(--accent-rgb),.12),transparent 34%),color-mix(in srgb,var(--surface-2) 74%,transparent);display:grid;gap:5px;min-width:0;padding:10px}.nutrient-calc-card.warning{border-color:color-mix(in srgb,var(--warning) 46%,var(--border));background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--warning) 16%,transparent),transparent 34%),color-mix(in srgb,var(--surface-2) 78%,transparent)}.nutrient-calc-card.alarm{border-color:color-mix(in srgb,var(--danger) 44%,var(--border))}.nutrient-calc-card.ok{border-color:color-mix(in srgb,var(--success) 38%,var(--border))}.nutrient-calc-card span{align-items:center;color:var(--text-muted);display:inline-flex;gap:6px;font-size:.68rem;font-weight:850;text-transform:uppercase}.nutrient-calc-card strong,.nutrient-calc-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrient-calc-card strong{color:var(--text-strong);font-size:1rem}.nutrient-calc-card small{color:var(--text-muted)}.nutrient-ec-correction-card{border-color:color-mix(in srgb,var(--success) 22%,var(--border-soft))}.nutrient-now-card{border-color:color-mix(in srgb,var(--warning) 26%,var(--border-soft))}.nutrient-now-card.ok{border-color:color-mix(in srgb,var(--success) 28%,var(--border-soft))}.nutrient-now-card.alarm{border-color:color-mix(in srgb,var(--danger) 34%,var(--border-soft))}.nutrient-action-card{border-color:color-mix(in srgb,var(--warning) 26%,var(--border-soft))}.nutrient-action-card.ok{border-color:color-mix(in srgb,var(--success) 34%,var(--border-soft))}.nutrient-action-card.alarm{border-color:color-mix(in srgb,var(--danger) 38%,var(--border-soft))}.nutrient-action-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.nutrient-action-hero>div,.nutrient-action-empty,.nutrient-ph-advice,.nutrient-dose-recommendation,.nutrient-dose-recommendation-head{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:radial-gradient(circle at 10% 0%,rgba(var(--accent-rgb),.12),transparent 34%),color-mix(in srgb,var(--surface-2) 82%,transparent);min-width:0}.nutrient-action-hero>div{display:grid;gap:4px;padding:12px}.nutrient-action-hero>div.warning{border-color:color-mix(in srgb,var(--warning) 46%,var(--border))}.nutrient-action-hero>div.alarm{border-color:color-mix(in srgb,var(--danger) 44%,var(--border))}.nutrient-action-hero>div.ok{border-color:color-mix(in srgb,var(--success) 38%,var(--border))}.nutrient-action-hero span,.nutrient-dose-recommendation-head span,.nutrient-dose-recommendation>span:first-child+span small,.nutrient-ph-advice span{color:var(--text-muted)}.nutrient-action-hero span,.nutrient-ph-advice span,.nutrient-dose-recommendation-head span{align-items:center;display:inline-flex;gap:6px;font-size:.68rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.nutrient-action-hero strong{color:var(--text-strong);font-size:1.25rem}.nutrient-action-hero small,.nutrient-action-empty small,.nutrient-ph-advice small,.nutrient-dose-recommendation small,.nutrient-dose-recommendation-head small{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.nutrient-dose-recommendations{display:grid;gap:8px;margin-top:var(--space-2)}.nutrient-dose-recommendation-head{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;padding:11px 12px}.nutrient-dose-recommendation-head>div{display:grid;gap:3px;min-width:0}.nutrient-dose-recommendation-head strong,.nutrient-dose-recommendation strong,.nutrient-dose-recommendation em,.nutrient-action-empty strong,.nutrient-ph-advice strong{color:var(--text-strong)}.nutrient-dose-recommendation{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(220px,1fr) minmax(100px,.25fr) minmax(120px,.3fr) auto;padding:10px 12px}.nutrient-dose-recommendation.warning{border-color:color-mix(in srgb,var(--warning) 44%,var(--border))}.nutrient-dose-recommendation>span:not(.nutrient-row-icon){display:grid;gap:2px;min-width:0}.nutrient-dose-recommendation em{color:var(--success);font-size:1.15rem;font-style:normal;font-weight:950;text-align:right}.nutrient-dose-ratio strong{font-size:.95rem}.nutrient-action-empty,.nutrient-ph-advice{display:grid;gap:4px;margin-top:var(--space-2);padding:12px}.nutrient-ph-advice{align-items:center;grid-template-columns:minmax(0,1fr) auto;border-color:color-mix(in srgb,var(--warning) 36%,var(--border))}.nutrient-ph-advice>div{display:grid;gap:3px;min-width:0}.nutrient-technical-details{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 66%,transparent);display:grid;gap:var(--space-2);margin-top:var(--space-2);padding:10px 12px}.nutrient-technical-details summary{color:var(--text-primary);cursor:pointer;font-weight:850}.nutrient-technical-details[open] summary{margin-bottom:var(--space-2)}.nutrient-now-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.nutrient-now-summary,.nutrient-now-step,.nutrient-now-empty{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 62%),color-mix(in srgb,var(--surface-2) 78%,transparent);min-width:0}.nutrient-now-summary{display:grid;gap:4px;padding:10px 11px}.nutrient-now-summary span,.nutrient-now-step span{align-items:center;color:var(--text-muted);display:inline-flex;gap:6px;font-size:.68rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.nutrient-now-summary strong,.nutrient-now-step strong,.nutrient-now-step em,.nutrient-now-empty strong{color:var(--text-strong)}.nutrient-now-summary small,.nutrient-now-step small,.nutrient-now-empty small{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.nutrient-now-steps{display:grid;gap:8px;margin-top:var(--space-2)}.nutrient-now-step{align-items:center;display:grid;gap:10px;grid-template-columns:80px minmax(160px,1fr) minmax(110px,.35fr) minmax(220px,1fr);padding:9px 11px}.nutrient-now-step.warning{border-color:color-mix(in srgb,var(--warning) 42%,var(--border))}.nutrient-now-step em{font-size:1rem;font-style:normal;font-weight:900;text-align:right}.nutrient-now-empty{display:grid;gap:4px;margin-top:var(--space-2);padding:12px}.nutrient-fixed-plan{border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border-soft));border-radius:var(--radius-sm);background:radial-gradient(circle at 8% 0%,rgba(var(--accent-rgb),.14),transparent 38%),color-mix(in srgb,var(--surface-2) 82%,transparent);display:grid;gap:var(--space-2);margin-top:var(--space-2);padding:12px}.nutrient-fixed-plan-head{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.nutrient-fixed-plan-head>div:first-child,.nutrient-fixed-plan-item>span{display:grid;gap:3px;min-width:0}.nutrient-fixed-plan-head span{color:var(--text-muted);font-size:.68rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.nutrient-fixed-plan-head strong,.nutrient-fixed-plan-item strong,.nutrient-fixed-plan-item em{color:var(--text-strong)}.nutrient-fixed-plan-head small,.nutrient-fixed-plan-item small{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.nutrient-fixed-plan-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.nutrient-fixed-plan-items{display:grid;gap:7px}.nutrient-fixed-plan-item{align-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 72%,transparent);display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) minmax(90px,.25fr) minmax(150px,auto);padding:9px 10px}.nutrient-fixed-plan-item.done{border-color:color-mix(in srgb,var(--success) 40%,var(--border));opacity:.78}.nutrient-fixed-plan-item em{font-size:1rem;font-style:normal;font-weight:900;text-align:right}.nutrient-ec-correction-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.nutrient-ec-correction-head>div,.nutrient-ec-correction-empty,.nutrient-ec-correction-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),transparent 58%),color-mix(in srgb,var(--surface-2) 78%,transparent);min-width:0}.nutrient-ec-correction-head>div{display:grid;gap:3px;padding:9px 10px}.nutrient-ec-correction-head span,.nutrient-ec-correction-row.head span{color:var(--text-muted);font-size:.68rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.nutrient-ec-correction-head strong,.nutrient-ec-correction-row strong,.nutrient-ec-correction-empty strong{color:var(--text-strong)}.nutrient-ec-correction-head small,.nutrient-ec-correction-row small,.nutrient-ec-correction-empty small{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.nutrient-ec-correction-table{display:grid;gap:7px;margin-top:var(--space-2)}.nutrient-ec-correction-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(110px,.7fr) minmax(150px,.9fr) minmax(130px,.75fr) minmax(150px,.9fr);gap:10px;align-items:center;padding:8px 10px}.nutrient-ec-correction-row.head{background:color-mix(in srgb,var(--surface-1) 75%,transparent);padding-block:7px}.nutrient-ec-correction-row.warning{border-color:color-mix(in srgb,var(--warning) 38%,var(--border))}.nutrient-ec-correction-row>span{display:grid;gap:2px;min-width:0}.nutrient-ec-correction-row .recommendation strong{color:var(--success);font-size:1.05rem}.nutrient-ec-correction-empty{display:grid;gap:4px;margin-top:var(--space-2);padding:12px}.nutrient-library-layout{display:grid;grid-template-columns:minmax(560px,1.1fr) minmax(520px,1fr);gap:var(--space-3);align-items:start}.plant-library-layout{grid-template-columns:minmax(300px,.55fr) minmax(720px,1.45fr)}.plant-profile-list,.plant-profile-editor{min-width:0}.plant-profile-list .nutrient-product-row{border:1px solid var(--border-soft);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 52%),color-mix(in srgb,var(--surface-2) 86%,transparent);color:var(--text-primary);cursor:pointer;grid-template-columns:36px minmax(0,1fr) auto;text-align:left;width:100%}.plant-profile-list .nutrient-product-row.active{border-color:rgba(var(--accent-rgb),.52);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.18),0 14px 30px rgba(var(--accent-rgb),.1)}.plant-profile-list .icon-box{align-items:center;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.28);border-radius:10px;color:var(--accent);display:inline-flex;height:34px;justify-content:center;width:34px}.plant-profile-editor{display:grid;gap:var(--space-3)}.plant-phase-editor,.plant-range-panel{margin-top:0}.nutrient-system-grid{grid-template-columns:minmax(220px,.9fr) minmax(300px,1.35fr) repeat(2,minmax(150px,.6fr)) minmax(260px,1.1fr)}.nutrient-facility-target{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 70%,transparent);display:grid;gap:2px;min-height:40px;padding:7px 9px}.nutrient-facility-target strong{color:var(--text-strong)}.nutrient-facility-target span,.nutrient-facility-target small{color:var(--text-muted);overflow-wrap:anywhere}.nutrient-preset-list,.nutrient-preset-group,.nutrient-detail{display:grid;gap:var(--space-2);min-width:0}.nutrient-preset-list{max-height:min(66dvh,760px);overflow:auto;padding-right:2px}.nutrient-preset-group+.nutrient-preset-group{border-top:1px solid rgba(148,163,184,.12);padding-top:var(--space-2)}.nutrient-preset-row{border:1px solid transparent;border-radius:var(--radius-sm);background:#1720337a;color:var(--text-primary);min-height:72px;padding:9px 10px;display:grid;grid-template-columns:28px minmax(190px,1fr) minmax(230px,.9fr) auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.nutrient-preset-row.active,.nutrient-preset-row:hover{border-color:rgba(var(--accent-rgb),.3);background:#364b7352}.nutrient-row-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);color:#a9c6ff}.nutrient-row-main,.nutrient-row-values,.nutrient-row-values>span{min-width:0}.nutrient-row-main{display:grid;gap:2px}.nutrient-row-main strong{color:var(--text-strong);line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nutrient-row-main small,.nutrient-row-values small{color:var(--text-muted)}.nutrient-row-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nutrient-row-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nutrient-row-values>span{display:grid;gap:2px}.nutrient-row-values small{font-size:.66rem;text-transform:uppercase}.nutrient-row-values strong{color:var(--text-strong);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nutrient-detail-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.nutrient-detail-head>div,.nutrient-note{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#1720337a;padding:8px 9px;display:grid;gap:3px;min-width:0}.nutrient-detail-head span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.nutrient-detail-head strong,.nutrient-note strong{color:var(--text-strong);overflow-wrap:anywhere}.nutrient-delta-panel{border:1px solid rgba(var(--accent-rgb),.22);border-radius:var(--radius-sm);background:#0d162aad;padding:9px;display:grid;gap:8px}.nutrient-delta-source .nutrient-field{background:#1720338a}.nutrient-delta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.nutrient-delta-grid>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#17203380;padding:7px 8px;display:grid;gap:3px;min-width:0}.nutrient-delta-grid span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.nutrient-delta-grid strong{color:var(--text-strong);overflow-wrap:anywhere}.nutrient-delta-panel small{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.nutrient-dose-panel{border:1px solid rgba(52,211,153,.18);border-radius:var(--radius-sm);background:#082f2b38;padding:9px;display:grid;gap:8px}.nutrient-manufacturer-panel{border:1px solid rgba(96,165,250,.2);border-radius:var(--radius-sm);background:#1e295742;padding:9px;display:grid;gap:8px}.nutrient-calibration-panel{border:1px solid rgba(250,204,21,.18);border-radius:var(--radius-sm);background:#3c2d0a33;padding:9px;display:grid;gap:8px}.nutrient-dose-header,.nutrient-dose-result{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-width:0}.nutrient-dose-header>div,.nutrient-dose-result{min-width:0}.nutrient-dose-header>div{display:grid;gap:2px}.nutrient-dose-header strong,.nutrient-dose-result strong{color:var(--text-strong)}.nutrient-dose-header small,.nutrient-dose-result small{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.nutrient-dose-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.nutrient-dose-result{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#11182785;padding:8px 9px;display:grid;grid-template-columns:minmax(120px,.6fr) minmax(100px,auto) minmax(220px,1fr);align-items:center}.nutrient-dose-result span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.nutrient-dose-result strong{font-size:1.05rem;text-align:right}.nutrient-formula{grid-column:1 / -1;color:#b8c7e6;background:#080d1c6b;border:1px solid rgba(148,163,184,.14);border-radius:var(--radius-sm);padding:5px 7px;font-size:.7rem;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.nutrient-calibration-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.nutrient-calibration-steps>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#11182785;padding:8px;display:grid;gap:6px;align-content:start;min-width:0}.nutrient-calibration-steps span{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fef3c7;background:#facc1524;border:1px solid rgba(250,204,21,.25);font-size:.72rem;font-weight:700}.nutrient-calibration-steps strong{color:var(--text-strong)}.nutrient-calibration-steps small{color:var(--text-muted);line-height:1.3}.nutrient-calibration-steps input{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0c1428f2;color:var(--text-strong);padding:6px 7px;min-width:0;width:100%;min-height:32px}.nutrient-log-create{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:var(--space-2);align-items:end}.nutrient-log-list{display:grid;gap:7px}.nutrient-log-list>small{color:var(--text-muted)}.nutrient-log-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#11182785;padding:8px;display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(72px,.55fr)) auto;gap:8px;align-items:center;min-width:0}.nutrient-log-row>div{display:grid;gap:2px;min-width:0}.nutrient-log-row span,.nutrient-log-row small{color:var(--text-muted);font-size:.68rem;line-height:1.25;overflow-wrap:anywhere}.nutrient-log-row strong{color:var(--text-strong);overflow-wrap:anywhere}.nutrient-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.nutrient-edit-grid .nutrient-field:first-child{grid-column:1 / -1}.nutrient-field{padding:6px;gap:3px}.nutrient-field>span{font-size:.7rem;display:inline-flex;align-items:center;gap:5px}.nutrient-field .info-hint,.nutrient-delta-grid .info-hint,.nutrient-dose-result .info-hint{display:inline-flex;align-items:center;color:#9db8e8}.nutrient-field .info-hint small,.nutrient-delta-grid .info-hint small,.nutrient-dose-result .info-hint small{display:none}.nutrient-field input{min-height:28px;padding:4px 6px}.unit-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}.unit-input-wrap input{min-width:0}.unit-input-wrap em{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:28px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:7px;background:#94a3b814;color:var(--text-muted);font-size:.74rem;font-style:normal;pointer-events:none}.hue-light-control{gap:10px}.hue-light-control .form-action-row{margin-top:4px}.plugin-log-list{margin-top:0}.hue-dimmer-row{display:grid;grid-template-columns:auto minmax(120px,1fr) 46px;align-items:center;gap:10px;min-width:0}.hue-dimmer-row span{color:var(--text-muted);font-size:.76rem;font-weight:700}.hue-dimmer-row input[type=range]{width:100%;min-width:0}.hue-dimmer-row strong{text-align:right}.nutrient-products{display:grid;gap:7px}.nutrient-product-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#11182785;padding:8px 9px;display:grid;grid-template-columns:minmax(130px,1fr) minmax(110px,.8fr) minmax(120px,.9fr) minmax(160px,1.1fr);gap:8px;align-items:center;min-width:0}.nutrient-product-row strong{color:var(--text-strong)}.nutrient-product-row span,.nutrient-product-row small,.nutrient-note p,.nutrient-note small{color:var(--text-muted);line-height:1.35;margin:0;min-width:0;overflow-wrap:anywhere}.nutrient-product-row span{color:var(--text-primary)}:root[data-appearance=light] .nutrient-overview-strip>div,:root[data-appearance=light] .nutrient-preset-row,:root[data-appearance=light] .nutrient-detail-head>div,:root[data-appearance=light] .nutrient-delta-grid>div,:root[data-appearance=light] .nutrient-dose-result,:root[data-appearance=light] .nutrient-calibration-steps>div,:root[data-appearance=light] .nutrient-facility-target,:root[data-appearance=light] .unit-input-wrap em,:root[data-appearance=light] .nutrient-note{border-color:color-mix(in srgb,var(--accent) 14%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 95%,white)}:root[data-appearance=light] .nutrient-preset-row.active,:root[data-appearance=light] .nutrient-preset-row:hover{border-color:color-mix(in srgb,var(--accent) 34%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 56%),color-mix(in srgb,var(--surface-active) 76%,white)}:root[data-appearance=light] .nutrient-delta-panel,:root[data-appearance=light] .nutrient-manufacturer-panel,:root[data-appearance=light] .nutrient-dose-panel,:root[data-appearance=light] .nutrient-calibration-panel{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 94%,white)}:root[data-appearance=light] .nutrient-manufacturer-panel{border-color:color-mix(in srgb,var(--accent-2) 20%,#d6c7ad)}:root[data-appearance=light] .nutrient-dose-panel{border-color:color-mix(in srgb,var(--ok) 20%,#d6c7ad)}:root[data-appearance=light] .nutrient-calibration-panel{border-color:color-mix(in srgb,var(--warning) 24%,#d6c7ad)}:root[data-appearance=light] .nutrient-formula{background:color-mix(in srgb,var(--surface-2) 86%,white);border-color:color-mix(in srgb,var(--accent) 12%,#d6c7ad);color:var(--text-primary)}.chip-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.function-blocks-layout{display:grid;grid-template-columns:minmax(260px,clamp(290px,28vw,420px)) minmax(0,1fr);gap:var(--space-3);align-items:stretch;height:clamp(500px,calc(100dvh - 132px),980px);max-height:calc(100dvh - 132px);min-height:0;overflow:hidden}.function-library-panel{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:linear-gradient(145deg,#111827c7,#080e1c85),radial-gradient(circle at 12% 8%,rgba(128,224,197,.08),transparent 32%);box-shadow:var(--shadow-card);padding:var(--space-3);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:var(--space-3);min-width:0;min-height:0}:root[data-appearance=light] .function-library-panel{border-color:color-mix(in srgb,var(--accent) 16%,#d6c7ad);background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--surface-1) 96%,white),color-mix(in srgb,var(--surface-2) 84%,white));box-shadow:0 18px 44px color-mix(in srgb,var(--accent) 9%,transparent)}.function-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-width:0}.function-library-head>div{display:grid;gap:3px;min-width:0}.function-library-head strong{color:var(--text-strong);font-size:1rem}.function-library-head small{color:var(--text-muted)}.function-search{width:100%;min-width:0}.function-category-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.function-category-filters button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text-muted);min-width:0;min-height:34px;padding:7px 8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;cursor:pointer;text-align:left}.function-category-filters button:hover,.function-category-filters button.active{border-color:rgba(var(--accent-rgb),.34);background:rgba(var(--accent-rgb),.18);color:var(--text-strong)}:root[data-appearance=light] .function-category-filters button{border-color:color-mix(in srgb,var(--accent) 14%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 58%),color-mix(in srgb,var(--surface-1) 94%,white)}:root[data-appearance=light] .function-category-filters button:hover,:root[data-appearance=light] .function-category-filters button.active{border-color:color-mix(in srgb,var(--accent) 36%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,transparent),transparent 56%),color-mix(in srgb,var(--surface-active) 78%,white)}:root[data-appearance=light] .function-category-filters strong{background:color-mix(in srgb,var(--surface-3) 78%,white)}.function-category-filters span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:720}.function-category-filters strong{border-radius:999px;background:#94a3b824;color:var(--text-strong);font-size:.68rem;min-width:22px;padding:2px 6px;text-align:center}.function-blocks-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2);align-content:start;overflow:auto;min-height:0;padding-right:2px}.function-block-compact{position:relative;border:1px solid transparent;border-left:3px solid rgba(34,197,94,.7);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 76%,transparent);color:var(--text-primary);min-height:82px;padding:8px 10px;display:grid;gap:7px;text-align:left;cursor:pointer}.function-block-compact:hover,.function-block-compact.selected{border-color:rgba(var(--accent-rgb),.26);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-2))}.block-compact-header{display:flex;align-items:center;gap:8px;min-width:0}.block-compact-header strong{overflow:hidden;overflow-wrap:anywhere;white-space:normal;font-size:.84rem;font-weight:560}.block-compact-meta{color:var(--text-muted);font-size:.7rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.block-compact-footer{display:flex;flex-wrap:wrap;gap:6px}.block-compact-io{display:flex;flex-wrap:wrap;gap:6px;color:var(--text-muted);font-size:.68rem}.block-compact-io span{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#94a3b81a;padding:2px 6px}.block-io-dot{position:absolute;width:8px;height:8px;border-radius:999px;top:50%;transform:translateY(-50%);background:#8fb5ffb8}.input-dot{left:-6px}.output-dot{right:-6px;background:var(--accent-2)}.function-block-detail-panel{display:grid;gap:var(--space-2);min-width:0}.function-detail-column{min-height:0;overflow:auto}.function-editor-hero{border:1px solid rgba(var(--accent-rgb),.16);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),color-mix(in srgb,var(--surface-2) 58%,transparent)),radial-gradient(circle at 8% 18%,color-mix(in srgb,var(--accent-2) 16%,transparent),transparent 34%);padding:var(--space-3);margin-bottom:var(--space-3);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;min-width:0}.function-editor-hero-icon{width:46px;height:46px;border-radius:var(--radius-md);display:inline-grid;place-items:center;color:#dffcff;border:1px solid rgba(var(--accent-rgb),.22);background:rgba(var(--accent-rgb),.11)}.function-editor-hero>div{display:grid;gap:3px;min-width:0}.function-editor-hero>div:not(.function-editor-hero-status)>span{color:var(--text-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.function-editor-hero strong{color:var(--text-strong);font-size:1.22rem;line-height:1.1;overflow-wrap:anywhere}.function-editor-hero small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.function-editor-hero-status{justify-items:end;align-content:center}.function-enabled-toggle{align-content:center;min-height:100%}.function-editor-compact{display:grid;gap:var(--space-3)}.function-editor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.function-option-head{border-top:1px solid rgba(148,163,184,.12);padding-top:var(--space-3);display:grid;gap:3px}.function-option-head:first-of-type{border-top:0;padding-top:0}.function-option-head small{color:var(--text-muted);font-size:.72rem}.function-details-inline{border-top:1px solid rgba(148,163,184,.12);margin-top:var(--space-3);padding-top:var(--space-3)}.function-setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.34fr);gap:var(--space-3);align-items:stretch}.function-setup-flow{min-height:460px;border:1px solid rgba(112,132,171,.16);border-radius:var(--radius-sm);overflow:hidden;background:radial-gradient(circle at 18% 12%,rgba(var(--accent-rgb),.18),transparent 34%),radial-gradient(circle at 82% 68%,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent 32%),linear-gradient(145deg,var(--bg-0) 0%,var(--bg-1) 52%,var(--bg-0) 100%)}.function-setup-flow .react-flow{background:transparent}.function-setup-flow .react-flow__edge-path{stroke:color-mix(in srgb,var(--accent) 72%,var(--accent-2));stroke-width:2.2}.function-setup-flow .react-flow__controls{background:color-mix(in srgb,var(--surface-3) 92%,transparent);border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden}.function-setup-flow .react-flow__controls-button{background:color-mix(in srgb,var(--surface-2) 96%,transparent);border-bottom:1px solid var(--border-soft);color:var(--text-primary);fill:var(--text-primary)}.function-setup-node{width:180px;min-height:82px;border:1px solid rgba(151,175,220,.22);border-top:3px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--surface-1) 90%,transparent);color:var(--text-primary);padding:10px;display:grid;gap:5px;box-shadow:var(--shadow-soft)}.function-setup-node.setup-input{border-top-color:var(--ok);background:linear-gradient(145deg,color-mix(in srgb,var(--accent-2) 36%,var(--surface-1)),color-mix(in srgb,var(--accent) 18%,var(--surface-2)))}.function-setup-node.setup-block{width:240px;min-height:120px;border-top-color:var(--accent);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 34%,var(--surface-1)),color-mix(in srgb,var(--accent) 14%,var(--surface-2)))}.function-setup-node.setup-output{border-top-color:var(--warning);background:linear-gradient(145deg,color-mix(in srgb,var(--warning) 30%,var(--surface-1)),color-mix(in srgb,var(--warning) 12%,var(--surface-2)))}.setup-node-kicker{color:var(--text-muted);font-size:.62rem;font-weight:760;text-transform:uppercase}.function-setup-node strong,.function-setup-node small{min-width:0;overflow:hidden;overflow-wrap:anywhere}.function-setup-node small{color:var(--text-muted);font-size:.72rem}.setup-block-title{display:inline-flex;align-items:center;gap:7px;min-width:0}.function-setup-side{display:grid;align-content:start;gap:var(--space-3)}.compact-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-2)}.tab{border:1px solid transparent;border-radius:var(--radius-sm);background:#17203385;color:var(--text-primary);min-height:30px;padding:5px 10px;cursor:pointer}.tab:hover,.tab.active{border-color:rgba(var(--accent-rgb),.32);background:#1f2c46c7}.block-ascii-panel{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1fr);gap:var(--space-2);align-items:start}.block-ascii-diagram{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#0c1428e6;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.74rem;line-height:1.35;padding:10px;white-space:pre-wrap;overflow:auto;max-height:180px}.function-io-editor{display:grid;gap:var(--space-3);margin-top:var(--space-2)}.function-io-editor>div{border:1px solid rgba(112,132,171,.12);border-radius:var(--radius-md);background:#080e1c3d;padding:var(--space-3);min-width:0}.function-editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:8px}.function-io-list{display:grid;gap:8px}.function-io-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.7fr) auto auto;gap:7px;align-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#17203370;padding:6px}.function-io-advanced{grid-column:1 / -1}.function-empty-state{border:1px dashed var(--border-soft);border-radius:var(--radius-sm);background:#17203352;padding:var(--space-3);display:grid;gap:3px;color:var(--text-muted)}.function-empty-state strong{color:var(--text-strong)}.contract-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#4e7fff1f;color:var(--text-muted);font-size:.72rem;line-height:1;padding:7px 8px;white-space:nowrap}.function-io-row input,.function-io-row select,.function-io-advanced input{min-width:0;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0c1428f2;color:var(--text-strong);padding:6px 7px}.function-io-advanced summary{cursor:pointer;color:var(--text-muted);font-size:.72rem;padding:4px 0}.function-io-advanced[open]{display:grid;gap:6px}.block-code-shell{margin-top:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#0b132880;overflow:hidden}.block-code-toolbar,.block-code-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:9px 11px;background:#121d34b8;border-bottom:1px solid var(--border-soft)}.block-code-toolbar>div:first-child{display:grid;gap:2px}.block-code-toolbar strong{font-size:.82rem}.block-code-toolbar small,.block-code-footer{color:var(--text-muted);font-size:.7rem}.block-code-footer{border-top:1px solid var(--border-soft);border-bottom:0;flex-wrap:wrap}.block-code-footer code{color:var(--text-strong)}.block-code-frame{display:grid;grid-template-columns:44px minmax(0,1fr);min-height:260px;background:#070d1bf5}.block-code-gutter{display:grid;align-content:start;gap:0;padding:10px 8px;border-right:1px solid rgba(148,163,184,.16);color:#94a3b8b3;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.76rem;line-height:1.55;text-align:right;-webkit-user-select:none;user-select:none}.block-code-gutter span{height:1.55em}.block-code-editor{min-height:260px;width:100%;border:0;outline:0;resize:vertical;background:transparent;color:#dbeafe;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.55;-moz-tab-size:2;tab-size:2}.open-panel{padding:var(--space-3)}.block-sections-grid{margin-top:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.block-sections-grid .inline-list{padding-left:0}.block-sections-grid .inline-list li{list-style:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:5px 7px;background:#17203370}.block-header-line{display:flex;align-items:flex-start;gap:var(--space-2)}.block-icon{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#9dc2ff;border:1px solid rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.13)}.metric-node-tile h4{font-size:.95rem;margin-bottom:2px}.metric-node-values{margin-top:8px}.hero-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:var(--space-2)}.hero-metric-card{border:1px solid transparent;border-radius:var(--radius-md);background:#17203385;padding:10px;display:grid;gap:6px}.hero-metric-card span{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.hero-metric-card strong{font-size:1.18rem;color:var(--text-strong);line-height:1.1}.widget-json-preview{font-size:.8rem}.widget-card{min-height:168px}.widget-head-line{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);margin-bottom:10px}.chart-box{border:1px solid transparent;border-radius:var(--radius-sm);padding:8px;background:#0b13287a}.widget-kpis{display:grid;gap:var(--space-2)}.topic-list .kv-chip{min-height:40px}.topic-list .kv-chip strong{max-width:100%;text-align:right;font-size:.82rem;color:var(--text-primary);word-break:break-all}.simulation-node-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--space-3)}.simulation-node-card{border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-3);background:#1720337a;display:grid;gap:var(--space-2)}.simulation-node-card header{display:flex;justify-content:space-between;align-items:center}.simulation-node-meta{display:grid;gap:4px;color:var(--text-muted);font-size:.82rem}.simulation-last-state{display:grid;gap:6px}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-md);padding:var(--space-5);text-align:center}@media (max-width: 900px){.detail-grid,.flow-layout,.flow-editor-shell,.function-blocks-layout,.setpoint-manager-layout,.nutrient-library-layout{grid-template-columns:1fr}.flow-editor-shell{height:auto;max-height:none}.function-blocks-layout{height:auto;max-height:none;overflow:visible}.function-library-panel{max-height:none}.function-blocks-grid{max-height:420px}.function-editor-hero{grid-template-columns:auto minmax(0,1fr)}.function-editor-hero-status{grid-column:1 / -1;justify-items:start;display:flex;flex-wrap:wrap;gap:6px}.flow-tabs-bar,.flow-tabs-summary{grid-template-columns:1fr}.flow-layout.resizable{grid-template-columns:1fr;height:auto}.flow-resize-handle{display:none}.flow-port-editor-grid,.flow-compact-form-grid,.flow-palette-select-row,.function-setup-grid{grid-template-columns:1fr}.setpoint-row{grid-template-columns:minmax(0,1fr);align-items:start}.setpoint-overview-strip,.setpoint-editor-head,.setpoint-edit-grid,.nutrient-overview-strip,.nutrient-action-hero,.nutrient-calculation-summary,.nutrient-system-grid,.nutrient-detail-head,.nutrient-delta-grid,.nutrient-dose-grid,.nutrient-dose-result,.nutrient-calibration-steps,.nutrient-log-create,.nutrient-log-row,.nutrient-edit-grid,.nutrient-product-row,.nutrient-dose-recommendation,.nutrient-ph-advice{grid-template-columns:1fr}.nutrient-dose-recommendation em,.nutrient-dose-result strong{text-align:left}.nutrient-preset-row{grid-template-columns:28px minmax(0,1fr);align-items:start}.nutrient-row-values{grid-column:2}.nutrient-preset-row .status-chip{grid-column:2;justify-self:start}.setpoint-row-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.setpoint-row-values>span,.setpoint-row-values>span:first-child,.setpoint-row-values>span:nth-child(2),.setpoint-row-values>span:nth-child(3){max-width:none}.setpoint-row .chip-row{justify-content:flex-start;flex-wrap:wrap}.setpoint-edit-grid .settings-field:first-child,.setpoint-edit-grid .settings-field:nth-child(2),.nutrient-edit-grid .nutrient-field:first-child{grid-column:auto}.block-sections-grid,.block-ascii-panel,.function-io-row,.function-category-filters{grid-template-columns:1fr}.function-editor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-canvas-shell{min-height:380px;height:52dvh}.section-header{flex-direction:column;gap:var(--space-2)}}.overview-foot{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--text-muted);font-size:.68rem;line-height:1.25}.compact-card{padding:var(--space-2)}.compact-card .card-header{margin-bottom:var(--space-2);align-items:center}.system-status-card .card-header h3{font-size:.92rem}.system-status-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.system-status-item{min-width:0;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 64%,transparent);padding:7px 8px;display:grid;grid-template-columns:minmax(58px,auto) minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.system-status-item span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.system-status-item strong{color:var(--text-strong);font-size:.86rem;font-weight:560;min-width:0;overflow-wrap:anywhere}.node-meta{margin-bottom:var(--space-2);color:var(--text-muted)}.page-stack{display:grid;gap:var(--space-3);min-height:0;max-width:100%;align-content:start}.quick-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:var(--space-3)}.quick-access-card{border:1px solid transparent;border-radius:var(--radius-sm);background:#1720337a;color:var(--text-primary);min-height:52px;padding:10px;display:flex;align-items:center;gap:var(--space-2);text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;min-width:0}.quick-access-card:hover{background:#1f2c46b8;border-color:rgba(var(--accent-rgb),.24);transform:translateY(-1px)}.quick-access-card span{font-weight:540;line-height:1.25;overflow-wrap:anywhere}.area-card-grid,.area-overview-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.esp-nodes-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(560px,1.4fr);gap:var(--space-3);align-items:start}.esp-detail-layout,.esp-nodes-overview,.esp-landing,.esp-dashboard-landing,.esp-dashboard-group-stack{display:grid;gap:var(--space-3)}.esp-dashboard-group{border:1px solid var(--border);border-radius:var(--radius-md);background:#0c14246b;padding:var(--space-3);display:grid;gap:var(--space-3);min-width:0}.esp-dashboard-group-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.esp-dashboard-group-head>div{display:grid;gap:3px;min-width:0}.esp-dashboard-group-head strong{color:var(--text-strong);font-size:1.08rem}.esp-dashboard-group-head small{color:var(--text-muted);overflow-wrap:anywhere}.esp-dashboard-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));gap:var(--space-3);align-items:start}.esp-dashboard-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:radial-gradient(circle at 12% 18%,rgba(128,224,197,.14),transparent 30%),#0c142494;padding:var(--space-3);display:grid;gap:var(--space-3);min-width:0}.esp-dashboard-card-ok{border-color:#22c55e47}.esp-dashboard-card-warning{border-color:#facc1547}.esp-dashboard-card-alarm{border-color:#ef444447}.esp-dashboard-card-offline{border-color:#6b72803d}.esp-dashboard-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);align-items:center;min-width:0}.esp-dashboard-card-head>div{display:grid;gap:3px;min-width:0}.esp-dashboard-card-head strong{color:var(--text-strong);font-size:1.05rem;overflow-wrap:anywhere}.esp-dashboard-card-head small{color:var(--text-muted);overflow-wrap:anywhere}.esp-dashboard-mini-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.esp-dashboard-mini-strip div{border:1px solid rgba(126,151,196,.14);border-radius:var(--radius-sm);background:#080e1b52;padding:8px;min-width:0}.esp-dashboard-mini-strip span,.esp-dashboard-value span,.esp-dashboard-value small{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.esp-dashboard-mini-strip strong{display:block;color:var(--text-strong);font-size:.95rem;margin-top:3px;overflow-wrap:anywhere}.esp-dashboard-area-tags{display:flex;flex-wrap:wrap;gap:6px}.esp-dashboard-area-tags span{border:1px solid rgba(128,224,197,.18);border-radius:999px;background:#80e0c514;color:var(--text-muted);font-size:.7rem;font-weight:760;padding:3px 8px}.esp-dashboard-value-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:var(--space-2)}.esp-node-hero{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:var(--radius-md);background:radial-gradient(circle at 10% 8%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--surface-3) 72%,transparent),color-mix(in srgb,var(--surface-2) 50%,transparent));padding:var(--space-3);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;min-width:0}.esp-node-hero-title{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:center;min-width:0}.esp-node-hero-title>div,.esp-node-hero-status{display:grid;gap:3px;min-width:0}.esp-node-hero-title strong{color:var(--text-strong);font-size:clamp(1.15rem,1.6vw,1.55rem);line-height:1.05;overflow-wrap:anywhere}.esp-node-hero-title small,.esp-node-hero-status span{color:var(--text-muted);font-size:.76rem;overflow-wrap:anywhere}.esp-node-hero-status{justify-items:end}.esp-node-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.esp-node-quick-grid>div{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 58%),color-mix(in srgb,var(--surface-2) 58%,transparent);padding:10px;display:grid;gap:4px;min-width:0}.esp-node-quick-grid>div:nth-child(2){border-color:color-mix(in srgb,var(--accent-2) 20%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 9%,transparent),transparent 58%),color-mix(in srgb,var(--surface-2) 58%,transparent)}.esp-node-quick-grid>div:nth-child(3){border-color:color-mix(in srgb,var(--accent-3) 20%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-3) 9%,transparent),transparent 58%),color-mix(in srgb,var(--surface-2) 58%,transparent)}.esp-node-quick-grid span,.esp-node-panel-head small,.esp-node-area-list span{color:var(--text-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.esp-node-quick-grid span{display:inline-flex;align-items:center;gap:5px}.esp-node-quick-grid strong{color:var(--text-strong);font-size:1.02rem;overflow-wrap:anywhere}.esp-node-quick-grid small{color:var(--text-muted);font-size:.74rem}.esp-node-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.esp-dashboard-content{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:var(--space-3);align-items:start}.esp-node-panel{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 52%),color-mix(in srgb,var(--surface-3) 58%,transparent);padding:var(--space-3);display:grid;gap:var(--space-3);min-width:0}.esp-node-panel-wide{min-width:0}.esp-node-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.esp-node-panel-head>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:center;min-width:0}.esp-node-panel-head strong{color:var(--text-strong);font-size:1rem}.esp-node-panel-head small{display:block;margin-top:2px}.esp-node-live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:var(--space-2)}.esp-node-live-grid .esp-dashboard-value{min-height:142px}.esp-node-live-grid .home-entity-main strong,.esp-dashboard-value .home-entity-main strong{white-space:normal;line-height:1.18}.esp-node-area-list{display:grid;gap:var(--space-2)}.esp-node-area-list div{border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--surface-2) 48%,transparent);padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.esp-node-area-list strong{color:var(--text-strong);font-size:1.06rem}.esp-dashboard-empty{border:1px dashed color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:8px;color:var(--text-muted);padding:var(--space-3)}.esp-dashboard-value{min-height:126px;cursor:default}.esp-dashboard-value-water{border-color:#38bdf83d}.esp-dashboard-value-climate{border-color:#22c55e38}.esp-dashboard-value-light{border-color:#facc153d}.esp-dashboard-value-dosing{border-color:#a855f73d}.esp-dashboard-value .plugin-lovelace-chart,.esp-dashboard-value .plugin-lovelace-chart-empty{grid-column:1 / -1;height:42px}.esp-overview-controls{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.55fr) minmax(210px,.8fr);gap:var(--space-3);align-items:end}.esp-overview-controls label,.esp-pending-card label{display:grid;gap:6px;min-width:0}.esp-overview-controls span,.esp-pending-card label span{color:var(--text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.esp-overview-controls input,.esp-overview-controls select,.esp-pending-card select{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0c1428f2;color:var(--text-strong);padding:7px 8px;min-width:0;width:100%;min-height:34px}.esp-pending-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:var(--space-2)}.esp-pending-card{border:1px solid rgba(128,224,197,.22);border-radius:var(--radius-md);background:linear-gradient(135deg,#80e0c51f,#080e1c57),#111827ad;padding:var(--space-3);display:grid;grid-template-columns:auto minmax(0,1fr) minmax(160px,.75fr) auto;gap:var(--space-2);align-items:center;min-width:0}.esp-pending-card>div{display:grid;gap:3px;min-width:0}.esp-pending-card strong,.esp-pending-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esp-pending-card small{color:var(--text-muted)}.esp-landing-list{display:grid;gap:8px}.esp-settings-layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(460px,1.05fr);gap:var(--space-3);align-items:start}.esp-landing-row{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#0c14248a;color:var(--text-primary);padding:10px 12px;display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(300px,1fr) auto;gap:var(--space-3);align-items:center;min-width:0;text-align:left;font:inherit}button.esp-landing-row{width:100%;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}button.esp-landing-row:hover,.esp-landing-row.selected{border-color:rgba(var(--accent-rgb),.44);background:#25345294}.esp-landing-row-ok{border-color:#22c55e42;background:linear-gradient(90deg,#22c55e1a,#0c14248f 34%)}.esp-landing-row-warning{border-color:#facc1542;background:linear-gradient(90deg,#facc151a,#0c14248f 34%)}.esp-landing-row-alarm{border-color:#ef444447;background:linear-gradient(90deg,#ef44441a,#0c14248f 34%)}.esp-landing-row-offline{border-color:#6b72803d}.esp-landing-row-main{color:var(--text-primary);display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:var(--space-2);min-width:0}.esp-landing-row-main>span:nth-child(3){display:grid;gap:3px;min-width:0}.esp-landing-row-main strong,.esp-landing-row-main small{min-width:0;overflow-wrap:anywhere}.esp-landing-row-main strong{color:var(--text-strong);font-size:1.02rem}.esp-landing-row-main small{color:var(--text-muted)}.esp-landing-row-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:0}.esp-landing-row-meta span{border:1px solid rgba(126,151,196,.14);border-radius:999px;background:#080e1b52;color:var(--text-muted);font-size:.72rem;font-weight:760;padding:4px 8px;display:inline-flex;align-items:center;gap:5px}.esp-landing-row-side{display:grid;gap:4px;justify-items:end;min-width:132px}.esp-landing-row-side small{color:var(--text-muted);font-size:.7rem;white-space:nowrap}.esp-settings-panel{display:grid;gap:var(--space-3)}.esp-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.esp-settings-form label{display:grid;gap:6px;min-width:0}.esp-settings-form label.span-2{grid-column:1 / -1}.esp-settings-form span{color:var(--text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.esp-settings-form input,.esp-settings-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0c1428f2;color:var(--text-strong);padding:8px 9px;min-width:0;width:100%}.esp-settings-form textarea{resize:vertical}.esp-settings-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.esp-settings-facts div{border:1px solid rgba(126,151,196,.14);border-radius:var(--radius-sm);background:#080e1b52;padding:8px;min-width:0}.esp-settings-facts span{display:block;color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.esp-settings-facts strong{display:block;color:var(--text-strong);font-size:.88rem;margin-top:3px;overflow-wrap:anywhere}.esp-settings-runtime{border:1px solid rgba(126,151,196,.16);border-radius:var(--radius-md);background:#080e1b4d;padding:var(--space-3);display:grid;gap:var(--space-2)}.esp-settings-runtime>div:first-child{display:grid;gap:3px}.esp-settings-runtime span{color:var(--text-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.esp-settings-runtime strong{color:var(--text-strong)}.esp-settings-runtime small{color:var(--text-muted)}.esp-settings-actions{display:flex;justify-content:flex-end;gap:var(--space-2);align-items:center;flex-wrap:wrap}.area-card,.area-hero-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#111827b8;padding:var(--space-3);display:grid;gap:var(--space-2);min-width:0}.area-card{min-height:126px;align-content:space-between}.area-card-header,.area-card-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.area-card-title{justify-content:flex-start;color:var(--text-strong)}.area-card-title strong,.area-card-values strong,.area-hero-card strong{overflow-wrap:anywhere;font-weight:560}.area-card-icon{width:30px;height:30px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(var(--accent-rgb),.2);background:rgba(var(--accent-rgb),.09);color:#a9c6ff;flex:0 0 auto}.area-card-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(96px,100%),1fr));gap:var(--space-2)}.area-card-values span,.area-hero-card span{color:var(--text-muted);font-size:.68rem}.area-card-values strong{display:block;margin-top:3px;color:var(--text-strong);font-size:.96rem;line-height:1.15}.entity-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:var(--space-2)}.plugin-overview-grid,.plugin-card-grid{display:grid;gap:var(--space-3)}.plugin-overview-grid{grid-template-columns:1fr;align-items:start}.plugin-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:8px}.plugin-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.plugin-overview-stats div{min-width:0;border:1px solid rgba(var(--accent-rgb),.18);border-radius:8px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 52%),color-mix(in srgb,var(--surface-2) 80%,transparent);padding:var(--space-3);display:grid;gap:3px}.plugin-overview-stats span,.plugin-overview-stats small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-overview-stats span{font-size:.7rem;font-weight:800;text-transform:uppercase}.plugin-overview-stats strong{color:var(--text-strong);font-size:1.75rem;line-height:1}.plugin-category-list{display:grid;gap:var(--space-4)}.plugin-category-section{display:grid;gap:var(--space-3)}.plugin-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0}.plugin-category-head>div{display:grid;gap:3px;min-width:0}.plugin-category-head strong{color:var(--text-strong)}.plugin-category-head small{color:var(--text-muted);line-height:1.3}.plugin-dashboard{display:grid;gap:var(--space-3);--plugin-accent: var(--accent);--plugin-accent-2: var(--accent-2);--plugin-accent-3: var(--accent-3);--plugin-accent-soft: rgba(var(--accent-rgb), .12)}.plugin-dashboard-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--space-3);align-items:center;min-width:0;border:1px solid color-mix(in srgb,var(--plugin-accent) 32%,transparent);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent) 20%,transparent),color-mix(in srgb,var(--surface-2) 58%,transparent)),radial-gradient(circle at 16% 20%,color-mix(in srgb,var(--plugin-accent-2) 20%,transparent),transparent 30%);padding:var(--space-3)}.plugin-dashboard-light{--plugin-accent: var(--warning);--plugin-accent-2: var(--accent-2);--plugin-accent-3: var(--accent);--plugin-accent-soft: color-mix(in srgb, var(--warning) 14%, transparent)}.plugin-dashboard-power{--plugin-accent: var(--accent);--plugin-accent-2: var(--ok);--plugin-accent-3: var(--warning);--plugin-accent-soft: rgba(var(--accent-rgb), .13)}.plugin-dashboard-water{--plugin-accent: var(--accent-2);--plugin-accent-2: var(--accent);--plugin-accent-3: var(--accent-3);--plugin-accent-soft: color-mix(in srgb, var(--accent-2) 14%, transparent)}.plugin-dashboard-climate{--plugin-accent: color-mix(in srgb, var(--accent) 72%, var(--accent-2));--plugin-accent-2: var(--accent-2);--plugin-accent-3: var(--warning);--plugin-accent-soft: rgba(var(--accent-rgb), .12)}.plugin-dashboard-bridge{--plugin-accent: color-mix(in srgb, var(--accent) 62%, var(--accent-3));--plugin-accent-2: var(--accent);--plugin-accent-3: var(--accent-2);--plugin-accent-soft: rgba(var(--accent-rgb), .12)}.plugin-dashboard-hero-icon{width:48px;height:48px;border-radius:8px;display:inline-grid;place-items:center;color:var(--text-strong);border:1px solid color-mix(in srgb,var(--plugin-accent) 36%,transparent);background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--plugin-accent) 28%,transparent),transparent 60%),color-mix(in srgb,var(--surface-3) 52%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--plugin-accent) 14%,transparent)}.plugin-dashboard-hero>div{display:grid;gap:3px;min-width:0}.plugin-dashboard-hero strong,.plugin-dashboard-hero small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-dashboard-hero strong{color:var(--text-strong);font-size:1.45rem}.plugin-dashboard-hero small,.plugin-dashboard-panel>span,.plugin-dashboard-panel-title span,.plugin-dashboard-panel small{color:var(--text-muted)}.plugin-dashboard-metrics,.plugin-dashboard-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.plugin-dashboard-highlight{min-width:0;border:1px solid color-mix(in srgb,var(--plugin-accent) 42%,rgba(var(--accent-rgb),.16));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent) 18%,transparent),transparent 52%),radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--plugin-accent-2) 16%,transparent),transparent 42%),color-mix(in srgb,var(--surface-3) 72%,transparent);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2)}.plugin-dashboard-highlight-ok{border-color:color-mix(in srgb,var(--plugin-accent) 34%,transparent)}.plugin-dashboard-highlight-warning{border-color:color-mix(in srgb,var(--warning) 30%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 12%,transparent),color-mix(in srgb,var(--surface-2) 36%,transparent)),color-mix(in srgb,var(--surface-3) 54%,transparent)}.plugin-dashboard-highlight-offline{border-color:color-mix(in srgb,var(--offline) 30%,transparent);opacity:.86}.plugin-dashboard-highlight span:not(.plugin-dashboard-metric-icon){color:var(--text-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.plugin-dashboard-highlight strong{display:block;color:var(--text-strong);font-size:.98rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-lovelace-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.35fr);gap:var(--space-3);align-items:start}.plugin-lovelace-card{min-width:0;border:1px solid color-mix(in srgb,var(--plugin-accent) 28%,rgba(var(--accent-rgb),.16));border-radius:8px;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--plugin-accent) 18%,transparent),transparent 34%),radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--plugin-accent-2) 14%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--surface-3) 78%,transparent),color-mix(in srgb,var(--surface-2) 50%,transparent));box-shadow:var(--shadow-card);padding:var(--space-3);display:grid;gap:var(--space-3);overflow:hidden}.plugin-lovelace-summary,.plugin-lovelace-values{min-height:100%}.plugin-lovelace-values{grid-row:span 2}.plugin-lovelace-card-head,.plugin-lovelace-section-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-width:0}.plugin-lovelace-section-head{grid-template-columns:minmax(0,1fr) auto}.plugin-lovelace-card-head>div,.plugin-lovelace-primary-value,.plugin-lovelace-entity-card,.plugin-lovelace-log-list div,.plugin-lovelace-device-list>div{min-width:0}.plugin-lovelace-card-head>div{display:grid;gap:3px}.plugin-lovelace-icon{width:38px;height:38px;border-radius:8px;display:inline-grid;place-items:center;color:var(--text-strong);background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--plugin-accent) 26%,transparent),transparent 62%),var(--plugin-accent-soft);border:1px solid color-mix(in srgb,var(--plugin-accent) 28%,transparent)}.plugin-lovelace-card span,.plugin-lovelace-card small,.plugin-lovelace-flow p{color:var(--text-muted)}.plugin-lovelace-card span{font-size:.72rem;font-weight:800;text-transform:uppercase}.plugin-lovelace-card strong{color:var(--text-strong)}.plugin-lovelace-primary-value{border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent) 13%,transparent),color-mix(in srgb,var(--surface-2) 34%,transparent)),color-mix(in srgb,var(--surface-3) 34%,transparent);border:1px solid color-mix(in srgb,var(--plugin-accent) 24%,rgba(var(--accent-rgb),.13));padding:var(--space-3);display:grid;gap:4px}.plugin-lovelace-primary-value strong{font-size:1.3rem;line-height:1.12}.plugin-lovelace-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.plugin-lovelace-mini-stats div{border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent-2) 12%,transparent),color-mix(in srgb,var(--surface-2) 50%,transparent)),color-mix(in srgb,var(--surface-3) 42%,transparent);border:1px solid color-mix(in srgb,var(--plugin-accent-2) 18%,rgba(var(--accent-rgb),.12));padding:10px;display:grid;gap:3px}.plugin-lovelace-mini-stats strong{font-size:1.2rem}.plugin-lovelace-value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:var(--space-2)}.plugin-lovelace-entity-card{--tile-accent: var(--plugin-accent);--tile-accent-soft: var(--plugin-accent-soft);cursor:default;min-height:148px}.plugin-lovelace-entity-card:nth-child(2n){--tile-accent: var(--plugin-accent-2);--tile-accent-soft: color-mix(in srgb, var(--plugin-accent-2) 14%, transparent)}.plugin-lovelace-entity-card:nth-child(3n){--tile-accent: var(--plugin-accent-3);--tile-accent-soft: color-mix(in srgb, var(--plugin-accent-3) 14%, transparent)}.plugin-lovelace-entity-card:after{display:none}.plugin-lovelace-chart,.plugin-lovelace-chart-empty{display:block;width:100%;height:42px;min-width:0}.plugin-lovelace-chart-empty{border-radius:8px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--tile-accent) 18%,transparent),transparent),color-mix(in srgb,var(--surface-3) 38%,transparent);opacity:.45}.plugin-lovelace-entity-card .plugin-lovelace-icon{width:32px;height:32px;margin-bottom:0;color:var(--tile-accent);background:var(--tile-accent-soft);border-color:color-mix(in srgb,var(--tile-accent) 36%,transparent)}.plugin-lovelace-entity-card span,.plugin-lovelace-entity-card small,.plugin-lovelace-entity-card strong{text-transform:none;letter-spacing:0}.plugin-lovelace-entity-card .home-entity-main strong{color:var(--text-strong);font-size:.86rem}.plugin-lovelace-entity-card .home-entity-value strong{color:var(--tile-accent);font-size:1.18rem;line-height:1.08;overflow-wrap:anywhere}.plugin-lovelace-entity-card .plugin-lovelace-chart,.plugin-lovelace-entity-card .plugin-lovelace-chart-empty{grid-column:1 / -1}.plugin-lovelace-entity-card .home-entity-main strong,.plugin-lovelace-entity-card .home-entity-main small,.plugin-lovelace-entity-card .home-entity-value strong,.plugin-lovelace-entity-card .home-entity-value small,.plugin-lovelace-card-head strong,.plugin-lovelace-card-head small,.plugin-lovelace-primary-value strong,.plugin-lovelace-primary-value small,.plugin-lovelace-device-list strong,.plugin-lovelace-device-list small,.plugin-lovelace-log-list strong,.plugin-lovelace-log-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-lovelace-device-list,.plugin-lovelace-log-list,.plugin-lovelace-bars{display:grid;gap:var(--space-2)}.plugin-lovelace-device-list>div,.plugin-lovelace-log-list div{display:grid;gap:var(--space-2);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent) 9%,transparent),color-mix(in srgb,var(--surface-2) 34%,transparent)),color-mix(in srgb,var(--surface-3) 34%,transparent);border:1px solid color-mix(in srgb,var(--plugin-accent) 16%,rgba(var(--accent-rgb),.12));padding:10px}.plugin-lovelace-device-list>div{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.plugin-lovelace-device-list>div>div,.plugin-lovelace-log-list div{display:grid;gap:2px}.plugin-lovelace-bars div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px var(--space-2);align-items:center}.plugin-lovelace-bars i{grid-column:1 / -1;height:9px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--plugin-accent) 12%,var(--surface-2))}.plugin-lovelace-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--plugin-accent),var(--plugin-accent-2))}.plugin-lovelace-flow p{margin:0;line-height:1.35}.plugin-dashboard-visual{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) minmax(220px,.9fr);gap:var(--space-3);align-items:stretch}.plugin-dashboard-core,.plugin-dashboard-domain-map,.plugin-dashboard-live-strip{min-width:0;border:1px solid color-mix(in srgb,var(--plugin-accent) 28%,rgba(var(--accent-rgb),.16));border-radius:8px;background:radial-gradient(circle at 14% 12%,color-mix(in srgb,var(--plugin-accent) 18%,transparent),transparent 36%),linear-gradient(145deg,color-mix(in srgb,var(--surface-3) 72%,transparent),color-mix(in srgb,var(--surface-2) 46%,transparent));padding:var(--space-3)}.plugin-dashboard-core{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:center}.plugin-dashboard-core-icon{width:54px;height:54px;border-radius:8px;display:inline-grid;place-items:center;color:color-mix(in srgb,var(--plugin-accent-2) 22%,var(--text-strong));background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--plugin-accent-2) 30%,transparent),transparent 58%),color-mix(in srgb,var(--plugin-accent-2) 12%,transparent);border:1px solid color-mix(in srgb,var(--plugin-accent-2) 24%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--plugin-accent-2) 10%,transparent)}.plugin-dashboard-core>div,.plugin-dashboard-live-list div{min-width:0;display:grid;gap:3px}.plugin-dashboard-core span,.plugin-dashboard-live-list span{color:var(--text-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.plugin-dashboard-core strong{color:var(--text-strong);font-size:1.22rem;line-height:1.1}.plugin-dashboard-core small,.plugin-dashboard-live-list small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-dashboard-domain-map,.plugin-dashboard-live-strip{display:grid;gap:var(--space-3)}.plugin-dashboard-bars,.plugin-dashboard-live-list,.plugin-dashboard-device-list{display:grid;gap:var(--space-2)}.plugin-dashboard-bar-row{display:grid;grid-template-columns:minmax(84px,.7fr) minmax(70px,1fr) auto;gap:var(--space-2);align-items:center;min-width:0}.plugin-dashboard-bar-row span,.plugin-dashboard-bar-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-dashboard-bar-row span{color:var(--text-muted);font-size:.72rem;font-weight:760}.plugin-dashboard-bar-row strong{color:var(--text-strong);font-size:.78rem}.plugin-dashboard-bar-row div{height:8px;border-radius:999px;background:rgba(var(--accent-rgb),.12);overflow:hidden}.plugin-dashboard-bar-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--plugin-accent),var(--plugin-accent-2))}.plugin-dashboard-live-list div{border:1px solid color-mix(in srgb,var(--plugin-accent) 16%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--surface-2) 48%,transparent);padding:8px}.plugin-dashboard-live-list strong{color:var(--text-strong);font-size:1.02rem;overflow-wrap:anywhere}.plugin-dashboard-metrics>div,.plugin-dashboard-panel{position:relative;min-width:0;border:1px solid color-mix(in srgb,var(--plugin-accent) 24%,rgba(var(--accent-rgb),.18));border-radius:8px;background:linear-gradient(135deg,var(--plugin-accent-soft),transparent 48%),color-mix(in srgb,var(--surface-3) 70%,transparent);padding:var(--space-3);overflow:hidden}.plugin-dashboard-metrics>div:nth-child(2),.plugin-dashboard-panel:nth-child(2n){background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent-2) 13%,transparent),transparent 48%),color-mix(in srgb,var(--surface-3) 70%,transparent);border-color:color-mix(in srgb,var(--plugin-accent-2) 24%,rgba(var(--accent-rgb),.18))}.plugin-dashboard-metrics>div:nth-child(3),.plugin-dashboard-panel:nth-child(3n){background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent-3) 13%,transparent),transparent 48%),color-mix(in srgb,var(--surface-3) 70%,transparent);border-color:color-mix(in srgb,var(--plugin-accent-3) 24%,rgba(var(--accent-rgb),.18))}.plugin-dashboard-metrics>div:before,.plugin-dashboard-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--plugin-accent),var(--plugin-accent-2));opacity:.78}.plugin-dashboard-metrics>div{display:grid;gap:3px;min-height:116px;align-content:end}.plugin-dashboard-metric-icon{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;color:color-mix(in srgb,var(--plugin-accent) 28%,var(--text-strong));background:var(--plugin-accent-soft);border:1px solid color-mix(in srgb,var(--plugin-accent) 26%,transparent);margin-bottom:8px}.plugin-dashboard-metrics>div:nth-child(2) .plugin-dashboard-metric-icon{background:color-mix(in srgb,var(--plugin-accent-2) 14%,transparent);border-color:color-mix(in srgb,var(--plugin-accent-2) 28%,transparent)}.plugin-dashboard-metrics>div:nth-child(3) .plugin-dashboard-metric-icon{background:color-mix(in srgb,var(--plugin-accent-3) 14%,transparent);border-color:color-mix(in srgb,var(--plugin-accent-3) 28%,transparent)}.plugin-dashboard-metrics>div:nth-child(4) .plugin-dashboard-metric-icon{background:color-mix(in srgb,var(--plugin-accent-2) 10%,var(--plugin-accent-3) 10%);border-color:color-mix(in srgb,var(--plugin-accent-2) 18%,var(--plugin-accent-3) 18%)}.plugin-dashboard-metrics>div>span:not(.plugin-dashboard-metric-icon),.plugin-dashboard-panel>span,.plugin-dashboard-panel-title span,.plugin-dashboard-mini-grid span,.plugin-dashboard-value-grid span,.plugin-dashboard-log-list span{color:var(--text-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.plugin-dashboard-metrics strong,.plugin-dashboard-metrics small,.plugin-dashboard-panel strong,.plugin-dashboard-panel small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-dashboard-metrics strong,.plugin-dashboard-panel strong{color:var(--text-strong)}.plugin-dashboard-metrics>div>strong{font-size:1.65rem;line-height:1}.plugin-dashboard-main,.plugin-dashboard-lower{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.ac-live-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.ac-live-card{border:1px solid color-mix(in srgb,var(--plugin-accent) 22%,var(--border));border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-3) 70%,transparent),color-mix(in srgb,var(--surface-2) 46%,transparent)),radial-gradient(circle at 12% 10%,color-mix(in srgb,var(--plugin-accent) 14%,transparent),transparent 38%);padding:var(--space-3);display:grid;gap:var(--space-3);min-width:0}.ac-live-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-width:0}.ac-live-card-head>div{display:grid;gap:2px;min-width:0}.ac-live-card-head strong,.ac-live-card-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-live-card-head small,.ac-live-metric-grid span{color:var(--text-muted)}.ac-live-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(96px,100%),1fr));gap:var(--space-2)}.ac-live-metric-grid div{border:1px solid color-mix(in srgb,var(--plugin-accent) 14%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--surface-2) 44%,transparent);padding:8px;min-width:0;display:grid;gap:4px}.ac-live-metric-grid span{font-size:.68rem;font-weight:800;text-transform:uppercase}.ac-live-metric-grid strong{color:var(--text-strong);font-size:1.08rem;line-height:1.15;overflow-wrap:anywhere}.plugin-dashboard-panel{display:grid;gap:var(--space-3)}.plugin-dashboard-panel-title,.plugin-dashboard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-width:0}.plugin-dashboard-panel-title{justify-content:flex-start}.plugin-dashboard-panel-title>div{display:grid;gap:3px;min-width:0}.plugin-dashboard-mini-grid,.plugin-dashboard-value-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.plugin-dashboard-mini-grid div,.plugin-dashboard-value-grid div,.plugin-dashboard-log-list div{min-width:0;border:1px solid color-mix(in srgb,var(--plugin-accent) 18%,rgba(var(--accent-rgb),.14));border-radius:7px;background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent) 10%,transparent),color-mix(in srgb,var(--surface-2) 36%,transparent)),color-mix(in srgb,var(--surface-3) 36%,transparent);padding:8px;display:grid;gap:3px}.plugin-dashboard-value-grid strong{font-size:1.08rem;color:var(--plugin-accent)}.plugin-dashboard-log-list{display:grid;gap:var(--space-2)}.plugin-dashboard-device-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);align-items:center;min-width:0;border:1px solid color-mix(in srgb,var(--plugin-accent) 16%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--surface-2) 48%,transparent);padding:8px}.plugin-dashboard-device-list>div>div{min-width:0;display:grid;gap:2px}.plugin-dashboard-device-list strong,.plugin-dashboard-device-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-dashboard-node-dot{width:10px;height:10px;border-radius:999px;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 12%,transparent)}.plugin-dashboard-node-dot.offline{background:var(--offline);box-shadow:0 0 0 4px color-mix(in srgb,var(--offline) 12%,transparent)}.plugin-topology-map{position:relative;min-height:0;padding:16px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-md);background:radial-gradient(circle at 1px 1px,rgba(var(--accent-rgb),.2) 1px,transparent 0) 0 0 / 32px 32px,color-mix(in srgb,var(--surface-3) 82%,transparent);overflow:hidden}.plugin-topology-graphs{display:grid;gap:28px;min-width:0}.plugin-graph-shell{display:grid;gap:10px}.plugin-xy-shell{min-width:0;min-height:0;position:relative}.plugin-graph-toolbar{position:absolute;left:18px;top:18px;z-index:5;width:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);border:1px solid rgba(var(--accent-rgb),.18);border-radius:10px;background:color-mix(in srgb,var(--surface-3) 88%,transparent);box-shadow:var(--shadow-card);padding:7px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.plugin-graph-toolbar .segmented{display:inline-flex;gap:4px;padding:3px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 68%,transparent)}.plugin-graph-toolbar button{border:0;border-radius:6px;background:transparent;color:var(--text-muted);padding:5px 8px;cursor:pointer}.plugin-graph-toolbar button.active{background:rgba(var(--accent-rgb),.18);color:var(--text-primary)}.plugin-xy-flow{min-height:620px;border:1px solid rgba(var(--accent-rgb),.16);border-radius:var(--radius-md);overflow:hidden;background:radial-gradient(circle at 18% 24%,rgba(var(--accent-rgb),.12),transparent 30%),radial-gradient(circle at 78% 70%,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent 28%),linear-gradient(145deg,var(--bg-0),var(--bg-1))}.plugin-xy-detail{position:absolute;right:18px;top:18px;left:auto;z-index:6;width:min(320px,calc(100% - 36px));min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--surface-3) 86%,transparent);padding:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.plugin-xy-detail>small{grid-column:1 / -1}.plugin-xy-detail>strong,.plugin-xy-detail>span{min-width:0;white-space:normal}.plugin-xy-detail .status-chip{justify-self:end}.plugin-xy-detail .plugin-graph-detail-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plugin-xy-flow .react-flow{background:transparent}.plugin-xy-flow .react-flow__node{border:0;background:transparent;box-shadow:none}.plugin-xy-flow .react-flow__edge-path{stroke:color-mix(in srgb,var(--accent) 72%,var(--accent-2))}.plugin-xy-flow .react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:8 7;animation-duration:1.35s}.plugin-xy-flow .react-flow__edge-text{fill:var(--text-secondary);font-size:10px;font-weight:760}.plugin-xy-flow .react-flow__edge-textbg{fill:color-mix(in srgb,var(--surface-3) 92%,var(--bg-0));stroke:var(--border-soft)}.plugin-xy-node{width:100%;min-height:inherit;border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-1) 84%,transparent);box-shadow:var(--shadow-soft);color:var(--text-primary);padding:var(--space-3);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px var(--space-2);align-items:center;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.plugin-xy-core,.plugin-xy-bridge,.plugin-xy-device,.plugin-xy-flow-target{min-height:86px}.plugin-xy-node.selected{border-color:rgba(var(--accent-rgb),.54);box-shadow:var(--shadow-card),0 0 0 1px rgba(var(--accent-rgb),.16) inset;transform:translateY(-1px)}.plugin-xy-node.disabled{border-color:color-mix(in srgb,var(--alarm) 46%,var(--border-soft));background:linear-gradient(135deg,color-mix(in srgb,var(--alarm) 12%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 84%,transparent)}.plugin-xy-node.disabled .plugin-xy-node-text strong{color:color-mix(in srgb,var(--alarm) 88%,var(--text-strong))}.plugin-xy-node.paused{border-color:color-mix(in srgb,var(--warning) 46%,var(--border-soft));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 12%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 84%,transparent)}.plugin-xy-node.paused .plugin-xy-node-text strong{color:color-mix(in srgb,var(--warning) 88%,var(--text-strong))}.plugin-xy-core{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 34%,var(--surface-1)),color-mix(in srgb,var(--accent) 12%,var(--surface-2)))}.plugin-xy-bridge{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 32%,var(--surface-1)),color-mix(in srgb,var(--accent) 10%,var(--surface-2)))}.plugin-xy-device{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 24%,var(--surface-1)),var(--surface-2))}.plugin-xy-flow-target{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-3) 24%,var(--surface-1)),var(--surface-2))}.plugin-xy-node-text{display:grid;gap:3px;min-width:0}.plugin-xy-node strong,.plugin-xy-node small,.plugin-xy-node em{min-width:0;overflow-wrap:anywhere}.plugin-xy-node strong{color:var(--text-strong);font-size:.98rem;line-height:1.15}.plugin-xy-node small{color:var(--text-muted);font-size:.74rem}.plugin-xy-group{grid-template-columns:1fr;align-items:stretch;gap:var(--space-2);background:color-mix(in srgb,var(--surface-1) 84%,transparent)}.plugin-xy-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.plugin-xy-entity-grid{display:grid;grid-template-columns:1fr;gap:3px}.plugin-xy-entity{border:0;border-radius:0;background:transparent;border-top:1px solid var(--border-soft);padding:5px 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.plugin-xy-entity strong{font-size:.72rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-xy-entity small{color:var(--text-strong);font-size:.68rem;flex:0 0 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-xy-entity.disabled{border-top-color:color-mix(in srgb,var(--alarm) 42%,var(--border-soft))}.plugin-xy-entity.disabled strong,.plugin-graph-detail-list span.disabled strong{color:var(--alarm)}.plugin-xy-entity.disabled small,.plugin-graph-detail-list span.disabled small{color:color-mix(in srgb,var(--alarm) 82%,var(--text-strong))}.plugin-xy-handle{width:9px;height:9px;border:1px solid color-mix(in srgb,var(--accent-2) 82%,var(--accent));background:var(--accent-2)}.plugin-xy-minimap{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface-3) 90%,transparent);width:150px;height:96px;overflow:hidden;opacity:.66}.plugin-xy-minimap .react-flow__minimap-mask{fill:color-mix(in srgb,var(--surface-3) 76%,transparent)}.plugin-xy-minimap .react-flow__minimap-node{stroke-width:2}.plugin-xy-controls{border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--surface-3) 90%,transparent)}.plugin-xy-controls button{background:color-mix(in srgb,var(--surface-2) 88%,transparent);border-bottom-color:var(--border-soft);color:var(--text-primary)}.plugin-xy-controls button:hover{background:var(--surface-hover)}.plugin-graph-workspace{position:relative}.plugin-graph-canvas{position:relative;min-width:100%;transform-origin:top left}.plugin-graph-edges{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:visible;pointer-events:none}.plugin-graph-edges path{fill:none;stroke:color-mix(in srgb,var(--accent) 52%,transparent);stroke-width:1.4}.plugin-graph-edges circle{fill:var(--accent);stroke:color-mix(in srgb,var(--bg-0) 92%,transparent);stroke-width:2}.plugin-graph-edges .active path{stroke:color-mix(in srgb,var(--accent-2) 88%,var(--accent));stroke-width:2.1}.plugin-graph-edges .active circle{fill:var(--accent-2)}.plugin-graph-edges text{fill:var(--text-muted);font-size:11px;font-weight:700;paint-order:stroke;stroke:color-mix(in srgb,var(--bg-0) 88%,transparent);stroke-width:5px;stroke-linejoin:round}.plugin-graph-node{position:absolute;z-index:2;min-width:0;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--surface-3) 90%,transparent);box-shadow:var(--shadow-soft);color:var(--text-primary);cursor:pointer}.plugin-graph-core,.plugin-graph-bridge,.plugin-graph-device,.plugin-graph-flow{padding:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left}.plugin-graph-core{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));background:color-mix(in srgb,var(--surface-4) 94%,transparent)}.plugin-graph-node.selected{border-color:color-mix(in srgb,var(--accent-2) 72%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-2) 18%,transparent),var(--shadow-card)}.plugin-graph-bridge{border-left:3px solid var(--accent)}.plugin-graph-bridge:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:color-mix(in srgb,var(--surface-4) 92%,transparent)}.plugin-graph-device{border-left:3px solid var(--ok)}.plugin-graph-flow{border-left:3px solid var(--warning)}.plugin-graph-flow:hover{border-color:color-mix(in srgb,var(--warning) 48%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface-4))}.plugin-graph-node-text{min-width:0;display:grid;gap:2px}.plugin-graph-node strong,.plugin-graph-node small,.plugin-graph-node em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-node-icon{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 18%,transparent);color:color-mix(in srgb,var(--accent) 36%,var(--text-strong))}.plugin-graph-group{padding:10px}.plugin-graph-group-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;min-width:0}.plugin-graph-group-head strong{color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-graph-entity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.plugin-graph-entity{min-width:0;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-left:3px solid color-mix(in srgb,var(--accent) 58%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--surface-2) 52%,transparent);padding:7px;display:grid;gap:2px}.plugin-graph-entity.sensor{border-left-color:var(--accent)}.plugin-graph-entity.binary_sensor{border-left-color:var(--ok)}.plugin-graph-entity.number{border-left-color:var(--warning)}.plugin-graph-entity.switch{border-left-color:var(--accent-3)}.plugin-graph-entity strong,.plugin-graph-entity small,.plugin-graph-entity em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-graph-entity em{color:var(--text-muted);font-size:.68rem;font-style:normal;text-transform:uppercase;letter-spacing:.04em}.plugin-graph-detail{position:sticky;left:0;z-index:4;width:min(100%,1180px);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--surface-3) 88%,transparent);box-shadow:var(--shadow-card);padding:12px;display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-height:58px}.plugin-graph-detail>small{flex:0 0 auto;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.plugin-graph-detail>strong{min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-graph-detail>span{min-width:0;flex:1 1 auto;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-graph-detail-list{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.plugin-graph-detail-list span{flex:1 1 150px;min-width:0;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--surface-2) 56%,transparent);padding:7px;display:flex;justify-content:space-between;gap:8px}.plugin-graph-detail-list strong,.plugin-graph-detail-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-graph-detail.plugin-xy-detail{position:absolute;right:18px;top:18px;left:auto;z-index:6;width:min(360px,calc(100% - 36px));min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--surface-3) 86%,transparent);padding:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.plugin-graph-detail.plugin-xy-detail>small{grid-column:1 / -1}.plugin-graph-detail.plugin-xy-detail>strong,.plugin-graph-detail.plugin-xy-detail>span{min-width:0;white-space:normal}.plugin-graph-detail.plugin-xy-detail .status-chip{justify-self:end}.plugin-graph-detail.plugin-xy-detail .plugin-graph-detail-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plugin-card{border:1px solid var(--border-soft);border-radius:14px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.06),transparent 52%),color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--text-primary);padding:8px 9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 8px;text-align:left;min-width:0;cursor:pointer;align-items:center;min-height:58px;overflow:hidden}.plugin-card.selected,.plugin-card:hover{border-color:rgba(var(--accent-rgb),.34);background:color-mix(in srgb,var(--surface-active) 72%,transparent)}.plugin-card-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--accent) 34%,var(--text-strong));background:rgba(var(--accent-rgb),.14);border:1px solid rgba(var(--accent-rgb),.22)}.plugin-card-main,.plugin-card-meta{display:grid;gap:3px;min-width:0}.plugin-card-main strong{color:var(--text-strong);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-card-main small,.plugin-card-meta small{color:var(--text-muted);font-size:.66rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-card-meta,.plugin-install-button{grid-column:auto}.plugin-card-meta{grid-column:2 / 3;grid-row:2;display:flex;justify-content:space-between;gap:var(--space-2);justify-items:end;text-align:left}.plugin-install-button{grid-column:3;grid-row:2;justify-self:end;justify-content:center;min-height:24px;padding:3px 8px;font-size:.68rem;white-space:nowrap}.github-plugin-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(130px,.7fr) minmax(170px,1fr) minmax(190px,1fr);gap:var(--space-3);align-items:end}.github-plugin-form label{display:grid;gap:6px;min-width:0}.github-plugin-form label span{color:var(--text-muted);font-size:.76rem;font-weight:700}.github-plugin-note{grid-column:1 / -1;border:1px solid rgba(234,179,8,.24);border-radius:var(--radius-sm);background:#eab30814;padding:var(--space-2) var(--space-3);display:flex;gap:var(--space-2);align-items:center;color:var(--text-muted)}.github-plugin-form .btn{grid-column:1 / -1;justify-self:start}.github-plugin-note strong{color:#fde68a}.external-plugin-sources{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.external-plugin-source{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#111827b8;padding:var(--space-3);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--space-2);align-items:center}.external-plugin-source div{display:grid;gap:3px;min-width:0}.external-plugin-source strong,.external-plugin-source small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.external-plugin-source small{color:var(--text-muted)}.network-scan-form{display:grid;grid-template-columns:minmax(260px,1fr) minmax(100px,.35fr) minmax(130px,.45fr) auto;gap:var(--space-3);align-items:end}.network-scan-form label{display:grid;gap:6px;min-width:0}.network-scan-form label span{color:var(--text-muted);font-size:.76rem;font-weight:700}.network-scan-form input,.network-scan-form select{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0c1428f2;color:var(--text-strong);padding:6px 7px;min-width:0;width:100%;min-height:32px}.network-scan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.network-scan-summary div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#1720337a;padding:7px 8px;display:flex;justify-content:space-between;gap:var(--space-2)}.network-scan-summary span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.network-device-list{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.network-device-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#111827b8;padding:var(--space-3);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--space-2);align-items:center;min-width:0}.network-device-card div{display:grid;gap:3px;min-width:0}.network-device-card strong,.network-device-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-device-card small{color:var(--text-muted)}.shelly-tabs{margin-bottom:var(--space-3)}.shelly-overview-grid,.shelly-metric-grid,.shelly-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}.shelly-metric-tile,.shelly-chart-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#111827ad;min-width:0}.shelly-metric-tile{display:grid;gap:4px;padding:var(--space-3)}.shelly-metric-tile span,.shelly-metric-tile small,.shelly-chart-head small{color:var(--text-muted)}.shelly-metric-tile strong{color:var(--text-strong);font-size:1.35rem;font-weight:680}.shelly-chart-section{display:grid;gap:var(--space-3)}.shelly-chart-section .settings-readonly .btn{justify-self:start;margin-top:var(--space-2)}.shelly-chart-card{padding:var(--space-3)}.shelly-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.shelly-chart-head div{display:grid;gap:3px;min-width:0}.shelly-chart-head strong,.shelly-chart-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-placeholder{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start}.plugin-entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:var(--space-2)}.plugin-entity-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#111827b8;padding:var(--space-3);display:grid;gap:var(--space-2);min-width:0}.plugin-entity-card>small{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.68rem}.plugin-entity-card div:first-child{display:grid;gap:4px}.plugin-entity-card span,.plugin-entity-card small{color:var(--text-muted);min-width:0;overflow-wrap:anywhere}.plugin-entity-card strong{color:var(--text-strong);font-size:1.25rem}.plugin-entity-actions{display:grid;gap:var(--space-2);align-items:start}.plugin-entity-actions .btn{justify-self:start}.plugin-entity-settings-section{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 54%),color-mix(in srgb,var(--surface-2) 76%,transparent);padding:var(--space-3);display:grid;gap:var(--space-3);min-width:0}.plugin-entity-settings-head,.plugin-entity-toggle-row{display:grid;gap:var(--space-2);align-items:center;min-width:0}.plugin-entity-settings-head{grid-template-columns:minmax(0,1fr) auto}.plugin-entity-settings-head>div:first-child,.plugin-entity-toggle-main,.plugin-entity-toggle-status{display:grid;gap:3px;min-width:0}.plugin-entity-settings-head span,.plugin-entity-toggle-status small,.plugin-entity-toggle-main small{color:var(--text-muted)}.plugin-entity-settings-head strong,.plugin-entity-toggle-main strong,.plugin-entity-toggle-status strong{color:var(--text-strong)}.plugin-entity-toggle-list{display:grid;gap:var(--space-2)}.plugin-entity-toggle-row{grid-template-columns:auto minmax(160px,1.2fr) minmax(140px,.8fr) auto auto;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-1) 82%,transparent);padding:10px}.plugin-entity-toggle-row.disabled{border-color:color-mix(in srgb,var(--alarm) 42%,var(--border-soft));background:linear-gradient(135deg,color-mix(in srgb,var(--alarm) 10%,transparent),transparent 58%),color-mix(in srgb,var(--surface-1) 84%,transparent)}.plugin-entity-toggle-row.disabled .plugin-entity-toggle-main strong{color:var(--alarm)}.plugin-entity-toggle-main small,.plugin-entity-toggle-status small{overflow-wrap:anywhere}.home-summary-grid,.home-section-grid,.home-entity-grid{display:grid;gap:var(--space-3)}.home-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}.home-user-strip{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:radial-gradient(circle at 2% 50%,rgba(var(--accent-rgb),.18),transparent 28%),linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 48%),color-mix(in srgb,var(--surface-2) 78%,transparent);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0;padding:10px 12px}.home-user-strip>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.home-user-strip strong,.home-user-strip small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-user-strip strong{color:var(--text-strong)}.home-user-strip small{color:var(--text-muted);font-size:.76rem}.home-user-avatar{border:1px solid rgba(var(--accent-rgb),.28);border-radius:999px;background:rgba(var(--accent-rgb),.14);color:var(--text-strong);display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px}.home-user-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.device-overview-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(360px,1.22fr);gap:var(--space-3);align-items:stretch}.device-category-tabs{display:flex;flex-wrap:wrap;gap:8px}.device-category-tabs button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#17203375;color:var(--text-secondary);min-height:38px;padding:7px 9px;display:inline-flex;align-items:center;gap:7px;font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.device-category-tabs button:hover,.device-category-tabs button.active{border-color:rgba(var(--accent-rgb),.34);background:#283a5b85;color:var(--text-strong)}.device-category-tabs strong{min-width:22px;border-radius:999px;background:#94a3b824;color:var(--text-strong);font-size:.72rem;text-align:center;padding:2px 6px}.esp-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.esp-summary-grid .home-summary-tile{min-height:76px;padding:12px 14px;background:linear-gradient(135deg,#39d3b71f,#11182700 52%),#1118278a}.esp-summary-grid .home-summary-tile span{display:inline-flex;align-items:center;gap:7px}.esp-summary-grid .home-summary-tile strong{font-size:1.42rem}.esp-topology-panel{display:grid;gap:10px}.esp-topology-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0;padding:0 2px}.esp-topology-panel-head>div{display:grid;gap:3px;min-width:0}.esp-topology-panel-head .title-with-icon{color:var(--text-muted);font-size:.74rem;font-weight:760;text-transform:uppercase;letter-spacing:0}.esp-topology-panel-head strong{min-width:0;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-top-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(320px,1fr);gap:var(--space-3);align-items:stretch}.dashboard-clock-card,.dashboard-power-card{min-height:100%}.dashboard-clock-face{display:grid;gap:4px;padding:var(--space-3) 0}.dashboard-clock-face strong{color:var(--text-strong);font-size:clamp(2.8rem,8vw,5.8rem);line-height:.95;font-variant-numeric:tabular-nums}.dashboard-clock-face span{color:var(--text-muted);font-size:.9rem}.dashboard-clock-meta,.dashboard-power-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.dashboard-clock-meta div,.dashboard-power-grid div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#17203375;padding:8px;display:grid;gap:3px;min-width:0}.dashboard-clock-meta span,.dashboard-power-grid span{color:var(--text-muted);font-size:.68rem}.dashboard-clock-meta strong,.dashboard-power-grid strong{color:var(--text-strong);overflow-wrap:anywhere}.facility-nutrient-overview-card{border-color:color-mix(in srgb,var(--success) 24%,var(--border-soft))}.facility-nutrient-overview{display:grid;gap:var(--space-3)}.facility-nutrient-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:var(--space-2)}.facility-nutrient-metric,.facility-nutrient-product-list,.facility-nutrient-product,.facility-nutrient-empty{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 62%),color-mix(in srgb,var(--surface-2) 76%,transparent);color:var(--text-primary)}.facility-nutrient-metric{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:86px;padding:11px}.facility-nutrient-metric.ok{border-color:color-mix(in srgb,var(--success) 28%,var(--border-soft))}.facility-nutrient-metric.warning{border-color:color-mix(in srgb,var(--warning) 36%,var(--border-soft))}.facility-nutrient-metric.alarm{border-color:color-mix(in srgb,var(--alarm) 42%,var(--border-soft))}.facility-nutrient-icon{border:1px solid rgba(var(--accent-rgb),.26);border-radius:var(--radius-sm);background:rgba(var(--accent-rgb),.12);color:var(--text-strong);display:grid;place-items:center;width:34px;height:34px}.facility-nutrient-metric span,.facility-nutrient-product span,.facility-nutrient-product-head>div{display:grid;gap:2px;min-width:0}.facility-nutrient-metric small,.facility-nutrient-product small,.facility-nutrient-product-head small,.facility-nutrient-more{color:var(--text-muted);font-size:.7rem;line-height:1.25}.facility-nutrient-metric strong{color:var(--text-strong);font-size:1.15rem;line-height:1.1}.facility-nutrient-metric em{color:var(--text-muted);font-size:.7rem;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-nutrient-product-list{display:grid;gap:var(--space-2);padding:var(--space-2)}.facility-nutrient-product-head,.facility-nutrient-product{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.facility-nutrient-product-head{padding:3px 2px 5px}.facility-nutrient-product-head strong,.facility-nutrient-product strong,.facility-nutrient-empty strong{color:var(--text-strong);font-weight:820}.facility-nutrient-product{grid-template-columns:auto minmax(0,1fr) minmax(72px,auto) minmax(88px,auto);padding:9px 10px}.facility-nutrient-product>span:nth-child(3),.facility-nutrient-product>span:nth-child(4){justify-items:end;text-align:right}.facility-nutrient-empty{padding:10px}.facility-nutrient-empty small{color:var(--text-muted)}.facility-camera-overview-card{border-color:color-mix(in srgb,var(--accent-2) 28%,var(--border))}.facility-camera-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.facility-camera-tile{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 32%),var(--surface-2);display:grid;gap:var(--space-2);padding:var(--space-3);min-width:0}.facility-camera-frame{aspect-ratio:16 / 9;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-3) 76%,transparent),color-mix(in srgb,var(--surface-1) 84%,transparent));display:grid;overflow:hidden;place-items:center}.facility-camera-frame img{display:block;height:100%;object-fit:cover;width:100%}.facility-camera-empty{align-items:center;color:var(--text-muted);display:grid;gap:5px;padding:var(--space-3);text-align:center}.facility-camera-empty strong{color:var(--text-strong)}.facility-camera-empty small{color:var(--text-muted)}.facility-camera-meta{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px var(--space-2)}.facility-camera-meta strong,.facility-camera-meta small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-camera-meta small{color:var(--text-muted)}.facility-camera-meta .status-chip{grid-row:1 / span 2;grid-column:2}.home-section-grid{grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));align-items:start}.home-entity-grid{grid-template-columns:repeat(auto-fit,minmax(min(165px,100%),1fr));gap:var(--space-2)}.home-section-grid.density-compact{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:var(--space-2)}.home-section-grid.density-compact .card{padding:var(--space-3)}.home-section-grid.density-compact .home-entity-grid{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}.free-dashboard-section{grid-template-columns:1fr}.dashboard-edit-panel{border-color:rgba(var(--accent-rgb),.24)}.dashboard-tab-mode{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center;justify-self:start;border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 68%,transparent);padding:4px}.dashboard-tab-mode button{border:0;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;min-height:30px;padding:5px 11px;font-weight:720}.dashboard-tab-mode button.active{background:color-mix(in srgb,var(--accent-2) 18%,var(--surface-1));color:var(--text-strong)}.dashboard-group-tabs{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.dashboard-group-tabs button{border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--text-muted);cursor:pointer;min-height:34px;padding:5px 9px;display:inline-flex;align-items:center;gap:7px}.dashboard-group-tabs button.active{border-color:color-mix(in srgb,var(--accent-2) 44%,var(--border));background:color-mix(in srgb,var(--accent-2) 22%,var(--surface-1));color:var(--text-strong)}.dashboard-group-tabs span{font-size:.76rem;font-weight:720}.dashboard-group-tabs small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.64rem}.dashboard-group-tabs strong{border-radius:999px;background:color-mix(in srgb,var(--surface-4) 62%,transparent);color:var(--text-strong);font-size:.68rem;min-width:22px;padding:2px 6px;text-align:center}.dashboard-edit-grid{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(300px,1.5fr) minmax(180px,.7fr);gap:var(--space-3);align-items:start}.dashboard-edit-group{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#17203370;padding:9px;display:grid;gap:var(--space-2);min-width:0}.dashboard-edit-group>span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.dashboard-segmented{justify-self:start}.dashboard-toggle-line,.dashboard-widget-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:start;min-width:0}.dashboard-toggle-line input,.dashboard-widget-option input{margin-top:2px}.dashboard-toggle-line span,.dashboard-widget-option strong{color:var(--text-strong);font-size:.8rem}.dashboard-widget-option span{display:grid;gap:2px;min-width:0}.dashboard-widget-option small,.dashboard-edit-stats small{color:var(--text-muted);font-size:.68rem;line-height:1.25}.widget-options{grid-template-columns:repeat(2,minmax(0,1fr))}.widget-options>span{grid-column:1 / -1}.dashboard-edit-stats div{border:1px solid transparent;border-radius:6px;background:#0c14287a;padding:7px;display:grid;gap:2px}.dashboard-edit-stats strong{color:var(--text-strong);font-size:1.05rem}.free-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(min(165px,100%),1fr))}.density-compact .free-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr))}.home-summary-tile,.home-entity-tile{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--tile-accent-soft, rgba(var(--accent-rgb), .12)),transparent 46%),color-mix(in srgb,var(--surface-2) 72%,transparent);min-width:0}.home-summary-tile{display:grid;gap:4px;padding:var(--space-3)}.home-summary-tile span,.home-summary-tile small,.home-entity-main small,.home-entity-value small{color:var(--text-muted);font-size:.72rem}.home-summary-tile strong{color:var(--text-strong);font-size:1.5rem;line-height:1.05}.home-entity-tile{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:var(--space-2);padding:11px;color:var(--text-primary);text-align:left;cursor:pointer;min-height:112px;position:relative;overflow:hidden}.home-entity-tile.size-small{min-height:86px}.home-entity-tile.size-large{grid-column:span 2;min-height:186px}.home-entity-tile:hover{border-color:color-mix(in srgb,var(--tile-accent, var(--accent)) 48%,rgba(var(--accent-rgb),.28));background:linear-gradient(135deg,var(--tile-accent-soft, rgba(var(--accent-rgb), .12)),transparent 50%),color-mix(in srgb,var(--surface-active) 72%,transparent)}.home-entity-tile.editing{border-style:dashed;cursor:grab;outline:1px solid rgba(var(--accent-rgb),.16)}.home-entity-tile.hidden-tile{opacity:.48;background:color-mix(in srgb,var(--surface-2) 42%,transparent)}.home-entity-tile.hidden-tile .home-entity-value,.home-entity-tile.hidden-tile .home-entity-chart{filter:grayscale(1)}.home-entity-tile.editing:active{cursor:grabbing}.home-entity-tile.commandable{border-color:color-mix(in srgb,var(--ok) 20%,var(--border))}.home-entity-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--tile-accent, var(--accent));background:var(--tile-accent-soft, rgba(var(--accent-rgb), .14));border:1px solid color-mix(in srgb,var(--tile-accent, var(--accent)) 38%,transparent)}.home-entity-main{display:grid;gap:2px;min-width:0}.home-entity-main strong{color:var(--text-strong);font-size:.86rem;line-height:1.18;overflow-wrap:anywhere}.home-entity-value{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-width:0}.home-entity-value strong{color:var(--tile-accent, var(--text-strong));font-size:1.18rem;line-height:1.08;overflow-wrap:anywhere}.home-value-gradient{grid-column:1 / -1;display:block;height:7px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--surface-2) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.home-value-gradient span{display:block;width:var(--tile-value-percent, 0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ok),var(--warning) 54%,var(--alarm))}.home-entity-tile[data-gauge=level] .home-value-gradient span{background:linear-gradient(90deg,var(--tile-accent, var(--accent)),color-mix(in srgb,var(--tile-accent, var(--accent)) 72%,white))}.home-entity-tile[data-gauge=load] .home-value-gradient span{background:linear-gradient(90deg,var(--accent),var(--accent-2))}.home-entity-chart{grid-column:1 / -1;width:100%;height:42px;min-width:0}.home-entity-target{grid-column:1 / -1;display:inline-flex;justify-self:start;border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:700;color:var(--text-primary);background:color-mix(in srgb,var(--surface-4) 62%,transparent);border:1px solid var(--border-soft)}.home-entity-target.optimal{color:color-mix(in srgb,var(--ok) 70%,var(--text-strong));background:#22c55e24;border-color:#22c55e42}.home-entity-target.warning{color:color-mix(in srgb,var(--warning) 70%,var(--text-strong));background:#facc1524;border-color:#facc1542}.home-entity-target.alarm{color:color-mix(in srgb,var(--alarm) 70%,var(--text-strong));background:#ef444424;border-color:#ef444442}.home-entity-tile.size-large .home-entity-chart{height:70px}.home-section-grid.density-compact .home-entity-tile{min-height:92px;padding:9px}.home-section-grid.density-compact .home-entity-tile.size-small{min-height:74px}.home-section-grid.density-compact .home-entity-tile.size-large{min-height:150px}.tile-edit-controls{grid-column:1 / -1;display:grid;grid-template-columns:auto repeat(3,auto) minmax(130px,1fr);align-items:center;gap:var(--space-2);border-top:1px solid rgba(148,163,184,.12);padding-top:var(--space-2)}.tile-visibility,.tile-size{color:var(--text-muted);font-size:.68rem}.tile-visibility{border:1px solid var(--border-soft);border-radius:6px;padding:2px 6px;cursor:pointer}.tile-visibility.hidden{color:var(--text-strong);border-color:#68d39157;background:#68d3911a}.tile-size{border:1px solid var(--border-soft);border-radius:6px;padding:2px 6px;cursor:pointer}.tile-size.active{color:var(--text-strong);border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.12)}.tile-name-field{display:grid;gap:3px;min-width:0}.tile-name-field span{color:var(--text-muted);font-size:.64rem}.tile-name-field input{min-width:0;width:100%;border:1px solid var(--border-soft);border-radius:6px;background:#0c1428db;color:var(--text-strong);padding:4px 6px;font-size:.72rem}@media (max-width: 680px){.dashboard-top-grid,.dashboard-clock-meta,.dashboard-power-grid{grid-template-columns:1fr}.home-user-strip{align-items:flex-start;flex-direction:column}.home-user-actions{justify-content:flex-start;width:100%}.home-entity-tile.size-large{grid-column:span 1}.tile-edit-controls{grid-template-columns:repeat(4,auto)}.tile-name-field{grid-column:1 / -1}}.entity-metric{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 82%,transparent);padding:8px;min-width:0}.entity-metric span{display:block;color:var(--text-muted);font-size:.68rem}.entity-metric strong{display:block;margin-top:4px;color:var(--text-strong);font-size:1rem;line-height:1.15;overflow-wrap:anywhere}.entity-device-groups{display:grid;gap:var(--space-3)}.entity-device-tabs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:0}.entity-device-tabs button{border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 86%,transparent);color:var(--text-muted);cursor:pointer;min-height:38px;max-width:min(210px,100%);padding:7px 10px 7px 12px;display:inline-grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;box-shadow:inset 0 -10px 24px color-mix(in srgb,var(--bg-0) 4%,transparent)}.entity-device-tabs button.active{border-color:rgba(var(--accent-rgb),.42);background:linear-gradient(135deg,rgba(var(--accent-rgb),.2),transparent 52%),var(--surface-active);color:var(--text-strong)}.entity-device-tabs span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-device-tabs span{color:var(--text-strong);font-size:.78rem;font-weight:760}.entity-device-tabs strong{border-radius:999px;background:color-mix(in srgb,var(--surface-3) 84%,transparent);color:var(--text-strong);font-size:.68rem;min-width:22px;padding:2px 6px;text-align:center}.entity-device-groups .card{overflow:hidden}.entity-device-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.entity-device-card-meta div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 82%,transparent);padding:8px;min-width:0}.entity-device-card-meta span{display:block;color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.entity-device-card-meta strong{display:block;color:var(--text-strong);font-size:1.08rem;line-height:1.15;margin-top:3px}.area-hero-card{min-height:104px}.esp-node-row{border:1px solid transparent;border-radius:var(--radius-md);background:#17203375;color:var(--text-primary);min-height:56px;padding:9px 10px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}button.esp-node-row{width:100%;text-align:left;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}button.esp-node-row:hover,.esp-node-row.selected{background:#283a5b94;border-color:rgba(var(--accent-rgb),.34)}.esp-node-row-ok{border-color:#22c55e33;background:linear-gradient(90deg,#22c55e1a,#1720337a 36%)}.esp-node-row-warning{border-color:#facc1538;background:linear-gradient(90deg,#facc151a,#1720337a 36%)}.esp-node-row-alarm{border-color:#ef44443d;background:linear-gradient(90deg,#ef44441a,#1720337a 36%)}.esp-node-row-offline{border-color:#6b728033;background:linear-gradient(90deg,#6b72801a,#1720337a 36%)}.esp-device-group{display:grid;gap:var(--space-2)}.esp-node-menu{display:grid;gap:6px;min-width:0}.esp-node-menu.open{border-radius:var(--radius-md)}.esp-device-group+.esp-device-group{margin-top:var(--space-3)}.esp-device-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0;padding:4px 2px}.esp-device-group-head>span{display:flex;align-items:center;gap:8px;min-width:0}.esp-device-group-head strong{color:var(--text-strong);font-size:.86rem;overflow-wrap:anywhere}.esp-device-group-ok .area-card-icon{border-color:#22c55e57;background:#22c55e1f}.esp-device-group-warning .area-card-icon{border-color:#facc1557;background:#facc151f}.esp-device-group-alarm .area-card-icon{border-color:#ef444457;background:#ef44441f}.esp-device-group-offline .area-card-icon{border-color:#6b728052;background:#6b72801f}.esp-status-dot{width:9px;height:9px;border-radius:999px;border:1px solid transparent;box-shadow:0 0 12px currentColor}.esp-status-dot-ok{color:var(--ok);background:var(--ok);border-color:color-mix(in srgb,var(--ok) 70%,white)}.esp-status-dot-warning{color:var(--warning);background:var(--warning);border-color:color-mix(in srgb,var(--warning) 72%,white)}.esp-status-dot-alarm{color:var(--alarm);background:var(--alarm);border-color:color-mix(in srgb,var(--alarm) 72%,white)}.esp-status-dot-offline{color:var(--offline);background:var(--offline);border-color:color-mix(in srgb,var(--offline) 45%,white);box-shadow:none}.esp-node-row .chip-row{justify-content:flex-end}.esp-node-row>span:nth-child(3){display:grid;gap:3px}.esp-node-row small{overflow-wrap:anywhere}.esp-node-detail,.esp-dashboard,.esp-device-sections{display:grid;gap:var(--space-3)}.esp-dashboard{--plugin-accent: color-mix(in srgb, var(--accent) 72%, var(--accent-2));--plugin-accent-2: var(--accent-2);--plugin-accent-3: var(--warning);--plugin-accent-soft: rgba(var(--accent-rgb), .12)}.esp-device-sections{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start}.esp-node-meta-grid{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(260px,1.3fr) minmax(120px,.7fr) minmax(110px,.6fr) minmax(140px,.8fr);gap:var(--space-2)}.esp-node-meta-grid .kv-chip{min-height:58px;grid-template-columns:74px minmax(0,1fr)}.esp-node-meta-grid .kv-chip>span{white-space:nowrap}.esp-node-meta-grid .kv-chip>strong{line-height:1.2}.esp-node-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.esp-entity-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.esp-entity-list li{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#1720337a;min-height:54px;padding:8px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,auto);align-items:center;gap:var(--space-2)}.esp-entity-list li>span:nth-child(2){display:grid;gap:3px;min-width:0}.esp-entity-list small{color:var(--text-muted);overflow-wrap:anywhere}.esp-entity-value{display:grid;justify-items:end;gap:4px;min-width:0}.esp-entity-value strong{color:var(--accent);font-size:.98rem;line-height:1.1;text-align:right}.pd-stepper-control{border:1px solid rgba(128,224,197,.22);border-radius:var(--radius-md);background:linear-gradient(135deg,#39d3b71a,#17203300 45%),#0d1625b8;padding:var(--space-3);display:grid;gap:var(--space-3);min-width:0}.pd-stepper-control-head{display:flex;justify-content:space-between;align-items:start;gap:var(--space-2);min-width:0}.pd-stepper-control-head>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);min-width:0}.pd-stepper-control-head strong,.pd-stepper-control-head small{display:block;min-width:0;overflow-wrap:anywhere}.pd-stepper-control-head strong{color:var(--text-strong);font-size:1rem}.pd-stepper-control-head small{color:var(--text-muted);margin-top:2px}.pd-stepper-live-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.pd-stepper-live-strip div{border:1px solid rgba(126,151,196,.14);border-radius:var(--radius-sm);background:#080e1b57;padding:8px;display:grid;gap:3px;min-width:0}.pd-stepper-live-strip span,.pd-stepper-control-grid label>span,.pd-stepper-control-grid small{color:var(--text-muted);font-size:.68rem}.pd-stepper-live-strip span,.pd-stepper-control-grid label>span{text-transform:uppercase}.pd-stepper-live-strip strong{color:var(--text-strong);font-size:.94rem;overflow-wrap:anywhere}.pd-stepper-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:var(--space-2)}.pd-stepper-control-grid label{border:1px solid rgba(126,151,196,.14);border-radius:var(--radius-sm);background:#080e1b47;padding:8px;display:grid;gap:6px;min-width:0}.pd-stepper-control-grid input,.pd-stepper-control-grid select{width:100%;min-width:0;border:1px solid rgba(126,151,196,.22);border-radius:8px;background:#09101fd6;color:var(--text-strong);min-height:36px;padding:7px 9px;font:inherit}.pd-stepper-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.gss-sniffer-panel{border:1px solid color-mix(in srgb,var(--accent-2) 34%,var(--border-soft));border-radius:var(--radius-md);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-2) 18%,transparent),transparent 42%),color-mix(in srgb,var(--surface-2) 82%,transparent);padding:var(--space-3);display:grid;gap:var(--space-3);min-width:0}.gss-sniffer-live-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.gss-sniffer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-2)}.gss-sniffer-value{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 76%,transparent);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}.gss-sniffer-value small,.gss-sniffer-notes span{color:var(--text-muted)}.gss-sniffer-value strong{display:block;color:var(--text-strong);font-size:1.05rem;margin-top:2px}.gss-sniffer-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-2)}.gss-sniffer-notes div{border:1px solid color-mix(in srgb,var(--warning) 22%,var(--border-soft));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning) 8%,var(--surface-1));padding:10px;display:grid;gap:4px}.gss-sniffer-notes strong{color:var(--text-strong)}.esp-topology-map{display:grid;gap:var(--space-3);align-items:center}.esp-topology-node{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),transparent 46%),color-mix(in srgb,var(--surface-2) 72%,transparent);min-height:72px;padding:var(--space-3);display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px var(--space-2);align-items:center}.esp-topology-node svg{grid-row:span 2;color:var(--accent)}.esp-topology-node strong,.esp-topology-node span{min-width:0;overflow-wrap:anywhere}.esp-topology-node span{color:var(--text-muted);font-size:.82rem}.esp-topology-line{width:2px;height:28px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.08),rgba(var(--accent-rgb),.66),rgba(var(--accent-rgb),.08));justify-self:center}.esp-topology-groups{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:start}.esp-topology-group-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-1) 78%,transparent);padding:var(--space-3);display:grid;gap:var(--space-2);min-width:0}.esp-topology-group-head{display:flex;align-items:center;gap:var(--space-2);min-width:0}.esp-topology-group-head svg{color:var(--accent);flex:0 0 auto}.esp-topology-group-head div,.esp-topology-group-head strong,.esp-topology-group-head span{min-width:0}.esp-topology-group-head strong,.esp-topology-group-head span{display:block;overflow-wrap:anywhere}.esp-topology-group-head span{color:var(--text-muted);font-size:.75rem}.esp-topology-entity-grid{display:grid;gap:7px;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.esp-topology-entity{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 58%,transparent);padding:8px;min-width:0;display:grid;gap:3px}.esp-topology-entity.switch,.esp-topology-entity.button,.esp-topology-entity.number,.esp-topology-entity.select{border-color:#facc1538;background:color-mix(in srgb,var(--warning) 12%,var(--surface-2))}.esp-topology-entity strong,.esp-topology-entity small,.esp-topology-entity em{min-width:0;overflow-wrap:anywhere}.esp-topology-entity strong{color:var(--text-strong);font-size:.82rem}.esp-topology-entity small{color:var(--text-muted);font-size:.7rem}.esp-topology-entity em{color:var(--accent);font-style:normal;font-weight:750;font-size:.82rem}.provision-stepper{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.step-pill{border:1px solid var(--border-soft);border-radius:999px;color:var(--text-muted);background:#1720335c;padding:5px 8px;font-size:.7rem;display:inline-flex;align-items:center;gap:6px}.step-pill.ready{color:#a8f0c2;border-color:#22c55e3d;background:#22c55e14}.provision-wizard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:var(--space-3)}.provision-panel{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#0b13283d;padding:var(--space-3);min-width:0}.provision-profile-grid,.driver-chip-grid{display:grid;gap:var(--space-2)}.provision-profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}.provision-profile-card,.driver-chip{border:1px solid transparent;border-radius:var(--radius-md);background:#1720337a;color:var(--text-primary);padding:9px;text-align:left;display:grid;gap:6px;cursor:pointer;min-width:0}.provision-profile-card.selected,.driver-chip.selected{border-color:rgba(var(--accent-rgb),.34);background:#364b7361}.provision-profile-card span,.driver-chip span{color:var(--text-muted);overflow-wrap:anywhere;font-size:var(--font-size-sm)}.driver-chip-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.provision-action-row,.provision-session{margin-top:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#1720335c;padding:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.provision-session{align-items:flex-start;flex-direction:column}.runtime-note{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#0b132857;color:var(--text-muted);padding:7px 8px;font-size:var(--font-size-sm)}.runtime-capability-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}.runtime-capability-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#1720335c;padding:var(--space-3);display:grid;gap:var(--space-2);min-width:0}.runtime-capability-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.runtime-capability-head>div{display:grid;gap:2px}.runtime-capability-card p{color:var(--text-muted);font-size:var(--font-size-sm)}.stack-gap-sm{margin-bottom:12px}.login-shell{position:relative;min-height:100dvh;display:grid;place-items:center;padding:clamp(var(--space-4),5vw,var(--space-6));overflow:hidden;isolation:isolate}.login-tech-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;background:var(--bg-0);pointer-events:none}.login-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(circle at 50% 50%,rgba(var(--accent-rgb),.08),color-mix(in srgb,var(--bg-0) 66%,transparent) 58%,color-mix(in srgb,var(--bg-0) 92%,transparent)),linear-gradient(135deg,rgba(var(--accent-rgb),.14),color-mix(in srgb,var(--bg-0) 84%,transparent));pointer-events:none}.startup-shell{background:linear-gradient(90deg,rgba(57,211,183,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(var(--accent-rgb),.05) 1px,transparent 1px),#050a14;background-size:42px 42px}.startup-shell:before{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;background:radial-gradient(circle at 50% 45%,rgba(57,211,183,.18),transparent 28%),radial-gradient(circle at 42% 54%,rgba(var(--accent-rgb),.12),transparent 34%);filter:blur(18px);animation:startup-field 9s ease-in-out infinite alternate}.startup-card{width:min(520px,100%);border:1px solid rgba(var(--accent-rgb),.24);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 96%,transparent),color-mix(in srgb,var(--surface-3) 96%,transparent)),var(--surface-1);box-shadow:0 28px 90px color-mix(in srgb,var(--bg-0) 42%,transparent),0 0 0 1px rgba(var(--accent-rgb),.08) inset;padding:clamp(28px,5vw,42px);display:grid;justify-items:center;gap:20px;text-align:center}.startup-orbit{width:92px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;color:var(--accent);background:radial-gradient(circle,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.04) 58%,transparent 62%)}.startup-orbit span,.startup-orbit:before,.startup-orbit:after{content:"";position:absolute;border-radius:50%;top:0;right:0;bottom:0;left:0;border:1px solid rgba(var(--accent-rgb),.22)}.startup-orbit span{border-top-color:rgba(var(--accent-rgb),.9);border-right-color:rgba(var(--accent-rgb),.4);animation:startup-spin 1.7s linear infinite}.startup-orbit:before{top:11px;right:11px;bottom:11px;left:11px;border-left-color:rgba(var(--accent-rgb),.75);animation:startup-spin 2.4s linear infinite reverse}.startup-orbit:after{top:-9px;right:-9px;bottom:-9px;left:-9px;opacity:.4}.startup-orbit .startup-brand-icon{position:relative;z-index:1;width:42px;height:42px;border-radius:11px;box-shadow:0 10px 28px rgba(var(--accent-rgb),.28)}.startup-copy{display:grid;gap:7px}.startup-copy span,.startup-checks span{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.startup-copy h1{margin:0;color:var(--text-strong);font-size:clamp(1.65rem,5vw,2.35rem);line-height:1.06;letter-spacing:0}.startup-copy p{margin:0;color:var(--text-secondary);line-height:1.5}.startup-progress{width:min(340px,100%);height:8px;border-radius:999px;background:var(--surface-3);border:1px solid rgba(var(--accent-rgb),.18);overflow:hidden}.startup-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.95),color-mix(in srgb,var(--accent-2) 72%,transparent));animation:startup-progress 1.4s ease-in-out infinite}.startup-checks{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.startup-checks div{min-height:34px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--accent);display:inline-flex;align-items:center;gap:8px;padding:7px 11px}@keyframes startup-spin{to{transform:rotate(360deg)}}@keyframes startup-progress{0%{transform:translate(-105%)}55%{transform:translate(75%)}to{transform:translate(245%)}}@keyframes startup-field{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,1%,0) scale(1.04)}}.login-card{position:relative;z-index:1;width:100%;max-width:min(410px,calc(100vw - 32px));border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 0%,rgba(var(--accent-rgb),.14),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 96%,transparent),color-mix(in srgb,var(--surface-3) 96%,transparent)),var(--surface-1);padding:clamp(24px,4vw,32px);box-shadow:0 24px 70px color-mix(in srgb,var(--bg-0) 34%,transparent),0 0 0 1px rgba(var(--accent-rgb),.06) inset;text-align:center;overflow:hidden}.login-boot-card,.login-card-ready{animation:login-panel-in .36s ease both}@keyframes login-panel-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.login-background-controls{position:fixed;left:50%;right:auto;bottom:clamp(14px,3vw,30px);transform:translate(-50%);z-index:2;width:auto;border:1px solid rgba(var(--accent-rgb),.18);border-radius:8px;background:color-mix(in srgb,var(--surface-3) 66%,transparent);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:7px}.login-randomize-button{width:38px;height:38px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:999px;background:radial-gradient(circle at 35% 30%,rgba(var(--accent-rgb),.45),transparent 48%),color-mix(in srgb,var(--surface-2) 42%,transparent);border-color:rgba(var(--accent-rgb),.18);display:inline-grid;place-items:center;cursor:pointer;padding:0}.login-randomize-button span{width:20px;height:20px;border-radius:999px;background:var(--surface-3);position:relative}.login-randomize-button span:before,.login-randomize-button span:after{content:"";position:absolute;inset:50% auto auto 50%;width:11px;height:2px;border-radius:999px;background:var(--text-strong);transform-origin:left center}.login-randomize-button span:before{transform:translate(-50%,-50%) rotate(0)}.login-randomize-button span:after{transform:translate(-50%,-50%) rotate(90deg)}.login-randomize-button:hover{border-color:rgba(var(--accent-rgb),.38)}.login-theme-controls{position:fixed;top:auto;bottom:clamp(14px,2.6vw,28px);left:50%;transform:translate(-50%);z-index:3;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(var(--accent-rgb),.16);border-radius:999px;background:color-mix(in srgb,var(--surface-3) 70%,transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:6px}.login-theme-mode,.login-theme-presets{display:inline-flex;align-items:center;gap:5px}.login-theme-mode,.login-theme-presets{padding-right:6px;border-right:1px solid rgba(var(--accent-rgb),.14)}.login-theme-mode button{border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.68rem;font-weight:760;min-height:24px;padding:3px 8px}.login-theme-mode button.active,.login-theme-mode button:hover{border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.12);color:var(--text-strong)}.login-theme-presets button{width:22px;height:22px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgb(var(--preview-rgb, 79, 135, 255));box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--surface-3) 72%,transparent);cursor:pointer;padding:0}.login-theme-presets button.active,.login-theme-presets button:hover{outline:2px solid rgba(var(--preview-rgb, 79, 135, 255),.46);outline-offset:2px}.login-animation-button{width:24px;height:24px;border:1px solid rgba(var(--login-animation-rgb, var(--accent-rgb)),.2);border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--surface-3) 82%,transparent) 0 48%,transparent 50%),conic-gradient(from -90deg,rgba(var(--login-animation-rgb, var(--accent-rgb)),.74),rgba(var(--login-animation-rgb, var(--accent-rgb)),.12),rgba(var(--login-animation-rgb, var(--accent-rgb)),.74));cursor:pointer;padding:0;position:relative}.login-animation-button:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:999px;background:rgb(var(--login-animation-rgb, var(--accent-rgb)));opacity:.76}.login-animation-button span{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;border:1px solid transparent;border-top-color:rgba(var(--login-animation-rgb, var(--accent-rgb)),.9);border-right-color:rgba(var(--login-animation-rgb, var(--accent-rgb)),.28);opacity:.9}.login-animation-button span{animation:login-animation-timer 16s linear infinite}.login-animation-button:hover{border-color:rgba(var(--login-animation-rgb, var(--accent-rgb)),.42)}.login-github-link{position:fixed;left:clamp(14px,2.6vw,28px);bottom:clamp(14px,2.6vw,28px);z-index:3;width:38px;height:38px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:999px;background:color-mix(in srgb,var(--surface-3) 62%,transparent);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease}.login-github-link:hover,.login-github-link:focus-visible{border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.12);color:var(--text-strong);outline:none;transform:translateY(-1px)}@keyframes login-animation-timer{0%{opacity:.95;transform:rotate(0)}92%{opacity:.95}to{opacity:.35;transform:rotate(360deg)}}.login-theme-presets button[data-theme-preview=blue]{--preview-rgb: 79, 135, 255}.login-theme-presets button[data-theme-preview=green]{--preview-rgb: 34, 197, 94}.login-theme-presets button[data-theme-preview=orange]{--preview-rgb: 251, 146, 60}.login-theme-presets button[data-theme-preview=cyan]{--preview-rgb: 56, 189, 248}.login-theme-presets button[data-theme-preview=violet]{--preview-rgb: 167, 139, 250}.login-theme-presets button[data-theme-preview=sunset]{--preview-rgb: 251, 113, 133}.login-brand{display:grid;align-items:center;gap:10px;margin-bottom:20px;justify-content:center;text-align:center}.login-brand .logo-mark{width:64px;height:64px;border-radius:18px;justify-self:center;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.38),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 92%,white),var(--accent-2));box-shadow:0 16px 34px rgba(var(--accent-rgb),.22),0 0 0 1px #ffffff2e inset}.login-brand .logo-mark svg{width:34px;height:34px;stroke-width:2.4}.login-brand>div{display:grid;gap:3px}.login-brand h2{margin:0;color:var(--text-strong);font-size:clamp(1.55rem,4vw,1.9rem);line-height:1.04;letter-spacing:0}.login-brand small{font-size:.82rem;font-weight:650}.login-brand small,.login-form span,.login-status{color:var(--text-muted)}.login-form label{display:grid;gap:7px;min-width:0;text-align:center}.login-form span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:780}.login-form{display:grid;gap:12px;width:min(100%,330px);margin:0 auto}.login-form input,.login-create-panel input,.login-create-panel select{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 86%,var(--bg-2));color:var(--text-strong);height:44px;padding:0 12px;width:100%;font-size:.92rem;box-shadow:inset 0 0 0 1px transparent;text-align:center}.login-create-panel select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.login-form input::placeholder,.login-create-panel input::placeholder{color:color-mix(in srgb,var(--text-muted) 68%,transparent)}.login-form input:focus,.login-create-panel input:focus,.login-create-panel select:focus{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.login-form input:-webkit-autofill,.login-form input:-webkit-autofill:hover,.login-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-strong);box-shadow:0 0 0 1000px var(--bg-2) inset;caret-color:var(--text-strong)}.login-submit{width:100%;justify-content:center;height:43px;margin-top:4px;font-size:.9rem}.login-status{min-height:18px;text-align:center}.login-create-user{width:100%;justify-content:center}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:color-mix(in srgb,var(--bg-0) 58%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;place-items:center;padding:18px}.login-create-panel{width:min(100%,380px);display:grid;gap:10px}.login-create-modal{border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at 20% 0%,rgba(var(--accent-rgb),.18),transparent 38%),color-mix(in srgb,var(--surface-1) 94%,transparent);box-shadow:0 28px 80px #0000003d,0 0 0 1px #ffffff0d inset;padding:20px}.login-modal-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:4px;text-align:left}.login-modal-title .logo-mark{width:38px;height:38px;border-radius:13px}.login-modal-title div{display:grid;gap:2px;min-width:0}.login-modal-title strong{color:var(--text-strong);font-size:1rem}.login-modal-title small{color:var(--text-muted);font-size:.76rem}.login-modal-title button{border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 76%,transparent);color:var(--text-muted);cursor:pointer;width:30px;height:30px}.login-modal-title button:hover{border-color:rgba(var(--accent-rgb),.32);color:var(--text-strong)}.login-create-panel label{display:grid;gap:6px;text-align:center}.login-create-panel span{color:var(--text-muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:780}.login-create-panel button{width:100%;justify-content:center}@media (max-width: 760px){.login-background-controls{left:50%;bottom:10px;transform:translate(-50%)}}.logs-list{display:grid;gap:var(--space-2)}.log-item{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#11182773;padding:8px;font-size:.82rem;display:grid;grid-template-columns:minmax(120px,.9fr) minmax(180px,1.2fr) minmax(90px,auto) auto;align-items:start;gap:var(--space-2);min-width:0;overflow-wrap:anywhere}.log-item>span,.log-item>strong{min-width:0}.log-item .btn{justify-self:end}button.log-item{color:var(--text-primary);text-align:left;cursor:pointer}.log-item.selected-row{border-color:rgba(var(--accent-rgb),.34);background:#1f2b44b8}.log-ts{color:var(--text-muted);font-family:JetBrains Mono,monospace}.settings-page-shell{height:calc(100dvh - 96px);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-3);overflow:hidden;align-content:stretch}.settings-fixed-head{display:grid;gap:var(--space-3);min-width:0;z-index:2;padding-bottom:var(--space-1);position:relative}.settings-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr;align-items:start}.settings-page-shell>.settings-grid{min-height:0;overflow:auto;padding-right:4px}.settings-grid>.card{border-radius:var(--radius-md)}.settings-section-card{min-height:0}.settings-section-card:has(.facility-console){padding-top:var(--space-2)}.settings-toolbar{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center;flex-wrap:wrap}.settings-toolbar-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;min-width:0}.settings-toolbar-actions .muted{white-space:nowrap}.settings-active-section{display:flex;align-items:center;gap:var(--space-3);min-width:0;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-1) 76%,transparent);padding:9px 12px}.settings-active-section span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-strong);font-weight:800;white-space:nowrap}.settings-active-section p{margin:0;min-width:0;color:var(--text-muted);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-toast{align-items:center;border:1px solid rgba(var(--accent-rgb),.26);border-radius:999px;box-shadow:0 18px 48px #0000002e;color:var(--text-strong);cursor:pointer;display:inline-flex;gap:8px;justify-self:end;max-width:min(520px,100%);min-height:36px;padding:8px 12px;position:absolute;right:0;top:0;z-index:5}.settings-toast.success{background:color-mix(in srgb,var(--success) 16%,var(--surface-1));border-color:color-mix(in srgb,var(--success) 44%,var(--border))}.settings-toast.warning{background:color-mix(in srgb,var(--warning) 18%,var(--surface-1));border-color:color-mix(in srgb,var(--warning) 50%,var(--border))}.settings-toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.settings-overview-strip>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-2);padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.settings-overview-strip span,.settings-overview-strip strong{min-width:0;overflow-wrap:anywhere}.settings-overview-strip span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.settings-overview-strip strong{color:var(--text-strong);font-size:.8rem;font-weight:560;text-align:right}.settings-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-3);padding:4px}.settings-tabs button{border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);padding:6px 8px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.78rem}.settings-tabs button.active,.settings-tabs button:hover{color:var(--text-strong);border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.12)}.plugin-section-tabs{width:fit-content;max-width:100%}.settings-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);color:var(--text-primary);height:34px;padding:0 9px;min-width:180px;width:min(240px,100%);max-width:100%}.settings-form-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}.settings-form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}.settings-area-list{display:grid;gap:var(--space-3);margin-top:var(--space-3)}.settings-facility-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:var(--space-2);margin-top:var(--space-3)}.settings-facility-summary>div{border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),transparent 46%),var(--surface-2);display:grid;gap:5px;min-width:0;padding:var(--space-3)}.settings-facility-summary span{color:var(--text-muted);font-size:.72rem;font-weight:760;text-transform:uppercase}.settings-facility-summary strong{color:var(--text-strong);font-size:1.05rem}.settings-facility-summary small{color:var(--text-muted);line-height:1.35}.facility-console{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:var(--space-3);align-items:start}.facility-setpoint-panel,.facility-assignment-panel{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 46%),var(--surface-2);min-width:0;padding:var(--space-3)}.facility-console-sidebar,.facility-console-main{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 72%),color-mix(in srgb,var(--surface-2) 84%,transparent);min-width:0;padding:var(--space-3)}.facility-console.apple-layout{align-items:start}.facility-console.apple-layout .facility-console-sidebar,.facility-console.apple-layout .facility-console-main{align-self:start}.facility-console-sidebar{align-self:start;display:grid;gap:var(--space-2);position:sticky;top:var(--space-3)}.facility-console-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.facility-console-title span{color:var(--text-muted);font-size:.72rem;font-weight:780;text-transform:uppercase}.facility-console-title button{border:1px solid rgba(var(--accent-rgb),.28);border-radius:999px;background:rgba(var(--accent-rgb),.12);color:var(--text-strong);cursor:pointer;width:28px;height:28px}.facility-system-picker{display:grid;gap:8px}.facility-system-picker button{border:1px solid var(--border-soft);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent),color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text-primary);cursor:pointer;display:grid;gap:2px;padding:11px 12px;text-align:left}.facility-system-picker button.active,.facility-system-picker button:hover{border-color:rgba(var(--accent-rgb),.42);background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),transparent 48%),var(--surface-active)}.facility-system-picker strong{color:var(--text-strong)}.facility-system-picker span{color:var(--text-muted);font-size:.72rem}.facility-system-picker small{color:var(--text-muted);font-size:.68rem;text-transform:capitalize}.facility-console-main{display:grid;gap:var(--space-3)}.facility-hero{border:1px solid rgba(var(--accent-rgb),.16);border-radius:20px;background:radial-gradient(circle at top left,rgba(var(--accent-rgb),.22),transparent 38%),linear-gradient(135deg,rgba(var(--accent-rgb),.1),transparent 52%),var(--surface-3);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:18px}.facility-hero span{color:var(--text-muted);font-size:.72rem;font-weight:780;text-transform:uppercase}.facility-hero h3{color:var(--text-strong);font-size:clamp(1.35rem,2vw,2rem);margin:4px 0}.facility-hero p{color:var(--text-muted);line-height:1.35;margin:0}.facility-hero-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:0 0 auto}.facility-apple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.facility-glass-panel{border:1px solid var(--border-soft);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.05),transparent 42%),color-mix(in srgb,var(--surface-2) 86%,transparent);display:grid;gap:var(--space-3);min-width:0;padding:var(--space-3);box-shadow:0 18px 60px #00000014}.facility-glass-panel.span-2{grid-column:1 / -1}.facility-phase-section{order:5}.facility-plant-plan-section{order:6}.facility-setpoints-section{order:10}.facility-nutrients-section{order:20}.facility-primary-sensors-section{order:30}.facility-light-section{order:35}.facility-assignment-section{order:40}.facility-profile-section{order:50}.facility-glass-panel>.panel-title{display:grid;gap:3px;line-height:1.25;margin-bottom:0}.facility-glass-panel>.panel-title span,.facility-glass-panel>.panel-title small{display:block;min-width:0}.facility-glass-panel>.panel-title span{color:var(--text-strong);font-size:.78rem}.facility-glass-panel>.panel-title small{color:var(--text-muted);font-size:.72rem;font-weight:650;letter-spacing:0;text-transform:none}.facility-profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.facility-profile-grid .settings-field{gap:4px;padding:6px}.facility-profile-grid .settings-field input,.facility-profile-grid .settings-field select{min-height:30px;padding:5px 7px}.facility-phase-selector{border:1px solid var(--border-soft);border-radius:16px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),transparent 48%),color-mix(in srgb,var(--surface-3) 78%,transparent);display:grid;gap:var(--space-2);padding:var(--space-3)}.facility-phase-selector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0}.facility-phase-selector-head span{color:var(--text-strong);font-size:.82rem;font-weight:820}.facility-phase-selector-head small{color:var(--text-muted);font-size:.72rem;line-height:1.3;max-width:520px;text-align:right}.facility-phase-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.facility-phase-buttons.compact{grid-template-columns:repeat(5,minmax(110px,1fr))}.facility-phase-buttons button{border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 84%,transparent);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:7px;min-width:0;min-height:38px;padding:5px 9px 5px 5px;text-align:left;transition:border-color .14s ease,background .14s ease,transform .14s ease}.facility-phase-buttons button:hover{border-color:rgba(var(--accent-rgb),.38);background:color-mix(in srgb,var(--surface-active) 72%,var(--surface-2));transform:translateY(-1px)}.facility-phase-buttons button.active{border-color:rgba(var(--accent-rgb),.68);background:linear-gradient(135deg,rgba(var(--accent-rgb),.2),transparent 54%),var(--surface-active);box-shadow:0 14px 34px rgba(var(--accent-rgb),.14)}.facility-phase-step{align-items:center;border:1px solid rgba(var(--accent-rgb),.3);border-radius:999px;background:rgba(var(--accent-rgb),.13);color:var(--text-strong);display:inline-flex;flex:0 0 28px;font-size:.78rem;font-weight:860;height:28px;justify-content:center}.facility-phase-buttons strong,.facility-phase-buttons small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-phase-buttons strong{color:var(--text-strong);font-size:.74rem}.facility-phase-buttons small{color:var(--text-muted);font-size:.62rem}.facility-control-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.facility-control-mode button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:72px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),transparent 74%),color-mix(in srgb,var(--surface-2) 84%,transparent);color:var(--text-primary);padding:10px;text-align:left}.facility-control-mode button.active{border-color:color-mix(in srgb,var(--success) 52%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--success) 16%,transparent),transparent 70%),color-mix(in srgb,var(--surface-2) 88%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 16%,transparent)}.facility-control-mode strong,.facility-control-mode small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.facility-control-mode strong{color:var(--text-strong);font-weight:850}.facility-control-mode small{color:var(--text-muted);line-height:1.35}@media (max-width: 900px){.facility-control-mode{grid-template-columns:1fr}}.facility-metric-stack{border-radius:16px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.14),transparent),var(--surface-3);display:grid;gap:3px;padding:14px}.facility-metric-stack strong{color:var(--text-strong);font-size:2rem;line-height:1}.facility-metric-stack span{color:var(--text-muted);font-size:.78rem}.facility-chip-list,.facility-area-pills{display:flex;flex-wrap:wrap;gap:8px}.facility-chip-list span{border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-3) 76%,transparent);color:var(--text-primary);font-size:.74rem;max-width:100%;overflow:hidden;padding:6px 9px;text-overflow:ellipsis;white-space:nowrap}.facility-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.facility-assignment-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-strong);min-height:36px;padding:7px 10px;width:100%}.facility-picker-column{border:1px solid var(--border-soft);border-radius:16px;background:color-mix(in srgb,var(--surface-3) 66%,transparent);display:grid;gap:9px;min-width:0;padding:10px}.facility-picker-column>strong{color:var(--text-strong);font-size:.82rem}.facility-check-list{display:grid;gap:6px;max-height:300px;overflow:auto;padding-right:2px}.facility-check-list label{border:1px solid var(--border-soft);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 76%,transparent);color:var(--text-primary);display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;align-items:center;min-width:0;padding:7px 8px}.facility-check-list label:has(input:checked){border-color:rgba(var(--accent-rgb),.38);background:linear-gradient(135deg,rgba(var(--accent-rgb),.14),transparent 44%),var(--surface-active)}.facility-check-list input{grid-row:span 2;width:15px;height:15px;accent-color:var(--accent)}.facility-check-list span,.facility-check-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-check-list span{color:var(--text-strong);font-size:.78rem}.facility-check-list small{color:var(--text-muted);font-size:.66rem}.facility-range-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:7px}.facility-setpoint-toolbar{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 58%),color-mix(in srgb,var(--surface-2) 78%,transparent);display:grid;gap:9px;margin-bottom:var(--space-2);padding:10px}.facility-daypart-buttons{display:flex;flex-wrap:wrap;gap:7px}.facility-light-plan{display:grid;grid-template-columns:repeat(2,minmax(130px,180px));gap:6px}.facility-light-plan>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 76%,transparent);display:grid;gap:4px;min-width:0;padding:6px 8px}.facility-light-plan input{border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text-strong);font-size:.78rem;min-height:30px;padding:4px 8px;width:100%}.facility-daypart-buttons button{align-items:center;border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 84%,transparent);color:var(--text-primary);cursor:pointer;display:inline-flex;gap:7px;min-height:34px;padding:5px 11px}.facility-daypart-buttons button.active{border-color:rgba(var(--accent-rgb),.58);background:var(--surface-active);color:var(--text-strong)}.facility-daypart-buttons strong,.facility-daypart-buttons small{display:block;line-height:1.05}.facility-daypart-buttons strong{font-size:.76rem}.facility-daypart-buttons small,.facility-setpoint-toolbar p{color:var(--text-muted);font-size:.66rem}.facility-setpoint-toolbar p{margin:0}.facility-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.facility-edit-list{border:1px solid var(--border-soft);border-radius:16px;background:color-mix(in srgb,var(--surface-3) 66%,transparent);display:grid;gap:7px;min-width:0;max-height:360px;overflow:auto;padding:10px}.facility-edit-list>strong{color:var(--text-strong);font-size:.82rem}.facility-edit-list>div{border:1px solid var(--border-soft);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 76%,transparent);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 8px}.facility-edit-list span{display:grid;gap:2px;min-width:0}.facility-edit-list span strong,.facility-edit-list span small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-edit-list span strong{color:var(--text-strong);font-size:.78rem}.facility-edit-list span small{color:var(--text-muted);font-size:.66rem}.facility-edit-list button{border:1px solid rgba(239,68,68,.22);border-radius:999px;background:#ef444414;color:color-mix(in srgb,var(--alarm) 76%,var(--text-strong));cursor:pointer;font-size:.68rem;font-weight:760;min-height:26px;padding:4px 8px}.facility-edit-list button:hover{border-color:#ef44446b;background:#ef444424}.facility-area-pills button{border:1px solid color-mix(in srgb,var(--area-color, var(--accent)) 36%,var(--border-soft));border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--area-color, var(--accent)) 13%,transparent),transparent),var(--surface-3);color:var(--text-primary);cursor:pointer;display:inline-grid;grid-template-columns:auto auto;grid-template-areas:"dot name" "dot type";column-gap:8px;align-items:center;min-height:44px;max-width:100%;padding:7px 12px;text-align:left}.facility-area-pills button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--area-color, var(--accent)) 24%,transparent),transparent),var(--surface-active)}.facility-area-pills button>span{grid-area:dot;width:10px;height:10px;border-radius:999px;background:var(--area-color, var(--accent))}.facility-area-pills button strong{grid-area:name;color:var(--text-strong);font-size:.8rem}.facility-area-pills button small{grid-area:type;color:var(--text-muted);font-size:.68rem}.facility-area-pills .add-area-pill{border-style:dashed;display:inline-flex;justify-content:center}.facility-insight-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:var(--space-3);margin-top:var(--space-3)}.facility-setpoint-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.facility-setpoint-card{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-3) 68%,transparent);display:grid;gap:4px;min-width:0;padding:9px}.facility-setpoint-card span,.facility-setpoint-card em{color:var(--text-muted);font-size:.72rem;font-style:normal}.facility-setpoint-card strong{color:var(--text-strong)}.facility-assignment-panel{display:grid;gap:var(--space-3)}.facility-assignment-meter{border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-sm);background:rgba(var(--accent-rgb),.08);display:grid;gap:2px;padding:10px}.facility-assignment-meter strong{color:var(--text-strong);font-size:1.45rem}.facility-assignment-meter span{color:var(--text-muted)}.facility-assignment-list{display:grid;gap:8px;max-height:236px;overflow:auto}.facility-assignment-list.compact{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));max-height:280px}.facility-assignment-list>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-3) 66%,transparent);display:grid;gap:3px;min-width:0;padding:8px}.facility-assignment-list strong,.facility-assignment-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-assignment-list span{color:var(--text-muted);font-size:.72rem}.settings-area-row{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--area-color, var(--accent)) 12%,transparent),transparent 42%),var(--surface-2);display:grid;gap:var(--space-2);padding:var(--space-3)}.settings-area-head{display:flex;align-items:center;gap:10px;min-width:0}.settings-area-head strong{color:var(--text-strong);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-area-color{width:18px;height:18px;border-radius:999px;background:var(--area-color, var(--accent));box-shadow:0 0 0 4px color-mix(in srgb,var(--area-color, var(--accent)) 16%,transparent);flex:0 0 auto}.settings-entity-list{display:grid;gap:8px;margin-top:var(--space-3)}.settings-entity-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 72%,transparent);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px}.settings-entity-row div{display:grid;gap:2px;min-width:0}.settings-entity-row strong{color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-entity-row span{color:var(--text-muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-fact-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:var(--space-2);margin-top:var(--space-3)}.settings-fact-strip>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 48%),var(--surface-2);display:grid;gap:4px;min-width:0;padding:9px}.settings-fact-strip span{color:var(--text-muted);font-size:.7rem;text-transform:uppercase;font-weight:760}.settings-fact-strip strong{color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:var(--space-2)}.primary-button,.ghost-button{border:1px solid rgba(var(--accent-rgb),.24);border-radius:var(--radius-sm);color:var(--text-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;font-weight:760}.primary-button{background:linear-gradient(135deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.1))}.ghost-button{background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.primary-button:hover,.ghost-button:hover{border-color:rgba(var(--accent-rgb),.44);background:color-mix(in srgb,var(--surface-active) 84%,transparent)}.ghost-button.danger{border-color:#ef444447;color:color-mix(in srgb,var(--alarm) 72%,var(--text-strong))}.ghost-button:disabled{cursor:not-allowed;opacity:.5}.settings-empty-state{min-height:260px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-1) 84%,transparent);display:grid;place-content:center;justify-items:center;gap:12px;padding:clamp(24px,5vw,56px);text-align:center}.settings-empty-state p{max-width:620px;margin:0;color:var(--text-muted);line-height:1.45}.muted-note{color:var(--text-muted);font-size:.78rem;line-height:1.35}.settings-field{border:1px solid transparent;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 74%,transparent);padding:7px 8px;display:grid;gap:5px;min-width:0}.settings-field>span,.settings-field>div>strong{font-size:.76rem;color:var(--text-muted)}.settings-field-label{align-items:center;display:inline-flex;gap:6px;min-width:0}.settings-field-label .icon{color:color-mix(in srgb,var(--accent) 58%,var(--text-muted));flex:0 0 auto}.settings-field small{color:var(--text-muted);font-size:.68rem}.settings-field input,.settings-field select,.settings-field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-strong);padding:6px 7px;min-width:0;width:100%;min-height:32px}.settings-field:focus-within{border-color:rgba(var(--accent-rgb),.18);background:color-mix(in srgb,var(--surface-active) 80%,transparent)}.settings-input-with-unit{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0}.settings-input-with-unit input{border-bottom-right-radius:0;border-top-right-radius:0}.settings-input-with-unit small{align-items:center;border:1px solid var(--border);border-left:0;border-bottom-right-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 88%,transparent);color:var(--text-muted);display:inline-flex;font-size:.7rem;font-weight:780;padding:0 9px;white-space:nowrap}.theme-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:var(--space-2)}.appearance-choice-grid,.appearance-mode-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:var(--space-2)}.appearance-mode-buttons button{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 46%),var(--surface-2);color:var(--text-primary);cursor:pointer;display:grid;gap:3px;min-height:62px;padding:10px;text-align:left}.appearance-mode-buttons button:hover,.appearance-mode-buttons button.active{border-color:rgba(var(--accent-rgb),.42);background:linear-gradient(135deg,rgba(var(--accent-rgb),.15),transparent 48%),var(--surface-active)}.appearance-mode-buttons strong{color:var(--text-strong)}.appearance-mode-buttons small{color:var(--text-muted);line-height:1.35}.appearance-toggle-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:var(--space-2)}.appearance-switch-button{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 46%),var(--surface-2);color:var(--text-primary);cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;min-height:68px;padding:10px;text-align:left;align-items:center}.appearance-switch-button:hover,.appearance-switch-button.active,.appearance-switch-button[aria-pressed=true]{border-color:rgba(var(--accent-rgb),.42);background:linear-gradient(135deg,rgba(var(--accent-rgb),.15),transparent 48%),var(--surface-active)}.appearance-switch-button strong{color:var(--text-strong)}.appearance-switch-button small{color:var(--text-muted);grid-column:2;line-height:1.35}.appearance-switch-visual{grid-row:span 2;width:42px;height:24px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.22);background:color-mix(in srgb,var(--surface-3) 82%,transparent);padding:3px}.appearance-switch-visual i{display:block;width:16px;height:16px;border-radius:999px;background:linear-gradient(145deg,var(--warning),var(--accent));transition:transform .16s ease}.appearance-switch-button[aria-pressed=true] .appearance-switch-visual i{transform:translate(18px);background:linear-gradient(145deg,var(--accent),var(--accent-2))}.appearance-switch-visual.auto i{background:linear-gradient(145deg,var(--accent-2),var(--accent))}.appearance-choice{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-primary);padding:10px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:5px 10px;text-align:left;cursor:pointer;align-items:center}.appearance-choice:hover,.appearance-choice.active{border-color:rgba(var(--accent-rgb),.44);background:var(--surface-active)}.appearance-choice-preview{grid-row:span 2;height:52px;border-radius:9px;border:1px solid rgba(var(--accent-rgb),.24);padding:6px;display:grid;grid-template-columns:18px 1fr;grid-template-rows:1fr 1fr;gap:5px}.appearance-choice-preview i{border-radius:999px;display:block}.appearance-choice-preview i:first-child{grid-row:1 / -1}.appearance-choice-preview i:nth-child(2),.appearance-choice-preview i:nth-child(3){border-radius:5px}.appearance-choice[data-appearance-preview=dark] .appearance-choice-preview{background:#0b1020}.appearance-choice[data-appearance-preview=dark] .appearance-choice-preview i:first-child{background:#172033}.appearance-choice[data-appearance-preview=dark] .appearance-choice-preview i:nth-child(2){background:var(--accent)}.appearance-choice[data-appearance-preview=dark] .appearance-choice-preview i:nth-child(3){background:#25344f}.appearance-choice[data-appearance-preview=light] .appearance-choice-preview{background:#f8fbff}.appearance-choice[data-appearance-preview=light] .appearance-choice-preview i:first-child{background:#e8effa}.appearance-choice[data-appearance-preview=light] .appearance-choice-preview i:nth-child(2){background:var(--accent)}.appearance-choice[data-appearance-preview=light] .appearance-choice-preview i:nth-child(3){background:#fff}.appearance-choice strong{color:var(--text-strong)}.appearance-choice small{color:var(--text-muted);line-height:1.35}.theme-choice{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--preview-rgb, 79, 135, 255),.16),color-mix(in srgb,var(--surface-3) 70%,transparent)),var(--surface-2);color:var(--text-primary);padding:10px;display:grid;gap:7px;text-align:left;cursor:pointer;min-width:0}.theme-choice:hover,.theme-choice.active{border-color:rgba(var(--preview-rgb, 79, 135, 255),.52);background:linear-gradient(135deg,rgba(var(--preview-rgb, 79, 135, 255),.24),color-mix(in srgb,var(--surface-3) 76%,transparent)),var(--surface-active)}.theme-choice strong{color:var(--text-strong)}.theme-choice small{color:var(--text-muted);line-height:1.35}.theme-choice-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.mini-button{border:1px solid rgba(var(--accent-rgb),.22);border-radius:999px;background:rgba(var(--accent-rgb),.1);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;font-size:.68rem;font-weight:740}.mini-button:hover,.mini-button:focus-visible{border-color:rgba(var(--accent-rgb),.42);color:var(--text-strong);outline:none}.mini-button.danger{border-color:#ef444438;background:#ef44441a}.theme-choice-swatch{height:34px;border-radius:8px;background:#080e1c94;border:1px solid rgba(var(--preview-rgb, 79, 135, 255),.28);display:grid;grid-template-columns:1fr .7fr .45fr;gap:5px;padding:6px}.theme-choice-swatch i{display:block;border-radius:999px;background:rgb(var(--preview-rgb, 79, 135, 255))}.theme-choice-swatch i:nth-child(2){opacity:.66}.theme-choice-swatch i:nth-child(3){opacity:.38}.theme-choice[data-theme-preview=blue]{--preview-rgb: 79, 135, 255}.theme-choice[data-theme-preview=green]{--preview-rgb: 34, 197, 94}.theme-choice[data-theme-preview=orange]{--preview-rgb: 251, 146, 60}.theme-choice[data-theme-preview=cyan]{--preview-rgb: 56, 189, 248}.theme-choice[data-theme-preview=violet]{--preview-rgb: 167, 139, 250}.theme-choice[data-theme-preview=sunset]{--preview-rgb: 251, 113, 133}.theme-editor-panel{border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 42%),var(--surface-2);display:grid;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3)}.theme-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:var(--space-2)}.theme-color-field{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-3) 64%,transparent);display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;align-items:start;padding:8px;min-width:0}.theme-color-field span{color:var(--text-muted);font-size:.68rem;font-weight:760;text-transform:uppercase}.theme-color-field input{justify-self:end;width:38px;height:30px;border:1px solid var(--border-soft);border-radius:8px;background:transparent;cursor:pointer;padding:2px}.theme-color-field small{grid-column:1 / -1;color:var(--text-muted);font-size:.68rem;line-height:1.32}.theme-color-field code{grid-column:1 / -1;color:var(--text-strong);font-size:.74rem;overflow-wrap:anywhere}.settings-range-row{display:grid;grid-template-columns:minmax(96px,.72fr) repeat(3,minmax(58px,1fr));gap:6px;align-items:end;border:1px solid var(--border-soft);border-radius:10px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),transparent 46%),color-mix(in srgb,var(--surface-2) 82%,transparent);padding:6px}.settings-range-row strong{color:var(--text-strong);align-self:center;font-size:.76rem;line-height:1.15;display:grid;gap:2px}.settings-range-row strong small{color:var(--text-muted);font-size:.6rem;font-weight:720}.settings-range-row label{display:grid;gap:2px;min-width:0}.settings-range-row label span,.settings-range-row small{color:var(--text-muted);font-size:.62rem;font-weight:760}.settings-range-row input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-strong);box-shadow:inset 0 0 0 1px transparent;min-height:26px;min-width:0;padding:4px 7px;width:100%;font-size:.78rem}.settings-range-row input:focus{border-color:rgba(var(--accent-rgb),.42);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12);outline:none}:root[data-appearance=light] .settings-range-row{background:linear-gradient(135deg,rgba(var(--accent-rgb),.05),transparent 48%),color-mix(in srgb,var(--surface-1) 94%,var(--accent));border-color:color-mix(in srgb,var(--accent) 16%,#cbd5e1)}:root[data-appearance=light] .settings-range-row input,:root[data-appearance=light] .settings-field input,:root[data-appearance=light] .settings-field select,:root[data-appearance=light] .settings-field textarea{background:#fff;color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 18%,#cbd5e1)}.grow-defaults-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:var(--space-3);margin:var(--space-3) 0}.grow-default-panel{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 42%),var(--surface-2);display:grid;gap:var(--space-3);min-width:0;padding:var(--space-3)}.toggle-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:center}.toggle-row input{width:auto}@media (max-width: 760px){.dashboard-edit-grid,.widget-options,.settings-overview-strip,.settings-range-row{grid-template-columns:1fr}.settings-overview-strip>div{align-items:flex-start;flex-direction:column}.settings-overview-strip strong{text-align:left}.settings-tabs,.settings-search{width:100%}.settings-tabs button{flex:1 1 120px;justify-content:center}.facility-console,.facility-apple-grid,.facility-picker-grid,.facility-edit-grid,.facility-insight-grid{grid-template-columns:1fr}.facility-console-sidebar{position:static}.facility-hero{display:grid}.facility-hero-chips{justify-content:flex-start}.system-status-strip,.system-status-item{grid-template-columns:1fr}.system-status-item{align-items:start}.log-item{grid-template-columns:minmax(0,1fr)}.log-item .btn{justify-self:start}}.settings-field textarea{min-height:74px;resize:vertical}.block-editor-wide{margin-top:var(--space-3)}.block-code-preview{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#0c1428e6;color:var(--text-strong);padding:9px;overflow:auto;max-height:260px;font-size:.76rem;line-height:1.45}.settings-field.checkbox-field{display:flex;justify-content:space-between;align-items:center}.settings-field.checkbox-field input{width:18px;height:18px}.settings-readonly{border:1px solid transparent;border-radius:var(--radius-sm);background:#1720337a;padding:8px;display:grid;gap:6px;min-width:0}.settings-readonly span{font-size:.72rem;color:var(--text-muted)}.maintenance-update-panel,.maintenance-release-log{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.09),transparent 48%),color-mix(in srgb,var(--surface-2) 86%,transparent);display:grid;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3)}.maintenance-update-panel>div:first-child,.maintenance-release-log-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0}.maintenance-update-panel strong,.maintenance-release-log strong,.maintenance-release-entry strong{color:var(--text-strong)}.maintenance-update-panel span,.maintenance-release-log span,.maintenance-release-entry span{color:var(--text-muted);font-size:.76rem;line-height:1.35}.maintenance-release-log-list{display:grid;gap:8px}.maintenance-release-entry{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-3) 68%,transparent);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:9px}.maintenance-release-entry div{display:grid;gap:3px;min-width:0}.maintenance-release-entry a{color:var(--accent);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maintenance-release-entry time{color:var(--text-muted);font-size:.7rem;white-space:nowrap}.ssh-access-status small{color:var(--text-muted);line-height:1.35}.ssh-command-preview code{display:block;width:100%;overflow-x:auto;color:var(--text-strong);background:color-mix(in srgb,var(--bg-0) 62%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:9px 10px;white-space:nowrap}:root[data-appearance=light] .home-entity-tile,:root[data-appearance=light] .home-summary-tile,:root[data-appearance=light] .plugin-lovelace-card,:root[data-appearance=light] .plugin-dashboard-hero,:root[data-appearance=light] .plugin-dashboard-metrics>div,:root[data-appearance=light] .plugin-dashboard-panel,:root[data-appearance=light] .plugin-dashboard-highlight,:root[data-appearance=light] .esp-node-hero,:root[data-appearance=light] .esp-node-panel,:root[data-appearance=light] .esp-dashboard-card,:root[data-appearance=light] .esp-dashboard-group,:root[data-appearance=light] .pd-stepper-control,:root[data-appearance=light] .esp-landing-row,:root[data-appearance=light] .settings-readonly,:root[data-appearance=light] .maintenance-update-panel,:root[data-appearance=light] .maintenance-release-log,:root[data-appearance=light] .maintenance-release-entry,:root[data-appearance=light] .log-item,:root[data-appearance=light] .area-card,:root[data-appearance=light] .node-card,:root[data-appearance=light] .entity-detail-card,:root[data-appearance=light] .facility-glass-panel,:root[data-appearance=light] .facility-console-sidebar,:root[data-appearance=light] .facility-console-main,:root[data-appearance=light] .facility-picker-column,:root[data-appearance=light] .facility-edit-list,:root[data-appearance=light] .settings-field,:root[data-appearance=light] .settings-fact-strip>div,:root[data-appearance=light] .settings-entity-row,:root[data-appearance=light] .grow-default-panel,:root[data-appearance=light] .theme-editor-panel,:root[data-appearance=light] .esp-settings-form,:root[data-appearance=light] .esp-settings-runtime,:root[data-appearance=light] .esp-settings-facts div,:root[data-appearance=light] .esp-node-row,:root[data-appearance=light] .esp-entity-list li,:root[data-appearance=light] .provision-profile-card,:root[data-appearance=light] .driver-chip,:root[data-appearance=light] .network-device-card,:root[data-appearance=light] .plugin-entity-settings-section,:root[data-appearance=light] .plugin-entity-toggle-row,:root[data-appearance=light] .plugin-card,:root[data-appearance=light] .plugin-detail-card,:root[data-appearance=light] .plugin-lovelace-entity-card,:root[data-appearance=light] .plugin-graph-node,:root[data-appearance=light] .plugin-xy-node{background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),transparent 48%),var(--surface-1);color:var(--text-primary)}:root[data-appearance=light] .home-summary-tile,:root[data-appearance=light] .esp-summary-grid .home-summary-tile{border-color:color-mix(in srgb,var(--accent) 18%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 95%,white);box-shadow:none}:root[data-appearance=light] .plugin-overview-stats div{border-color:color-mix(in srgb,var(--accent) 16%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 95%,white);box-shadow:none}:root[data-appearance=light] .plugin-overview-stats div:nth-child(2){border-color:color-mix(in srgb,var(--accent-2) 16%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 7%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 95%,white)}:root[data-appearance=light] .plugin-overview-stats div:nth-child(3){border-color:color-mix(in srgb,var(--accent-3) 16%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-3) 7%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 95%,white)}:root[data-appearance=light] .esp-summary-grid .home-summary-tile:nth-child(2){border-color:color-mix(in srgb,var(--accent-2) 18%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 95%,white)}:root[data-appearance=light] .esp-summary-grid .home-summary-tile:nth-child(3){border-color:color-mix(in srgb,var(--accent-3) 18%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-3) 8%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 95%,white)}:root[data-appearance=light] .esp-entity-list li{border-color:color-mix(in srgb,var(--accent) 14%,#d6c7e1);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 96%,white)}:root[data-appearance=light] .esp-entity-list li:nth-child(2n){border-color:color-mix(in srgb,var(--accent-2) 13%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 6%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 96%,white)}:root[data-appearance=light] .esp-entity-list li:nth-child(3n){border-color:color-mix(in srgb,var(--accent-3) 13%,#d6c7ad)}:root[data-appearance=light] .plugin-dashboard-metrics>div,:root[data-appearance=light] .esp-node-quick-grid>div,:root[data-appearance=light] .esp-node-area-list div,:root[data-appearance=light] .plugin-dashboard-panel{border-color:color-mix(in srgb,var(--plugin-accent) 30%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent) 10%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 94%,white)}:root[data-appearance=light] .plugin-dashboard-metrics>div:nth-child(2),:root[data-appearance=light] .plugin-dashboard-panel:nth-child(2n){border-color:color-mix(in srgb,var(--plugin-accent-2) 28%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent-2) 10%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 94%,white)}:root[data-appearance=light] .plugin-dashboard-metrics>div:nth-child(3),:root[data-appearance=light] .plugin-dashboard-panel:nth-child(3n){border-color:color-mix(in srgb,var(--plugin-accent-3) 28%,#d6c7ad);background:linear-gradient(135deg,color-mix(in srgb,var(--plugin-accent-3) 10%,transparent),transparent 56%),color-mix(in srgb,var(--surface-1) 94%,white)}:root[data-appearance=light] .entity-metric,:root[data-appearance=light] .entity-device-tabs button,:root[data-appearance=light] .entity-device-card-meta div{background:color-mix(in srgb,var(--surface-1) 94%,var(--accent));border-color:color-mix(in srgb,var(--accent) 14%,#cbd5e1)}:root[data-appearance=light] .entity-device-tabs button.active{background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),transparent 52%),color-mix(in srgb,var(--surface-active) 72%,white)}:root[data-appearance=light] .home-entity-tile:hover,:root[data-appearance=light] .esp-landing-row:hover,:root[data-appearance=light] button.log-item:hover{background:linear-gradient(135deg,rgba(var(--accent-rgb),.11),transparent 48%),var(--surface-hover)}:root[data-appearance=light] .plugin-lovelace-primary-value,:root[data-appearance=light] .plugin-lovelace-mini-stats div,:root[data-appearance=light] .plugin-lovelace-device-list>div,:root[data-appearance=light] .plugin-lovelace-log-list div,:root[data-appearance=light] .plugin-lovelace-bars div,:root[data-appearance=light] .esp-dashboard-mini-strip div,:root[data-appearance=light] .pd-stepper-live-strip div,:root[data-appearance=light] .pd-stepper-control-grid label,:root[data-appearance=light] .esp-settings-runtime,:root[data-appearance=light] .esp-settings-facts div,:root[data-appearance=light] .facility-check-list label,:root[data-appearance=light] .facility-edit-list>div,:root[data-appearance=light] .facility-metric-stack,:root[data-appearance=light] .facility-setpoint-card,:root[data-appearance=light] .facility-chip-list span,:root[data-appearance=light] .facility-area-pills button,:root[data-appearance=light] .settings-area-row,:root[data-appearance=light] .theme-color-field,:root[data-appearance=light] .theme-choice,:root[data-appearance=light] .appearance-choice,:root[data-appearance=light] .appearance-switch-button,:root[data-appearance=light] .appearance-mode-buttons button,:root[data-appearance=light] .kv-chip,:root[data-appearance=light] .log-detail,:root[data-appearance=light] .home-user-strip{background:var(--surface-2)}:root[data-appearance=light] .pd-stepper-control{border-color:color-mix(in srgb,var(--accent) 26%,#d6c7ad);background:radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 48%),color-mix(in srgb,var(--surface-1) 96%,white);box-shadow:0 16px 42px color-mix(in srgb,var(--accent) 8%,transparent)}:root[data-appearance=light] .pd-stepper-live-strip div,:root[data-appearance=light] .pd-stepper-control-grid label{border-color:color-mix(in srgb,var(--accent) 14%,#cbd5e1);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),color-mix(in srgb,var(--surface-2) 86%,white)}:root[data-appearance=light] .home-value-gradient,:root[data-appearance=light] .plugin-lovelace-chart-empty,:root[data-appearance=light] .plugin-xy-minimap,:root[data-appearance=light] .plugin-xy-controls{background:color-mix(in srgb,var(--bg-2) 82%,white)}:root[data-appearance=light] input,:root[data-appearance=light] select,:root[data-appearance=light] textarea,:root[data-appearance=light] .search-input,:root[data-appearance=light] .settings-search,:root[data-appearance=light] .network-scan-form input,:root[data-appearance=light] .network-scan-form select,:root[data-appearance=light] .esp-overview-controls input,:root[data-appearance=light] .esp-overview-controls select,:root[data-appearance=light] .esp-settings-form input,:root[data-appearance=light] .esp-settings-form textarea,:root[data-appearance=light] .pd-stepper-control-grid input,:root[data-appearance=light] .pd-stepper-control-grid select,:root[data-appearance=light] .tile-name-field input,.login-shell{--login-orange: #ff6a1a;--login-orange-soft: rgba(255, 106, 26, .14);--login-ink: #f2f0e9;--login-muted: #94958e;--login-line: rgba(242, 240, 233, .12);min-height:100dvh;padding:116px 24px 104px;overflow:auto;isolation:isolate;color:var(--login-ink);background:linear-gradient(rgba(242,240,233,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(242,240,233,.025) 1px,transparent 1px),#111210;background-size:54px 54px}.login-shell:before{content:"";position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 34%,rgba(255,106,26,.13),transparent 29%),radial-gradient(circle at 86% 10%,rgba(255,106,26,.06),transparent 25%),linear-gradient(180deg,transparent 70%,#111210 100%)}.login-tech-background{z-index:-2;opacity:.26;filter:saturate(.7) contrast(1.08)}.login-sitebar{position:fixed;z-index:20;top:18px;left:50%;width:min(960px,calc(100% - 32px));min-height:62px;transform:translate(-50%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:8px 10px 8px 16px;border:1px solid var(--login-line);border-radius:999px;background:#111210e0;box-shadow:0 20px 70px #00000057,0 0 32px #ff6a1a0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-sitebar-brand{display:inline-flex;align-items:center;justify-self:start;gap:10px;color:var(--login-ink);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;text-decoration:none}.login-sitebar-brand img{width:34px;height:34px;border-radius:9px;box-shadow:0 0 24px #ff6a1a2e}.login-sitebar-brand strong{font-family:var(--font-display);font-size:1rem;letter-spacing:-.02em}.login-sitebar-status{display:inline-flex;align-items:center;gap:8px;color:var(--login-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;white-space:nowrap}.login-sitebar-status i{width:7px;height:7px;border-radius:50%;background:var(--login-orange);box-shadow:0 0 14px var(--login-orange);animation:login-status-pulse 2.2s ease-in-out infinite}.login-sitebar .login-github-link{position:static;inset:auto;justify-self:end;width:auto;height:42px;padding:0 17px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--login-line);border-radius:999px;color:var(--login-ink);background:#f2f0e909;box-shadow:none;font-family:var(--font-mono);font-size:.72rem;text-decoration:none}.login-sitebar .login-github-link:hover,.login-sitebar .login-github-link:focus-visible{border-color:#ff6a1a85;color:var(--login-orange);background:var(--login-orange-soft);transform:translateY(-1px)}.login-card{position:relative;width:min(470px,calc(100vw - 32px));padding:clamp(28px,5vw,44px);overflow:hidden;border:1px solid rgba(242,240,233,.14);border-radius:26px;color:var(--login-ink);background:linear-gradient(145deg,rgba(255,106,26,.075),transparent 38%),#181916f0;box-shadow:0 36px 100px #00000085,0 0 70px #ff6a1a12;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-card:before{content:"";position:absolute;top:0;left:16%;width:68%;height:1px;background:linear-gradient(90deg,transparent,var(--login-orange),transparent);box-shadow:0 0 20px #ff6a1a85}.login-card-ready{animation:login-card-enter .64s cubic-bezier(.2,.8,.2,1) both}.login-brand{align-items:center;gap:0;margin-bottom:30px;text-align:center}.login-brand .app-logo{margin-bottom:20px}.login-kicker{color:var(--login-orange);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.18em}.login-brand h1{margin:10px 0 8px;color:var(--login-ink);font-family:var(--font-display);font-size:clamp(2.25rem,7vw,3.45rem);font-weight:700;letter-spacing:-.065em;line-height:.95}.login-brand p{max-width:330px;margin:0 auto;color:var(--login-muted);font-size:.94rem;line-height:1.55}.login-form{gap:16px}.login-form label{gap:8px}.login-form span{color:var(--login-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-form input{min-height:54px;border:1px solid rgba(242,240,233,.12);border-radius:12px;color:var(--login-ink);background:#0a0b09b3;box-shadow:0 1px #ffffff08 inset}.login-form input:hover{border-color:#f2f0e933}.login-form input:focus{border-color:var(--login-orange);box-shadow:0 0 0 4px var(--login-orange-soft),0 0 28px #ff6a1a14}.login-submit{min-height:54px;margin-top:6px;border:1px solid var(--login-orange);border-radius:12px;color:#111210;background:var(--login-orange);box-shadow:0 14px 34px #ff6a1a2e;font-family:var(--font-mono);font-weight:800;letter-spacing:.04em}.login-submit:hover:not(:disabled){background:#ff8243;box-shadow:0 18px 42px #ff6a1a42;transform:translateY(-2px)}.login-status{min-height:20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--login-muted);font-family:var(--font-mono);font-size:.67rem;letter-spacing:.08em}.login-status i{width:6px;height:6px;border-radius:50%;background:var(--login-orange);box-shadow:0 0 10px #ff6a1acc}.login-status.text-danger i{background:var(--danger);box-shadow:0 0 10px color-mix(in srgb,var(--danger) 70%,transparent)}.login-background-controls{top:auto;right:auto;bottom:18px;left:50%;width:min(760px,calc(100% - 32px));transform:translate(-50%);border-color:var(--login-line);border-radius:999px;background:#111210e6;box-shadow:0 18px 60px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@keyframes login-card-enter{0%{opacity:0;transform:translateY(24px) scale(.975);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes login-status-pulse{0%,to{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1.12)}}@media (max-width: 720px){.login-shell{padding:102px 16px 96px}.login-sitebar{top:12px;width:calc(100% - 24px);min-height:56px;grid-template-columns:1fr auto}.login-sitebar-status{display:none}.login-sitebar .login-github-link{height:38px;padding:0 13px}.login-card{width:100%;padding:28px 22px;border-radius:22px}.login-brand h1{font-size:2.55rem}.login-background-controls{bottom:10px;width:calc(100% - 20px);border-radius:18px}}@media (prefers-reduced-motion: reduce){.login-card-ready,.login-sitebar-status i{animation:none}}:root[data-appearance=light] .login-form input,:root[data-appearance=light] .login-create-panel input,:root[data-appearance=light] .login-create-panel select{background:#fff;color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 18%,#cbd5e1);box-shadow:inset 0 0 0 1px transparent}:root[data-appearance=light] input::placeholder,:root[data-appearance=light] textarea::placeholder{color:color-mix(in srgb,var(--text-muted) 66%,transparent)}:root[data-appearance=light] input:focus,:root[data-appearance=light] select:focus,:root[data-appearance=light] textarea:focus,:root[data-appearance=light] .search-input:focus-within{border-color:rgba(var(--accent-rgb),.42);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12);outline:none}:root[data-appearance=light] .settings-tabs,:root[data-appearance=light] .theme-choice-swatch,:root[data-appearance=light] .plugin-graph-toolbar,:root[data-appearance=light] .plugin-topology-map,:root[data-appearance=light] .esp-topology-canvas,:root[data-appearance=light] .flow-canvas-shell{background:color-mix(in srgb,var(--surface-2) 88%,white);color:var(--text-primary)}:root[data-appearance=light] .recharts-cartesian-grid line,:root[data-appearance=light] .react-flow__background{opacity:.45}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.text-danger{color:color-mix(in srgb,var(--alarm) 76%,var(--text-strong))}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070a14a3;display:grid;place-items:center;z-index:120;padding:var(--space-3)}.confirm-dialog{width:min(460px,100%);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#111827f5;box-shadow:var(--shadow-card);padding:var(--space-4);display:grid;gap:var(--space-3)}.confirm-dialog h4{margin:0;color:var(--text-strong)}.confirm-dialog p{margin:0;color:var(--text-muted)}.confirm-countdown{border:1px solid color-mix(in srgb,var(--warning) 32%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning) 10%,var(--surface-1));color:var(--text-strong);font-weight:800;padding:10px 12px}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}:root[data-appearance=light] .confirm-dialog{background:#fffffff5}.page-stack h2{font-size:1.04rem}.page-stack h3{font-size:.9rem}@media (max-width: 900px){.provision-wizard-grid,.esp-node-row,.esp-nodes-layout,.esp-summary-grid,.esp-overview-controls,.esp-pending-card,.esp-settings-layout,.esp-settings-form,.esp-settings-facts,.esp-node-quick-grid,.esp-dashboard-content,.esp-landing-row,.esp-node-meta-grid,.device-overview-grid,.github-plugin-form,.external-plugin-source,.network-scan-form,.network-device-card,.network-scan-summary,.shelly-overview-grid,.shelly-metric-grid,.shelly-chart-grid,.plugin-entity-settings-head,.plugin-entity-toggle-row{grid-template-columns:1fr}.external-plugin-source .btn,.github-plugin-form .btn,.network-scan-form .btn,.network-device-card .btn{justify-self:start}.provision-action-row{align-items:stretch;flex-direction:column}}@media (max-width: 680px){.plugin-overview-stats,.plugin-dashboard-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plugin-dashboard-hero,.esp-node-hero,.plugin-lovelace-grid,.plugin-dashboard-visual,.esp-dashboard-card-head,.ac-live-overview,.plugin-dashboard-main,.plugin-dashboard-lower{grid-template-columns:1fr}.plugin-lovelace-values{grid-row:auto}.plugin-dashboard-metrics{grid-template-columns:1fr}.esp-node-hero-status{justify-items:start}.plugin-category-head{align-items:stretch;flex-direction:column}.plugin-graph-toolbar,.plugin-graph-detail{width:100%}.plugin-graph-toolbar{align-items:flex-start;flex-direction:column}.plugin-card{grid-template-columns:auto minmax(0,1fr)}.plugin-card>.status-chip,.plugin-card-meta,.plugin-install-button{grid-column:1 / -1;justify-self:start;text-align:left}.plugin-card>.status-chip{justify-self:start}.external-plugin-source{align-items:stretch}}.quick-access-card,.esp-pending-card,.area-hero-card,.external-plugin-source,.network-scan-summary div,.shelly-metric-tile,.shelly-chart-card,.plugin-entity-card,.device-category-tabs button,.dashboard-clock-meta div,.dashboard-power-grid div,.dashboard-edit-group,.step-pill,.card,.table-shell,.data-table,.node-card,.node-detail-card,.command-card,.home-summary-tile,.home-entity-tile,.area-card,.entity-detail-card,.entity-device-card,.entity-device-card-meta div,.entity-device-tabs button,.plugin-card,.plugin-detail-card,.plugin-overview-stats div,.plugin-dashboard-hero,.plugin-dashboard-panel,.plugin-dashboard-highlight,.plugin-dashboard-metrics>div,.plugin-lovelace-card,.plugin-lovelace-entity-card,.plugin-lovelace-primary-value,.plugin-lovelace-mini-stats div,.plugin-lovelace-device-list>div,.plugin-lovelace-log-list div,.plugin-lovelace-bars div,.plugin-graph-node,.plugin-xy-node,.plugin-topology-map,.plugin-graph-toolbar,.esp-dashboard-card,.esp-dashboard-group,.esp-landing-row,.esp-node-row,.esp-settings-form,.esp-settings-runtime,.esp-settings-facts div,.esp-entity-list li,.esp-topology-node,.esp-topology-group-card,.esp-topology-entity,.esp-topology-canvas,.pd-stepper-control,.pd-stepper-live-strip div,.pd-stepper-control-grid label,.flow-palette,.flow-property-panel,.flow-property-section,.flow-canvas-shell,.flow-rf-node,.flow-rf-node-input,.flow-minimap,.function-library-panel,.function-editor-panel,.function-block-card,.function-block-compact,.function-block-detail-panel,.function-setup-node,.function-io-editor>div,.function-io-row,.function-io-advanced,.function-empty-state,.function-canvas,.setpoint-row,.setpoint-editor-panel,.nutrient-card,.nutrient-overview-strip>div,.nutrient-facility-target,.nutrient-preset-row,.nutrient-schema-product-card,.nutrient-dose-template-card,.nutrient-detail-head>div,.nutrient-row-values>span,.nutrient-delta-grid>div,.nutrient-delta-panel,.nutrient-dose-panel,.nutrient-dose-result,.nutrient-manufacturer-panel,.nutrient-calibration-panel,.nutrient-calibration-steps>div,.nutrient-log-row,.nutrient-product-row,.nutrient-note,.nutrient-field,.settings-tabs,.settings-field,.settings-readonly,.settings-fact-strip>div,.settings-entity-row,.settings-area-row,.settings-range-row,.grow-default-panel,.theme-editor-panel,.theme-choice,.appearance-choice,.appearance-switch-button,.appearance-mode-buttons button,.theme-color-field,.facility-glass-panel,.facility-console-sidebar,.facility-console-main,.facility-picker-column,.facility-edit-list,.facility-edit-list>div,.facility-metric-stack,.facility-setpoint-card,.facility-chip-list span,.facility-area-pills button,.maintenance-update-panel,.maintenance-release-log,.maintenance-release-entry,.log-item,.block-code-panel,.block-ascii-panel,.block-code-shell,.block-code-toolbar,.block-code-footer,.runtime-note,.runtime-capability-card,.provision-panel,.provision-profile-card,.driver-chip,.provision-action-row,.provision-session,.network-device-card,.kv-chip,.log-detail,.home-user-strip{border-color:var(--border-soft);color:var(--text-primary)}:root[data-appearance=light] .quick-access-card,:root[data-appearance=light] .esp-pending-card,:root[data-appearance=light] .area-hero-card,:root[data-appearance=light] .external-plugin-source,:root[data-appearance=light] .network-scan-summary div,:root[data-appearance=light] .shelly-metric-tile,:root[data-appearance=light] .shelly-chart-card,:root[data-appearance=light] .plugin-entity-card,:root[data-appearance=light] .plugin-entity-settings-section,:root[data-appearance=light] .plugin-entity-toggle-row,:root[data-appearance=light] .device-category-tabs button,:root[data-appearance=light] .dashboard-clock-meta div,:root[data-appearance=light] .dashboard-power-grid div,:root[data-appearance=light] .dashboard-edit-group,:root[data-appearance=light] .step-pill,:root[data-appearance=light] .card,:root[data-appearance=light] .table-shell,:root[data-appearance=light] .node-card,:root[data-appearance=light] .node-detail-card,:root[data-appearance=light] .command-card,:root[data-appearance=light] .home-summary-tile,:root[data-appearance=light] .home-entity-tile,:root[data-appearance=light] .area-card,:root[data-appearance=light] .entity-detail-card,:root[data-appearance=light] .entity-device-card,:root[data-appearance=light] .entity-device-card-meta div,:root[data-appearance=light] .entity-device-tabs button,:root[data-appearance=light] .plugin-card,:root[data-appearance=light] .plugin-detail-card,:root[data-appearance=light] .plugin-overview-stats div,:root[data-appearance=light] .plugin-dashboard-hero,:root[data-appearance=light] .plugin-dashboard-panel,:root[data-appearance=light] .plugin-dashboard-highlight,:root[data-appearance=light] .plugin-dashboard-metrics>div,:root[data-appearance=light] .plugin-lovelace-card,:root[data-appearance=light] .plugin-lovelace-entity-card,:root[data-appearance=light] .plugin-lovelace-primary-value,:root[data-appearance=light] .plugin-lovelace-mini-stats div,:root[data-appearance=light] .plugin-lovelace-device-list>div,:root[data-appearance=light] .plugin-lovelace-log-list div,:root[data-appearance=light] .plugin-lovelace-bars div,:root[data-appearance=light] .plugin-graph-node,:root[data-appearance=light] .plugin-xy-node,:root[data-appearance=light] .esp-dashboard-card,:root[data-appearance=light] .esp-dashboard-group,:root[data-appearance=light] .esp-landing-row,:root[data-appearance=light] .esp-node-row,:root[data-appearance=light] .esp-settings-form,:root[data-appearance=light] .esp-settings-runtime,:root[data-appearance=light] .esp-settings-facts div,:root[data-appearance=light] .esp-entity-list li,:root[data-appearance=light] .esp-topology-node,:root[data-appearance=light] .esp-topology-group-card,:root[data-appearance=light] .esp-topology-entity,:root[data-appearance=light] .pd-stepper-control,:root[data-appearance=light] .pd-stepper-live-strip div,:root[data-appearance=light] .pd-stepper-control-grid label,:root[data-appearance=light] .flow-palette,:root[data-appearance=light] .flow-property-panel,:root[data-appearance=light] .flow-property-section,:root[data-appearance=light] .flow-rf-node,:root[data-appearance=light] .flow-rf-node-input,:root[data-appearance=light] .function-library-panel,:root[data-appearance=light] .function-editor-panel,:root[data-appearance=light] .function-block-card,:root[data-appearance=light] .function-block-compact,:root[data-appearance=light] .function-block-detail-panel,:root[data-appearance=light] .function-setup-node,:root[data-appearance=light] .function-io-editor>div,:root[data-appearance=light] .function-io-row,:root[data-appearance=light] .function-io-advanced,:root[data-appearance=light] .function-empty-state,:root[data-appearance=light] .setpoint-row,:root[data-appearance=light] .setpoint-editor-panel,:root[data-appearance=light] .nutrient-card,:root[data-appearance=light] .nutrient-overview-strip>div,:root[data-appearance=light] .nutrient-facility-target,:root[data-appearance=light] .nutrient-preset-row,:root[data-appearance=light] .nutrient-schema-product-card,:root[data-appearance=light] .nutrient-dose-template-card,:root[data-appearance=light] .nutrient-detail-head>div,:root[data-appearance=light] .nutrient-row-values>span,:root[data-appearance=light] .nutrient-delta-grid>div,:root[data-appearance=light] .nutrient-delta-panel,:root[data-appearance=light] .nutrient-dose-panel,:root[data-appearance=light] .nutrient-dose-result,:root[data-appearance=light] .nutrient-manufacturer-panel,:root[data-appearance=light] .nutrient-calibration-panel,:root[data-appearance=light] .nutrient-calibration-steps>div,:root[data-appearance=light] .nutrient-log-row,:root[data-appearance=light] .nutrient-product-row,:root[data-appearance=light] .nutrient-note,:root[data-appearance=light] .nutrient-field,:root[data-appearance=light] .settings-field,:root[data-appearance=light] .settings-readonly,:root[data-appearance=light] .settings-fact-strip>div,:root[data-appearance=light] .settings-entity-row,:root[data-appearance=light] .settings-area-row,:root[data-appearance=light] .settings-range-row,:root[data-appearance=light] .grow-default-panel,:root[data-appearance=light] .theme-editor-panel,:root[data-appearance=light] .theme-choice,:root[data-appearance=light] .appearance-choice,:root[data-appearance=light] .appearance-switch-button,:root[data-appearance=light] .appearance-mode-buttons button,:root[data-appearance=light] .theme-color-field,:root[data-appearance=light] .facility-glass-panel,:root[data-appearance=light] .facility-console-sidebar,:root[data-appearance=light] .facility-console-main,:root[data-appearance=light] .facility-picker-column,:root[data-appearance=light] .facility-edit-list,:root[data-appearance=light] .facility-edit-list>div,:root[data-appearance=light] .facility-metric-stack,:root[data-appearance=light] .facility-setpoint-card,:root[data-appearance=light] .facility-chip-list span,:root[data-appearance=light] .facility-area-pills button,:root[data-appearance=light] .maintenance-update-panel,:root[data-appearance=light] .maintenance-release-log,:root[data-appearance=light] .maintenance-release-entry,:root[data-appearance=light] .log-item,:root[data-appearance=light] .block-code-panel,:root[data-appearance=light] .block-ascii-panel,:root[data-appearance=light] .block-code-shell,:root[data-appearance=light] .block-code-toolbar,:root[data-appearance=light] .block-code-footer,:root[data-appearance=light] .runtime-note,:root[data-appearance=light] .runtime-capability-card,:root[data-appearance=light] .provision-panel,:root[data-appearance=light] .provision-profile-card,:root[data-appearance=light] .driver-chip,:root[data-appearance=light] .provision-action-row,:root[data-appearance=light] .provision-session,:root[data-appearance=light] .network-device-card,:root[data-appearance=light] .kv-chip,:root[data-appearance=light] .log-detail,:root[data-appearance=light] .home-user-strip{border-color:color-mix(in srgb,var(--accent) 17%,#cbd5e1);background:linear-gradient(135deg,rgba(var(--accent-rgb),.055),transparent 52%),color-mix(in srgb,var(--surface-1) 96%,white);box-shadow:none;color:var(--text-primary)}:root[data-appearance=light] .home-summary-tile:nth-child(2),:root[data-appearance=light] .plugin-overview-stats div:nth-child(2),:root[data-appearance=light] .plugin-dashboard-metrics>div:nth-child(2),:root[data-appearance=light] .esp-summary-grid .home-summary-tile:nth-child(2),:root[data-appearance=light] .nutrient-overview-strip>div:nth-child(2){border-color:color-mix(in srgb,var(--accent-2) 18%,#cbd5e1);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 52%),color-mix(in srgb,var(--surface-1) 96%,white)}:root[data-appearance=light] .home-summary-tile:nth-child(3),:root[data-appearance=light] .plugin-overview-stats div:nth-child(3),:root[data-appearance=light] .plugin-dashboard-metrics>div:nth-child(3),:root[data-appearance=light] .esp-summary-grid .home-summary-tile:nth-child(3),:root[data-appearance=light] .nutrient-overview-strip>div:nth-child(3){border-color:color-mix(in srgb,var(--accent-3) 18%,#cbd5e1);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-3) 8%,transparent),transparent 52%),color-mix(in srgb,var(--surface-1) 96%,white)}:root[data-appearance=light] .facility-nutrient-metric,:root[data-appearance=light] .facility-nutrient-product-list,:root[data-appearance=light] .facility-nutrient-product,:root[data-appearance=light] .facility-nutrient-empty{border-color:color-mix(in srgb,var(--accent) 17%,#cbd5e1);background:linear-gradient(135deg,rgba(var(--accent-rgb),.055),transparent 52%),color-mix(in srgb,var(--surface-1) 96%,white);box-shadow:none;color:var(--text-primary)}:root[data-appearance=light] .facility-nutrient-metric:nth-child(2){border-color:color-mix(in srgb,var(--accent-2) 18%,#cbd5e1);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 52%),color-mix(in srgb,var(--surface-1) 96%,white)}:root[data-appearance=light] .facility-nutrient-metric:nth-child(3),:root[data-appearance=light] .facility-nutrient-metric:nth-child(4){border-color:color-mix(in srgb,var(--accent-3) 18%,#cbd5e1);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-3) 8%,transparent),transparent 52%),color-mix(in srgb,var(--surface-1) 96%,white)}:root[data-appearance=light] .data-table th{background:color-mix(in srgb,var(--surface-2) 94%,white);color:var(--text-muted)}:root[data-appearance=light] .data-table td{background:color-mix(in srgb,var(--surface-1) 98%,white);border-bottom-color:color-mix(in srgb,var(--accent) 10%,#d7dee9);color:var(--text-primary)}:root[data-appearance=light] .data-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 8%,white)}:root[data-appearance=light] input,:root[data-appearance=light] select,:root[data-appearance=light] textarea,:root[data-appearance=light] .search-input,:root[data-appearance=light] .settings-search,:root[data-appearance=light] .unit-input-wrap,:root[data-appearance=light] .flow-palette-search,:root[data-appearance=light] .flow-palette-select-row,:root[data-appearance=light] .pd-stepper-control-grid input,:root[data-appearance=light] .pd-stepper-control-grid select,:root[data-appearance=light] .function-io-row input,:root[data-appearance=light] .function-io-row select,:root[data-appearance=light] .function-io-advanced input,:root[data-appearance=light] .nutrient-field input,:root[data-appearance=light] .nutrient-calibration-steps input,:root[data-appearance=light] .settings-range-row input{background:color-mix(in srgb,#ffffff 96%,var(--accent));border-color:color-mix(in srgb,var(--accent) 18%,#cbd5e1);color:var(--text-strong)}.nutrient-schema-editor,.nutrient-dose-template-grid{display:grid;gap:var(--space-2)}.nutrient-schema-editor{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.nutrient-schema-product-card,.nutrient-dose-template-card{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 72%,transparent);padding:10px;display:grid;gap:9px}.nutrient-schema-product-head{display:flex;align-items:center;gap:9px;min-width:0}.nutrient-schema-product-head>div,.nutrient-dose-template-card>div:first-child{display:grid;gap:2px;min-width:0}.nutrient-schema-product-head strong,.nutrient-dose-template-card span{color:var(--text-strong);font-weight:800}.nutrient-schema-product-head small,.nutrient-dose-template-card small{color:var(--text-muted);line-height:1.35}.full-width{width:100%}.nutrient-editor-shell{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:var(--space-3);align-items:stretch;min-height:min(68vh,780px)}.nutrient-editor-sidebar,.nutrient-editor-detail{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 72%),color-mix(in srgb,var(--surface-2) 84%,transparent);padding:var(--space-3)}.nutrient-editor-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2);min-height:100%}.nutrient-editor-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.nutrient-editor-sidebar-head>div{display:grid;gap:2px}.nutrient-editor-sidebar-head strong{color:var(--text-muted);font-size:.72rem;font-weight:780;text-transform:uppercase}.nutrient-editor-sidebar-head small{color:var(--text-muted)}.nutrient-editor-sidebar-head button{border:1px solid rgba(var(--accent-rgb),.28);border-radius:999px;background:rgba(var(--accent-rgb),.12);color:var(--text-strong);cursor:pointer;width:28px;height:28px;font-weight:850;line-height:1}.nutrient-editor-list{display:grid;align-content:start;gap:var(--space-2);min-height:0;max-height:none;overflow:auto;padding-right:2px}.nutrient-editor-product{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:100%;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 72%,transparent);color:var(--text-primary);padding:10px;text-align:left}.nutrient-editor-product.active{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:linear-gradient(135deg,rgba(var(--accent-rgb),.16),transparent 72%),color-mix(in srgb,var(--surface-1) 84%,transparent)}.nutrient-editor-product strong,.nutrient-editor-product small{display:block;min-width:0}.nutrient-editor-product strong{color:var(--text-strong);font-weight:850}.nutrient-editor-product small{color:var(--text-muted);margin-top:2px;line-height:1.35}.nutrient-editor-detail{display:grid;align-content:start;gap:var(--space-3);min-height:100%}.nutrient-phase-editor{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 70%,transparent);padding:var(--space-3);display:grid;gap:var(--space-2)}.nutrient-editor-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--border-soft);padding-top:var(--space-2)}.facility-nutrient-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-2)}.facility-nutrient-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),transparent 72%),color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text-primary);padding:10px;text-align:left}.facility-nutrient-choice.active{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--success) 16%,transparent),transparent 70%),color-mix(in srgb,var(--surface-2) 88%,transparent)}.facility-nutrient-choice strong,.facility-nutrient-choice small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-nutrient-choice strong{color:var(--text-strong);font-weight:850}.facility-nutrient-choice small{color:var(--text-muted);margin-top:2px;line-height:1.35}.facility-nutrient-assignment{display:grid;gap:8px;border:1px solid transparent;border-radius:var(--radius-sm)}.facility-nutrient-assignment.active{border-color:color-mix(in srgb,var(--success) 20%,transparent)}.facility-pump-select{display:grid;gap:6px;padding:9px 10px 10px;border:1px solid var(--border-soft);border-radius:var(--radius-xs);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-1) 90%,transparent),color-mix(in srgb,var(--surface-2) 76%,transparent))}.facility-pump-select span{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.facility-pump-select select{width:100%;min-height:38px;font-weight:750}.facility-pump-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-2)}.facility-pump-assignment-card{display:grid;gap:10px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:radial-gradient(circle at top left,rgba(var(--accent-rgb),.14),transparent 38%),linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 92%,transparent),color-mix(in srgb,var(--surface-1) 88%,transparent));box-shadow:var(--shadow-soft);padding:12px}.facility-pump-product{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.facility-pump-assignment-card strong,.facility-pump-assignment-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-pump-assignment-card strong{color:var(--text-strong);font-weight:850}.facility-pump-assignment-card small{color:var(--text-muted)}.facility-pump-derived{border-radius:var(--radius-xs);background:color-mix(in srgb,var(--surface-1) 68%,transparent);border:1px solid color-mix(in srgb,var(--border-soft) 78%,transparent);font-size:var(--font-size-xs);padding:7px 9px;white-space:normal}.facility-sensor-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-2)}.facility-sensor-search{margin-bottom:var(--space-2)}.facility-sensor-group{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.06),transparent 70%),color-mix(in srgb,var(--surface-1) 72%,transparent);padding:var(--space-2);display:grid;gap:8px}.facility-sensor-group-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.facility-sensor-group-head strong,.facility-sensor-group-head small{display:block}.facility-sensor-group-head strong{color:var(--text-strong);font-weight:850}.facility-sensor-group-head small{color:var(--text-muted);margin-top:2px}.facility-sensor-current{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--success) 42%,var(--border-soft));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--success) 9%,var(--surface-1));padding:8px 10px}.facility-sensor-current strong,.facility-sensor-current small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-sensor-current strong{color:var(--text-strong);font-weight:850}.facility-sensor-current small{color:var(--text-muted);margin-top:2px}.facility-sensor-current button{border:1px solid color-mix(in srgb,var(--danger) 28%,var(--border-soft));border-radius:999px;background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger);font-size:11px;font-weight:850;padding:5px 9px}.facility-sensor-options{display:grid;gap:7px}.facility-sensor-choice{grid-template-columns:auto minmax(0,1fr) auto;padding:8px}.facility-sensor-empty{border:1px dashed var(--border-soft);border-radius:var(--radius-sm);color:var(--text-muted);padding:10px}.facility-sensor-empty strong,.facility-sensor-empty small{display:block}.nutrient-dose-template-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}@media (max-width: 960px){.nutrient-editor-shell{grid-template-columns:1fr;min-height:auto}}:root[data-appearance=light] .nutrient-delta-panel,:root[data-appearance=light] .nutrient-dose-panel,:root[data-appearance=light] .nutrient-manufacturer-panel,:root[data-appearance=light] .nutrient-calibration-panel,:root[data-appearance=light] .nutrient-dose-result,:root[data-appearance=light] .nutrient-formula{background:linear-gradient(135deg,rgba(var(--accent-rgb),.045),transparent 60%),color-mix(in srgb,var(--surface-1) 97%,white);border-color:color-mix(in srgb,var(--accent) 16%,#cbd5e1);color:var(--text-primary)}:root[data-appearance=light] .nutrient-formula{background:color-mix(in srgb,var(--surface-2) 72%,white);color:var(--text-muted)}:root[data-appearance=light] .plugin-topology-map,:root[data-appearance=light] .esp-topology-canvas,:root[data-appearance=light] .flow-canvas-shell,:root[data-appearance=light] .function-canvas,:root[data-appearance=light] .function-setup-flow,:root[data-appearance=light] .block-code-editor,:root[data-appearance=light] .flow-minimap{background:radial-gradient(circle at 18% 18%,rgba(var(--accent-rgb),.08),transparent 32%),linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px),color-mix(in srgb,var(--surface-1) 96%,white);background-size:auto,32px 32px,32px 32px,auto;color:var(--text-primary)}:root[data-appearance=light] .react-flow__edge-path,:root[data-appearance=light] .plugin-topology-map .react-flow__edge-path,:root[data-appearance=light] .esp-topology-canvas .react-flow__edge-path{stroke:color-mix(in srgb,var(--accent) 68%,var(--accent-2))}:root[data-appearance=light] .react-flow__controls,:root[data-appearance=light] .plugin-xy-controls,:root[data-appearance=light] .plugin-xy-minimap,:root[data-appearance=light] .react-flow__minimap{background:color-mix(in srgb,var(--surface-1) 94%,white);border-color:color-mix(in srgb,var(--accent) 16%,#cbd5e1);color:var(--text-primary)}.flow-rf-node-port-list .flow-port-row{min-height:24px}.flow-rf-node-port-list-input .flow-port-row{padding-left:18px}.flow-rf-node-port-list-output .flow-port-row{padding-right:18px}.flow-port-row .flow-handle,.flow-handle,.plugin-xy-handle{opacity:1;z-index:12}.flow-port-row-input .flow-handle{left:-18px}.flow-port-row-output .flow-handle{right:-18px}.flow-handle{width:13px;height:13px;border:2px solid color-mix(in srgb,var(--surface-1) 72%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 4px 12px color-mix(in srgb,var(--bg-0) 30%,transparent)}.camera-preview-panel{display:grid;gap:var(--space-3)}.camera-preview-frame{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:radial-gradient(circle at 20% 20%,rgba(var(--accent-rgb),.12),transparent 34%),var(--surface-2);display:grid;min-height:320px;overflow:hidden;place-items:center}.camera-preview-frame img{display:block;max-height:520px;max-width:100%;object-fit:contain;width:100%}.camera-preview-empty{align-items:center;color:var(--text-muted);display:grid;gap:8px;max-width:520px;padding:var(--space-4);text-align:center}.camera-preview-empty strong{color:var(--text-strong);font-size:1rem}.camera-diagnostic{align-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-2);display:grid;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);padding:10px 12px}.camera-diagnostic.ok{border-color:color-mix(in srgb,var(--success) 46%,var(--border));background:color-mix(in srgb,var(--success) 10%,var(--surface-2))}.camera-diagnostic.warning{border-color:color-mix(in srgb,var(--warning) 48%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface-2))}.camera-diagnostic>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-soft);border-radius:10px;color:var(--text-normal);background:color-mix(in srgb,var(--surface-1) 72%,transparent)}.camera-diagnostic div{display:grid;gap:2px;min-width:0}.camera-diagnostic strong,.camera-diagnostic small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-diagnostic strong{color:var(--text-strong)}.camera-diagnostic small{color:var(--text-muted)}.alarms-page{--alarm-card-radius: 18px}.alarm-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.alarm-summary-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:76px;padding:16px;border:1px solid var(--border-soft);border-radius:var(--alarm-card-radius);color:var(--text-normal);background:linear-gradient(135deg,color-mix(in srgb,var(--card-2) 92%,transparent),color-mix(in srgb,var(--card-1) 96%,transparent)),var(--card-1);box-shadow:var(--shadow-soft);text-align:left}.alarm-summary-card:hover,.alarm-summary-card.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--border-strong));transform:translateY(-1px)}.alarm-summary-card.critical{border-color:color-mix(in srgb,var(--alarm) 32%,var(--border-soft))}.alarm-summary-card.warning{border-color:color-mix(in srgb,var(--warning) 36%,var(--border-soft))}.alarm-summary-card.info{border-color:color-mix(in srgb,var(--accent-2) 36%,var(--border-soft))}.alarm-summary-card span{color:var(--text-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.alarm-summary-card strong{color:var(--text-strong);font-size:1.8rem;line-height:1}.alarm-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.alarm-filter-bar button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid var(--border-soft);border-radius:999px;color:var(--text-normal);background:color-mix(in srgb,var(--card-2) 82%,transparent);font-weight:800}.alarm-filter-bar button.active,.alarm-filter-bar button:hover{border-color:color-mix(in srgb,var(--accent) 54%,var(--border-strong));color:var(--text-strong);background:color-mix(in srgb,var(--accent) 12%,var(--card-1))}.alarm-facility-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.alarm-facility-strip button{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border:1px solid var(--border-soft);border-radius:14px;color:var(--text-normal);background:linear-gradient(135deg,color-mix(in srgb,var(--card-2) 86%,transparent),color-mix(in srgb,var(--card-1) 92%,transparent));font-weight:850}.alarm-facility-strip button strong{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;color:var(--text-strong);background:color-mix(in srgb,var(--card-2) 82%,transparent)}.alarm-facility-strip button.active,.alarm-facility-strip button:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border-strong));color:var(--text-strong);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),color-mix(in srgb,var(--card-1) 94%,transparent))}.alarm-facility-strip button.warning{border-color:color-mix(in srgb,var(--warning) 38%,var(--border-soft))}.alarm-facility-strip button.critical{border-color:color-mix(in srgb,var(--alarm) 42%,var(--border-soft))}.alarm-facility-stack{display:grid;gap:14px;margin-bottom:16px}.alarm-facility-section{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-soft));border-radius:var(--alarm-card-radius);background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--accent) 9%,transparent),transparent 36%),color-mix(in srgb,var(--card-2) 64%,transparent);overflow:hidden}.alarm-facility-section>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border-soft)}.alarm-facility-section>header span{display:inline-flex;align-items:center;gap:8px;color:var(--text-strong);font-weight:900}.alarm-facility-section>header p{margin:4px 0 0;color:var(--text-muted);font-size:.86rem}.alarm-category-stack{display:grid;gap:16px}.alarm-category-section{border:1px solid var(--border-soft);border-radius:var(--alarm-card-radius);background:color-mix(in srgb,var(--card-2) 70%,transparent);overflow:hidden}.alarm-category-section>header{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-1) 72%,transparent)}.alarm-category-section>header span{display:inline-flex;align-items:center;gap:8px;color:var(--text-strong);font-weight:900}.alarm-category-section>header p{margin:4px 0 0;color:var(--text-muted);font-size:.86rem}.alarm-list{display:grid;gap:10px;padding:12px}.alarm-list.compact{padding:0}.alarm-list-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border:1px solid var(--border-soft);border-left:4px solid var(--accent);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),color-mix(in srgb,var(--card-1) 86%,transparent)}.alarm-list-item.severity-critical{border-left-color:var(--alarm);background:linear-gradient(135deg,color-mix(in srgb,var(--alarm) 9%,transparent),transparent 62%),color-mix(in srgb,var(--card-1) 88%,transparent)}.alarm-list-item.severity-warning{border-left-color:var(--warning);background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 10%,transparent),transparent 62%),color-mix(in srgb,var(--card-1) 88%,transparent)}.alarm-list-item.resolved{opacity:.72}.alarm-list-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border-soft);border-radius:12px;color:var(--text-normal);background:color-mix(in srgb,var(--card-2) 86%,transparent)}.alarm-list-body{min-width:0}.alarm-list-head{display:flex;justify-content:space-between;gap:14px}.alarm-list-head strong{display:block;color:var(--text-strong);font-size:1rem}.alarm-list-head span{display:block;color:var(--text-muted);margin-top:3px}.alarm-list-meta,.alarm-list-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.alarm-list-meta span{color:var(--text-muted);font-size:.78rem;font-weight:800}@media (max-width: 980px){.alarm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm-list-head{flex-direction:column}}@media (max-width: 640px){.alarm-summary-grid{grid-template-columns:1fr}}.setup-wizard-page{display:grid;gap:18px;min-height:100vh;padding:clamp(18px,3vw,34px);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 14%,transparent),transparent 36%),linear-gradient(135deg,var(--bg) 0%,var(--bg-soft) 100%);color:var(--text-primary)}.setup-wizard-hero,.setup-wizard-card,.setup-wizard-steps{border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 50%),var(--card-1);box-shadow:var(--shadow-soft)}.setup-wizard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px}.setup-wizard-hero h1{margin:8px 0 6px;font-size:clamp(1.8rem,3vw,3rem);color:var(--text-strong)}.setup-wizard-hero p,.setup-wizard-card p{color:var(--text-muted);max-width:780px}.setup-wizard-shell{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:18px;align-items:start}.setup-wizard-steps{display:grid;gap:10px;padding:14px;position:sticky;top:86px}.setup-wizard-steps button{display:flex;align-items:center;gap:12px;border:1px solid var(--border-soft);border-radius:16px;background:var(--card-2);color:var(--text-muted);padding:12px;text-align:left}.setup-wizard-steps button span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-3);color:var(--text-strong);font-weight:900}.setup-wizard-steps button.active{border-color:var(--accent);color:var(--text-strong);background:color-mix(in srgb,var(--accent) 14%,var(--card-2))}.setup-wizard-steps button.done span{background:color-mix(in srgb,var(--ok) 20%,var(--surface-3));color:var(--ok)}.setup-wizard-card{min-height:560px;padding:24px}.setup-wizard-card h2{margin:0 0 8px;color:var(--text-strong);font-size:1.65rem}.setup-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:16px}.setup-choice-grid button,.setup-choice-row button{border:1px solid var(--border-soft);border-radius:16px;background:var(--card-2);color:var(--text-primary);padding:14px;text-align:left}.setup-choice-grid button strong,.setup-choice-grid button small{display:block}.setup-choice-grid button small{color:var(--text-muted);margin-top:5px}.setup-choice-grid button.active,.setup-choice-row button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--card-2));color:var(--text-strong)}.setup-choice-row,.setup-wizard-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.setup-wizard-actions{justify-content:flex-end;align-items:center;border-top:1px solid var(--border-soft);padding-top:18px}.setup-assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.setup-assignment-grid>div,.setup-summary-grid>div{border:1px solid var(--border-soft);border-radius:18px;background:color-mix(in srgb,var(--card-2) 88%,transparent);padding:14px}.setup-assignment-grid>div{max-height:420px;overflow:auto}.setup-check-row{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border-soft);border-radius:12px;padding:10px;margin-top:8px;background:var(--surface-2);color:var(--text-primary)}.setup-check-row span,.setup-check-row small{display:block}.setup-check-row small{color:var(--text-muted);font-size:.76rem}.setup-sensor-grid,.setup-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.setup-summary-grid span{display:block;color:var(--text-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.setup-summary-grid strong{display:block;margin-top:5px;color:var(--text-strong);font-size:1.25rem}@media (max-width: 980px){.setup-wizard-shell,.setup-assignment-grid{grid-template-columns:1fr}.setup-wizard-steps{position:static}}html.dixy-website-html,body.dixy-website-body{margin:0;width:100%;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important;scroll-behavior:smooth;background:#111210}.dixy-site-root,.dixy-site-root *{box-sizing:border-box}.dixy-site-root{--dixy-bg: #111210;--dixy-bg-soft: #171816;--dixy-panel: #1c1d1a;--dixy-panel-light: #22231f;--dixy-ink: #f2f0e9;--dixy-muted: #94958e;--dixy-subtle: #686a64;--dixy-line: rgba(242, 240, 233, .12);--dixy-line-strong: rgba(242, 240, 233, .22);--dixy-orange: #ff6a1a;--dixy-orange-light: #ff8a48;--dixy-orange-soft: rgba(255, 106, 26, .13);position:relative;min-height:100vh;overflow:hidden;color:var(--dixy-ink);background:radial-gradient(circle at 88% 8%,rgba(255,106,26,.1),transparent 27rem),linear-gradient(180deg,#111210,#141512 46%,#10110f);font-family:Space Grotesk,sans-serif;isolation:isolate}.dixy-site-grid{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;opacity:.28;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(to bottom,black 0,transparent 44%);mask-image:linear-gradient(to bottom,black 0,transparent 44%)}.dixy-site-root a{color:inherit}.dixy-topbar{position:sticky;z-index:50;top:0;display:flex;align-items:center;width:min(1240px,calc(100% - 40px));min-height:72px;margin:0 auto;border-bottom:1px solid var(--dixy-line);background:#111210d6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dixy-brand{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;text-decoration:none;letter-spacing:-.03em}.dixy-brand>span:not(.dixy-brand-mark){font-size:18px;font-weight:700}.dixy-brand small{margin-left:-5px;color:var(--dixy-orange);font:600 9px/1 IBM Plex Mono,monospace;letter-spacing:.14em}.dixy-brand-mark{position:relative;display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center}.dixy-brand-mark:before{position:absolute;width:21px;height:21px;border:1px solid var(--dixy-orange);border-radius:4px;content:"";transform:rotate(45deg)}.dixy-brand-mark span{position:relative;display:block;width:2px;height:12px;margin:0 1px;background:var(--dixy-orange)}.dixy-brand-mark span:nth-child(2){height:17px}.dixy-brand-mark span:nth-child(3){height:7px}.dixy-topbar-nav{display:flex;align-items:center;gap:clamp(20px,3vw,38px);margin:0 auto;padding:0 28px}.dixy-topbar-nav a{position:relative;color:#b9bab4;font-size:13px;font-weight:500;text-decoration:none;transition:color .18s ease}.dixy-topbar-nav a:after{position:absolute;right:0;bottom:-8px;left:0;height:1px;background:var(--dixy-orange);content:"";transform:scaleX(0);transition:transform .18s ease}.dixy-topbar-nav a:hover{color:var(--dixy-ink)}.dixy-topbar-nav a:hover:after{transform:scaleX(1)}.dixy-demo-link{display:inline-flex;min-height:38px;padding:0 15px;align-items:center;gap:8px;border:1px solid var(--dixy-line-strong);border-radius:5px;color:var(--dixy-ink);font-size:12px;font-weight:600;text-decoration:none;transition:border-color .18s ease,background .18s ease}.dixy-demo-link:hover{border-color:var(--dixy-orange);background:var(--dixy-orange-soft)}.dixy-live-dot{width:6px;height:6px;border-radius:50%;background:var(--dixy-orange);box-shadow:0 0 0 4px var(--dixy-orange-soft)}.dixy-site-root main{display:block}.dixy-hero{display:grid;width:min(1240px,calc(100% - 40px));min-height:680px;margin:0 auto;padding:108px 0 92px;align-items:center;gap:clamp(56px,8vw,112px);grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)}.dixy-release-pill{display:inline-flex;width:fit-content;margin-bottom:36px;padding:5px 10px 5px 6px;align-items:center;gap:9px;border:1px solid var(--dixy-line);border-radius:999px;color:#b6b7b1;font:500 11px/1.4 IBM Plex Mono,monospace;text-decoration:none;transition:border-color .18s ease}.dixy-release-pill:hover{border-color:#ff6a1a80}.dixy-release-pill>span{padding:3px 7px;border-radius:999px;background:var(--dixy-orange);color:#17130f;font-size:9px;font-weight:600}.dixy-eyebrow,.dixy-section-label{margin:0;color:var(--dixy-orange);font:600 11px/1.5 IBM Plex Mono,monospace;letter-spacing:.15em}.dixy-hero h1{max-width:720px;margin:18px 0 28px;color:var(--dixy-ink);font-size:clamp(54px,6.2vw,88px);font-weight:500;letter-spacing:-.065em;line-height:.96}.dixy-hero h1 em{display:block;color:var(--dixy-orange);font-style:normal}.dixy-hero-lead{max-width:620px;margin:0;color:#a9aaa4;font-size:clamp(16px,1.4vw,19px);line-height:1.7}.dixy-hero-actions,.dixy-final-cta>div:last-child{display:flex;margin-top:36px;align-items:center;gap:12px;flex-wrap:wrap}.dixy-primary-button,.dixy-secondary-button{display:inline-flex;min-height:48px;padding:0 21px;align-items:center;justify-content:center;gap:10px;border-radius:4px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}.dixy-primary-button{border:1px solid var(--dixy-orange);background:var(--dixy-orange);color:#18130f!important}.dixy-primary-button:hover,.dixy-secondary-button:hover{transform:translateY(-2px)}.dixy-primary-button:hover{background:var(--dixy-orange-light)}.dixy-secondary-button{border:1px solid var(--dixy-line-strong);color:var(--dixy-ink)}.dixy-secondary-button:hover{border-color:#74756f;background:#ffffff09}.dixy-assurances{display:flex;margin-top:24px;gap:18px;flex-wrap:wrap}.dixy-assurances span{display:inline-flex;align-items:center;gap:6px;color:var(--dixy-subtle);font:500 10px/1.4 IBM Plex Mono,monospace}.dixy-assurances svg{color:var(--dixy-orange)}.dixy-system-visual{position:relative;min-height:468px;overflow:hidden;border:1px solid var(--dixy-line-strong);border-radius:7px;background:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),#171815;background-size:30px 30px;box-shadow:0 36px 90px #00000052}.dixy-system-visual:before{position:absolute;width:250px;height:250px;border-radius:50%;background:#ff6a1a1a;filter:blur(70px);content:"";top:50px;right:-70px}.dixy-visual-topline,.dixy-terminal-bar{display:flex;min-height:42px;padding:0 14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dixy-line);color:var(--dixy-subtle);font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.06em}.dixy-visual-topline span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--dixy-orange)}.dixy-node-map{position:relative;height:282px}.dixy-map-node{position:absolute;z-index:2;display:grid;width:210px;min-height:66px;padding:10px 12px;align-items:center;border:1px solid var(--dixy-line-strong);border-radius:5px;background:#1c1d1af0;box-shadow:0 14px 30px #00000047;grid-template-columns:34px 1fr auto}.dixy-node-sensor{top:40px;left:28px}.dixy-node-core{top:130px;left:calc(50% - 105px);border-color:#ff6a1a99}.dixy-node-output{right:28px;bottom:22px}.dixy-node-icon,.dixy-capability-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--dixy-line);border-radius:4px;color:var(--dixy-orange);background:var(--dixy-orange-soft)}.dixy-map-node>span:nth-child(2){color:#d8d7d1;font:500 11px/1.25 IBM Plex Mono,monospace}.dixy-map-node small{display:block;margin-bottom:4px;color:var(--dixy-subtle);font-size:8px}.dixy-map-node strong{color:var(--dixy-orange);font:600 10px/1 IBM Plex Mono,monospace}.dixy-map-line{position:absolute;z-index:1;height:1px;background:var(--dixy-orange);box-shadow:0 0 8px #ff6a1a80;transform-origin:left}.dixy-map-line:after{position:absolute;top:-3px;right:-1px;width:7px;height:7px;border-radius:50%;background:var(--dixy-orange);content:""}.dixy-map-line-one{top:102px;left:180px;width:138px;transform:rotate(22deg)}.dixy-map-line-two{top:184px;left:53%;width:145px;transform:rotate(22deg)}.dixy-event-stream{margin:0 18px;border:1px solid var(--dixy-line);border-radius:5px;background:#11120f}.dixy-event-stream .dixy-terminal-bar{min-height:32px}.dixy-terminal-bar>span:first-child{display:flex;gap:5px}.dixy-terminal-bar i{display:block;width:6px;height:6px;border-radius:50%;background:#464742}.dixy-terminal-bar i:first-child{background:var(--dixy-orange)}.dixy-event-stream code{display:block;padding:6px 12px;color:#767871;font:400 9px/1.2 IBM Plex Mono,monospace}.dixy-event-stream code b{margin-right:7px;color:var(--dixy-orange)}.dixy-event-stream code span{color:#c7c6bf}.dixy-signal-strip{display:grid;width:min(1240px,calc(100% - 40px));margin:0 auto;border-top:1px solid var(--dixy-line);border-bottom:1px solid var(--dixy-line);grid-template-columns:repeat(4,1fr)}.dixy-signal-strip>div{display:flex;min-height:116px;padding:24px;flex-direction:column;justify-content:center;border-right:1px solid var(--dixy-line)}.dixy-signal-strip>div:last-child{border-right:0}.dixy-signal-strip strong{color:var(--dixy-ink);font-size:27px;font-weight:500;letter-spacing:-.04em}.dixy-signal-strip span{margin-top:5px;color:var(--dixy-subtle);font:400 10px/1.4 IBM Plex Mono,monospace}.dixy-content-section{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:128px 0;border-bottom:1px solid var(--dixy-line)}.dixy-section-intro{max-width:760px;margin-bottom:62px}.dixy-section-intro h2,.dixy-install-copy h2,.dixy-final-cta h2{margin:17px 0 22px;color:var(--dixy-ink);font-size:clamp(38px,4.4vw,62px);font-weight:500;letter-spacing:-.055em;line-height:1.03}.dixy-section-intro h2 span,.dixy-install-copy h2 span{color:var(--dixy-subtle)}.dixy-section-intro>p:last-child,.dixy-install-copy>p{max-width:660px;margin:0;color:var(--dixy-muted);font-size:17px;line-height:1.7}.dixy-compare{display:grid;border:1px solid var(--dixy-line);border-radius:7px;grid-template-columns:1fr 1fr}.dixy-compare-card{min-width:0;padding:31px}.dixy-before{border-right:1px solid var(--dixy-line);background:#ffffff03}.dixy-after{background:radial-gradient(circle at 85% 0%,rgba(255,106,26,.1),transparent 250px),#ff6a1a06}.dixy-compare-head{display:flex;padding-bottom:22px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dixy-line)}.dixy-compare-head span{color:var(--dixy-subtle);font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.14em}.dixy-after .dixy-compare-head span{color:var(--dixy-orange)}.dixy-compare-head strong{font-size:13px;font-weight:500}.dixy-chaos-list,.dixy-context-tree{display:flex;min-height:220px;padding:34px 6px;flex-direction:column;justify-content:center;gap:16px}.dixy-chaos-list span{display:flex;align-items:center;gap:12px;color:#858680;font:400 11px/1.5 IBM Plex Mono,monospace}.dixy-chaos-list i{display:inline-flex;width:22px;height:22px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid #3f403c;border-radius:3px;color:#70716c;font-style:normal}.dixy-context-tree span{color:#b2b3ad;font:400 11px/1.5 IBM Plex Mono,monospace}.dixy-context-tree b{margin-right:9px;color:var(--dixy-orange);font-weight:500}.dixy-context-tree .dixy-tree-child{padding-left:24px}.dixy-context-tree em{float:right;color:var(--dixy-orange);font-style:normal}.dixy-compare-result{margin:0;padding-top:20px;border-top:1px solid var(--dixy-line);color:#7e7f79;font-size:13px}.dixy-after .dixy-compare-result{color:var(--dixy-ink)}.dixy-workflow-grid{display:grid;border-top:1px solid var(--dixy-line);border-bottom:1px solid var(--dixy-line);grid-template-columns:repeat(3,1fr)}.dixy-workflow-card{min-width:0;padding:34px;border-right:1px solid var(--dixy-line);transition:background .18s ease}.dixy-workflow-card:last-child{border-right:0}.dixy-workflow-card:hover{background:#ff6a1a09}.dixy-step-top{display:flex;margin-bottom:52px;align-items:center;justify-content:space-between;color:var(--dixy-orange)}.dixy-step-top span{font:500 11px/1 IBM Plex Mono,monospace}.dixy-workflow-card>p:not(.dixy-step-text){margin:0 0 9px;color:var(--dixy-orange);font:500 10px/1.3 IBM Plex Mono,monospace}.dixy-workflow-card h3{margin:0;font-size:31px;font-weight:500;letter-spacing:-.04em}.dixy-step-rule{width:38px;height:1px;margin:28px 0;background:var(--dixy-orange)}.dixy-step-text{min-height:100px;margin:0;color:var(--dixy-muted);font-size:14px;line-height:1.7}.dixy-workflow-card>code,.dixy-capability-card>code{display:inline-flex;margin-top:26px;padding:6px 8px;border:1px solid var(--dixy-line);border-radius:3px;color:var(--dixy-subtle);font:500 9px/1.2 IBM Plex Mono,monospace}.dixy-capability-grid{display:grid;overflow:hidden;border:1px solid var(--dixy-line);border-radius:7px;grid-template-columns:repeat(2,1fr)}.dixy-capability-card{position:relative;min-height:300px;padding:34px;border-right:1px solid var(--dixy-line);border-bottom:1px solid var(--dixy-line);background:#ffffff03}.dixy-capability-card:nth-child(2n){border-right:0}.dixy-capability-card:nth-child(n+3){border-bottom:0}.dixy-capability-icon{margin-bottom:44px}.dixy-capability-card>span{color:var(--dixy-orange);font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.13em;text-transform:uppercase}.dixy-capability-card h3{margin:10px 0 12px;font-size:24px;font-weight:500;letter-spacing:-.035em}.dixy-capability-card p{max-width:480px;margin:0;color:var(--dixy-muted);font-size:14px;line-height:1.65}.dixy-stack-row{display:flex;padding:28px 0 0;align-items:center;gap:10px;flex-wrap:wrap}.dixy-stack-row>span{margin-right:12px;color:var(--dixy-subtle);font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.13em}.dixy-stack-row code{padding:7px 10px;border:1px solid var(--dixy-line);border-radius:3px;color:#9b9c96;font:400 10px/1 IBM Plex Mono,monospace}.dixy-install-section{display:grid;align-items:center;gap:clamp(60px,10vw,130px);grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr)}.dixy-install-copy ul{display:grid;margin:30px 0 0;padding:0;gap:11px;list-style:none}.dixy-install-copy li{display:flex;align-items:center;gap:9px;color:#a3a49e;font-size:13px}.dixy-install-copy li svg{color:var(--dixy-orange)}.dixy-install-terminal{overflow:hidden;border:1px solid var(--dixy-line-strong);border-radius:7px;background:#0d0e0c;box-shadow:0 36px 80px #0000004d}.dixy-command-list{display:grid;padding:26px;gap:8px}.dixy-command-list>div{display:grid;min-width:0;padding:13px;border:1px solid var(--dixy-line);border-radius:4px;background:#131411;grid-template-columns:32px 1fr}.dixy-command-list small{color:#50514c;font:400 10px/1.5 IBM Plex Mono,monospace}.dixy-command-list code{min-width:0;overflow-wrap:anywhere;color:#bcbdb6;font:400 11px/1.5 IBM Plex Mono,monospace}.dixy-command-list b{margin-right:5px;color:var(--dixy-orange)}.dixy-terminal-success{display:flex;min-height:68px;padding:0 26px;align-items:center;gap:12px;border-top:1px solid var(--dixy-line);color:var(--dixy-orange)}.dixy-terminal-success span{display:flex;width:100%;align-items:center;justify-content:space-between;color:#b3b4ae;font:500 10px/1.5 IBM Plex Mono,monospace}.dixy-terminal-success a{color:var(--dixy-orange);text-decoration:none}.dixy-final-cta{display:flex;width:min(1240px,calc(100% - 40px));min-height:540px;margin:0 auto;padding:100px 20px;align-items:center;flex-direction:column;justify-content:center;text-align:center}.dixy-cta-icon{display:inline-flex;width:54px;height:54px;margin-bottom:28px;align-items:center;justify-content:center;border:1px solid rgba(255,106,26,.5);border-radius:50%;color:var(--dixy-orange);background:var(--dixy-orange-soft);box-shadow:0 0 60px #ff6a1a21}.dixy-final-cta>p{margin:0;color:var(--dixy-orange);font:600 10px/1.5 IBM Plex Mono,monospace;letter-spacing:.16em}.dixy-final-cta h2{max-width:760px;margin-top:18px}.dixy-final-cta>div:last-child{margin-top:10px}.dixy-footer{display:grid;width:min(1240px,calc(100% - 40px));min-height:220px;margin:0 auto;padding:42px 0 26px;align-items:start;gap:28px 44px;border-top:1px solid var(--dixy-line);color:var(--dixy-subtle);grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(130px,.7fr))}.dixy-footer p{max-width:270px;margin:0;font:400 10px/1.4 IBM Plex Mono,monospace}.dixy-footer-brand,.dixy-footer-group{display:grid;align-content:start;justify-items:start;gap:11px}.dixy-footer-brand{gap:14px}.dixy-footer-group>strong{margin-bottom:3px;color:var(--dixy-ink);font:600 9px/1.4 IBM Plex Mono,monospace;letter-spacing:.14em;text-transform:uppercase}.dixy-footer-group>span{display:inline-flex;align-items:center;gap:6px;font:400 9px/1.4 IBM Plex Mono,monospace}.dixy-footer-bottom{display:flex;padding-top:20px;justify-content:space-between;border-top:1px solid var(--dixy-line);color:var(--dixy-subtle);font:400 9px/1.4 IBM Plex Mono,monospace;grid-column:1 / -1}.dixy-footer svg{color:var(--dixy-orange)}@media (max-width: 1050px){.dixy-topbar-nav{gap:18px}.dixy-hero{padding-top:80px;grid-template-columns:1fr}.dixy-hero-copy{max-width:800px}.dixy-system-visual{width:min(680px,100%)}.dixy-install-section{grid-template-columns:1fr}.dixy-install-copy{max-width:680px}}@media (max-width: 780px){.dixy-topbar{width:calc(100% - 24px);min-height:62px}.dixy-topbar-nav{display:none}.dixy-demo-link{margin-left:auto}.dixy-hero,.dixy-signal-strip,.dixy-content-section,.dixy-final-cta,.dixy-footer{width:calc(100% - 24px)}.dixy-hero{min-height:auto;padding:72px 0 64px;gap:48px}.dixy-hero h1{font-size:clamp(46px,14vw,68px)}.dixy-release-pill{margin-bottom:28px}.dixy-system-visual{min-height:436px}.dixy-map-node{width:180px}.dixy-node-sensor{left:14px}.dixy-node-core{left:calc(50% - 90px)}.dixy-node-output{right:14px}.dixy-map-line-one{left:150px;width:100px}.dixy-map-line-two{width:110px}.dixy-signal-strip{grid-template-columns:repeat(2,1fr)}.dixy-signal-strip>div:nth-child(2){border-right:0}.dixy-signal-strip>div:nth-child(-n+2){border-bottom:1px solid var(--dixy-line)}.dixy-content-section{padding:92px 0}.dixy-section-intro{margin-bottom:46px}.dixy-compare,.dixy-workflow-grid,.dixy-capability-grid{grid-template-columns:1fr}.dixy-before,.dixy-workflow-card,.dixy-capability-card{border-right:0;border-bottom:1px solid var(--dixy-line)}.dixy-workflow-card:last-child,.dixy-capability-card:last-child{border-bottom:0}.dixy-capability-card:nth-child(3){border-bottom:1px solid var(--dixy-line)}.dixy-step-text{min-height:auto}.dixy-footer{gap:24px;grid-template-columns:1fr;text-align:left}.dixy-footer>div{justify-content:flex-start}}.dixy-language-switch{display:inline-flex;flex:0 0 auto;padding:3px;gap:2px;border:1px solid var(--dixy-line);border-radius:999px;background:#ffffff06}.dixy-language-switch button{display:inline-flex;width:48px;height:30px;padding:0;align-items:center;justify-content:center;gap:4px;border:0;border-radius:999px;color:var(--dixy-subtle);background:transparent;font:600 9px/1 IBM Plex Mono,monospace;cursor:pointer;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.dixy-language-switch button>span{font-size:14px;line-height:1;filter:saturate(.72);transition:filter .18s ease,transform .18s ease}.dixy-language-switch button>small{font:inherit;font-size:8px}.dixy-language-switch button:hover{color:var(--dixy-ink)}.dixy-language-switch button:hover>span,.dixy-language-switch button.is-active>span{filter:saturate(1);transform:scale(1.08)}.dixy-language-switch button.is-active{color:#1a130e;background:var(--dixy-orange);box-shadow:0 0 16px #ff6a1a3d}.dixy-contribute-section{position:relative;display:grid;overflow:hidden;gap:clamp(48px,8vw,110px);grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr)}.dixy-contribute-section:before{position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,106,26,.7),transparent);box-shadow:0 0 32px #ff6a1a59;content:""}.dixy-contribute-glow{position:absolute;z-index:-1;top:50%;left:12%;width:460px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,26,.14),transparent 70%);filter:blur(48px);transform:translateY(-50%);animation:dixy-glow-breathe 6s ease-in-out infinite}.dixy-contribute-copy h2{margin:17px 0 22px;font-size:clamp(38px,4.4vw,62px);font-weight:500;letter-spacing:-.055em;line-height:1.03}.dixy-contribute-copy h2 span{color:var(--dixy-subtle)}.dixy-contribute-copy>p:not(.dixy-section-label){max-width:650px;margin:0;color:var(--dixy-muted);font-size:16px;line-height:1.7}.dixy-contribute-actions{display:flex;margin-top:30px;gap:12px;flex-wrap:wrap}.dixy-contribute-actions .dixy-primary-button,.dixy-contribute-actions .dixy-secondary-button{width:fit-content}.dixy-contribute-copy small{display:block;max-width:580px;margin-top:17px;color:var(--dixy-subtle);font:400 10px/1.6 IBM Plex Mono,monospace}.dixy-role-grid{display:grid;align-self:center;overflow:hidden;border:1px solid var(--dixy-line-strong);border-radius:7px;background:#0d0e0cb3;box-shadow:0 30px 70px #00000059,0 0 60px #ff6a1a0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dixy-role-grid>div{display:grid;min-height:76px;padding:0 20px;align-items:center;gap:14px;border-bottom:1px solid var(--dixy-line);grid-template-columns:34px 1fr auto;transition:background .18s ease,padding .18s ease}.dixy-role-grid>div:last-child{border-bottom:0}.dixy-role-grid>div:hover{padding-left:25px;background:var(--dixy-orange-soft)}.dixy-role-grid span{color:var(--dixy-orange);font:500 9px/1 IBM Plex Mono,monospace}.dixy-role-grid strong{font-size:14px;font-weight:500}.dixy-role-grid svg{color:var(--dixy-orange);filter:drop-shadow(0 0 7px rgba(255,106,26,.5))}.dixy-footer-github{display:inline-flex;padding:0;align-items:center;gap:6px;border:0;color:var(--dixy-muted);background:transparent;font:500 9px/1.4 IBM Plex Mono,monospace;text-decoration:none;cursor:pointer;transition:color .18s ease}.dixy-footer-github:hover{color:var(--dixy-orange)}.dixy-footer-github:focus-visible,.dixy-imprint-modal a:focus-visible,.dixy-imprint-modal button:focus-visible{outline:2px solid var(--dixy-orange);outline-offset:4px;border-radius:4px}.dixy-modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;padding:20px;place-items:center;background:#050605b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:dixy-modal-backdrop-in .22s ease both}.dixy-imprint-modal{position:relative;width:min(760px,100%);max-height:min(86dvh,900px);overflow-x:hidden;overflow-y:auto;padding:30px;border:1px solid rgba(255,106,26,.32);border-radius:16px;background:radial-gradient(circle at 100% 0%,rgba(255,106,26,.13),transparent 270px),#171815;box-shadow:0 35px 100px #00000094,0 0 70px #ff6a1a17;animation:dixy-modal-in .36s cubic-bezier(.16,1,.3,1) both;overscroll-behavior:contain}.dixy-imprint-modal:before{position:absolute;top:0;right:14%;left:14%;height:1px;background:linear-gradient(90deg,transparent,var(--dixy-orange),transparent);box-shadow:0 0 18px #ff6a1aa6;content:""}.dixy-imprint-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dixy-imprint-modal h2{margin:10px 0 0;font-size:clamp(24px,4vw,34px);font-weight:500;letter-spacing:-.045em}.dixy-imprint-modal-head>button{display:inline-flex;width:38px;height:38px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--dixy-line);border-radius:50%;color:var(--dixy-muted);background:#ffffff06;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.dixy-imprint-modal-head>button:hover{border-color:#ff6a1a80;color:var(--dixy-orange);background:var(--dixy-orange-soft)}.dixy-imprint-modal address{display:grid;margin-top:34px;padding:22px;gap:5px;border:1px solid var(--dixy-line);border-radius:12px;color:var(--dixy-muted);background:#00000029;font: 12px/1.55 IBM Plex Mono,monospace}.dixy-imprint-modal address strong{margin-bottom:4px;color:var(--dixy-ink);font-weight:500}.dixy-legal-content{display:grid;margin-top:28px;gap:14px}.dixy-legal-content section{padding:20px;border:1px solid var(--dixy-line);border-radius:12px;background:#00000029}.dixy-legal-content h3{margin:0 0 10px;color:var(--dixy-ink);font-size:14px;font-weight:560}.dixy-legal-content p{margin:0 0 10px;color:var(--dixy-muted);font:400 11px/1.7 IBM Plex Mono,monospace}.dixy-legal-content p:last-child{margin-bottom:0}.dixy-legal-content a{color:var(--dixy-orange);font:500 11px/1.6 IBM Plex Mono,monospace;text-decoration:none}.dixy-legal-content a:hover{text-decoration:underline}.dixy-legal-content address{margin-top:0}@keyframes dixy-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dixy-modal-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dixy-details-grid{display:grid;overflow:hidden;border:1px solid var(--dixy-line);border-radius:14px;background:#ffffff02;grid-template-columns:repeat(3,1fr)}.dixy-detail-card{position:relative;min-width:0;min-height:390px;overflow:hidden;padding:34px;border-right:1px solid var(--dixy-line);transition:background .25s ease,transform .25s ease}.dixy-detail-card:last-child{border-right:0}.dixy-detail-card:before{position:absolute;z-index:-1;top:-40%;left:-90%;width:78%;height:180%;background:linear-gradient(105deg,transparent,rgba(255,106,26,.08),transparent);content:"";transform:skew(-15deg);animation:dixy-card-energy-sweep 9s ease-in-out infinite}.dixy-detail-card:nth-child(2):before{animation-delay:1.2s}.dixy-detail-card:nth-child(3):before{animation-delay:2.4s}.dixy-detail-card:hover{background:#ff6a1a06;transform:translateY(-4px)}.dixy-detail-number{display:inline-flex;width:38px;height:38px;margin-bottom:54px;align-items:center;justify-content:center;border:1px solid rgba(255,106,26,.4);border-radius:50%;color:var(--dixy-orange);background:var(--dixy-orange-soft);font:500 10px/1 IBM Plex Mono,monospace;box-shadow:0 0 24px #ff6a1a14}.dixy-detail-card h3{margin:0 0 16px;font-size:25px;font-weight:500;letter-spacing:-.035em}.dixy-detail-card>p{margin:0;color:var(--dixy-muted);font-size:14px;line-height:1.7}.dixy-detail-card ul{display:grid;margin:26px 0 0;padding:0;gap:10px;list-style:none}.dixy-detail-card li{display:flex;align-items:center;gap:8px;color:#a8a9a3;font:400 10px/1.4 IBM Plex Mono,monospace}.dixy-detail-card li svg{flex:0 0 auto;color:var(--dixy-orange)}@supports (animation-timeline: view()){.dixy-detail-card{animation:dixy-card-rise linear both;animation-timeline:view();animation-range:entry 0% cover 30%}.dixy-detail-card:nth-child(2){animation-range:entry 6% cover 34%}.dixy-detail-card:nth-child(3){animation-range:entry 12% cover 38%}}@supports (animation-timeline: view()){.dixy-contribute-copy,.dixy-role-grid{animation:dixy-scroll-reveal linear both;animation-timeline:view();animation-range:entry 5% cover 28%}}.dixy-compare{position:relative;isolation:isolate}.dixy-compare:after{position:absolute;z-index:4;top:9%;bottom:9%;left:50%;width:1px;background:linear-gradient(to bottom,transparent,rgba(255,106,26,.24),rgba(255,132,66,.95),rgba(255,106,26,.24),transparent);background-size:100% 220%;box-shadow:0 0 18px #ff6a1a52;content:"";pointer-events:none;animation:dixy-divider-flow 4.8s linear infinite}.dixy-after{position:relative;overflow:hidden}.dixy-after:before{position:absolute;z-index:-1;top:-35%;left:-15%;width:62%;height:170%;background:linear-gradient(100deg,transparent 25%,rgba(255,106,26,.035) 44%,rgba(255,138,72,.1) 50%,rgba(255,106,26,.035) 56%,transparent 75%);content:"";pointer-events:none;transform:skew(-12deg);animation:dixy-context-sweep 7s ease-in-out infinite}.dixy-context-tree{position:relative}.dixy-context-tree:before{position:absolute;top:24px;bottom:24px;left:12px;width:1px;background:linear-gradient(to bottom,transparent,var(--dixy-orange),transparent);box-shadow:0 0 12px #ff6a1a99;content:"";animation:dixy-tree-line-pulse 3.2s ease-in-out infinite}.dixy-context-tree span{position:relative}.dixy-context-tree span:after{position:absolute;top:50%;left:-5px;width:5px;height:5px;border-radius:50%;background:var(--dixy-orange);box-shadow:0 0 12px #ff6a1abf;content:"";opacity:0;transform:translateY(-50%);animation:dixy-tree-node-active 4s ease-in-out infinite}.dixy-context-tree span:nth-child(2):after{animation-delay:.8s}.dixy-context-tree span:nth-child(3):after{animation-delay:1.6s}.dixy-context-tree span:nth-child(4):after{animation-delay:2.4s}.dixy-context-tree em{text-shadow:0 0 12px rgba(255,106,26,.28)}.dixy-chaos-list i{animation:dixy-chaos-flicker 5s ease-in-out infinite}.dixy-chaos-list span:nth-child(2) i{animation-delay:.7s}.dixy-chaos-list span:nth-child(3) i{animation-delay:1.4s}.dixy-chaos-list span:nth-child(4) i{animation-delay:2.1s}.dixy-workflow-grid{position:relative;isolation:isolate}.dixy-workflow-grid:before{position:absolute;z-index:5;top:-1px;left:0;width:18%;height:1px;background:linear-gradient(90deg,transparent,#ff8a48,transparent);box-shadow:0 0 20px #ff6a1abf;content:"";pointer-events:none;animation:dixy-workflow-edge 6.5s ease-in-out infinite}.dixy-workflow-card{position:relative;overflow:hidden}.dixy-workflow-card:before{position:absolute;z-index:-1;top:-30%;left:-80%;width:75%;height:160%;background:linear-gradient(105deg,transparent,rgba(255,106,26,.055),rgba(255,138,72,.12),rgba(255,106,26,.055),transparent);content:"";pointer-events:none;transform:skew(-14deg);animation:dixy-card-energy-sweep 8s ease-in-out infinite}.dixy-workflow-card:nth-child(2):before{animation-delay:1.1s}.dixy-workflow-card:nth-child(3):before{animation-delay:2.2s}.dixy-workflow-card .dixy-step-top svg{transform-origin:center;animation:dixy-workflow-icon-live 3.4s ease-in-out infinite}.dixy-workflow-card:nth-child(2) .dixy-step-top svg{animation-delay:.6s}.dixy-workflow-card:nth-child(3) .dixy-step-top svg{animation-name:dixy-zap-live;animation-delay:1.2s}.dixy-workflow-card h3{transition:color .25s ease,text-shadow .25s ease}.dixy-workflow-card:hover h3{color:#fff7f1;text-shadow:0 0 28px rgba(255,106,26,.22)}.dixy-step-rule{position:relative;overflow:visible}.dixy-step-rule:after{position:absolute;top:-2px;left:0;width:5px;height:5px;border-radius:50%;background:#ffd1b8;box-shadow:0 0 14px #ff6a1af2;content:"";animation:dixy-rule-signal 2.8s ease-in-out infinite}.dixy-step-signal{position:absolute;right:30px;bottom:30px;display:flex;align-items:flex-end;gap:4px}.dixy-step-signal i{display:block;width:3px;height:8px;border-radius:999px;background:var(--dixy-orange);box-shadow:0 0 8px #ff6a1a73;animation:dixy-signal-bars 1.4s ease-in-out infinite}.dixy-step-signal i:nth-child(2){height:14px;animation-delay:.2s}.dixy-step-signal i:nth-child(3){height:5px;animation-delay:.4s}@keyframes dixy-divider-flow{0%{background-position:0 220%}to{background-position:0 -220%}}@keyframes dixy-context-sweep{0%,20%{left:-65%;opacity:0}35%{opacity:1}70%{opacity:1}88%,to{left:125%;opacity:0}}@keyframes dixy-tree-line-pulse{0%,to{opacity:.3;transform:scaleY(.82)}50%{opacity:1;transform:scaleY(1)}}@keyframes dixy-tree-node-active{0%,12%,to{opacity:0;transform:translateY(-50%) scale(.5)}24%,48%{opacity:1;transform:translateY(-50%) scale(1.25)}62%{opacity:0;transform:translateY(-50%) scale(1.8)}}@keyframes dixy-chaos-flicker{0%,82%,to{border-color:#3f403c;color:#70716c}88%{border-color:#ff6a1a8c;color:var(--dixy-orange)}91%{border-color:#3f403c;color:#70716c}94%{border-color:#ff6a1a73;color:var(--dixy-orange)}}@keyframes dixy-workflow-edge{0%,to{left:-18%;opacity:0}12%,82%{opacity:1}62%{left:100%;opacity:1}}@keyframes dixy-card-energy-sweep{0%,22%{left:-80%;opacity:0}34%{opacity:1}68%{opacity:1}82%,to{left:125%;opacity:0}}@keyframes dixy-workflow-icon-live{0%,to{opacity:.72;transform:scale(.94);filter:drop-shadow(0 0 2px rgba(255,106,26,.2))}50%{opacity:1;transform:scale(1.12);filter:drop-shadow(0 0 10px rgba(255,106,26,.8))}}@keyframes dixy-zap-live{0%,72%,to{opacity:.72;transform:scale(.96) rotate(0);filter:drop-shadow(0 0 2px rgba(255,106,26,.25))}78%{opacity:1;transform:scale(1.18) rotate(-5deg);filter:drop-shadow(0 0 12px rgba(255,106,26,.95))}84%{transform:scale(1.04) rotate(3deg)}90%{transform:scale(1.14) rotate(-2deg)}}@keyframes dixy-rule-signal{0%{left:0;opacity:0}15%{opacity:1}78%{opacity:1}to{left:calc(100% - 4px);opacity:0}}@keyframes dixy-signal-bars{0%,to{opacity:.35;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1.15)}}@media (max-width: 780px){.dixy-compare:after{display:none}.dixy-step-signal{right:22px;bottom:22px}}@media (prefers-reduced-motion: reduce){.dixy-compare:after,.dixy-after:before,.dixy-context-tree:before,.dixy-context-tree span:after,.dixy-chaos-list i,.dixy-workflow-grid:before,.dixy-workflow-card:before,.dixy-workflow-card .dixy-step-top svg,.dixy-step-rule:after,.dixy-step-signal i{animation:none!important}}@media (max-width: 1050px){.dixy-topbar{min-width:min(860px,calc(100% - 32px))}.dixy-topbar-nav{gap:2px}.dixy-topbar-nav a{padding-inline:7px}.dixy-contribute-section{grid-template-columns:1fr}}@media (max-width: 780px){.dixy-topbar{min-width:0}.dixy-language-switch{margin-left:auto}.dixy-demo-link{margin-left:0}.dixy-contribute-section{gap:42px}.dixy-details-grid{grid-template-columns:1fr}.dixy-detail-card{min-height:auto;border-right:0;border-bottom:1px solid var(--dixy-line)}.dixy-detail-card:last-child{border-bottom:0}.dixy-detail-number{margin-bottom:34px}}@media (max-width: 520px){.dixy-topbar{padding-left:11px}.dixy-brand{gap:6px}.dixy-brand>span:not(.dixy-brand-mark){font-size:15px}.dixy-language-switch button{width:38px}.dixy-language-switch button>small{display:none}.dixy-site-root .dixy-demo-link{padding-inline:10px;font-size:10px}.dixy-contribute-actions .dixy-primary-button,.dixy-contribute-actions .dixy-secondary-button{width:100%}}@supports (animation-timeline: view()){.dixy-section-label{width:fit-content;background:linear-gradient(90deg,var(--dixy-orange),#ffd2b9,var(--dixy-orange));background-size:200% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:dixy-label-reveal linear both,dixy-label-shimmer 3.5s ease-in-out infinite;animation-timeline:view(),auto;animation-range:entry 0% cover 25%,normal}.dixy-section-intro h2,.dixy-install-copy h2,.dixy-contribute-copy h2{animation:dixy-heading-reveal linear both;animation-timeline:view();animation-range:entry 2% cover 30%}.dixy-section-intro>p:last-child,.dixy-install-copy>p,.dixy-contribute-copy>p:not(.dixy-section-label){animation:dixy-copy-reveal linear both;animation-timeline:view();animation-range:entry 4% cover 28%}.dixy-signal-strip>div{animation:dixy-stat-rise linear both;animation-timeline:view();animation-range:entry 0% cover 24%}.dixy-signal-strip>div:nth-child(2){animation-range:entry 4% cover 28%}.dixy-signal-strip>div:nth-child(3){animation-range:entry 8% cover 32%}.dixy-signal-strip>div:nth-child(4){animation-range:entry 12% cover 36%}.dixy-before{animation:dixy-card-from-left linear both;animation-timeline:view();animation-range:entry 0% cover 32%}.dixy-after{animation:dixy-card-from-right linear both;animation-timeline:view();animation-range:entry 0% cover 32%}.dixy-chaos-list span,.dixy-context-tree span{animation:dixy-line-reveal linear both;animation-timeline:view();animation-range:entry 5% cover 24%}.dixy-chaos-list span:nth-child(2),.dixy-context-tree span:nth-child(2){animation-range:entry 8% cover 27%}.dixy-chaos-list span:nth-child(3),.dixy-context-tree span:nth-child(3){animation-range:entry 11% cover 30%}.dixy-chaos-list span:nth-child(4),.dixy-context-tree span:nth-child(4){animation-range:entry 14% cover 33%}.dixy-workflow-card{animation:dixy-card-rise linear both;animation-timeline:view();animation-range:entry 0% cover 30%}.dixy-workflow-card:nth-child(2){animation-range:entry 6% cover 34%}.dixy-workflow-card:nth-child(3){animation-range:entry 12% cover 38%}.dixy-workflow-card .dixy-step-rule{transform-origin:left;animation:dixy-rule-grow linear both;animation-timeline:view();animation-range:entry 12% cover 34%}.dixy-capability-card{animation:dixy-card-zoom linear both;animation-timeline:view();animation-range:entry 0% cover 28%}.dixy-capability-card:nth-child(2){animation-range:entry 5% cover 31%}.dixy-capability-card:nth-child(3){animation-range:entry 8% cover 34%}.dixy-capability-card:nth-child(4){animation-range:entry 12% cover 38%}.dixy-capability-icon{animation:dixy-icon-arrive linear both;animation-timeline:view();animation-range:entry 5% cover 30%}.dixy-stack-row code{animation:dixy-tag-pop linear both;animation-timeline:view();animation-range:entry 0% cover 23%}.dixy-stack-row code:nth-of-type(2){animation-range:entry 3% cover 26%}.dixy-stack-row code:nth-of-type(3){animation-range:entry 6% cover 29%}.dixy-stack-row code:nth-of-type(4){animation-range:entry 9% cover 32%}.dixy-stack-row code:nth-of-type(5){animation-range:entry 12% cover 35%}.dixy-stack-row code:nth-of-type(6){animation-range:entry 15% cover 38%}.dixy-role-grid>div{animation:dixy-role-slide linear both;animation-timeline:view();animation-range:entry 2% cover 24%}.dixy-role-grid>div:nth-child(2){animation-range:entry 6% cover 28%}.dixy-role-grid>div:nth-child(3){animation-range:entry 10% cover 32%}.dixy-role-grid>div:nth-child(4){animation-range:entry 14% cover 36%}.dixy-command-list>div{animation:dixy-terminal-line linear both;animation-timeline:view();animation-range:entry 0% cover 24%}.dixy-command-list>div:nth-child(2){animation-range:entry 5% cover 29%}.dixy-command-list>div:nth-child(3){animation-range:entry 10% cover 34%}.dixy-terminal-success{animation:dixy-success-arrive linear both;animation-timeline:view();animation-range:entry 5% cover 32%}.dixy-final-cta{animation:dixy-cta-bloom linear both;animation-timeline:view();animation-range:entry 0% cover 48%}.dixy-footer>*{animation:dixy-footer-rise linear both;animation-timeline:view();animation-range:entry 0% cover 55%}}@supports (animation-timeline: scroll()){.dixy-hero-wavefield{animation:dixy-wavefield-scroll linear both;animation-timeline:scroll(root);animation-range:0 42%}.dixy-site-grid{animation:dixy-grid-scroll linear both;animation-timeline:scroll(root)}}@keyframes dixy-label-reveal{0%{opacity:0;letter-spacing:.32em;transform:translate(-18px)}to{opacity:1;letter-spacing:.15em;transform:translate(0)}}@keyframes dixy-label-shimmer{0%,to{background-position:100% 50%}50%{background-position:-100% 50%}}@keyframes dixy-heading-reveal{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(34px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}@keyframes dixy-copy-reveal{0%{opacity:0;transform:translateY(24px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes dixy-stat-rise{0%{opacity:0;transform:translateY(35px);border-color:transparent}to{opacity:1;transform:translateY(0);border-color:var(--dixy-line)}}@keyframes dixy-card-from-left{0%{opacity:0;transform:translate(-60px) rotateY(5deg);filter:blur(5px)}to{opacity:1;transform:translate(0) rotateY(0);filter:blur(0)}}@keyframes dixy-card-from-right{0%{opacity:0;transform:translate(60px) rotateY(-5deg);filter:blur(5px)}to{opacity:1;transform:translate(0) rotateY(0);filter:blur(0)}}@keyframes dixy-line-reveal{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes dixy-card-rise{0%{opacity:0;transform:translateY(55px);background-color:#ff6a1a14}to{opacity:1;transform:translateY(0);background-color:transparent}}@keyframes dixy-rule-grow{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes dixy-card-zoom{0%{opacity:0;transform:scale(.92) translateY(35px);filter:blur(5px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@keyframes dixy-icon-arrive{0%{opacity:0;transform:scale(.55) rotate(-18deg);box-shadow:0 0 #ff6a1a00}to{opacity:1;transform:scale(1) rotate(0);box-shadow:0 0 24px #ff6a1a1f}}@keyframes dixy-tag-pop{0%{opacity:0;transform:translateY(14px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dixy-role-slide{0%{opacity:0;transform:translate(44px)}to{opacity:1;transform:translate(0)}}@keyframes dixy-terminal-line{0%{opacity:0;transform:translate(-28px);border-color:transparent}to{opacity:1;transform:translate(0);border-color:var(--dixy-line)}}@keyframes dixy-success-arrive{0%{opacity:0;background:#ff6a1a00}to{opacity:1;background:#ff6a1a0e}}@keyframes dixy-cta-bloom{0%{opacity:.15;transform:scale(.9);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes dixy-footer-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes dixy-wavefield-scroll{0%{opacity:1;transform:translate(50%) translateY(0) scale(1)}to{opacity:.2;transform:translate(50%) translateY(240px) scale(1.12)}}@keyframes dixy-grid-scroll{0%{background-position:0 0,0 0}to{background-position:0 180px,180px 0}}.dixy-language-content{animation:dixy-language-change .52s cubic-bezier(.16,1,.3,1) both}.dixy-live-value,.dixy-live-time{display:inline-block;animation:dixy-value-update .52s cubic-bezier(.16,1,.3,1) both}.dixy-live-dot{animation:dixy-status-pulse 2.4s ease-in-out infinite}.dixy-visual-topline span:first-child svg{animation:dixy-status-pulse 2.2s ease-in-out infinite}.dixy-map-line:after{right:auto;left:0;box-shadow:0 0 8px #ff6a1ae6,0 0 22px #ff6a1a8c;animation:dixy-signal-travel 2.8s cubic-bezier(.45,0,.55,1) infinite}.dixy-map-line-two:after{animation-delay:1.4s}.dixy-node-icon{position:relative;overflow:visible}.dixy-node-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid rgba(255,106,26,.45);border-radius:7px;content:"";animation:dixy-node-ring 3s ease-out infinite}.dixy-node-core .dixy-node-icon:after{animation-delay:.8s}.dixy-node-output .dixy-node-icon:after{animation-delay:1.6s}.dixy-event-stream code{position:relative;overflow:hidden}.dixy-event-stream code:after{position:absolute;top:0;bottom:0;left:-35%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,106,26,.08),transparent);content:"";transform:skew(-20deg);animation:dixy-log-scan 5.4s linear infinite}.dixy-event-stream code:nth-child(3):after{animation-delay:.7s}.dixy-event-stream code:nth-child(4):after{animation-delay:1.4s}.dixy-system-visual{transform-style:preserve-3d;perspective:1000px}.dixy-map-node{transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .32s ease,box-shadow .32s ease}.dixy-map-node:hover{z-index:5;border-color:#ff6a1ab3;box-shadow:0 22px 44px #00000061,0 0 42px #ff6a1a2e;transform:translateY(-7px) scale(1.025)}.dixy-capability-card,.dixy-workflow-card,.dixy-role-grid{transform-style:preserve-3d}.dixy-capability-card:hover,.dixy-workflow-card:hover{box-shadow:inset 0 0 60px #ff6a1a09,0 18px 48px #0000002e;transform:translateY(-4px)}.dixy-primary-button svg,.dixy-demo-link svg{transition:transform .22s cubic-bezier(.16,1,.3,1)}.dixy-primary-button:hover svg,.dixy-demo-link:hover svg{transform:translate(4px)}.dixy-contribute-glow{animation:dixy-glow-breathe 6s ease-in-out infinite,dixy-glow-drift 11s ease-in-out infinite alternate}.dixy-install-terminal{position:relative}.dixy-install-terminal:after{position:absolute;top:0;left:-45%;width:30%;height:1px;background:linear-gradient(90deg,transparent,var(--dixy-orange),transparent);box-shadow:0 0 18px #ff6a1abf;content:"";animation:dixy-terminal-edge 6s ease-in-out infinite}@keyframes dixy-language-change{0%{opacity:.35;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes dixy-value-update{0%{opacity:0;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes dixy-status-pulse{0%,to{opacity:.65;filter:drop-shadow(0 0 2px rgba(255,106,26,.35))}50%{opacity:1;filter:drop-shadow(0 0 8px rgba(255,106,26,.9))}}@keyframes dixy-signal-travel{0%{opacity:0;transform:translate(0) scale(.6)}12%{opacity:1}82%{opacity:1}to{opacity:0;transform:translate(calc(100% + 120px)) scale(1)}}@keyframes dixy-node-ring{0%{opacity:.65;transform:scale(.72)}70%,to{opacity:0;transform:scale(1.42)}}@keyframes dixy-log-scan{0%,18%{left:-35%}58%,to{left:125%}}@keyframes dixy-glow-drift{0%{translate:-25px -12px}to{translate:35px 18px}}@keyframes dixy-terminal-edge{0%,to{left:-35%;opacity:0}14%,78%{opacity:1}58%{left:110%}}@media (prefers-reduced-motion: reduce){.dixy-language-content,.dixy-live-value,.dixy-live-time,.dixy-live-dot,.dixy-visual-topline span:first-child svg,.dixy-map-line:after,.dixy-node-icon:after,.dixy-event-stream code:after,.dixy-contribute-glow,.dixy-install-terminal:after{animation:none!important}}@supports (animation-timeline: view()){.dixy-install-copy,.dixy-install-copy h2,.dixy-install-copy>p,.dixy-install-terminal,.dixy-command-list>div,.dixy-terminal-success,.dixy-final-cta,.dixy-final-cta>p,.dixy-final-cta>h2,.dixy-final-cta>div:last-child,.dixy-footer>*{opacity:1!important;filter:none!important;transform:none!important;animation-name:none!important;animation-timeline:auto!important}.dixy-final-cta .dixy-cta-icon{opacity:1!important;filter:none!important;transform:none!important;animation:dixy-icon-pulse 3.2s ease-in-out infinite!important}}@media (max-width: 520px){.dixy-demo-link{padding:0 11px}.dixy-demo-link .dixy-live-dot{display:none}.dixy-hero-actions .dixy-primary-button,.dixy-hero-actions .dixy-secondary-button,.dixy-final-cta .dixy-primary-button,.dixy-final-cta .dixy-secondary-button{width:100%}.dixy-assurances{align-items:flex-start;flex-direction:column;gap:8px}.dixy-map-node{width:calc(100% - 38px)}.dixy-node-sensor{top:24px;left:19px}.dixy-node-core{top:107px;left:19px}.dixy-node-output{right:19px;bottom:24px}.dixy-map-line{display:none}.dixy-event-stream{margin:0 10px}.dixy-event-stream code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dixy-signal-strip>div{min-height:98px;padding:18px}.dixy-signal-strip strong{font-size:22px}.dixy-compare-card,.dixy-workflow-card,.dixy-capability-card{padding:24px}.dixy-compare-head{align-items:flex-start;flex-direction:column;gap:8px}.dixy-context-tree em{display:block;float:none;margin-top:3px;padding-left:20px}.dixy-command-list{padding:14px}.dixy-command-list>div{grid-template-columns:25px 1fr}.dixy-terminal-success span{align-items:flex-start;flex-direction:column;gap:4px}}@media (prefers-reduced-motion: reduce){html.dixy-website-html,body.dixy-website-body{scroll-behavior:auto}.dixy-site-root *,.dixy-site-root *:before,.dixy-site-root *:after{transition-duration:.01ms!important}}.dixy-topbar{width:fit-content;min-width:min(760px,calc(100% - 32px));min-height:56px;margin:16px auto 0;padding:7px 9px 7px 16px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#0a0b09c7;box-shadow:0 10px 45px #0000007a,inset 0 1px #ffffff0a,0 0 50px #ff6a1a0a;-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%);animation:dixy-nav-enter .8s cubic-bezier(.16,1,.3,1) both}.dixy-topbar-nav{gap:clamp(8px,1.4vw,18px)}.dixy-topbar-nav a{padding:7px 9px;border-radius:999px;font-size:12px}.dixy-topbar-nav a:hover{background:#ffffff0b}.dixy-demo-link{min-height:40px;padding:0 17px;border-radius:999px;color:#1a130e;background:var(--dixy-ink)}.dixy-demo-link:hover{border-color:var(--dixy-orange);background:var(--dixy-orange);box-shadow:0 0 28px #ff6a1a4d}.dixy-hero{position:relative;min-height:920px;padding:92px 0 88px;align-items:start;gap:70px;grid-template-columns:1fr}.dixy-hero-wavefield{position:absolute;z-index:-1;top:-90px;right:50%;width:100vw;height:750px;overflow:hidden;pointer-events:none;transform:translate(50%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%)}.dixy-wave{position:absolute;top:-24%;left:50%;width:1120px;height:930px;border-radius:46%;opacity:.65;background:repeating-radial-gradient(ellipse at center,transparent 0 13px,rgba(226,220,211,.095) 14px,transparent 15px 23px);filter:drop-shadow(0 0 7px rgba(255,106,26,.08));transform:translate(-50%) perspective(700px) rotateX(58deg) rotate(-7deg) scaleX(1.35);animation:dixy-wave-drift 18s ease-in-out infinite alternate}.dixy-wave-b{top:-34%;left:12%;width:720px;height:1100px;opacity:.34;transform:perspective(700px) rotateX(64deg) rotate(13deg) scaleX(.8);animation-duration:24s;animation-direction:alternate-reverse}.dixy-wave-c{top:-18%;right:2%;left:auto;width:650px;height:980px;opacity:.28;transform:perspective(700px) rotateX(62deg) rotate(-18deg) scaleX(.75);animation-duration:21s}.dixy-wave-glow{position:absolute;top:4%;left:50%;width:780px;height:520px;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(255,130,61,.2),rgba(255,106,26,.07) 32%,transparent 68%);filter:blur(42px);transform:translate(-50%);animation:dixy-glow-breathe 7s ease-in-out infinite}.dixy-hero-copy{position:relative;z-index:2;display:flex;max-width:940px;margin:0 auto;align-items:center;flex-direction:column;text-align:center}.dixy-release-pill{margin-bottom:30px;background:#0d0e0c94;box-shadow:0 10px 35px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:dixy-hero-enter .72s .1s cubic-bezier(.16,1,.3,1) both}.dixy-eyebrow{animation:dixy-hero-enter .72s .18s cubic-bezier(.16,1,.3,1) both}.dixy-hero h1{max-width:940px;font-size:clamp(58px,7vw,96px);animation:dixy-hero-enter .82s .24s cubic-bezier(.16,1,.3,1) both}.dixy-hero h1 em{color:transparent;background:linear-gradient(100deg,#8c8d87 7%,#f2f0e9 34%,#ff8a48 52%,#8c8d87 76%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 24px rgba(255,106,26,.2));animation:dixy-title-shine 8s ease-in-out infinite}.dixy-hero-lead{animation:dixy-hero-enter .82s .34s cubic-bezier(.16,1,.3,1) both}.dixy-hero-actions{justify-content:center;animation:dixy-hero-enter .82s .43s cubic-bezier(.16,1,.3,1) both}.dixy-assurances{justify-content:center;animation:dixy-hero-enter .82s .51s cubic-bezier(.16,1,.3,1) both}.dixy-primary-button{box-shadow:0 0 0 1px #ffffff14 inset,0 8px 28px #ff6a1a33}.dixy-primary-button:hover{box-shadow:0 0 0 1px #ffffff1f inset,0 10px 42px #ff6a1a6b}.dixy-system-visual{width:min(1140px,100%);min-height:480px;margin:0 auto;box-shadow:0 42px 100px #00000073,0 0 90px #ff6a1a14,inset 0 1px #ffffff0a;animation:dixy-panel-enter 1s .52s cubic-bezier(.16,1,.3,1) both,dixy-panel-float 8s 1.6s ease-in-out infinite}.dixy-system-visual:before{background:#ff6a1a38}.dixy-system-visual:after{position:absolute;z-index:4;top:-1px;left:12%;width:32%;height:1px;background:linear-gradient(90deg,transparent,#ff8a48,transparent);box-shadow:0 0 22px #ff6a1ae6;content:"";animation:dixy-edge-scan 5s ease-in-out infinite}.dixy-visual-glow{position:absolute;z-index:0;top:35px;left:50%;width:520px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,26,.19),transparent 68%);filter:blur(42px);transform:translate(-50%);animation:dixy-glow-breathe 5.5s ease-in-out infinite}.dixy-node-sensor{top:92px;left:8%;animation:dixy-node-float 5.6s ease-in-out infinite}.dixy-node-core{top:108px;left:calc(50% - 105px);box-shadow:0 14px 30px #00000047,0 0 34px #ff6a1a1f;animation:dixy-node-float 5.6s .7s ease-in-out infinite}.dixy-node-output{top:92px;right:8%;bottom:auto;animation:dixy-node-float 5.6s 1.4s ease-in-out infinite}.dixy-map-line{background:linear-gradient(90deg,transparent,var(--dixy-orange),#ffd2b9,var(--dixy-orange),transparent);background-size:200% 100%;animation:dixy-data-flow 2.8s linear infinite}.dixy-map-line-one{top:126px;left:25%;width:22%;transform:rotate(0)}.dixy-map-line-two{top:126px;left:54%;width:21%;transform:rotate(0)}.dixy-event-stream{position:relative;z-index:2;width:min(760px,calc(100% - 36px));margin:0 auto}.dixy-signal-strip strong{text-shadow:0 0 28px rgba(255,106,26,.18)}.dixy-compare-card,.dixy-capability-card,.dixy-workflow-card,.dixy-install-terminal{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease,background .25s ease}.dixy-compare-card:hover,.dixy-capability-card:hover,.dixy-workflow-card:hover{border-color:#ff6a1a52;background:radial-gradient(circle at 80% 0%,rgba(255,106,26,.09),transparent 230px),#ffffff05;box-shadow:inset 0 0 60px #ff6a1a06}.dixy-capability-icon{box-shadow:0 0 24px #ff6a1a1f}.dixy-install-terminal{box-shadow:0 36px 80px #0000006b,0 0 70px #ff6a1a1a}.dixy-cta-icon{animation:dixy-icon-pulse 3.2s ease-in-out infinite}@supports (animation-timeline: view()){.dixy-section-intro,.dixy-compare,.dixy-workflow-grid,.dixy-capability-grid,.dixy-stack-row,.dixy-install-copy,.dixy-install-terminal,.dixy-final-cta>*{animation:dixy-scroll-reveal linear both;animation-timeline:view();animation-range:entry 5% cover 28%}}@keyframes dixy-nav-enter{0%{opacity:0;transform:translateY(-18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dixy-hero-enter{0%{opacity:0;transform:translateY(24px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes dixy-panel-enter{0%{opacity:0;transform:translateY(54px) scale(.97);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes dixy-panel-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes dixy-wave-drift{0%{translate:-2% -1%;rotate:-1deg}to{translate:3% 2%;rotate:2deg}}@keyframes dixy-glow-breathe{0%,to{opacity:.55;scale:.92}50%{opacity:1;scale:1.08}}@keyframes dixy-title-shine{0%,22%{background-position:100% 50%}58%,to{background-position:-100% 50%}}@keyframes dixy-edge-scan{0%,to{left:7%;opacity:0}15%,80%{opacity:1}50%{left:61%}}@keyframes dixy-node-float{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes dixy-data-flow{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes dixy-icon-pulse{0%,to{box-shadow:0 0 45px #ff6a1a1f}50%{box-shadow:0 0 85px #ff6a1a57}}@keyframes dixy-scroll-reveal{0%{opacity:0;transform:translateY(46px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media (max-width: 1050px){.dixy-topbar{min-width:min(720px,calc(100% - 32px))}.dixy-hero-copy{max-width:840px}}@media (max-width: 780px){.dixy-topbar{width:calc(100% - 24px);min-width:0;margin-top:10px}.dixy-hero{min-height:auto;padding-top:72px}.dixy-hero h1{font-size:clamp(46px,14vw,68px)}.dixy-system-visual{animation:dixy-panel-enter .9s .48s cubic-bezier(.16,1,.3,1) both}.dixy-node-sensor{top:32px;left:14px}.dixy-node-core{top:116px;left:calc(50% - 90px)}.dixy-node-output{top:200px;right:14px}.dixy-map-line{display:none}}@media (max-width: 520px){.dixy-wave{opacity:.42;scale:.72}.dixy-node-sensor{top:24px;left:19px}.dixy-node-core{top:107px;left:19px}.dixy-node-output{top:auto;right:19px;bottom:24px}}@media (prefers-reduced-motion: reduce){.dixy-site-root *,.dixy-site-root *:before,.dixy-site-root *:after{animation:none!important}}html.dixy-website-html{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}body.dixy-website-body{height:auto!important;min-height:100vh!important;overflow:visible!important}.dixy-site-root .dixy-demo-link{color:#1a130e}.dixy-site-root .dixy-demo-link svg{color:#1a130e}.dixy-mobile-menu-toggle,.dixy-mobile-demo{display:none}.dixy-hero{min-height:860px;padding-top:54px;gap:38px}.dixy-hero-copy{width:100%;min-width:0}.dixy-hero h1{width:100%;max-width:1080px;font-size:clamp(56px,6.1vw,78px)}.dixy-hero-lead{width:100%}.dixy-release-pill{animation:dixy-hero-enter .5s cubic-bezier(.16,1,.3,1) both}.dixy-eyebrow{animation:dixy-hero-enter .52s 60ms cubic-bezier(.16,1,.3,1) both}.dixy-hero h1{animation:dixy-hero-enter .6s .1s cubic-bezier(.16,1,.3,1) both}.dixy-hero-lead{animation:dixy-hero-enter .6s .16s cubic-bezier(.16,1,.3,1) both}.dixy-hero-actions{animation:dixy-hero-enter .6s .21s cubic-bezier(.16,1,.3,1) both}.dixy-assurances{animation:dixy-hero-enter .6s .26s cubic-bezier(.16,1,.3,1) both}.dixy-system-visual{animation:dixy-panel-enter .76s .28s cubic-bezier(.16,1,.3,1) both,dixy-panel-float 8s 1.2s ease-in-out infinite}.dixy-cookie-consent{position:fixed;z-index:120;right:24px;bottom:24px;left:24px;display:grid;max-width:920px;margin:0 auto;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid rgba(255,106,26,.34);border-radius:18px;background:radial-gradient(circle at 0% 0%,rgba(255,106,26,.16),transparent 32%),#131412f5;box-shadow:0 26px 80px #00000085;-webkit-backdrop-filter:blur(22px) saturate(130%);backdrop-filter:blur(22px) saturate(130%)}.dixy-cookie-consent strong{display:block;margin-bottom:5px;color:var(--dixy-ink);font-size:15px}.dixy-cookie-consent p{max-width:680px;margin:0;color:#c7c8c1;font-size:13px;line-height:1.55}.dixy-cookie-actions{display:flex;align-items:center;gap:10px}.dixy-cookie-actions button{min-height:40px;border-radius:8px;cursor:pointer;font:700 12px/1 Space Grotesk,sans-serif;transition:transform .18s ease,border-color .18s ease,background .18s ease}.dixy-cookie-actions button:hover{transform:translateY(-1px)}.dixy-cookie-ghost{padding:0 13px;border:1px solid var(--dixy-line-strong);color:var(--dixy-ink);background:#ffffff09}.dixy-cookie-ghost:hover{border-color:#ff6a1a7a;background:var(--dixy-orange-soft)}.dixy-cookie-accept{padding:0 18px;border:1px solid var(--dixy-orange);color:#1a130e;background:var(--dixy-orange)}@keyframes dixy-hero-enter{0%{opacity:.22;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media (max-width: 780px){.dixy-cookie-consent{right:12px;bottom:12px;left:12px;grid-template-columns:1fr;gap:13px;padding:15px;border-radius:15px}.dixy-cookie-actions{display:grid;grid-template-columns:1fr}.dixy-cookie-actions button{width:100%}.dixy-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:7px 8px 7px 13px}.dixy-language-switch{grid-column:2;grid-row:1;justify-self:end;margin-left:0}.dixy-site-root .dixy-demo-link{display:none}.dixy-mobile-menu-toggle{grid-column:3;grid-row:1;width:44px;height:44px;border:1px solid var(--dixy-line);border-radius:999px;background:#ffffff09;color:var(--dixy-ink);cursor:pointer;display:grid;place-items:center}.dixy-mobile-menu-toggle[aria-expanded=true]{border-color:#ff6a1a85;color:var(--dixy-orange);background:var(--dixy-orange-soft);box-shadow:0 0 22px #ff6a1a1f}.dixy-mobile-menu-toggle:focus-visible{outline:2px solid var(--dixy-orange);outline-offset:2px}.dixy-topbar-nav{position:absolute;top:calc(100% + 9px);right:0;left:0;display:none;gap:4px;margin:0;padding:9px;border:1px solid var(--dixy-line);border-radius:20px;background:radial-gradient(circle at 92% 0%,rgba(255,106,26,.1),transparent 40%),#0c0d0bf5;box-shadow:0 24px 70px #00000080;-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%)}.dixy-topbar-nav.is-open{display:grid;animation:dixy-mobile-nav-enter .22s cubic-bezier(.16,1,.3,1) both}.dixy-topbar-nav a{min-height:44px;display:flex;align-items:center;padding:10px 13px;border:1px solid transparent;border-radius:12px;font-size:13px}.dixy-topbar-nav a:hover{border-color:var(--dixy-line);background:#ffffff0a}.dixy-topbar-nav a:after{display:none}.dixy-topbar-nav .dixy-mobile-demo{display:flex;justify-content:space-between;margin-top:4px;border-color:#ff6a1a6b;color:#1a130e;background:var(--dixy-orange);font-weight:700}.dixy-mobile-demo .dixy-live-dot{margin-right:8px;background:#1a130e;box-shadow:none}.dixy-hero{padding-top:58px;gap:42px}.dixy-hero-copy{overflow:visible}.dixy-hero h1{max-width:100%;font-size:clamp(40px,11.4vw,50px);letter-spacing:-.06em;overflow-wrap:anywhere}.dixy-hero-lead{max-width:100%;padding:0 6px;font-size:15px}.dixy-system-visual{animation:dixy-panel-enter .7s .25s cubic-bezier(.16,1,.3,1) both}}@keyframes dixy-mobile-nav-enter{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.dixy-admin-root{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100vh;min-height:100dvh}.dixy-admin-topbar{justify-content:space-between}.dixy-admin-back,.dixy-admin-actions button{border:1px solid var(--dixy-line);border-radius:999px;background:#ffffff06;color:var(--dixy-muted);display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;font:600 12px/1 IBM Plex Mono,monospace;text-decoration:none}.dixy-admin-root>.dixy-admin-login-shell{grid-column:1 / -1;justify-self:stretch;width:100%;max-width:none;min-height:0;margin:0;display:grid!important;place-items:center;align-content:center;justify-content:center;padding:56px 20px}.dixy-admin-login-panel{width:min(460px,100%);margin-inline:auto;border:1px solid var(--dixy-line);border-radius:24px;padding:clamp(26px,5vw,44px);background:radial-gradient(circle at 86% 12%,rgba(255,106,26,.16),transparent 34%),#1c1d1ae0;box-shadow:0 32px 100px #00000052}.dixy-admin-login-icon{width:50px;height:50px;margin-bottom:26px;border:1px solid rgba(255,106,26,.42);border-radius:15px;display:grid;place-items:center;color:var(--dixy-orange);background:var(--dixy-orange-soft);box-shadow:0 0 32px #ff6a1a1f}.dixy-admin-login-panel h1,.dixy-admin-heading h1{margin:9px 0 12px;font-size:clamp(34px,6vw,58px);line-height:.98;letter-spacing:-.055em}.dixy-admin-login-panel>p:not(.dixy-section-label),.dixy-admin-heading>div>p:last-child{color:var(--dixy-muted);line-height:1.65}.dixy-admin-login-panel form{display:grid;gap:15px;margin-top:28px}.dixy-admin-login-panel label{display:grid;gap:7px}.dixy-admin-login-panel label span{color:var(--dixy-muted);font:600 11px/1 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.dixy-admin-login-panel input{width:100%;min-height:48px;border:1px solid var(--dixy-line);border-radius:12px;padding:10px 13px;background:#111210c2;color:var(--dixy-ink);font:500 15px/1 IBM Plex Mono,monospace;outline:none}.dixy-admin-login-panel input:focus{border-color:#ff6a1ab8;box-shadow:0 0 0 3px #ff6a1a1a}.dixy-admin-login-panel .dixy-primary-button{width:100%;justify-content:center;margin-top:4px}.dixy-admin-privacy{display:flex;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--dixy-line);color:var(--dixy-subtle);font-size:12px}.dixy-admin-dashboard{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:70px 0 100px}.dixy-admin-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.dixy-admin-actions{display:flex;gap:9px}.dixy-admin-actions button{cursor:pointer}.dixy-admin-actions button:hover,.dixy-admin-back:hover{border-color:#ff6a1a75;color:var(--dixy-ink)}.dixy-admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dixy-admin-stat,.dixy-admin-panel{border:1px solid var(--dixy-line);border-radius:18px;background:linear-gradient(145deg,rgba(255,106,26,.055),transparent 48%),#1c1d1ac7}.dixy-admin-stat{padding:20px}.dixy-admin-stat>span{color:var(--dixy-orange)}.dixy-admin-stat p,.dixy-admin-stat small{color:var(--dixy-muted)}.dixy-admin-stat p{margin:18px 0 6px;font:600 10px/1 IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.dixy-admin-stat strong{display:block;margin-bottom:7px;font-size:clamp(28px,4vw,42px);line-height:1}.dixy-admin-chart-panel{margin-top:12px;padding:24px}.dixy-admin-panel-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:22px}.dixy-admin-panel-head h2{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-size:18px}.dixy-admin-panel-head>span{color:var(--dixy-subtle);font:500 10px/1 IBM Plex Mono,monospace}.dixy-admin-chart{height:250px;display:grid;grid-template-columns:repeat(30,minmax(4px,1fr));align-items:end;gap:clamp(2px,.6vw,7px);padding-top:18px;border-top:1px solid var(--dixy-line)}.dixy-admin-chart>div{height:100%;display:flex;flex-direction:column;justify-content:end;gap:8px}.dixy-admin-chart>div>span{min-height:4px;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--dixy-orange-light),var(--dixy-orange));box-shadow:0 0 18px #ff6a1a2b}.dixy-admin-chart small{color:var(--dixy-subtle);font:500 8px/1 IBM Plex Mono,monospace;text-align:center}.dixy-admin-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:12px;margin-top:12px}.dixy-admin-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.dixy-admin-breakdown-grid .dixy-admin-panel,.dixy-admin-detail-grid .dixy-admin-panel{padding:24px}.dixy-admin-list{display:grid;gap:8px}.dixy-admin-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--dixy-line)}.dixy-admin-list span,.dixy-admin-list p{color:var(--dixy-muted);overflow-wrap:anywhere}.dixy-admin-list strong{color:var(--dixy-orange-light);font-family:IBM Plex Mono,monospace}.dixy-admin-message{border:1px solid var(--dixy-line);border-radius:12px;margin:14px 0;padding:12px 14px}.dixy-admin-message.error{border-color:#ff6a1a6b;color:#ffad82;background:#ff6a1a14}@media (max-width: 900px){.dixy-admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dixy-admin-detail-grid{grid-template-columns:1fr}.dixy-admin-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.dixy-admin-root>.dixy-admin-login-shell{padding:24px max(14px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.dixy-admin-dashboard{width:min(100% - 24px,1240px);padding-top:42px}.dixy-admin-heading{align-items:stretch;flex-direction:column}.dixy-admin-actions button{flex:1;justify-content:center;min-height:44px}.dixy-admin-stats-grid,.dixy-admin-breakdown-grid{grid-template-columns:1fr}.dixy-admin-chart-panel,.dixy-admin-detail-grid .dixy-admin-panel,.dixy-admin-breakdown-grid .dixy-admin-panel{padding:17px}.dixy-admin-chart{height:190px;gap:2px;overflow:hidden}.dixy-admin-chart small{display:none}}@media (max-height: 800px) and (min-width: 621px){.dixy-admin-root>.dixy-admin-login-shell{align-items:start;padding-block:24px}.dixy-admin-login-panel{padding:24px 32px}.dixy-admin-login-icon{width:44px;height:44px;margin-bottom:16px}.dixy-admin-login-panel h1{font-size:42px}.dixy-admin-login-panel form{margin-top:18px}}
