.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{font-family:Inter,Segoe UI,Arial,sans-serif;color:#edf5ff;background:#07111d;--bg: #07111d;--panel: #0f1c2e;--panel2: #13243a;--line: rgba(255, 255, 255, .08);--txt: #edf5ff;--muted: #8fa5c2;--blue: #2f7eff;--cyan: #17cbd2;--green: #39df8a;--amber: #ffb547;--red: #ff6673;--violet: #8f7cff;--shadow: 0 18px 38px rgba(0, 0, 0, .28);--light-bg: #f5f7fb;--light-panel: #fff;--light-line: #dbe3ee;--light-txt: #172033;--light-muted: #66778f}*{box-sizing:border-box}body{margin:0;min-width:1180px}button,input,select{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:265px 1fr;min-height:100vh;background:radial-gradient(circle at 20% 0%,rgba(47,126,255,.14),transparent 28%),radial-gradient(circle at 95% 20%,rgba(23,203,210,.1),transparent 20%),var(--bg);color:var(--txt)}.app.light{color:var(--txt)}.sidebar{position:sticky;top:0;z-index:10;height:100vh;padding:20px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,#07101b,#0a1421)}.brandMark{display:flex;align-items:center;gap:12px;margin-bottom:22px}.logo{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#1768ff,#15d0c6);box-shadow:0 12px 26px #1e79ff4d}.brandMark strong{display:block;font-size:21px}.brandMark span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.navTitle{margin:20px 10px 9px;color:#6781a5;font-size:10px;font-weight:900;letter-spacing:1.2px}nav{display:grid;gap:5px}nav button,.themeButton{display:flex;align-items:center;gap:11px;width:100%;min-height:52px;padding:12px 13px;border:1px solid transparent;border-radius:13px;background:transparent;color:#d8e6f8;text-align:left;font-weight:700}nav button svg,.themeButton svg{width:28px;height:28px;padding:5px;border-radius:9px;background:#ffffff0a}nav button:hover,nav button.active,.themeButton:hover{border-color:#2f7eff38;background:linear-gradient(90deg,#2f7eff2e,#17cbd212)}.mutedNav button{color:#a8bad0}.themeButton{margin-top:18px}.projectBox{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#ffffff06}.projectBox b{display:block;margin-bottom:9px}.projectBox div{display:flex;justify-content:space-between;margin:6px 0;color:#b8cae2;font-size:11px}.projectBox p{display:flex;align-items:center;gap:7px;margin:9px 0 0;color:#80efb5;font-size:11px;font-weight:800}.projectBox p:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.workspace{min-width:0;padding:18px 20px 28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.titleWrap{display:flex;align-items:center;gap:13px}.menuButton{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;display:grid;place-items:center;background:#ffffff08}h1,h2,h3,p{margin-top:0}h1{margin:0;font-size:23px}.titleWrap p,.cardHead p{margin:5px 0 0;color:var(--muted);font-size:12px}h2{margin:0;font-size:15px}h3{margin:0 0 10px;font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button,.sectionHeader button,.rowActions button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#ffffff08;color:#fff;font-weight:800}.actions .primary{border:0;background:linear-gradient(135deg,#1769ff,#15b8da)}.panel{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#0f1d30f7,#091624fa);box-shadow:var(--shadow);overflow:hidden}.cardHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.cardHead.compact{margin:-16px -16px 14px}.cardBody{padding:15px}.badge,.status{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.badge,.status.pass{border:1px solid rgba(57,223,138,.16);background:#39df8a14;color:#75f0ad}.status.warning{background:#ffb5471f;color:#ffcf7b}.status.fail{background:#ff66731f;color:#ff929c}.workbench{display:grid;grid-template-columns:335px minmax(620px,1fr) 300px;gap:14px}.leftPanel,.rightPanel{align-self:start}.rightPanel{padding:16px}.centerPanel{display:grid;gap:12px}.resultPanel{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric{min-height:86px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#ffffff08}.metric span{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;margin-top:5px;font-size:23px;line-height:1}.metric em{display:block;margin-top:4px;color:#cfe0f7;font-style:normal}.field{display:block;margin-bottom:9px}.field span,.field label{display:block;margin-bottom:6px;color:#bfd0e7;font-size:11px;font-weight:800}.field div{display:flex;align-items:center;gap:8px}input,select{width:100%;min-height:40px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;outline:none;background:#081522;color:#fff}input:focus,select:focus{border-color:#2f7eff7a;box-shadow:0 0 0 4px #2f7eff1a}.field em{min-width:34px;color:var(--muted);font-style:normal;font-size:12px}.footerNote{margin:10px 0 0;color:#8399b8;font-size:11px}table{width:100%;border:1px solid var(--line);border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden;font-size:12px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}th{background:#ffffff06;color:#b6cae4}tr:last-child td{border-bottom:0}.chart{min-height:238px;padding:14px}.barRow{display:grid;grid-template-columns:54px 1fr 58px;align-items:center;gap:8px;margin:14px 0}.barRow div{position:relative;height:12px;border-radius:999px;background:#ffffff12}.barRow b{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(#1ed4c4,#1970f0)}.barRow i{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--amber)}.barRow em{color:#dce9fb;font-style:normal;text-align:right}.miniNetwork{display:flex;align-items:center;gap:8px;overflow:auto;margin-top:12px;padding:12px;border:1px dashed var(--line);border-radius:13px;background:#ffffff05}.miniNode{min-width:90px;padding:10px;border:1px solid rgba(47,126,255,.24);border-radius:12px;background:#0a1828;text-align:center;font-weight:850}.miniNode small{display:block;margin-top:4px;color:var(--muted)}.miniNetwork span{color:#54a5ff;font-size:19px}.hero{margin-bottom:12px;padding:16px;border:1px solid rgba(57,223,138,.16);border-radius:16px;background:linear-gradient(145deg,#123455,#091c30)}.hero small{color:#91dfbd;font-weight:900}.hero .size{margin:7px 0;color:#54eb9b;font-size:46px;line-height:1;font-weight:950}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}dt{color:var(--muted);font-size:12px;font-weight:800}dd{margin:0;text-align:right;font-weight:850}.warning,.ok{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#ffb5471a;color:#ffd58e;font-size:11px;line-height:1.45}.ok{background:#39df8a14;color:#75f0ad}.spreadsheet{padding:16px;border-radius:18px;background:var(--light-bg);color:var(--light-txt)}.sheetSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.sheetCard{padding:14px;border:1px solid var(--light-line);border-radius:14px;background:var(--light-panel);box-shadow:0 8px 22px #233a570f}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sheetCard .field{margin:0}.sheetCard .field span,.spreadsheet .field span{color:var(--light-muted)}.spreadsheet input,.spreadsheet select{border-color:var(--light-line);background:#fff;color:#172033}.sectionHeader{display:flex;justify-content:space-between;align-items:center;margin:6px 0 10px}.sectionHeader h2{color:#172033}.sectionHeader button,.rowActions button{border-color:var(--light-line);background:#edf3f8;color:#172033}.sheetTable{max-height:430px;overflow:auto;border:1px solid var(--light-line);border-radius:14px;background:#fff}.sheetTable table{min-width:1450px;border:0;border-radius:0;color:#172033}.sheetTable th{position:sticky;top:0;z-index:2;background:#edf3f8;color:#465770}.sheetTable td{border-color:#edf1f5}.sheetTable td:nth-child(n+6):nth-child(-n+11),.sheetTable td:nth-child(13){background:#fff0db;font-weight:800}.sheetTable td:nth-child(12){background:#fff3a7;font-weight:900}.rowActions{display:flex;gap:6px}.networkGrid{display:grid;grid-template-columns:1fr 360px;gap:14px}.topology{position:relative;min-height:620px;border-radius:18px;background:radial-gradient(circle at 40% 25%,rgba(47,126,255,.08),transparent 25%),linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),#091624;background-size:auto,36px 36px,36px 36px}.legendText{display:flex;gap:16px;color:#ffb547;font-size:12px;font-weight:800}.legendText span:first-child{color:#6ff0ad}.node{position:absolute;width:116px;min-height:70px;padding:14px 10px;border:1px solid rgba(47,126,255,.25);border-radius:15px;background:#0a192b;box-shadow:0 12px 24px #0000003d;text-align:center;font-weight:850}.edge{position:absolute;min-height:18px;border:0;border-radius:999px;background:linear-gradient(90deg,#2f7eff,#17cbd2);box-shadow:0 0 14px #17cbd259;color:#fff;font-size:10px;font-weight:850;transform:rotate(8deg)}.edge.warning{background:linear-gradient(90deg,#ff8b3d,#ffb547)}.edge.fail{background:linear-gradient(90deg,#ff6673,#b83242)}@media(max-width:1000px){body{min-width:0}.app{grid-template-columns:1fr}.sidebar{display:none}.workbench,.networkGrid,.sheetSteps{grid-template-columns:1fr}.cards,.charts{grid-template-columns:repeat(2,minmax(0,1fr))}}.suite{min-height:100vh}.mobileNav{display:none}.suite .sidebar{overflow-y:auto}.suiteNav{display:block}.suiteNav button{width:100%}.suiteNav button svg:last-child{margin-left:auto}.screen{padding:16px}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.kpi{min-height:108px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.kpi span{display:block;color:var(--muted);font-size:12px;font-weight:750;text-transform:uppercase}.kpi strong{display:inline-block;margin-top:12px;font-size:25px;line-height:1}.kpi em{margin-left:6px;color:var(--muted);font-style:normal}.kpi.pass{border-left:3px solid var(--green)}.kpi.warning{border-left:3px solid var(--amber)}.kpi.fail{border-left:3px solid var(--red)}.dashboardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.dashboardGrid .chart{cursor:pointer}.sheetToolbar,.networkToolbar{display:flex;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.groupToolbar,.dashboardFilters{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid var(--line)}.groupToolbar button{font-size:10px;color:#82a0be}.groupToolbar button.collapsed{color:var(--amber);border-color:var(--amber)}.dashboardFilters{margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.rowCount{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.search{display:flex;align-items:center;gap:6px;min-width:240px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--input)}.search input{border:0;background:transparent;min-width:0}.spreadsheet .sheetTable{max-height:calc(100vh - 190px);border-radius:0}.spreadsheet .sheetTable table{min-width:3900px}.spreadsheet .sheetTable th:first-child,.spreadsheet .sheetTable td:first-child{position:sticky;left:0;z-index:3;background:#edf3f8}.spreadsheet .sheetTable th:nth-child(2),.spreadsheet .sheetTable td:nth-child(2){position:sticky;left:44px;z-index:3;background:#f7f9fc}.spreadsheet .sheetTable th{resize:horizontal;overflow:auto}.spreadsheet .sheetTable tbody tr{height:43px}.spreadsheet .sheetTable .virtualSpacer{height:auto}.spreadsheet .sheetTable .virtualSpacer td{padding:0;border:0;background:transparent}.spreadsheet .groupHeader th{top:0;background:#182b3f;color:#93abc4;text-align:center}.spreadsheet thead tr:nth-child(2) th{top:31px}.diffWarn{display:block;color:var(--red);font-weight:800}.columnPresets{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.columnChecklist{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;max-height:380px;overflow:auto;margin:12px 0}.columnChecklist label{display:flex;gap:6px;align-items:center;color:var(--muted)}.bulkFields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.bulkFields label{display:grid;grid-template-columns:20px 1fr 150px;align-items:center;gap:6px}.status{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.selectionRow{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:20px}.selectionRow span{display:block;color:var(--muted);font-size:12px}.selectionRow strong,.selectionRow select{margin-top:6px;font-size:20px}.resultGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.dataItem{padding:12px;background:var(--panel)}.dataItem span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.dataItem b{display:block;margin-top:5px}.traceButton{margin:12px}.ok{display:flex;align-items:center;gap:7px;color:var(--green)}.notice{color:var(--amber)}.networkToolbar{position:absolute;top:0;left:0;right:0;z-index:10;background:#0b1828}.networkToolbar{flex-wrap:nowrap;overflow-x:auto}.networkToolbar .search{min-width:160px}.networkToolbar select{min-width:105px}.networkToolbar button{white-space:nowrap}.realTopology{overflow:hidden}.reactFlowPanel{min-height:650px;overflow:hidden;position:relative;background:#091624}.reactFlowPanel .react-flow{position:absolute;inset:62px 0 0}.react-flow__controls button{color:#172033}.react-flow__minimap{background:#0f2034!important;border:1px solid #29435e;border-radius:6px}.healthMini{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.networkDetail{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.nodeDialog{width:min(1100px,95vw)}.nodeDialog table{min-width:850px}.nodeDialog code{font-size:10px}.flowCanvas{position:absolute;inset:62px 0 0}.flowNode{position:absolute;width:112px;min-height:64px;padding:8px;border:1px solid #31506f;border-radius:6px;background:#102338;color:#92aac4;font-size:9px;text-align:left;z-index:2}.flowNode strong{display:block;margin-top:5px;color:#fff;font-size:13px}.flowNode.wtg{border-color:#1c8f7e}.flowNode.bus,.flowNode.substation{border-color:#2f7eff}.flowEdge{position:absolute;min-height:38px;border-style:solid;border-color:#2f7eff;border-width:3px 0 0!important;background:transparent;color:#cbd8e7;text-align:left;z-index:1}.flowEdge span{display:block;font-size:10px}.flowEdge b{display:block;font-size:10px;color:#fff}.flowEdge.warning{border-color:var(--amber)!important}.flowEdge.fail{border-color:var(--red)!important}.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.legend span{border-left:3px solid;padding:6px 8px}.legend .blue{border-color:#2f7eff}.legend .green{border-color:var(--green)}.legend .amber{border-color:var(--amber)}.legend .red{border-color:var(--red)}.scenarioGrid,.moduleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.scenarioCard{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.scenarioCard.approved{border-color:var(--green)}.scenarioHead{display:flex;justify-content:space-between;min-height:66px}.scenarioHead span{color:var(--muted);font-size:11px}.scenarioHead h3{margin:5px 0}.scenarioCard .dataItem{border-bottom:1px solid var(--line);padding-left:0;padding-right:0}.scenarioCard>button{width:100%;margin-top:14px}.optimizer{margin-top:12px}.optimizer label{display:grid;gap:7px;color:var(--muted);font-size:12px}.optimizationResult{padding:14px;border-top:1px solid var(--line)}.optimizationResult table{margin:14px 0}.economicGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.reportGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reportAction{width:calc(100% - 28px);margin:7px 14px;justify-content:flex-start;padding:14px}.revision,.auditRow{display:grid;grid-template-columns:80px 1fr 110px 190px;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.approvalGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px}.approvalGrid label,.settingsPage>label{display:grid;gap:7px;color:var(--muted)}.dataKpis .kpi strong{font-size:16px;word-break:break-word}.dataPanel dl{padding:14px}.dataPanel dt{color:var(--muted)}.dataPanel dd{margin:4px 0 16px}.hash{word-break:break-all;font-family:monospace}.health{max-width:900px}.healthRow{display:grid;grid-template-columns:24px 1fr 1fr;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}.healthRow .good{color:var(--green)}.healthRow .bad{color:var(--red)}.auditRow{grid-template-columns:24px 1fr 190px}.auditRow div{display:grid}.auditRow span,.auditRow time{color:var(--muted);font-size:12px}.chartBar{width:100%;min-height:30px;padding:0;border:0;background:transparent;color:inherit}.unavailable{padding:20px;min-height:190px}.unavailable>svg{color:var(--muted)}.unavailable p{color:var(--muted);line-height:1.5}.settingsPage{max-width:720px;padding-bottom:20px}.settingsPage>label,.settingsPage>p{margin:14px}.modalShade{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end;background:#00000094}.traceDrawer{width:min(620px,92vw);height:100%;overflow:auto;padding:24px;background:var(--panel);box-shadow:-20px 0 50px #00000059}.close{float:right;padding:5px}.formula{display:grid;gap:5px;padding:12px;border-bottom:1px solid var(--line)}.formula code{color:#6ac8ff;white-space:normal}.dialog{align-self:center;margin:auto;width:min(720px,90vw);max-height:86vh;overflow:auto;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.dialog textarea{width:100%;min-height:220px;margin:12px 0;padding:12px;resize:vertical}.diffDialog{width:min(1050px,94vw)}.diffDialog table{font-size:12px}.empty{padding:30px;color:var(--muted);text-align:center}@media(max-width:900px){.mobileNav{display:block;width:min(240px,68vw);margin-bottom:6px}.kpiGrid,.dashboardGrid,.scenarioGrid,.moduleGrid,.reportGrid,.economicGrid{grid-template-columns:1fr 1fr}.screen{padding:9px}.topbar{padding:10px}.topbar .actions button span{display:none}.resultGrid,.approvalGrid{grid-template-columns:1fr 1fr}}@media(max-width:1000px){.mobileNav{display:block;width:min(240px,68vw);margin-bottom:6px}}@media(max-width:600px){.kpiGrid,.dashboardGrid,.scenarioGrid,.moduleGrid,.reportGrid,.economicGrid{grid-template-columns:1fr}.topbar p{display:none}.topbar .actions button{padding:7px}.screen{padding:6px}.resultGrid{grid-template-columns:1fr 1fr}.networkGrid{display:block}.rightPanel{margin-top:8px}}@media print{.sidebar,.topbar,.actions,button{display:none!important}.app{display:block}.workspace{background:#fff!important;color:#172033!important}.screen{padding:0}.panel{break-inside:avoid;border:1px solid #ccd5df;box-shadow:none}}:root{--bg: #07111d;--panel: #0f1d31;--panel2: #14243b;--blue: #2f80ff;--cyan: #00c7d9;--green: #2bdf7e;--amber: #f7b331;--red: #ff5f6d;--violet: #8b7cff;--shadow: 0 18px 36px rgba(0,0,0,.35)}.app{grid-template-columns:280px minmax(0,1fr);background:radial-gradient(circle at 18% 0%,rgba(47,128,255,.17),transparent 30%),radial-gradient(circle at 92% 18%,rgba(0,199,217,.12),transparent 23%),linear-gradient(180deg,#07111c,#081420)}.sidebar{padding:22px 18px;background:linear-gradient(180deg,#08111d,#0b1421);box-shadow:14px 0 40px #0000001f}.brandMark{margin-bottom:18px}.brandMark strong{font-size:23px}.logo{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#0d5eff,#06d0dc);box-shadow:0 0 0 4px #ffffff08,0 10px 24px #2f80ff4d}.suiteNav button{min-height:47px;margin:3px 0;border-radius:12px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.suiteNav button:hover{transform:translate(3px)}.suiteNav button.active{border-color:#2f80ff59;box-shadow:inset 0 0 0 1px #ffffff06,0 10px 24px #0000002e}.projectBox{border-radius:16px;background:linear-gradient(180deg,#ffffff0a,#ffffff03);box-shadow:inset 0 1px #ffffff08}.workspace{padding:20px 22px 28px}.topbar{min-height:64px}.topbar h1{font-size:26px}.topbar .actions button,button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.topbar .actions button:hover,button:hover{transform:translateY(-1px)}button.primary,.actions .primary{background:linear-gradient(135deg,#1660ff,#00b3ff);border:0;box-shadow:0 10px 22px #196dff33}.panel,.kpi,.scenarioCard{border-color:#ffffff16;background:linear-gradient(180deg,#112035f7,#0c1828fc);box-shadow:var(--shadow)}.panel{border-radius:16px;overflow:hidden}.cardHead{padding:16px 18px;background:linear-gradient(90deg,rgba(255,255,255,.018),transparent)}.cardHead h2{font-size:16px}.kpi{position:relative;overflow:hidden;border-radius:14px;min-height:116px;padding:17px;transition:transform .18s ease,border-color .18s ease}.kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));opacity:.65}.kpi:hover{transform:translateY(-3px);border-color:#2f80ff4d}.kpi.pass:after{background:var(--green)}.kpi.warning:after{background:var(--amber)}.kpi.fail:after{background:var(--red)}.kpi strong{font-size:28px;letter-spacing:0}.dashboardGrid .chart{min-height:250px}.chart h2{padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.055)}.barRow{grid-template-columns:minmax(76px,120px) 1fr minmax(64px,auto);gap:12px}.barRow>div{height:12px;border-radius:999px;background:#ffffff0f;box-shadow:inset 0 1px 3px #0000004d}.barRow b{border-radius:999px;background:linear-gradient(90deg,#1485ff,#00d3a7);box-shadow:0 0 14px #00c7d940}.chart:nth-child(3n) .barRow b{background:linear-gradient(90deg,#8b7cff,#00c7d9)}.chart:nth-child(4n) .barRow b{background:linear-gradient(90deg,#f7b331,#ff7a5c)}.workbench{grid-template-columns:370px minmax(520px,1fr) 320px;align-items:start}.leftPanel{position:sticky;top:18px;max-height:calc(100vh - 40px);overflow:auto}.resultHero{display:grid;grid-template-columns:minmax(330px,1.2fr) minmax(260px,1fr);gap:14px;padding:18px;background:linear-gradient(135deg,#142941fa,#091d2dfa)}.recommendation{padding:18px;border:1px solid rgba(58,255,184,.18);border-radius:16px;background:linear-gradient(135deg,#17314bf5,#091e2ff5)}.eyebrow{color:#a6f3db;font-size:12px;font-weight:900;letter-spacing:.5px}.recommendationBody{display:flex;align-items:center;gap:18px;margin-top:14px}.recommendationBody>div:last-child>span{color:#a8f4cb;font-size:14px;font-weight:750}.recommendationBody strong{display:block;margin-top:2px;color:#4aea91;font-size:64px;line-height:.95;letter-spacing:0}.recommendationBody p{margin:8px 0 0;color:#bdeed2;font-size:13px}.bigCheck{width:82px;height:82px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#58f9a8,#1ebf6e 70%);font-size:43px;font-weight:900;box-shadow:0 0 0 9px #2bdf7e14,0 12px 28px #2bdf7e40}.bigCheck.fail{background:radial-gradient(circle at 35% 30%,#ff8790,#d63748 70%);box-shadow:0 0 0 9px #ff5f6d14,0 12px 28px #ff5f6d38}.heroKpis{display:grid;grid-template-columns:1fr;gap:10px}.heroKpis .metric{min-height:82px;border-radius:13px;border:1px solid var(--line);background:#ffffff09}.heroKpis .metric.pass{box-shadow:inset 3px 0 0 var(--green)}.heroKpis .metric.blue{box-shadow:inset 3px 0 0 var(--blue)}.heroKpis .metric.warning{box-shadow:inset 3px 0 0 var(--amber)}.gaugePanel .cardHead{border-bottom:0}.gaugeRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 18px}.gauge{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;background:#ffffff06}.ring{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;margin-bottom:10px;background:radial-gradient(closest-side,#101c2f 69%,transparent 71% 100%),conic-gradient(var(--ring-color,var(--cyan)) calc(var(--pct)*1%),rgba(255,255,255,.07) 0);box-shadow:inset 0 0 25px #ffffff08,0 12px 25px #0000002b}.ring b{font-size:20px}.gauge small{margin-top:5px;color:var(--muted);text-align:center}.selectionRow{border-radius:12px;margin:0 14px 14px;background:#ffffff06}.resultGrid{border-radius:12px;overflow:hidden;margin:0 14px 14px}.stepForm{display:grid;gap:12px}.inputStep{border:1px solid rgba(116,151,201,.18);background:#07101f66;border-radius:8px;padding:12px;display:grid;gap:10px}.stepTitle{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(116,151,201,.15)}.stepTitle>b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#356dff,#52c9ff);color:#fff;box-shadow:0 5px 15px #356dff4d}.stepTitle span,.stepTitle strong,.stepTitle small{display:block}.stepTitle strong{font-size:13px}.stepTitle small{color:var(--muted);font-size:10px;margin-top:2px}.segmentStep .stepTitle>b{background:linear-gradient(135deg,#00ad82,#53dda9)}.factorStrip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 14px 12px}.factorStrip>div{text-align:center;padding:12px 8px;border:1px solid rgba(64,183,255,.18);border-radius:8px;background:linear-gradient(180deg,#307dff1a,#08132659)}.factorStrip span,.factorStrip small{display:block;color:var(--muted);font-size:10px}.factorStrip strong{display:block;font-size:21px;color:#70d8ff;margin:3px 0}.currentEquation{margin:0 14px 14px;padding:10px 14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#00d3a70f;border:1px solid rgba(0,211,167,.18);border-radius:8px}.currentEquation>span{color:#7f9ab9;font-size:12px;font-weight:800}.customerSelection>div,.customerSelection>label{padding:12px;border-radius:8px;background:#ffcc3712;border:1px solid rgba(255,204,55,.24)}.customerSelection small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.customerSelection select{width:100%;color:#ffe37a;background:#121b2c;border-color:#ffcc3761;font-weight:900}.conditionGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 14px 14px}.condition{min-height:98px;padding:12px;border-radius:8px;border:1px solid var(--line);background:#ffffff06;display:flex;flex-direction:column;justify-content:space-between}.condition span{color:var(--muted);font-size:11px}.condition strong{font-size:16px}.condition small{font-size:10px;font-weight:900}.condition.pass{border-bottom:3px solid #48d597}.condition.pass small{color:#61dda6}.condition.fail{border-bottom:3px solid #ff6172}.condition.fail small{color:#ff7886}.condition.pending{border-bottom:3px solid #e6b94a}.condition.pending small{color:#e6c36c}.calWorkspaceTable{grid-column:1/-1;min-width:0}.calWorkspaceTable .technicalCol{display:none}.calWorkspaceTable.showTechnical .technicalCol{display:table-cell}.tableActions{display:flex;gap:8px;flex-wrap:wrap}.workbench>.leftPanel{position:static;max-height:none}.calTable{max-height:540px;overflow:auto}.calTable table{min-width:2200px}.calTable th{position:sticky;top:0;z-index:3;white-space:normal;line-height:1.25;min-width:74px;background:#16243a;color:#d9e7f8;border-color:#7f9dc42e}.calTable td{white-space:nowrap;background:#0d1829!important;color:#dce8f6;border-color:#7f9dc41f}.calTable td input,.calTable td select{min-width:82px;max-width:125px;background:#2f80ff0e;border-color:#4f92ff33}.calTable td:nth-child(3) select,.calTable td:nth-child(4) select{min-width:120px}.calTable .selectedRow td{background:#13243d!important}.calTable .calculatedCell{color:#65d8ff;font-weight:900;background:#102a42!important}.calTable .selectedCell{background:#302b18!important;box-shadow:inset 0 0 0 1px #ffd34838}.calTable .selectedCell select{color:#ffe173;font-weight:900;border-color:#ffd34861}.calTable .naCell{color:#d0a94e}.tableNote{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:11px 15px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}.tableNote span{display:flex;align-items:center;gap:6px}.tableNote span:last-child{margin-left:auto}.legend{width:11px;height:11px;border-radius:2px;display:inline-block}.legend.input{background:#2f80ff47}.legend.auto{background:#52c9ff}.legend.confirm{background:#f2ca4f}.projectName{display:flex;align-items:center;gap:8px;margin-top:6px}.projectName span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.projectName input{width:min(360px,52vw);padding:5px 8px;border-radius:5px;background:#ffffff09;border:1px solid var(--line);color:var(--text);font-weight:750}.topbar>div:first-child>p{margin-top:5px}.emptyCalculation{display:grid;gap:14px}.emptyIntro{padding:24px;background:linear-gradient(135deg,#1a3758f2,#091d2dfa)}.emptyIntro h2{margin:7px 0;font-size:25px}.emptyIntro p{max-width:760px;margin:0;color:var(--muted)}.emptySteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.emptySteps>.panel{padding:14px}.emptySteps .cardBody{padding:14px 0 0}.emptyDefaults{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:14px;background:var(--line);border:1px solid var(--line)}.emptyDefaults>div{background:var(--panel);padding:12px}.startButton{width:100%;justify-content:center;margin-top:16px;padding:12px}.librarySettings{display:grid;gap:14px}.settingsTabs{display:flex;gap:5px;padding:5px;background:#0a1626b3;border:1px solid var(--line);border-radius:8px;width:max-content;max-width:100%}.settingsTabs button{border-color:transparent;background:transparent}.settingsTabs button.active{background:#1c3556;border-color:#5596ff59;color:#fff}.libraryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 16px 16px}.libraryGrid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#ffffff06}.libraryGrid article>svg{color:#5bc9ff}.libraryGrid strong,.libraryGrid span{display:block}.libraryGrid span{color:var(--muted);font-size:11px;margin-top:3px}.libraryMeta{display:grid;grid-template-columns:150px 1fr;margin:0 16px 16px;border-top:1px solid var(--line);padding-top:14px}.libraryMeta dt,.libraryMeta dd{margin:0;padding:7px 5px;border-bottom:1px solid rgba(127,157,196,.1)}.libraryMeta dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.updateLibrary{padding-bottom:16px}.uploadZone{margin:0 16px 14px;min-height:170px;border:1px dashed rgba(83,157,255,.45);border-radius:8px;background:#2f80ff0d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;cursor:pointer}.uploadZone svg{color:#5bc9ff}.uploadZone span{color:var(--muted);font-size:12px}.uploadZone input{position:absolute;width:1px;height:1px;opacity:0}.stagedResult{margin:0 16px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#ffffff06}.stagedResult.valid{border-color:#3bd39652}.stagedResult.invalid{border-color:#ff5f6d59}.stagedResult h3{margin:0 0 7px}.stagedStats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:12px 0}.stagedStats>div{background:var(--panel);padding:11px}.decisionAnalytics{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr) minmax(320px,.9fr);gap:12px}.decisionAnalytics>.panel{min-width:0;overflow:hidden}.comboChart{position:relative;height:280px;margin:0 14px}.comboChart>svg{position:absolute;inset:0;width:100%;height:220px;z-index:2;overflow:visible;pointer-events:none}.chartAxis{stroke:#94b0d340;stroke-width:1}.chartLimit{stroke:#d5a742;stroke-width:1.5;stroke-dasharray:7 6;opacity:.75}.dropLine{fill:none;stroke:#f0b944;stroke-width:3;vector-effect:non-scaling-stroke}.dropPoint{fill:#ffc84c;stroke:#16243a;stroke-width:2;vector-effect:non-scaling-stroke}.candidateBars{position:absolute;left:2.5%;right:2.5%;top:22px;height:190px;display:grid;grid-template-columns:repeat(14,minmax(18px,1fr));gap:5px;align-items:end}.candidate{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;position:relative}.candidate span{font-size:9px;color:#d9e8f8;font-weight:800}.candidate i{width:min(34px,72%);min-height:4px;background:linear-gradient(180deg,#65dcac,#4e89ff);border-radius:3px 3px 0 0;box-shadow:0 0 14px #4aaaff21}.candidate b{font-size:10px;color:#bacbe0}.candidate.selected:after{content:"Đề xuất";position:absolute;top:-17px;color:#61dda6;font-size:8px;font-weight:900}.candidate.selected i{outline:2px solid #5ee49f;outline-offset:3px}.chartLegend{display:flex;gap:18px;padding:0 16px 14px;color:var(--muted);font-size:10px}.chartLegend span{display:flex;align-items:center;gap:6px}.chartLegend i{width:10px;height:10px;border-radius:2px}.ampacityLegend{background:#59cdb3}.dropLegend{background:#f0b944}.lossBars{height:270px;display:flex;align-items:flex-end;gap:10px;padding:18px 18px 14px;overflow-x:auto}.lossBars>div{min-width:58px;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.lossBars>div>span{color:#b9cbe0;font-size:10px;font-weight:800;max-width:80px;overflow:hidden;text-overflow:ellipsis}.lossBars>div>div{width:100%;height:220px;display:flex;flex-direction:column-reverse;align-items:center;position:relative;border-bottom:1px solid rgba(148,176,211,.2)}.lossBars i{width:min(46px,72%);display:block;background:linear-gradient(180deg,#8d78ff,#58cad4);border-radius:3px 3px 0 0}.lossBars b{position:absolute;top:3px;font-size:9px;color:#dce8f6;white-space:nowrap}.recommendationList{display:grid;gap:9px;padding:12px}.recommendationList article{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#ffffff06}.recommendationList article>i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#6192ff;box-shadow:0 0 10px currentColor}.recommendationList article.pass>i{background:#57dc91}.recommendationList article.warning>i{background:#f3b83f}.recommendationList article.fail>i{background:#ff6272}.recommendationList strong{font-size:12px}.recommendationList p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.analysisEmpty{color:var(--muted);display:grid;place-items:center;min-height:180px;padding:20px;text-align:center}.rightPanel .hero{border-radius:14px;background:linear-gradient(135deg,#2f80ff29,#00d3a712)}.status{border-radius:999px;padding:6px 9px}.status.pass{background:#2bdf7e1a;border:1px solid rgba(43,223,126,.18)}.status.warning{background:#f7b3311a;border:1px solid rgba(247,179,49,.18)}.status.fail{background:#ff5f6d1a;border:1px solid rgba(255,95,109,.2)}.sheetToolbar,.groupToolbar,.networkToolbar{background:#07121fe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sheetTable{border-radius:12px;box-shadow:inset 0 1px #ffffff06}.sheetTable tbody tr{transition:background .15s ease}.sheetTable tbody tr:hover td{background:#2f80ff13}.reactFlowPanel{border-radius:16px;background:radial-gradient(circle at 50% 15%,rgba(47,128,255,.09),transparent 45%),#091624}.scenarioCard{border-radius:15px;transition:transform .18s ease,border-color .18s ease}.scenarioCard:hover{transform:translateY(-3px);border-color:#2f80ff4d}.modalShade{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog,.traceDrawer{background:linear-gradient(180deg,#14243b,#0d192a);border-color:#ffffff1f}@media(max-width:1450px){.workbench{grid-template-columns:340px minmax(500px,1fr)}.workbench>.rightPanel{grid-column:1/-1;display:grid;grid-template-columns:240px 1fr 1fr;gap:14px;align-items:start}}@media(max-width:1150px){.resultHero{grid-template-columns:1fr}.heroKpis,.conditionGrid{grid-template-columns:repeat(3,1fr)}.decisionAnalytics{grid-template-columns:1fr 1fr}.recommendationPanel{grid-column:1/-1}}@media(max-width:1000px){.app,.workbench{grid-template-columns:1fr}.leftPanel{position:static;max-height:none}.workbench>.rightPanel{grid-column:auto;display:block}.emptySteps{grid-template-columns:1fr}.libraryGrid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.resultHero,.heroKpis,.gaugeRow{grid-template-columns:1fr}.factorStrip{grid-template-columns:repeat(3,1fr)}.conditionGrid{grid-template-columns:1fr 1fr}.currentEquation{grid-template-columns:1fr}.currentEquation>span{display:none}.customerSelection{grid-template-columns:1fr}.customerSelection>svg{transform:rotate(90deg);justify-self:center}.recommendationBody strong{font-size:52px}.bigCheck{width:70px;height:70px;font-size:36px}.kpiGrid,.libraryGrid,.libraryMeta{grid-template-columns:1fr}.settingsTabs{width:100%;overflow:auto}.settingsTabs button{white-space:nowrap}.decisionAnalytics{grid-template-columns:1fr}.recommendationPanel{grid-column:auto}.candidateBars{gap:2px}.candidate span{display:none}}:root{--text:var(--txt);--input:#091726;--surface-0:#060d17;--surface-1:#0a1524;--surface-2:#0f1e32;--glass:rgba(13,29,48,.78);--stroke-soft:rgba(151,186,227,.1);--stroke-med:rgba(151,186,227,.18);--electric:#39a0ff;--aqua:#35e6cf;--success:#45e39a;--warning:#ffc354;--danger:#ff6877;--purple:#9a85ff;--shadow-soft:0 14px 40px rgba(0,0,0,.18);--shadow-float:0 24px 70px rgba(0,0,0,.34)}html{background:var(--surface-0)}body{background:radial-gradient(circle at 11% 2%,rgba(46,124,255,.15),transparent 28%),radial-gradient(circle at 88% 9%,rgba(31,222,207,.1),transparent 23%),linear-gradient(180deg,#06101b,#07111d)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(99,154,211,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(99,154,211,.055) 1px,transparent 1px);background-size:44px 44px}.app{grid-template-columns:272px minmax(0,1fr);background:transparent;overflow-x:hidden;transition:grid-template-columns .28s ease}.sidebar{width:272px;min-width:272px;max-width:272px;height:100dvh;box-sizing:border-box;overflow:hidden!important;padding-bottom:14px;border-right:1px solid rgba(132,176,226,.1);background:linear-gradient(180deg,#08121ff5,#070f1afb);box-shadow:18px 0 60px #00000024;scrollbar-width:none;transition:transform .28s ease,opacity .2s ease,box-shadow .28s ease}.sidebarToggle{position:fixed;left:256px;top:50%;z-index:80;width:34px;height:72px;padding:0;display:grid;place-items:center;border:1px solid rgba(126,176,232,.18);border-radius:0 18px 18px 0;background:#ebf7ff52;color:#6f91b5;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 12px 32px #0000001f;transform:translateY(-50%);transition:left .28s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.sidebarToggle:hover{background:#35e6cf33;color:#eaf8ff;box-shadow:0 0 0 1px #35e6cf2e,0 14px 35px #0000002e;transform:translateY(-50%)}.app.light .sidebarToggle{background:#ffffff94;color:#426079;border-color:#274a7029;box-shadow:0 12px 28px #233e5b1f}.app.light .sidebarToggle:hover{background:#2f80ff24;color:#0d4f8c}.sidebarCollapsed{grid-template-columns:0 minmax(0,1fr)}.sidebarCollapsed .sidebar{transform:translate(-100%);opacity:0;box-shadow:none;pointer-events:none}.sidebarCollapsed .sidebarToggle{left:0;background:#ebf7ff3d}.suite .sidebar{overflow:hidden!important}.sidebarToggle:focus-visible{outline:2px solid rgba(53,230,207,.55);outline-offset:3px}.sidebar::-webkit-scrollbar{display:none}.sidebar *{box-sizing:border-box;min-width:0}.sidebar:after{content:"";position:absolute;top:0;right:-1px;width:1px;height:38%;background:linear-gradient(180deg,transparent,rgba(61,159,255,.85),transparent);animation:railScan 5s ease-in-out infinite}@keyframes railScan{0%,to{transform:translateY(-20%);opacity:.2}50%{transform:translateY(170%);opacity:.8}}.logo{position:relative;overflow:hidden;background:linear-gradient(135deg,#176dff,#23a7ff 48%,#20e1cb);box-shadow:0 0 0 5px #318bff0e,0 12px 34px #1f83ff57}.logo:after{content:"";position:absolute;inset:-40%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.42),transparent 65%);transform:translate(-70%) rotate(12deg);animation:logoSweep 4.8s ease-in-out infinite}@keyframes logoSweep{0%,70%{transform:translate(-75%) rotate(12deg)}to{transform:translate(85%) rotate(12deg)}}.brandMark{width:100%;min-width:0;margin-bottom:16px}.brandMark>div:last-child{min-width:0;overflow:hidden}.brandMark strong,.brandMark span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suiteNav button{position:relative;overflow:hidden;color:#b7cae1;border-radius:12px;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.suiteNav button:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:99px;background:linear-gradient(var(--electric),var(--aqua));transform:scaleY(0);opacity:0;transition:.2s ease}.suiteNav button:hover{color:#edf6ff;transform:none;background:#276bb417}.suiteNav button.active{color:#fff;background:linear-gradient(90deg,#2978f02e,#1fdccb0e);border-color:#4096ff38}.suiteNav button.active:before{transform:scaleY(1);opacity:1}.projectBox{overflow:hidden;border-radius:14px;border:1px solid rgba(132,176,226,.12);background:linear-gradient(145deg,#1934528c,#081321b8)}.projectBox>b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.projectBox>div:not(.projectActions){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:8px;align-items:center}.projectBox>div:not(.projectActions)>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projectActions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 8px!important}.projectActions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:8px 7px;border:1px solid rgba(132,176,226,.14);border-radius:10px;color:#e8f4ff;background:#ffffff0b;font-size:10px;font-weight:850}.projectActions button:hover{border-color:#46e6a847;background:#46e6a814}.projectActions button.danger{color:#ffb4bd;border-color:#ff5f6d2e;background:#ff5f6d0e}.projectActions button.danger:hover{border-color:#ff5f6d57;background:#ff5f6d1a}.logoutButton{width:100%;min-height:36px;justify-content:center;overflow:hidden;white-space:nowrap}.workspace{padding:0 22px 30px}.topbar{position:sticky;top:0;z-index:40;min-height:78px;margin:0 -22px 18px;padding:13px 22px;border-bottom:1px solid rgba(139,177,219,.09);background:#060f1ac2;-webkit-backdrop-filter:blur(22px) saturate(130%);backdrop-filter:blur(22px) saturate(130%);box-shadow:0 12px 30px #0000001a}.topbar h1{font-size:25px;letter-spacing:-.45px;background:linear-gradient(90deg,#f7fbff,#b9dcff 58%,#80f0df);background-clip:text;-webkit-background-clip:text;color:transparent}.actions button,.tableActions button,.sectionHeader button{border-radius:11px;border-color:#90b5dd24;background:linear-gradient(180deg,#ffffff0e,#ffffff05);transition:.18s ease}.actions button:hover,.tableActions button:hover,.sectionHeader button:hover{transform:translateY(-2px);border-color:#4099ff59;box-shadow:0 10px 20px #00000029}button.primary,.actions .primary{background:linear-gradient(135deg,#176bff,#248dff 48%,#18c8dc);box-shadow:0 12px 30px #1870ff40}.panel,.kpi,.scenarioCard{border:1px solid var(--stroke-soft);background:linear-gradient(180deg,#112238e6,#091625f0);box-shadow:var(--shadow-soft),inset 0 1px #ffffff06}.panel{border-radius:16px}.cardHead{min-height:61px;padding:15px 17px;border-bottom:1px solid rgba(139,177,219,.075);background:linear-gradient(90deg,rgba(255,255,255,.024),transparent 62%)}.workbench{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}.workbench>.leftPanel{grid-column:1/-1;position:relative;overflow:visible}.workbench>.leftPanel .stepForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.inputStep{position:relative;min-width:0;padding:14px;border-radius:14px;border:1px solid rgba(120,166,220,.14);background:radial-gradient(circle at 100% 0%,rgba(49,131,255,.09),transparent 38%),linear-gradient(180deg,#071321ad,#07101c6b);transition:.2s ease}.inputStep:hover{transform:translateY(-2px);border-color:#3f9dff47;box-shadow:0 14px 26px #00000024}.inputStep:nth-child(2){background:radial-gradient(circle at 100% 0%,rgba(53,230,207,.09),transparent 38%),linear-gradient(180deg,#071a22ad,#07111c6b)}.inputStep:nth-child(3){background:radial-gradient(circle at 100% 0%,rgba(154,133,255,.09),transparent 38%),linear-gradient(180deg,#12142a9e,#07111c6b)}.stepTitle>b{width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,#2f77ff,#4fbdff);box-shadow:0 7px 19px #307bff4d}.inputStep:nth-child(2) .stepTitle>b{background:linear-gradient(135deg,#00ad8c,#45dfbd)}.inputStep:nth-child(3) .stepTitle>b{background:linear-gradient(135deg,#6d5cff,#a88cff)}input,select{border-color:#89b1dc1f;background:#040f1bbd;box-shadow:inset 0 1px 3px #0000002e;transition:.17s ease}input:hover,select:hover{border-color:#4a99ef40;background:#071524db}input:focus,select:focus{border-color:#3d9cff9e;box-shadow:0 0 0 3px #2f80ff1a,inset 0 1px 3px #0000002e}.centerPanel{grid-column:1/10;display:grid;gap:14px}.workbench>.rightPanel{grid-column:10/-1;position:sticky;top:96px;align-self:start;border-color:#46d7a421}.calWorkspaceTable,.decisionAnalytics{grid-column:1/-1}.resultHero{position:relative;overflow:hidden;padding:16px;border-color:#40a1ff2b;background:radial-gradient(circle at 10% 20%,rgba(46,128,255,.11),transparent 32%),radial-gradient(circle at 92% 70%,rgba(53,230,207,.08),transparent 30%),linear-gradient(135deg,#122944f7,#081828fa)}.resultHero:before{content:"";position:absolute;left:-30%;top:-120px;width:60%;height:220px;transform:rotate(-12deg);background:linear-gradient(90deg,transparent,rgba(55,159,255,.08),transparent);animation:resultSweep 8s ease-in-out infinite;pointer-events:none}@keyframes resultSweep{0%,20%{transform:translate(-10%) rotate(-12deg)}80%,to{transform:translate(210%) rotate(-12deg)}}.recommendation{position:relative;overflow:hidden;border-radius:18px;border-color:#46e6a82e;background:linear-gradient(135deg,#183a55d6,#071c2beb)}.bigCheck{animation:statusBreathe 2.8s ease-in-out infinite}@keyframes statusBreathe{0%,to{box-shadow:0 0 0 8px #2bdf7e12,0 12px 28px #2bdf7e3b}50%{box-shadow:0 0 0 13px #2bdf7e06,0 16px 34px #2bdf7e4f}}.recommendationBody strong{font-size:68px;letter-spacing:-2.2px;text-shadow:0 0 28px rgba(74,234,145,.14)}.heroKpis .metric{position:relative;overflow:hidden;min-height:88px;padding:14px;background:linear-gradient(135deg,#ffffff0b,#ffffff05)}.gauge{position:relative;overflow:hidden;min-height:174px;border-radius:16px;background:radial-gradient(circle at 50% 36%,rgba(56,152,255,.06),transparent 38%),#ffffff05;transition:.2s ease}.gauge:hover{transform:translateY(-3px);border-color:#5ca9ff40}.ring{transition:.25s ease;filter:drop-shadow(0 10px 18px rgba(0,0,0,.18))}.gauge:hover .ring{transform:scale(1.035);filter:drop-shadow(0 14px 25px rgba(0,0,0,.24))}.customerSelection{position:relative;overflow:hidden;min-height:110px;border:1px solid rgba(255,203,73,.14);background:linear-gradient(90deg,#ffc1410b,#35e6cf06)}.customerSelection:before{content:"ENGINEER DECISION";position:absolute;right:12px;top:8px;color:#ffd36647;font-size:9px;font-weight:900;letter-spacing:1.4px}.customerSelection>svg{color:#ffcc58;filter:drop-shadow(0 0 8px rgba(255,199,76,.3));animation:arrowNudge 1.8s ease-in-out infinite}@keyframes arrowNudge{0%,to{transform:translate(-2px)}50%{transform:translate(4px)}}.condition{position:relative;overflow:hidden;min-height:104px;border-radius:13px;transition:.18s ease}.condition:hover{transform:translateY(-2px)}.rightPanel .hero{position:relative;overflow:hidden;border:1px solid rgba(68,217,167,.15);background:radial-gradient(circle at 100% 0%,rgba(68,226,159,.12),transparent 42%),linear-gradient(135deg,#255b7f42,#0b1f2f80)}.rightPanel .hero .size{font-size:48px;letter-spacing:-1.2px}.calWorkspaceTable{border-radius:18px}.calTable{max-height:580px;background:#0b1727}.calTable table{min-width:2220px}.calTable th{height:50px;background:linear-gradient(180deg,#172b44,#12243a);color:#bcd3ed;box-shadow:inset 0 -1px #91b8e31a}.calTable tbody tr:hover td{background:#12243b!important}.calTable .selectedRow td{background:#142a45!important;box-shadow:inset 0 1px #4c9dff1a,inset 0 -1px #4c9dff1a}.calTable .selectedRow td:first-child{box-shadow:inset 3px 0 0 var(--electric)}.calTable .calculatedCell{color:#7df;background:linear-gradient(180deg,#10314b,#0f2940)!important;text-shadow:0 0 12px rgba(80,203,255,.15)}.calTable .selectedCell{background:linear-gradient(180deg,#352e17,#2c2819)!important}.calTable .selectedCell select{color:#ffe079;box-shadow:0 0 18px #ffcd450d}.decisionAnalytics{grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr) minmax(310px,.9fr)}.recommendationList article{border-radius:11px;transition:.18s ease}.recommendationList article:hover{transform:translate(3px);border-color:#73a9e433}.recommendationList article>i{animation:signalPulse 2.2s ease-in-out infinite}@keyframes signalPulse{0%,to{transform:scale(.82);opacity:.65}50%{transform:scale(1.2);opacity:1}}.barRow b{position:relative;overflow:hidden}.barRow b:after{content:"";position:absolute;inset:0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);animation:barFlow 3.4s linear infinite}@keyframes barFlow{0%{transform:translate(-180%)}to{transform:translate(480%)}}.reactFlowPanel{border-radius:18px;background:radial-gradient(circle at 50% 15%,rgba(47,128,255,.11),transparent 42%),linear-gradient(rgba(98,150,207,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(98,150,207,.045) 1px,transparent 1px),#081522;background-size:auto,36px 36px,36px 36px}.react-flow__node{transition:.18s ease}.react-flow__node:hover{filter:drop-shadow(0 10px 18px rgba(33,117,255,.24))}.react-flow__node.selected{filter:drop-shadow(0 0 16px rgba(51,154,255,.4))}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:10 7;animation:edgeFlow .65s linear infinite}@keyframes edgeFlow{to{stroke-dashoffset:-17}}.modalShade{background:#01070d9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .18s ease-out}.traceDrawer{border-left:1px solid rgba(139,177,219,.12);background:linear-gradient(180deg,#132841fb,#081422fe);animation:drawerIn .22s ease-out}.dialog{border-radius:18px;box-shadow:var(--shadow-float);animation:dialogIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerIn{0%{transform:translate(35px);opacity:.55}to{transform:none;opacity:1}}@keyframes dialogIn{0%{transform:translateY(10px) scale(.985);opacity:.55}to{transform:none;opacity:1}}@media(max-width:1500px){.centerPanel{grid-column:1/9}.workbench>.rightPanel{grid-column:9/-1}}@media(max-width:1240px){.workbench>.leftPanel .stepForm{grid-template-columns:1fr 1fr}.inputStep:nth-child(3){grid-column:1/-1}.centerPanel{grid-column:1/-1}.workbench>.rightPanel{grid-column:1/-1;position:static;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1fr);gap:14px}}@media(max-width:1000px){.app{grid-template-columns:minmax(0,1fr)}.workspace,.screen,.workbench,.centerPanel,.decisionAnalytics{min-width:0}}@media(max-width:900px){.workbench>.leftPanel .stepForm{grid-template-columns:1fr}.inputStep:nth-child(3){grid-column:auto}.workbench>.rightPanel{display:block}.resultHero{grid-template-columns:1fr}.heroKpis{grid-template-columns:repeat(3,1fr)}.conditionGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.workspace{padding:0 9px 18px}.topbar{margin:0 -9px 12px;padding:10px 9px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.topbar>div:first-child{min-width:0}.topbar .actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.topbar .actions button{min-width:0;padding:8px 5px;justify-content:center}.topbar h1{font-size:20px}.projectName{grid-template-columns:auto minmax(0,1fr)}.heroKpis,.gaugeRow,.conditionGrid{grid-template-columns:1fr}.recommendationBody strong{font-size:52px}.bigCheck{width:68px;height:68px;font-size:34px}.calWorkspaceTable,.calTable{max-width:100%}.decisionAnalytics{grid-template-columns:minmax(0,1fr)}.decisionAnalytics>.panel{grid-column:auto!important;min-width:0}.candidateChart{max-width:100%;overflow:hidden}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.librarySettings{max-width:1680px;margin:0 auto}.libraryHeader{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid rgba(72,157,255,.16);background:radial-gradient(circle at 5% 0%,rgba(47,128,255,.12),transparent 35%),linear-gradient(135deg,#112741f0,#081828f7);box-shadow:var(--shadow-soft)}.libraryHeader h2{margin:5px 0 6px;font-size:24px}.libraryHeader p{margin:0;color:var(--muted);font-size:12px}.libraryTrust{display:flex;align-items:center;gap:11px;min-width:250px;padding:12px 14px;border-left:3px solid var(--success);background:#45e39a0e}.libraryTrust svg{color:var(--success)}.libraryTrust span,.libraryTrust small{display:block}.libraryTrust small{margin-top:3px;color:var(--muted);font-size:10px}.supabaseStatus{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;border:1px solid rgba(132,176,226,.13);background:linear-gradient(135deg,#2f80ff12,#35e6cf09)}.supabaseStatus svg{color:var(--electric)}.supabaseStatus b,.supabaseStatus span{display:block}.supabaseStatus span{margin-top:3px;color:var(--muted);font-size:11px}.supabaseStatus.connected{border-left:3px solid var(--success)}.supabaseStatus.fallback{border-left:3px solid var(--warning)}.supabaseStatus button{justify-content:center;white-space:nowrap}.libraryTabs{width:100%;padding:6px;overflow-x:auto}.libraryTabs button{display:inline-flex;align-items:center;gap:7px;min-height:39px;color:#9fb7d2;white-space:nowrap}.libraryTabs button:hover{color:#eef7ff}.libraryTabs button.active{color:#fff}.libraryTabs button.active svg{color:var(--aqua)}.libraryGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.libraryCard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:14px;text-align:left;border:1px solid var(--line);background:#ffffff06}.libraryCard>svg{color:#5bc9ff}.libraryCard>span,.libraryCard small{display:block;min-width:0}.libraryCard strong{display:block;overflow:hidden;text-overflow:ellipsis}.libraryCard small{margin-top:4px;color:var(--muted)}.libraryDataActions{display:flex;gap:8px;align-items:center}.libraryDataActions select{min-width:190px}.libraryDataActions .search{min-width:220px}.libraryReadOnly{display:flex;align-items:center;gap:7px;margin:12px 16px;padding:9px 11px;color:#83e5ba;font-size:11px;border:1px solid rgba(69,227,154,.12);background:#45e39a0b}.libraryTable{max-height:610px}.libraryTable table{min-width:max-content}.libraryTable th,.libraryTable td{max-width:260px;white-space:nowrap}.libraryTable td:first-child{color:var(--muted)}.compareWorkspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:14px;align-items:start}.compareWorkspace>.updateLibrary{grid-row:1}.paritySummary{grid-column:2;grid-row:1;position:sticky;top:96px}.compareParity{grid-column:1/-1}.parityScore{display:flex;align-items:center;gap:16px;padding:20px}.parityScore>strong{font-size:45px;line-height:1;color:var(--success);text-shadow:0 0 24px rgba(69,227,154,.18)}.parityScore span,.parityScore small{display:block}.parityScore small{margin-top:5px;color:var(--muted)}.paritySummary>button{margin:0 20px 20px;width:calc(100% - 40px)}.stagedTitle{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.sheetCompareList{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.sheetCompareList>div{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);background:#ffffff05;font-size:10px}.sheetCompareList b{font-size:9px}.sheetCompareList .match{color:var(--success)}.sheetCompareList .missing{color:var(--danger)}.approvalSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:14px 0;background:var(--line)}.approvalSteps span{padding:11px;background:var(--surface-1);color:var(--muted);font-size:10px;font-weight:800}.approvalSteps span.done{color:var(--success);box-shadow:inset 0 2px var(--success)}.traceWorkspace{overflow:hidden}.traceFlow{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr)) minmax(210px,1.3fr);gap:8px;padding:16px;overflow-x:auto}.traceFlow>div{position:relative;min-height:94px;padding:13px;border:1px solid var(--line);background:linear-gradient(180deg,#2f80ff11,#ffffff05)}.traceFlow>div:not(:last-child):after{content:"";position:absolute;right:-9px;top:45px;width:9px;height:1px;background:var(--electric)}.traceFlow small,.traceFlow span{display:block}.traceFlow small{color:#5a9cff;font-size:8px;font-weight:900}.traceFlow b{display:block;margin:9px 0 6px;font-size:14px}.traceFlow span{color:var(--muted);font-size:9px}.traceFlow .decision{border-color:#ffc35440;background:linear-gradient(180deg,#ffc35414,#35e6cf06)}.traceFlow .decision small,.traceFlow .decision b{color:#ffe079}.traceFormulaTable{overflow:auto;max-height:560px;border-top:1px solid var(--line)}.traceFormulaTable table{min-width:900px}.traceFormulaTable code{color:#80d9ff;white-space:normal}.algorithmSettings{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.algorithmGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.algorithmGrid .field{min-width:0;padding:12px;border:1px solid rgba(120,166,220,.12);background:linear-gradient(180deg,#ffffff07,#ffffff03)}.algorithmGrid .field select,.algorithmGrid .field input{min-height:40px}.algorithmImpact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px}.algorithmImpact .dataItem{border-left:3px solid var(--electric);background:linear-gradient(135deg,#2f80ff0f,#35e6cf06)}.algorithmSettings .notice{margin:0 16px 16px;padding:12px;border:1px solid rgba(255,195,84,.18);background:#ffc3540b}.vbaFlow{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:8px;padding:16px;overflow-x:auto}.vbaFlow article{position:relative;min-height:125px;padding:13px;border:1px solid rgba(88,165,255,.16);background:radial-gradient(circle at 100% 0%,rgba(48,130,255,.1),transparent 42%),linear-gradient(180deg,#ffffff08,#ffffff03)}.vbaFlow article:not(:last-child):after{content:"";position:absolute;right:-8px;top:52px;width:8px;height:2px;background:linear-gradient(90deg,var(--electric),var(--aqua))}.vbaFlow small,.vbaFlow span,.vbaFlow em{display:block}.vbaFlow small{color:var(--aqua);font-size:8px;font-weight:900;text-transform:uppercase}.vbaFlow b{display:block;margin:8px 0;color:#f6fbff;font-size:13px}.vbaFlow span{color:var(--muted);font-size:10px;line-height:1.45}.vbaFlow em{margin-top:9px;color:#ffdc73;font-size:9px;font-style:normal;font-weight:800}.formulaEditorGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:14px;padding:16px}.formulaEditBox{display:grid;gap:12px}.formulaArea textarea{min-height:104px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.45}.formulaActions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.formulaValidation{padding:14px;border:1px solid rgba(69,227,154,.14);background:radial-gradient(circle at 100% 0%,rgba(69,227,154,.09),transparent 42%),#ffffff05}.formulaValidation h3{margin:0 0 10px}.formulaDraftList{display:grid;gap:10px;padding:0 16px 16px}.formulaDraftList h3{margin:0}.formulaDraftList article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff07,#ffffff03)}.formulaDraftList span,.formulaDraftList small,.formulaDraftList code{display:block}.formulaDraftList span{margin:4px 0;color:var(--muted)}.formulaDraftList code{padding:8px;border:1px solid rgba(80,169,255,.12);color:#80d9ff;white-space:normal;background:#0f243a73}.formulaDraftList small{margin-top:6px;color:var(--muted);font-size:10px}.formulaDraftList button.applied{color:#81f0b9;border-color:#45e39a47;background:#45e39a14}.feedbackDialog{max-width:760px}.feedbackDialog label{display:grid;gap:6px;margin:10px 0}.feedbackDialog textarea{min-height:120px;resize:vertical}.feedbackContext,.feedbackSnapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.feedbackContext{margin:12px 0}.feedbackConsole{display:grid;gap:14px}.feedbackList{display:grid;gap:12px;padding:16px}.feedbackItem{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;padding:14px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff07,#ffffff03)}.feedbackItem.new{border-left:3px solid var(--warning)}.feedbackItem.reviewing{border-left:3px solid var(--electric)}.feedbackItem.resolved{border-left:3px solid var(--success)}.feedbackTitle{display:flex;justify-content:space-between;gap:12px;align-items:center}.feedbackTitle span,.feedbackMain small{color:var(--muted);font-size:10px}.feedbackMain p{margin:9px 0 12px;color:var(--txt);line-height:1.45}.feedbackActions{display:grid;align-content:start;gap:8px}.feedbackActions strong{font-size:11px;color:#ffe079}.feedbackActions button{justify-content:center}.libraryHistory article{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.libraryHistory article svg{color:var(--electric)}.libraryHistory article div,.libraryHistory article span{display:block}.libraryHistory article span,.libraryHistory article time{margin-top:3px;color:var(--muted);font-size:10px}.activeVersion{display:flex;align-items:center;gap:10px;margin:15px;padding:13px;border:1px solid rgba(69,227,154,.16);background:#45e39a0b}.activeVersion svg{color:var(--success)}.activeVersion span,.activeVersion small{display:block}.activeVersion small{margin-top:4px;color:var(--muted)}.overviewPage{display:grid;gap:14px}.overviewHero{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:18px;align-items:center;min-height:290px;padding:26px;overflow:hidden;background:radial-gradient(circle at 18% 25%,rgba(57,160,255,.2),transparent 31%),radial-gradient(circle at 84% 18%,rgba(53,230,207,.15),transparent 24%),linear-gradient(135deg,#0c2139fa,#061220fa)}.overviewHero:before{content:"";position:absolute;inset:18px;border:1px solid rgba(116,190,255,.11);border-radius:14px;pointer-events:none}.overviewHero:after{content:"";position:absolute;left:-20%;right:-20%;bottom:36px;height:1px;background:linear-gradient(90deg,transparent,rgba(53,230,207,.7),rgba(57,160,255,.65),transparent);animation:overviewScan 5s ease-in-out infinite}.overviewHeroCopy,.overviewHealth{position:relative;z-index:1}.overviewHero h2{max-width:820px;margin:8px 0 10px;font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:0;color:#f8fcff}.overviewHero p{max-width:760px;color:#b8cde6;font-size:15px;line-height:1.7}.overviewMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.overviewMeta span{padding:8px 11px;border:1px solid rgba(112,171,234,.16);border-radius:999px;background:#ffffff0b;color:#dcecff;font-size:11px;font-weight:900}.overviewHealth{display:grid;justify-items:center;gap:16px}.overviewOrbit{--pct:0;width:196px;height:196px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,#0b1c30 68%,transparent 70%),conic-gradient(#45e39a calc(var(--pct)*1%),#ffc354d1 0 88%,#ff6877db 0);box-shadow:0 0 0 12px #35e6cf0e,0 24px 70px #00000057;animation:overviewPulse 3.2s ease-in-out infinite}.overviewOrbit b{font-size:44px;line-height:1;color:#f6fbff}.overviewOrbit span{margin-top:8px;color:#81efd7;font-size:10px;font-weight:950;letter-spacing:1.4px}.overviewStatusStack{display:grid;justify-items:center;gap:8px;text-align:center}.overviewStatusStack small{max-width:250px;color:#b7cce4}.overviewKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.overviewKpis .kpi{border-radius:14px;background:linear-gradient(180deg,#152a43eb,#091828f5)}.overviewVisualGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.overviewChart{min-height:330px}.overviewChart.wide{grid-column:span 2}.overviewFeederBars{display:grid;gap:12px;padding:17px}.overviewFeederBars article{--bar:0;--delay:0ms;display:grid;grid-template-columns:92px minmax(0,1fr) 90px;gap:12px;align-items:center;animation:overviewRise .55s ease both;animation-delay:var(--delay)}.overviewFeederBars span,.overviewFeederBars b{font-size:11px;font-weight:900}.overviewFeederBars span{color:#b9cce3}.overviewFeederBars b{text-align:right;color:#eaf7ff}.overviewFeederBars div{height:17px;border-radius:999px;background:#ffffff0f;box-shadow:inset 0 1px 4px #00000047;overflow:hidden}.overviewFeederBars i{display:block;width:calc(var(--bar)*1%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f80ff,#35e6cf);box-shadow:0 0 18px #35e6cf42;animation:barGrow .9s ease both;animation-delay:var(--delay)}.overviewDonut{--pass:0;--warning:0;--fail:0;--total:1;width:190px;height:190px;margin:22px auto 12px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,#101d30 66%,transparent 68%),conic-gradient(#45e39a calc(var(--pass)/var(--total)*100%),#ffc354 0 calc((var(--pass) + var(--warning))/var(--total)*100%),#ff6877 0);box-shadow:0 18px 42px #00000038}.overviewDonut b{font-size:38px}.overviewDonut span{color:var(--muted);font-size:11px}.overviewLegend{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 15px 15px}.overviewLegend span{padding:6px 8px;border-radius:999px;font-size:10px;font-weight:900}.overviewLegend .pass{background:#45e39a1f;color:#76f0b2}.overviewLegend .warning{background:#ffc3541f;color:#ffd782}.overviewLegend .fail{background:#ff68771f;color:#ff9aa4}.sectionCloud{display:flex;flex-wrap:wrap;align-content:center;gap:10px;min-height:230px;padding:18px}.sectionCloud span{--weight:1;--delay:0ms;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(76,153,255,.18);border-radius:999px;background:linear-gradient(135deg,#2f80ff21,#35e6cf0f);color:#e8f5ff;font-size:calc(11px * var(--weight));font-weight:900;animation:overviewRise .5s ease both;animation-delay:var(--delay)}.sectionCloud b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#ffffff17;font-size:10px}.overviewLossBars{display:grid;grid-template-columns:repeat(10,minmax(54px,1fr));align-items:end;gap:10px;min-height:245px;padding:20px 18px 18px;overflow-x:auto}.overviewLossBars article{--loss:0;--drop:0;--delay:0ms;display:grid;grid-template-rows:18px 175px auto;gap:8px;min-width:58px;text-align:center;animation:overviewRise .55s ease both;animation-delay:var(--delay)}.overviewLossBars span,.overviewLossBars small{color:#b9cce3;font-size:10px;font-weight:850}.overviewLossBars small{line-height:1.35}.overviewLossBars div{position:relative;display:flex;align-items:end;justify-content:center;gap:5px;border-bottom:1px solid rgba(154,184,220,.18)}.overviewLossBars i{width:19px;border-radius:4px 4px 0 0;animation:barGrowVertical .85s ease both;animation-delay:var(--delay)}.overviewLossBars .loss{height:calc(var(--loss)*1%);background:linear-gradient(180deg,#9a85ff,#51c7d4)}.overviewLossBars .drop{height:calc(var(--drop)*1%);background:linear-gradient(180deg,#ffc354,#ff7a6b)}.overviewWatchList{display:grid;gap:10px;padding:14px}.overviewWatchList article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px;border:1px solid rgba(151,186,227,.1);border-radius:9px;background:#ffffff07}.overviewWatchList b,.overviewWatchList span,.overviewWatchList small{display:block}.overviewWatchList b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f0f7ff;font-size:12px}.overviewWatchList span,.overviewWatchList small{color:var(--muted);font-size:10px}.overviewWatchList small{grid-column:1/-1}@keyframes overviewScan{0%,to{transform:translate(-14%);opacity:.25}50%{transform:translate(14%);opacity:.9}}@keyframes overviewPulse{0%,to{transform:scale(1);filter:saturate(1)}50%{transform:scale(1.025);filter:saturate(1.18)}}@keyframes overviewRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes barGrow{0%{width:0}}@keyframes barGrowVertical{0%{height:0}}@media(max-width:1200px){.libraryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.compareWorkspace{grid-template-columns:1fr}.paritySummary{grid-column:auto;grid-row:auto;position:static}.compareParity{grid-column:auto}}@media(max-width:900px){.algorithmGrid,.algorithmImpact,.formulaEditorGrid,.feedbackContext,.feedbackSnapshot{grid-template-columns:1fr 1fr}.feedbackItem{grid-template-columns:1fr}}@media(max-width:700px){.libraryHeader{display:block}.libraryTrust{margin-top:15px;min-width:0}.libraryGrid{grid-template-columns:1fr}.libraryDataPanel .cardHead{display:block}.libraryDataActions{display:grid;grid-template-columns:1fr;margin-top:12px}.libraryDataActions select,.libraryDataActions .search{min-width:0;width:100%}.sheetCompareList,.approvalSteps,.algorithmGrid,.algorithmImpact,.formulaEditorGrid,.feedbackContext,.feedbackSnapshot{grid-template-columns:1fr}.formulaDraftList article{grid-template-columns:1fr}.feedbackTitle{display:block}.traceFlow{grid-template-columns:repeat(7,minmax(150px,1fr))}.libraryHistory article{grid-template-columns:22px minmax(0,1fr)}.libraryHistory article time{grid-column:2}}body:has(.app.light){background:#eef3f8;color:#172235}body:has(.app.light):before{opacity:.32;background-image:linear-gradient(rgba(48,91,137,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(48,91,137,.06) 1px,transparent 1px)}.app.light{color-scheme:light;--txt:#172235;--text:#172235;--muted:#5d6f84;--bg:#eef3f8;--panel:#fff;--panel2:#f5f8fc;--input:#fff;--line:rgba(38,69,105,.15);--surface-0:#edf3f8;--surface-1:#fff;--surface-2:#f2f6fb;--glass:rgba(255,255,255,.88);--stroke-soft:rgba(35,72,112,.13);--stroke-med:rgba(35,72,112,.22);--shadow-soft:0 12px 34px rgba(35,62,91,.1);--shadow-float:0 22px 60px rgba(35,62,91,.18);background:radial-gradient(circle at 10% 0%,rgba(40,132,255,.1),transparent 28%),radial-gradient(circle at 90% 8%,rgba(22,189,167,.08),transparent 25%),#edf3f8;color:#172235}.app.light .sidebar{background:linear-gradient(180deg,#f8fbff,#edf4fa);border-color:#22456c24;box-shadow:14px 0 40px #2a446012}.app.light .brandMark strong,.app.light .topbar h1,.app.light h1,.app.light h2,.app.light h3,.app.light strong,.app.light b{color:#172235;text-shadow:none}.app.light .brandMark span,.app.light .cardHead p,.app.light .topbar p,.app.light small,.app.light .field>span,.app.light .dataItem span{color:#60738a}.app.light .suiteNav button{color:#41566f}.app.light .suiteNav button:hover{color:#13243a;background:#2877d514}.app.light .suiteNav button.active{color:#0d2744;background:linear-gradient(90deg,#267ee824,#14bea712);border-color:#2774cf33}.app.light .projectBox{background:linear-gradient(145deg,#fff,#f1f6fb);border-color:#274a7026}.app.light .projectBox div{color:#52677f}.app.light .projectActions button{color:#173250;background:#f7fbff;border-color:#274a7029}.app.light .projectActions button.danger{color:#a51d2d;background:#fff1f3;border-color:#efb2b9}.app.light .topbar{background:#f6fafde0;border-color:#27486d1f;box-shadow:0 10px 26px #27425e14}.app.light .topbar h1{background:none;-webkit-text-fill-color:#13243a;color:#13243a}.app.light .projectName span{color:#526980}.app.light input,.app.light select,.app.light textarea{color:#172235;background:#fff;border-color:#274b7433;box-shadow:inset 0 1px 2px #2543620d}.app.light input::placeholder,.app.light textarea::placeholder{color:#8291a3}.app.light input:hover,.app.light select:hover{background:#fbfdff;border-color:#2677d659}.app.light input:focus,.app.light select:focus{border-color:#3184df;box-shadow:0 0 0 3px #3184df1f}.app.light .actions button,.app.light .tableActions button,.app.light .sectionHeader button,.app.light .settingsTabs button{color:#263b53;background:linear-gradient(180deg,#fff,#f2f6fa);border-color:#284a702b}.app.light .actions button:hover,.app.light .tableActions button:hover{color:#102b49;border-color:#287fe161}.app.light button.primary,.app.light .actions .primary{color:#fff;background:linear-gradient(135deg,#176bdb,#168ed8 52%,#0ca6a8);border-color:transparent;box-shadow:0 10px 24px #1869be38}.app.light .themeToggle{color:#1769bd;background:#eaf4ff}.app.light .eyebrow{color:#087d80}.app.light .panel,.app.light .kpi,.app.light .scenarioCard{color:#172235;background:linear-gradient(180deg,#fff,#f7fafc);border-color:#25486f24;box-shadow:var(--shadow-soft)}.app.light .cardHead{background:linear-gradient(90deg,rgba(43,116,201,.055),transparent 65%);border-color:#27496f1c}.app.light .inputStep{background:radial-gradient(circle at 100% 0%,rgba(47,128,255,.1),transparent 38%),linear-gradient(180deg,#fff,#f5f9fd);border-color:#2d5f9729}.app.light .inputStep:nth-child(2){background:radial-gradient(circle at 100% 0%,rgba(21,183,159,.11),transparent 38%),linear-gradient(180deg,#fff,#f4faf8)}.app.light .inputStep:nth-child(3){background:radial-gradient(circle at 100% 0%,rgba(116,95,220,.1),transparent 38%),linear-gradient(180deg,#fff,#f7f6fc)}.app.light .resultHero{background:radial-gradient(circle at 8% 18%,rgba(41,126,231,.12),transparent 34%),radial-gradient(circle at 94% 70%,rgba(25,190,166,.1),transparent 30%),linear-gradient(135deg,#fff,#f1f7fc)}.app.light .recommendation,.app.light .rightPanel .hero{background:linear-gradient(135deg,#edf8ff,#eefbf7);border-color:#24957e33}.app.light .recommendationBody strong,.app.light .rightPanel .hero .size{color:#087a55}.app.light .metric,.app.light .gauge,.app.light .condition,.app.light .customerSelection{background:linear-gradient(135deg,#fff,#f5f8fb);border-color:#274a7024}.app.light .ring{background:radial-gradient(closest-side,#fff 70%,transparent 72%),conic-gradient(var(--ring-color) calc(var(--pct)*1%),#dce5ee 0)}.app.light .calTable{background:#edf3f8}.app.light .calTable th{color:#eaf4ff;background:linear-gradient(180deg,#28547e,#1f4264);border-color:#ffffff1f}.app.light .calTable td{color:#1b2b3d;background:#fff!important;border-color:#dbe4ed}.app.light .calTable tbody tr:hover td{background:#edf6ff!important}.app.light .calTable .selectedRow td{background:#e5f1fd!important}.app.light .calTable .calculatedCell{color:#075f8f;background:#dff3fb!important;text-shadow:none}.app.light .calTable .selectedCell{color:#6b4d00;background:#fff4c9!important}.app.light .calTable td input,.app.light .calTable td select{color:#172235;background:#fff;border-color:#b9c9da}.app.light .calTable .selectedCell select{color:#6b4d00;background:#fff9df}.app.light .decisionAnalytics .panel,.app.light .recommendationList article,.app.light .libraryCard,.app.light .sheetCompareList>div,.app.light .traceFlow>div{background:#fff;border-color:#274a7024}.app.light .recommendationList p,.app.light .chartLegend,.app.light .candidate span,.app.light .lossBars>div>span{color:#5d7086}.app.light .candidateChart line{stroke:#ccd8e4}.app.light .candidateChart text{fill:#4e637a}.app.light .lossBars>div>div{border-color:#cbd7e2}.app.light .lossBars b{color:#263b53}.app.light .reactFlowPanel{background:radial-gradient(circle at 50% 15%,rgba(47,128,255,.1),transparent 42%),linear-gradient(rgba(55,102,151,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(55,102,151,.07) 1px,transparent 1px),#f3f8fc;background-size:auto,36px 36px,36px 36px}.app.light .react-flow__minimap{background:#fff!important;border-color:#bdd0e2}.app.light .networkToolbar,.app.light .sheetToolbar,.app.light .groupToolbar{background:#f7fafdeb}.app.light .libraryHeader{background:radial-gradient(circle at 5% 0%,rgba(47,128,255,.12),transparent 35%),linear-gradient(135deg,#fff,#eef6fb);border-color:#2b70be2e}.app.light .libraryHeader h2,.app.light .libraryTrust b{color:#172235}.app.light .libraryTrust{background:#eaf8f2}.app.light .libraryTabs{background:#e8eff6}.app.light .libraryTabs button{color:#40566f;background:transparent}.app.light .libraryTabs button:hover{color:#13243a}.app.light .libraryTabs button.active{color:#113458;background:#fff;border-color:#9fbddb}.app.light .libraryReadOnly,.app.light .activeVersion{color:#087a55;background:#ebf8f2}.app.light .stagedResult,.app.light .approvalSteps span,.app.light .dataItem,.app.light .libraryTable td{color:#172235;background:#fff}.app.light .libraryTable tr:hover td{background:#edf6ff}.app.light .traceFormulaTable code{color:#075f8f}.app.light .vbaFlow article{background:#fff;border-color:#274a7024}.app.light .vbaFlow b{color:#172235}.app.light .vbaFlow em{color:#775300}.app.light .formulaValidation,.app.light .formulaDraftList article{background:#fff;border-color:#274a7024}.app.light .formulaDraftList code{color:#075f8f;background:#eef6fb;border-color:#c8d8e8}.app.light .formulaDraftList button.applied{color:#087a55;background:#eaf8f2;border-color:#9ddcc0}.app.light .feedbackItem{background:#fff;border-color:#274a7024}.app.light .feedbackMain p{color:#172235}.app.light .feedbackActions strong{color:#775300}.app.light .status.pass{color:#087a55;background:#e7f7ef;border-color:#9ddcc0}.app.light .status.warning{color:#805700;background:#fff3cf;border-color:#e9cd7d}.app.light .status.fail{color:#a51d2d;background:#fdebec;border-color:#efb2b9}.app.light .notice{color:#805700}.app.light .warning{color:#a13d14}.app.light .ok{color:#087a55}.workbench{grid-template-columns:300px minmax(640px,1fr) 320px;gap:16px;align-items:start}.workbench>.leftPanel{grid-column:1/2;grid-row:1/5;position:sticky;top:96px;max-height:none;overflow:visible;border-radius:18px}.workbench>.leftPanel .stepForm{grid-template-columns:1fr;padding:14px;gap:12px}.workbench>.leftPanel .cardHead{padding:14px 16px}.inputStep{padding:13px;border-radius:16px}.inputStep .field{margin-bottom:8px}.inputStep input,.inputStep select{min-height:36px;padding:8px 10px}.centerPanel{grid-column:2/3;display:grid;gap:16px}.workbench>.rightPanel{grid-column:3/4;position:sticky;top:96px;border-radius:18px}.workbenchSummary .cardHead{padding:11px 14px}.summaryStrip{display:grid;grid-template-columns:repeat(8,minmax(86px,1fr));gap:1px;padding:0 12px 12px;background:transparent}.summaryStrip .dataItem{padding:10px;border:1px solid rgba(132,176,226,.1);border-radius:8px;background:#ffffff06}.summaryStrip .dataItem span{font-size:9px}.summaryStrip .dataItem b{font-size:12px}.calWorkspaceTable{grid-column:2/-1;border-radius:18px}.calWorkspaceTable .cardHead{padding:12px 16px}.calWorkspaceTable .cardHead .tableActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.calTable{max-height:420px;border-radius:16px;background:#0b1727;scrollbar-color:rgba(132,176,226,.45) rgba(8,19,33,.42);scrollbar-width:thin}.calTable table{min-width:1840px;font-size:10px}.calTable th{min-width:56px;padding:8px 6px}.calTable td{padding:7px 6px}.calTable td input,.calTable td select{min-width:58px;max-width:88px;min-height:31px;padding:5px 7px;font-size:10px}.calTable td:nth-child(3) input,.calTable td:nth-child(4) input{min-width:76px}.calTable td:nth-child(8) select{min-width:92px}.calTable .selectedCell select{min-width:66px}.workbenchLossOverview{grid-column:2/-1;border-radius:18px}.engineeringComboChart{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;min-height:260px;padding:22px 24px 10px;align-items:end}.engineeringComboChart article{display:grid;grid-template-rows:20px 155px auto auto;gap:8px;text-align:center;min-width:0}.engineeringComboChart article>span{color:var(--muted);font-size:11px;font-weight:900}.engineeringComboChart article>div{display:flex;align-items:end;justify-content:center;gap:7px;border-bottom:1px solid rgba(132,176,226,.18)}.engineeringComboChart i{width:20px;min-height:5px;border-radius:5px 5px 0 0;box-shadow:0 0 14px #35e6cf24}.engineeringComboChart .powerLoss{background:linear-gradient(180deg,#35e6cf,#2f80ff)}.engineeringComboChart .energyLoss{background:linear-gradient(180deg,#9a85ff,#59cdb3);opacity:.65}.engineeringComboChart .voltageDrop{background:linear-gradient(180deg,#ffc354,#ff6877)}.engineeringComboChart b{font-size:12px;color:#ecf6ff}.engineeringComboChart small{color:var(--muted);font-size:10px}.engineeringLegend{border-top:1px solid var(--line);padding-top:11px}.lossLegend{background:#35e6cf}.energyLegend{background:#9a85ff}.workbench .decisionAnalytics{display:none}.workbenchChecks .cardHead{padding:12px 16px}.workbenchChecks .conditionGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:0 14px 14px}.workbenchChecks .condition{min-height:76px;padding:11px}.workbenchChecks .condition strong{font-size:15px}.workbenchChecks .condition span,.workbenchChecks .condition small{font-size:9px}.workbench .selectionRow,.workbenchSummary{display:none}.app.light .calTable{background:#f7fbff;scrollbar-color:rgba(64,103,148,.38) rgba(218,229,240,.7)}.app.light .engineeringComboChart b{color:#18324d}@media(max-width:1500px){.workbench{grid-template-columns:280px minmax(560px,1fr) 300px;gap:14px}.workbenchChecks .conditionGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.workbenchChecks .condition:nth-child(4),.workbenchChecks .condition:nth-child(5){grid-column:auto}.calTable table{min-width:1760px}}@media(max-width:1240px){.workbench{grid-template-columns:280px minmax(0,1fr)}.workbench>.leftPanel{grid-column:1/2;grid-row:1/4}.centerPanel{grid-column:2/-1}.workbench>.rightPanel{grid-column:2/-1;position:static;display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1fr);gap:14px}.calWorkspaceTable,.workbenchLossOverview{grid-column:1/-1}.workbenchChecks .conditionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.workbench{grid-template-columns:minmax(0,1fr)}.workbench>.leftPanel,.centerPanel,.workbench>.rightPanel,.calWorkspaceTable,.workbenchLossOverview{grid-column:1/-1;grid-row:auto;position:static}.workbench>.rightPanel{display:block}.workbenchChecks .conditionGrid{grid-template-columns:1fr}.calWorkspaceTable .cardHead .tableActions{justify-content:flex-start}.engineeringComboChart{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:16px}}.app.light .summaryStrip .dataItem,.app.light .engineeringComboChart article>div{background:#fff;border-color:#274a7021}.app.light .engineeringComboChart b{color:#172235}.app.light .overviewHero{background:radial-gradient(circle at 18% 25%,rgba(41,126,231,.16),transparent 31%),radial-gradient(circle at 84% 18%,rgba(25,190,166,.13),transparent 24%),linear-gradient(135deg,#fff,#edf6fc)}.app.light .overviewHero h2,.app.light .overviewOrbit b,.app.light .overviewDonut b,.app.light .overviewWatchList b{color:#172235}.app.light .overviewHero p,.app.light .overviewStatusStack small,.app.light .overviewFeederBars span,.app.light .overviewLossBars span,.app.light .overviewLossBars small,.app.light .overviewWatchList span,.app.light .overviewWatchList small{color:#5d7086}.app.light .overviewMeta span,.app.light .overviewKpis .kpi,.app.light .overviewWatchList article,.app.light .sectionCloud span{background:#fff;border-color:#274a7024;color:#172235}.app.light .overviewFeederBars div{background:#e3ebf3}.app.light .overviewFeederBars b{color:#172235}.app.light .overviewOrbit{background:radial-gradient(closest-side,#fff 68%,transparent 70%),conic-gradient(#1fbf7a calc(var(--pct)*1%),#eca41fd1 0 88%,#e14252db 0)}.app.light .overviewDonut{background:radial-gradient(closest-side,#fff 66%,transparent 68%),conic-gradient(#1fbf7a calc(var(--pass)/var(--total)*100%),#e7a724 0 calc((var(--pass) + var(--warning))/var(--total)*100%),#e04858 0)}@media(max-width:1000px){.overviewPage,.overviewVisualGrid{min-width:0}.overviewHero{grid-template-columns:1fr}.overviewKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overviewVisualGrid{grid-template-columns:1fr}.overviewChart.wide{grid-column:auto}}@media(max-width:640px){.overviewKpis{grid-template-columns:1fr}.overviewHero{padding:18px}.overviewHero h2{font-size:32px}.overviewOrbit{width:160px;height:160px}.overviewFeederBars article{grid-template-columns:70px minmax(0,1fr) 72px}.overviewLossBars{grid-template-columns:repeat(10,58px)}}.overviewKpiButton{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;border-radius:18px;cursor:pointer}.overviewKpiButton .kpi{height:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.overviewKpiButton:hover .kpi,.overviewKpiButton:focus-visible .kpi{transform:translateY(-2px);border-color:#35e6cf6b;box-shadow:0 18px 42px #0000003d,0 0 0 1px #35e6cf2e}.clickablePanel{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.clickablePanel:hover,.clickablePanel:focus-within{transform:translateY(-2px);border-color:#35e6cf59;box-shadow:0 20px 48px #00000042,0 0 0 1px #35e6cf1f}.clickableViz{border:0;color:inherit;cursor:pointer}.overviewOrbit.clickableViz:hover{filter:saturate(1.25);transform:scale(1.035)}.sectionCloud button,.overviewWatchList button{border:0;cursor:pointer;font:inherit;text-align:left}.sectionCloud button{--weight:1;--delay:0ms;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(76,153,255,.18);border-radius:999px;background:linear-gradient(135deg,#2f80ff21,#35e6cf0f);color:#e8f5ff;font-size:calc(11px * var(--weight));font-weight:900;animation:overviewRise .5s ease both;animation-delay:var(--delay);transition:transform .18s ease,border-color .18s ease}.sectionCloud button:hover{transform:translateY(-2px);border-color:#35e6cf6b}.sectionCloud button b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#ffffff17;font-size:10px}.overviewWatchList button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:12px;border:1px solid rgba(151,186,227,.1);border-radius:14px;background:#ffffff07;color:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease}.overviewWatchList button:hover{transform:translate(3px);border-color:#35e6cf59;background:#35e6cf0f}.overviewWatchList button b,.overviewWatchList button span,.overviewWatchList button small{display:block}.overviewWatchList button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f0f7ff;font-size:12px}.overviewWatchList button span,.overviewWatchList button small{color:var(--muted);font-size:10px}.overviewWatchList button small{grid-column:1/-1}.overviewDetailDialog{width:min(1080px,calc(100vw - 44px))!important}.overviewDetailDialog .close{position:absolute;top:18px;right:18px;width:42px;height:42px;padding:0;border-radius:50%!important}.overviewDetailTable{margin-top:16px;max-height:58vh;overflow:auto;border:1px solid rgba(145,186,232,.16);border-radius:18px}.overviewDetailTable table{width:100%;border-collapse:collapse;min-width:840px}.overviewDetailTable th,.overviewDetailTable td{padding:12px 14px;border-bottom:1px solid rgba(145,186,232,.12);font-size:12px;text-align:left}.overviewDetailTable th{position:sticky;top:0;z-index:1;background:#091828f5;color:#8ee8d6;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.overviewDetailTable td{color:#eaf4ff}.overviewDetailTable tr:hover td{background:#35e6cf0b}.app.light .sectionCloud button,.app.light .overviewWatchList button{background:#fff;color:#172235;border-color:#274a7024}.app.light .overviewWatchList button b,.app.light .overviewDetailTable td{color:#172235}.app.light .overviewDetailTable th{background:#eef6fc;color:#087f86}.app.light .overviewDetailTable tr:hover td{background:#eef8fb}.uiVariantPicker{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 9px;border:1px solid rgba(144,181,221,.14);border-radius:11px;background:linear-gradient(180deg,#ffffff0e,#ffffff05);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.uiVariantPicker select{width:132px;min-height:28px;padding:4px 8px;border-radius:8px!important;font-size:11px;font-weight:850;text-transform:none}.app.light .uiVariantPicker{color:#40546a;background:#ffffffc7;border-color:#274a7029}.uiVariantBar{position:sticky;top:78px;z-index:35;display:flex;gap:8px;align-items:center;margin:-6px 0 14px;padding:8px;border:1px solid rgba(144,181,221,.12);border-radius:14px;background:#060f1aa8;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);box-shadow:0 12px 26px #0000001a;overflow-x:auto}.uiVariantBar:before{content:"Chọn giao diện";flex:0 0 auto;margin:0 4px 0 2px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.uiVariantBar button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid rgba(144,181,221,.14);border-radius:10px;background:#ffffff09;color:#cfe1f6;font-size:12px;font-weight:850;white-space:nowrap}.uiVariantBar button span{display:grid;place-items:center;min-width:28px;height:22px;border-radius:7px;background:#2f80ff29;color:#78dfff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.uiVariantBar button.active{border-color:#35e6cf73;background:linear-gradient(135deg,#2f80ff40,#35e6cf21);color:#fff;box-shadow:0 0 0 1px #35e6cf14,0 10px 24px #2f80ff1f}.uiVariantBar button.active span{background:#35e6cf;color:#052034}.app.light .uiVariantBar{background:#ffffffdb;border-color:#274a7024;box-shadow:0 10px 24px #233e5b14}.app.light .uiVariantBar:before{color:#53677d}.app.light .uiVariantBar button{background:#f7fbff;color:#18324d;border-color:#cbd9e6}.app.light .uiVariantBar button span{background:#e4f0fc;color:#135f9f}.app.light .uiVariantBar button.active{background:linear-gradient(135deg,#e5f2ff,#defbf6);border-color:#55bfd2;color:#102033}.app.light .uiVariantBar button.active span{background:#138bd7;color:#fff}.app.ui-v1{--electric:#0967df;--aqua:#05a9bd;--success:#0b9b61;--warning:#f27a1a;--danger:#d43d4d;--purple:#6b5ee8;background:#f5f7fa;color:#172033}.app.ui-v1.dark{background:#101827;color:#e8eef7}.app.ui-v1 .sidebar{background:linear-gradient(180deg,#062c56,#022343);border-right-color:#ffffff21;box-shadow:none}.app.ui-v1.light .sidebar{background:linear-gradient(180deg,#f7fbff,#edf4fb);color:#172033;border-right-color:#d6e1ec}.app.ui-v1.light .suiteNav button,.app.ui-v1.light .brandMark strong{color:#172033}.app.ui-v1.light .brandMark span{color:#516479}.app.ui-v1 .suiteNav button,.app.ui-v1 .actions button,.app.ui-v1 .tableActions button,.app.ui-v1 input,.app.ui-v1 select{border-radius:5px!important}.app.ui-v1 .panel,.app.ui-v1 .projectBox{border-radius:7px;box-shadow:0 1px 3px #18314f1f}.app.ui-v1.light .panel,.app.ui-v1.light .projectBox{background:#fff;border-color:#dce3eb;color:#172033}.app.ui-v1.light .cardHead{background:#fbfcfe;border-color:#dce3eb}.app.ui-v1.light input,.app.ui-v1.light select,.app.ui-v1.light textarea{background:#fff!important;color:#172033!important;border-color:#cbd7e2!important}.app.ui-v1.light .calTable th{background:#244d7a;color:#fff}.app.ui-v1.light .calTable td{background:#fff!important;color:#172033}.app.ui-v1.light .calTable tbody tr:nth-child(2n) td{background:#f7fafe!important}.app.ui-v1.light .selectedRow td{background:#eaf3ff!important}.app.ui-v2{--electric:#2f7eff;--aqua:#17cbd2;--success:#39df8a;--warning:#ffb547;--danger:#ff6673;--purple:#8f7cff}.app.ui-v2 .panel{border-radius:18px;background:linear-gradient(180deg,#0f1d30f7,#091624fa)}.app.ui-v2 .sidebar{background:linear-gradient(180deg,#07101b,#0a1421)}.app.ui-v2.light{background:#f5f7fb;color:#172033}.app.ui-v2.light .panel,.app.ui-v2.light .projectBox{background:#fff;color:#172033;border-color:#dbe3ee}.app.ui-v2.light .cardHead{background:#f8fbff}.app.ui-v2.light .sidebar{background:#f8fbff;color:#172033}.app.ui-v2.light .suiteNav button{color:#263a4e}.app.ui-v3{--electric:#00e5ff;--aqua:#3b82f6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--purple:#adc6ff;background:#020617;color:#f8fafc}.app.ui-v3 body:before,.app.ui-v3:before{opacity:.38}.app.ui-v3 .sidebar{background:#0b1120;border-right-color:#1e293b}.app.ui-v3 .panel,.app.ui-v3 .projectBox{border-radius:4px;background:#0f172a;border-color:#1e293b;box-shadow:none}.app.ui-v3 .cardHead{background:#0b1120;border-color:#1e293b}.app.ui-v3 .suiteNav button,.app.ui-v3 .actions button,.app.ui-v3 .tableActions button,.app.ui-v3 input,.app.ui-v3 select,.app.ui-v3 textarea{border-radius:4px!important}.app.ui-v3 .suiteNav button.active{box-shadow:inset 3px 0 #00e5ff;background:#00e5ff14}.app.ui-v3.light{background:#eef6f8;color:#102033}.app.ui-v3.light .sidebar,.app.ui-v3.light .panel,.app.ui-v3.light .projectBox{background:#fff;color:#102033;border-color:#c8d7e2}.app.ui-v3.light .cardHead{background:#f2f8fb}.app.ui-v3.light .suiteNav button,.app.ui-v3.light .brandMark strong{color:#102033}.app.ui-v3.light input,.app.ui-v3.light select,.app.ui-v3.light textarea{background:#fff!important;color:#102033!important;border-color:#aebfcd!important}.app.ui-v3.light .calTable th{background:#113b5c;color:#fff}.app.ui-v3.light .calTable td{color:#102033;background:#fff!important}.app.ui-v4{--electric:#2388ff;--aqua:#2bd3df;--success:#58c96a;--warning:#f1b832;--danger:#ee5e67;--purple:#8aa3ff;background:#06101b;color:#eaf2fa}.app.ui-v4{grid-template-columns:232px minmax(0,1fr)}.app.ui-v4.sidebarCollapsed{grid-template-columns:0 minmax(0,1fr)}.app.ui-v4 .workspace{padding:0}.app.ui-v4 .screen{padding:12px 14px 26px}.app.ui-v4 .topbar{min-height:66px;margin:0;padding:10px 16px}.app.ui-v4 .panel,.app.ui-v4 .projectBox{border-radius:10px;box-shadow:0 10px 30px #00000038}.app.ui-v4 .cardHead{min-height:48px;padding:10px 13px}.app.ui-v4 .workbench{grid-template-columns:262px minmax(540px,1fr) 292px;gap:10px}.app.ui-v4 .inputStep{padding:10px;border-radius:7px}.app.ui-v4 .calTable{max-height:460px}.app.ui-v4 .calTable th,.app.ui-v4 .calTable td{height:36px;padding:5px 6px}.app.ui-v4 .actions button,.app.ui-v4 .tableActions button,.app.ui-v4 input,.app.ui-v4 select{border-radius:6px!important}.app.ui-v4.light{background:#eef3f7;color:#172536}.app.ui-v4.light .sidebar,.app.ui-v4.light .panel,.app.ui-v4.light .projectBox{background:#fff;color:#172536;border-color:#cbd7e2}.app.ui-v4.light .topbar{background:#fffffff5}.app.ui-v4.light .cardHead{background:#f7f9fb}.app.ui-v4.light input,.app.ui-v4.light select,.app.ui-v4.light textarea{background:#fff!important;color:#172536!important;border-color:#b9c8d6!important}.app.ui-v4.light .calTable th{background:#244a6c;color:#f6fbff}.app.ui-v4.light .calTable td{background:#fff!important;color:#1c2d3e}.app.ui-v5 .uiVariantPicker{box-shadow:inset 0 1px #ffffff09}@media(max-width:1440px){.uiVariantPicker{padding:0 7px}.uiVariantPicker span{display:none}.uiVariantPicker select{width:112px}.app.ui-v4 .workbench{grid-template-columns:250px minmax(500px,1fr) 270px}}@media(max-width:1180px){.app.ui-v4 .workbench,.app.ui-v1 .workbench,.app.ui-v2 .workbench,.app.ui-v3 .workbench{grid-template-columns:260px minmax(0,1fr)}.app.ui-v4 .workbench>.rightPanel,.app.ui-v1 .workbench>.rightPanel,.app.ui-v2 .workbench>.rightPanel,.app.ui-v3 .workbench>.rightPanel{grid-column:2;position:static}.app.ui-v4 .calWorkspaceTable,.app.ui-v4 .workbenchLossOverview,.app.ui-v1 .calWorkspaceTable,.app.ui-v1 .workbenchLossOverview,.app.ui-v2 .calWorkspaceTable,.app.ui-v2 .workbenchLossOverview,.app.ui-v3 .calWorkspaceTable,.app.ui-v3 .workbenchLossOverview{grid-column:1/-1}}@media(max-width:900px){.uiVariantPicker{width:100%;justify-content:space-between}.uiVariantPicker span{display:inline}.uiVariantPicker select{width:min(180px,55vw)}.uiVariantBar{position:relative;top:auto;margin:0 0 10px}.uiVariantBar:before{display:none}.app.ui-v4 .workbench,.app.ui-v1 .workbench,.app.ui-v2 .workbench,.app.ui-v3 .workbench{grid-template-columns:1fr}.app.ui-v4 .workbench>.leftPanel,.app.ui-v4 .centerPanel,.app.ui-v4 .workbench>.rightPanel,.app.ui-v1 .workbench>.leftPanel,.app.ui-v1 .centerPanel,.app.ui-v1 .workbench>.rightPanel,.app.ui-v2 .workbench>.leftPanel,.app.ui-v2 .centerPanel,.app.ui-v2 .workbench>.rightPanel,.app.ui-v3 .workbench>.leftPanel,.app.ui-v3 .centerPanel,.app.ui-v3 .workbench>.rightPanel{grid-column:1/-1;position:static}}.app[class*=ui-v] .uiVariantBar button{transition:transform .16s ease,background .16s ease,border-color .16s ease}.app[class*=ui-v] .uiVariantBar button:hover{transform:translateY(-1px)}.app.suite.ui-v1{grid-template-columns:260px minmax(0,1fr);background:#f3f6fa!important;color:#182235!important}.app.suite.ui-v1.dark{background:#162030!important;color:#eef5ff!important}.app.suite.ui-v1 .workspace{padding:0 18px 22px}.app.suite.ui-v1 .topbar{min-height:76px;margin:0 -18px 14px;padding:12px 22px;background:#fff;border-bottom:1px solid #dbe4ee;box-shadow:0 1px #1e37530a}.app.suite.ui-v1.dark .topbar{background:#111d2c;border-color:#26384d}.app.suite.ui-v1 .topbar h1{background:none;color:#172033;-webkit-text-fill-color:#172033;font-size:24px}.app.suite.ui-v1.dark .topbar h1{color:#f3f8ff;-webkit-text-fill-color:#f3f8ff}.app.suite.ui-v1 .topbar p{color:#627188}.app.suite.ui-v1.dark .topbar p{color:#aabbd0}.app.suite.ui-v1 .sidebar{width:260px;min-width:260px;max-width:260px;background:linear-gradient(180deg,#05376d,#06264a)!important;color:#fff;box-shadow:none}.app.suite.ui-v1.light .sidebar{background:linear-gradient(180deg,#063d78,#072d58)!important;color:#fff}.app.suite.ui-v1 .brandMark strong,.app.suite.ui-v1 .brandMark span,.app.suite.ui-v1 .suiteNav button{color:#fff}.app.suite.ui-v1 .suiteNav button.active{background:#0759b6;border-color:#1672d6;box-shadow:none}.app.suite.ui-v1 .suiteNav button:before{display:none}.app.suite.ui-v1 .uiVariantBar{top:76px;background:#fff;border-color:#dbe4ee;border-radius:8px}.app.suite.ui-v1.dark .uiVariantBar{background:#111d2c;border-color:#26384d}.app.suite.ui-v1 .uiVariantBar button{border-radius:5px;background:#f6f9fd;color:#26384d}.app.suite.ui-v1.dark .uiVariantBar button{background:#172538;color:#dce9f8}.app.suite.ui-v1 .uiVariantBar button.active{background:#0967df;color:#fff;border-color:#0967df}.app.suite.ui-v1 .uiVariantBar button.active span{background:#fff;color:#0967df}.app.suite.ui-v1 .workbench{grid-template-columns:305px minmax(620px,1fr) 310px!important;gap:12px}.app.suite.ui-v1 .panel,.app.suite.ui-v1 .projectBox{border-radius:8px!important;background:#fff!important;color:#172033!important;border-color:#dbe4ee!important;box-shadow:0 2px 9px #18314f14!important}.app.suite.ui-v1.dark .panel,.app.suite.ui-v1.dark .projectBox{background:#111d2c!important;color:#eef5ff!important;border-color:#26384d!important}.app.suite.ui-v1 .cardHead{background:#fbfcfe!important;border-color:#dbe4ee!important}.app.suite.ui-v1.dark .cardHead{background:#142235!important;border-color:#26384d!important}.app.suite.ui-v1 .cardHead h2,.app.suite.ui-v1 h3,.app.suite.ui-v1 b,.app.suite.ui-v1 strong{color:#172033}.app.suite.ui-v1.dark .cardHead h2,.app.suite.ui-v1.dark h3,.app.suite.ui-v1.dark b,.app.suite.ui-v1.dark strong{color:#eef5ff}.app.suite.ui-v1 .inputStep{background:#fff!important;border-color:#dbe4ee!important;border-radius:8px!important}.app.suite.ui-v1.dark .inputStep{background:#142235!important;border-color:#26384d!important}.app.suite.ui-v1 input,.app.suite.ui-v1 select,.app.suite.ui-v1 textarea{background:#fff!important;color:#172033!important;border-color:#ccd7e4!important;border-radius:5px!important}.app.suite.ui-v1.dark input,.app.suite.ui-v1.dark select,.app.suite.ui-v1.dark textarea{background:#0c1726!important;color:#eef5ff!important;border-color:#2e4056!important}.app.suite.ui-v1 .calWorkspaceTable{grid-column:2/-1!important}.app.suite.ui-v1 .calTable{background:#eef3f8!important;border-radius:7px!important}.app.suite.ui-v1 .calTable th{background:#244d7a!important;color:#fff!important}.app.suite.ui-v1 .calTable td{background:#fff!important;color:#172033!important;border-color:#e1e8f0!important}.app.suite.ui-v1.dark .calTable td{background:#102035!important;color:#eef5ff!important;border-color:#26384d!important}.app.suite.ui-v1 .workbenchLossOverview{grid-column:2/-1!important}.app.suite.ui-v2{grid-template-columns:92px minmax(0,1fr);background:radial-gradient(circle at 20% 0%,rgba(0,194,255,.1),transparent 30%),#061522!important;color:#eef7ff!important}.app.suite.ui-v2.light{background:#eef6fb!important;color:#12233a!important}.app.suite.ui-v2 .sidebar{width:92px;min-width:92px;max-width:92px;padding:18px 10px;background:linear-gradient(180deg,#08243a,#061522)!important;box-shadow:inset -1px 0 #16324a}.app.suite.ui-v2.light .sidebar{background:linear-gradient(180deg,#e9f4fb,#d9ebf8)!important}.app.suite.ui-v2 .brandMark{justify-content:center}.app.suite.ui-v2 .brandMark>div:last-child,.app.suite.ui-v2 .suiteNav span,.app.suite.ui-v2 .suiteNav button>svg:last-child,.app.suite.ui-v2 .projectBox{display:none!important}.app.suite.ui-v2 .logo{width:54px;height:54px;border-radius:14px}.app.suite.ui-v2 .suiteNav{gap:13px}.app.suite.ui-v2 .suiteNav button{justify-content:center;min-height:58px;padding:0;border-radius:12px}.app.suite.ui-v2 .suiteNav button svg:first-child{width:24px;height:24px}.app.suite.ui-v2 .suiteNav button.active{background:linear-gradient(180deg,#0f4167,#0a2c48);box-shadow:inset 0 0 0 1px #245f84,0 12px 28px #00000038}.app.suite.ui-v2 .workspace{padding:0 12px 14px}.app.suite.ui-v2 .topbar{min-height:78px;margin:0 -12px 10px;background:linear-gradient(180deg,#071a2a,#061522)!important;border-bottom:1px solid #1e3e58}.app.suite.ui-v2.light .topbar{background:#f8fcff!important;border-color:#c9dbe8}.app.suite.ui-v2 .topbar h1{text-transform:uppercase;letter-spacing:.03em;font-size:22px}.app.suite.ui-v2 .uiVariantBar{top:78px;border-radius:4px;background:#081b2b;border-color:#1e3e58}.app.suite.ui-v2.light .uiVariantBar{background:#fff;border-color:#c9dbe8}.app.suite.ui-v2 .workbench{grid-template-columns:330px minmax(720px,1fr) 360px!important;gap:10px}.app.suite.ui-v2 .panel{border-radius:6px!important;background:linear-gradient(180deg,#0d2639,#0a1c2b)!important;border-color:#1f405a!important;box-shadow:inset 0 1px #ffffff08!important}.app.suite.ui-v2.light .panel{background:#fff!important;color:#12233a!important;border-color:#cddcea!important;box-shadow:0 8px 22px #27456314!important}.app.suite.ui-v2 .leftPanel{grid-row:1/4}.app.suite.ui-v2 .rightPanel{grid-column:3/4;grid-row:1/4}.app.suite.ui-v2 .calWorkspaceTable,.app.suite.ui-v2 .workbenchLossOverview{grid-column:2/3!important}.app.suite.ui-v2 .workbenchChecks .conditionGrid{grid-template-columns:repeat(5,1fr)}.app.suite.ui-v2 .condition{border-radius:6px;background:#0b2133}.app.suite.ui-v2 .rightPanel .hero{border-radius:6px;background:linear-gradient(135deg,#082d33,#0c3a2c)}.app.suite.ui-v2 .rightPanel .hero .size{font-size:54px}.app.suite.ui-v2 .calTable th{background:#102f47!important;color:#dcecfb!important;text-transform:uppercase}.app.suite.ui-v2 .calTable td{background:#0b2031!important;color:#e7f3ff!important}.app.suite.ui-v2.light .calTable td{background:#fff!important;color:#12233a!important}.app.suite.ui-v3{grid-template-columns:286px minmax(0,1fr);background:#090f1d!important;color:#dae2fd!important}.app.suite.ui-v3:after{content:"";position:fixed;inset:0;z-index:-1;background-image:radial-gradient(rgba(0,229,255,.26) 1px,transparent 1px);background-size:18px 18px;opacity:.28;pointer-events:none}.app.suite.ui-v3.light{background:#edf6f8!important;color:#102033!important}.app.suite.ui-v3 .sidebar{width:286px;min-width:286px;max-width:286px;background:#060e20!important;border-right:1px solid #24334b;box-shadow:none}.app.suite.ui-v3.light .sidebar{background:#f6fbfd!important;border-color:#c6d6df}.app.suite.ui-v3 .logo{border-radius:2px}.app.suite.ui-v3 .suiteNav button{border-radius:2px!important;text-transform:none}.app.suite.ui-v3 .suiteNav button.active{background:#222a3d;box-shadow:inset 4px 0 #00e5ff;border-color:#334155}.app.suite.ui-v3.light .suiteNav button.active{background:#dff3fa;border-color:#9cc9d8}.app.suite.ui-v3 .topbar{min-height:58px;background:#0b1326!important;border:1px solid #28364d;margin:8px;padding:8px 10px}.app.suite.ui-v3.light .topbar{background:#fff!important;border-color:#c6d6df}.app.suite.ui-v3 .topbar h1{font-size:16px;text-transform:uppercase;letter-spacing:.04em}.app.suite.ui-v3 .uiVariantBar{top:74px;margin:0 8px 8px;border-radius:0;background:#0b1326;border-color:#28364d}.app.suite.ui-v3.light .uiVariantBar{background:#fff;border-color:#c6d6df}.app.suite.ui-v3 .screen{padding:0 8px 16px}.app.suite.ui-v3 .workbench{grid-template-columns:270px minmax(560px,1fr) 352px!important;gap:8px}.app.suite.ui-v3 .panel,.app.suite.ui-v3 .projectBox{border-radius:2px!important;background:#0f172a!important;border-color:#26364f!important;box-shadow:none!important}.app.suite.ui-v3.light .panel,.app.suite.ui-v3.light .projectBox{background:#fff!important;color:#102033!important;border-color:#c6d6df!important}.app.suite.ui-v3 .cardHead{min-height:42px;background:#0b1120!important;border-color:#26364f!important}.app.suite.ui-v3.light .cardHead{background:#edf6f8!important;border-color:#c6d6df!important}.app.suite.ui-v3 .inputStep,.app.suite.ui-v3 .condition,.app.suite.ui-v3 .metric,.app.suite.ui-v3 .dataItem{border-radius:2px!important;background:#111a2e!important}.app.suite.ui-v3.light .inputStep,.app.suite.ui-v3.light .condition,.app.suite.ui-v3.light .metric,.app.suite.ui-v3.light .dataItem{background:#f8fbfd!important;color:#102033!important}.app.suite.ui-v3 input,.app.suite.ui-v3 select,.app.suite.ui-v3 textarea{border-radius:2px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.app.suite.ui-v3 .workbenchChecks .conditionGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.app.suite.ui-v3 .calWorkspaceTable,.app.suite.ui-v3 .workbenchLossOverview{grid-column:1/-1!important}.app.suite.ui-v3 .calTable{max-height:360px;border-radius:0}.app.suite.ui-v3 .calTable table{min-width:1720px}.app.suite.ui-v3 .calTable th{height:30px;background:#0b1120!important;color:#94a3b8!important}.app.suite.ui-v3 .calTable td{height:30px;background:#0d1728!important;color:#f8fafc!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.app.suite.ui-v3.light .calTable td{background:#fff!important;color:#102033!important}.app.suite.ui-v4{grid-template-columns:220px minmax(0,1fr);background:#06101b!important;color:#eaf2fa!important}.app.suite.ui-v4.light{background:#eef3f7!important;color:#172536!important}.app.suite.ui-v4 .sidebar{width:220px;min-width:220px;max-width:220px;padding:12px 8px;background:#071421!important}.app.suite.ui-v4.light .sidebar{background:#f8fafc!important}.app.suite.ui-v4 .brandMark strong{font-size:14px}.app.suite.ui-v4 .brandMark span{font-size:9px}.app.suite.ui-v4 .suiteNav button{min-height:40px;border-radius:6px!important;font-size:12px}.app.suite.ui-v4 .topbar{min-height:54px;padding:7px 12px;background:#06101b!important;border-bottom:1px solid #203449}.app.suite.ui-v4.light .topbar{background:#fff!important;border-color:#cbd7e2}.app.suite.ui-v4 .topbar h1{font-size:15px}.app.suite.ui-v4 .projectName input{min-height:28px}.app.suite.ui-v4 .actions button,.app.suite.ui-v4 .uiVariantPicker{min-height:30px}.app.suite.ui-v4 .uiVariantBar{top:54px;margin:0 0 8px;padding:5px;border-radius:6px}.app.suite.ui-v4 .uiVariantBar button{min-height:28px;border-radius:4px;font-size:11px}.app.suite.ui-v4 .uiVariantBar button span{height:18px;min-width:24px}.app.suite.ui-v4 .screen{padding:8px 10px 14px}.app.suite.ui-v4 .workbench{grid-template-columns:252px minmax(0,1fr) 282px!important;gap:8px}.app.suite.ui-v4 .panel,.app.suite.ui-v4 .projectBox{border-radius:6px!important;background:#0b1826!important;border-color:#203449!important;box-shadow:0 8px 22px #0000002e!important}.app.suite.ui-v4.light .panel,.app.suite.ui-v4.light .projectBox{background:#fff!important;color:#172536!important;border-color:#cbd7e2!important}.app.suite.ui-v4 .cardHead{min-height:40px;padding:8px 10px}.app.suite.ui-v4 .cardHead h2{font-size:11px;text-transform:uppercase}.app.suite.ui-v4 .leftPanel .stepForm{padding:8px;gap:7px}.app.suite.ui-v4 .inputStep{padding:8px;border-radius:5px!important}.app.suite.ui-v4 .inputStep input,.app.suite.ui-v4 .inputStep select{min-height:28px}.app.suite.ui-v4 .workbenchChecks .conditionGrid{grid-template-columns:repeat(5,minmax(0,1fr));padding:7px;gap:5px}.app.suite.ui-v4 .condition{min-height:58px;padding:7px;border-radius:5px}.app.suite.ui-v4 .condition strong{font-size:12px}.app.suite.ui-v4 .rightPanel .hero .size{font-size:38px}.app.suite.ui-v4 .calWorkspaceTable,.app.suite.ui-v4 .workbenchLossOverview{grid-column:2/-1!important}.app.suite.ui-v4 .calTable{max-height:500px;border-radius:0}.app.suite.ui-v4 .calTable table{min-width:1680px;font-size:9px}.app.suite.ui-v4 .calTable th{height:28px;padding:4px 5px;background:#102337!important}.app.suite.ui-v4 .calTable td{height:28px;padding:3px 5px;background:#091724!important}.app.suite.ui-v4.light .calTable td{background:#fff!important;color:#172536!important}.app.suite.ui-v4 .engineeringComboChart{min-height:190px;padding:12px}.app.suite.ui-v4 .engineeringComboChart article{grid-template-rows:16px 100px auto auto}.app.suite button,.app.suite .status,.app.suite input,.app.suite select,.app.suite textarea{font-family:inherit}.app.suite button{border-radius:999px!important;border-width:1px;line-height:1;min-width:0}.app.suite .actions button,.app.suite .tableActions button,.app.suite .sectionHeader button,.app.suite .settingsTabs button,.app.suite .libraryTabs button,.app.suite .projectActions button,.app.suite .logoutButton,.app.suite .columnPresets button,.app.suite .sheetToolbar button,.app.suite .formulaActions button,.app.suite .feedbackActions button,.app.suite .dialog>.actions button,.app.suite .dialog>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px!important;border-color:#7faee238!important;background:linear-gradient(180deg,#ffffff17,#ffffff09)!important;color:#edf7ff!important;box-shadow:0 10px 24px #0000001f,inset 0 1px #ffffff0f;white-space:nowrap}.app.suite .actions button:hover,.app.suite .tableActions button:hover,.app.suite .sectionHeader button:hover,.app.suite .settingsTabs button:hover,.app.suite .libraryTabs button:hover,.app.suite .projectActions button:hover,.app.suite .logoutButton:hover{transform:translateY(-1px);border-color:#36d6e273!important;background:linear-gradient(180deg,#3089ff2e,#28dccb14)!important;color:#fff!important}.app.suite button.primary,.app.suite .actions .primary,.app.suite .tableActions .primary,.app.suite .dialog .primary{border-color:transparent!important;background:linear-gradient(135deg,#207bff,#16b8ea 52%,#22d6c7)!important;color:#fff!important;box-shadow:0 14px 30px #1870ff47}.app.suite .projectActions button.danger{background:linear-gradient(180deg,#ff60741c,#ff60740b)!important;color:#ffd2d7!important;border-color:#ff6b8052!important}.app.suite .projectActions button.danger:hover{background:linear-gradient(180deg,#ff607433,#ff607414)!important}.app.suite .logoutButton{margin-top:10px;background:linear-gradient(135deg,#ffffff14,#ff93781a)!important;color:#ffd7c9!important;border-color:#ffb5a03d!important}.app.suite .logoutButton:hover{background:linear-gradient(135deg,#ff8b7533,#ffc27b1a)!important;color:#fff!important}.app.suite .panel,.app.suite .projectBox,.app.suite .libraryHeader,.app.suite .supabaseStatus,.app.suite .settingsTabs,.app.suite .libraryTabs{border-width:1px!important;border-color:#7eabdc24!important;box-shadow:0 18px 46px #00000024,inset 0 1px #ffffff09}.app.suite .panel{border-radius:22px!important}.app.suite .cardHead{border-color:#7eabdc1a!important}.app.suite .inputStep,.app.suite .condition,.app.suite .metric,.app.suite .dataItem,.app.suite .libraryCard,.app.suite .feedbackItem,.app.suite .formulaDraftList article,.app.suite .formulaValidation{border-radius:16px!important;border-color:#7eabdc1f!important}.app.suite input,.app.suite select,.app.suite textarea{border-radius:14px!important;border-color:#7eabdc2e!important;background:#030e19b8!important;color:#edf7ff!important;box-shadow:inset 0 1px 4px #0000002e}.app.suite input::placeholder,.app.suite textarea::placeholder{color:#92a7bd!important}.app.suite input:focus,.app.suite select:focus,.app.suite textarea:focus{outline:none;border-color:#3da6ffb3!important;box-shadow:0 0 0 4px #2f80ff29,inset 0 1px 4px #00000024}.app.suite .settingsTabs,.app.suite .libraryTabs{display:flex;gap:8px;width:100%;padding:8px;border-radius:18px!important;background:#ffffff09!important;overflow-x:auto}.app.suite .settingsTabs button,.app.suite .libraryTabs button{min-height:42px;padding:0 14px;font-size:13px;color:#d7e8fb!important}.app.suite .settingsTabs button.active,.app.suite .libraryTabs button.active{background:linear-gradient(135deg,#227dff47,#24dac629)!important;border-color:#39e0d56b!important;color:#fff!important}.app.suite .modalShade{align-items:center;justify-content:center;padding:24px;background:#02080fa3!important;-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%)}.app.suite .dialog{position:relative;width:min(860px,calc(100vw - 48px));border-radius:26px!important;padding:26px 28px!important;border-color:#92bef029!important;background:linear-gradient(180deg,#102136fa,#081423fc)!important;color:#edf7ff!important;box-shadow:0 32px 90px #00000075,inset 0 1px #ffffff0d}.app.suite .dialog h2{margin-right:48px;color:#f7fbff!important}.app.suite .dialog p,.app.suite .dialog label{color:#b9cce2!important}.app.suite .dialog textarea{min-height:160px;border-radius:18px!important;background:#040f1bdb!important;color:#edf7ff!important}.app.suite .close{position:sticky;top:0;float:right;width:42px;height:42px;padding:0!important;border-radius:50%!important;background:#ffffff14!important;color:#e9f6ff!important;border:1px solid rgba(146,190,240,.18)!important;box-shadow:0 12px 25px #0000002e}.app.suite .close svg{width:22px;height:22px}.app.suite .close:hover{background:#ff637d29!important;color:#fff!important;border-color:#ff758b59!important}.app.suite .traceDrawer{border-radius:28px 0 0 28px!important;border-left:1px solid rgba(146,190,240,.16)!important;background:linear-gradient(180deg,#102136fb,#081423fe)!important;color:#edf7ff!important}.app.suite .traceDrawer .formula{border-color:#92bef01f}.app.suite .tableActions button{min-height:34px;padding:0 13px;font-size:12px}.app.suite .calTable th{border-color:#92bef01f!important}.app.suite .calTable td{border-color:#92bef014!important}.app.suite .calTable td input,.app.suite .calTable td select{border-radius:10px!important}.app.suite.light .actions button,.app.suite.light .tableActions button,.app.suite.light .sectionHeader button,.app.suite.light .settingsTabs button,.app.suite.light .libraryTabs button,.app.suite.light .projectActions button,.app.suite.light .logoutButton,.app.suite.light .columnPresets button,.app.suite.light .sheetToolbar button,.app.suite.light .formulaActions button,.app.suite.light .feedbackActions button,.app.suite.light .dialog>.actions button,.app.suite.light .dialog>button{background:linear-gradient(180deg,#fff,#f3f7fb)!important;color:#1c3148!important;border-color:#375b802e!important;box-shadow:0 10px 24px #25436214,inset 0 1px #fffc}.app.suite.light button.primary,.app.suite.light .actions .primary,.app.suite.light .tableActions .primary,.app.suite.light .dialog .primary{color:#fff!important;background:linear-gradient(135deg,#176bdb,#168ed8 52%,#0ca6a8)!important}.app.suite.light .projectActions button.danger{color:#a51d2d!important;background:#fff1f3!important;border-color:#efb2b9!important}.app.suite.light .logoutButton{color:#a04a28!important;background:linear-gradient(180deg,#fff7f2,#fff1e9)!important;border-color:#f0c3af!important}.app.suite.light .panel,.app.suite.light .projectBox,.app.suite.light .libraryHeader,.app.suite.light .supabaseStatus,.app.suite.light .settingsTabs,.app.suite.light .libraryTabs{border-color:#36597e21!important;box-shadow:0 18px 42px #26425f14,inset 0 1px #ffffffbf}.app.suite.light input,.app.suite.light select,.app.suite.light textarea{background:#fff!important;color:#172235!important;border-color:#36597e33!important;box-shadow:inset 0 1px 2px #2543620a}.app.suite.light input::placeholder,.app.suite.light textarea::placeholder{color:#8191a4!important}.app.suite.light .dialog{background:linear-gradient(180deg,#fff,#f7fbff)!important;color:#172235!important;border-color:#36597e29!important;box-shadow:0 32px 80px #233e5b40,inset 0 1px #ffffffe6}.app.suite.light .dialog h2{color:#172235!important}.app.suite.light .dialog p,.app.suite.light .dialog label{color:#52677f!important}.app.suite.light .dialog textarea{background:#fff!important;color:#172235!important}.app.suite.light .close{background:#fff!important;color:#19334e!important;border-color:#36597e2e!important}.app.suite .sidebarToggle{left:calc(var(--sidebar-width,272px) - 18px)!important;top:50%!important;width:34px;height:72px;border-radius:999px!important;opacity:0;pointer-events:none;transform:translate(-8px,-50%) scale(.96)!important;background:#142a406b!important;color:#cde2f5!important;border-color:#84b0e233!important;box-shadow:0 14px 34px #00000038;-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);transition:left .28s ease,opacity .16s ease,transform .18s ease,background .18s ease}.app.suite .sidebar:hover+.sidebarToggle,.app.suite .sidebarToggle:hover,.app.suite.sidebarCollapsed .sidebarToggle,.app.suite:has(.sidebarToggle:focus-visible) .sidebarToggle{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)!important}.app.suite .sidebarToggle:hover{background:#2387b48a!important;color:#fff!important}.app.suite.sidebarCollapsed .sidebarToggle{left:8px!important;opacity:0;pointer-events:none;transform:translate(-8px,-50%) scale(.96)!important}.app.suite.sidebarCollapsed:hover .sidebarToggle,.app.suite.sidebarCollapsed .sidebarToggle:hover,.app.suite.sidebarCollapsed:has(.sidebarToggle:focus-visible) .sidebarToggle{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)!important}.app.suite.light .sidebarToggle{background:#ffffff9e!important;color:#31526f!important;border-color:#36597e2e!important;box-shadow:0 14px 32px #233e5b24}.app.suite.light .sidebarToggle:hover{background:#ddf2fce6!important;color:#0d4f8c!important}.app.suite.ui-v1{--sidebar-width:260px}.app.suite.ui-v2{--sidebar-width:92px}.app.suite.ui-v3{--sidebar-width:286px}.app.suite.ui-v4{--sidebar-width:220px}.app.suite.ui-v5{--sidebar-width:272px}.login-shell{--login-blue:#41d7ff;--login-orange:#ff8a3d;position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);width:100%;height:100vh;min-height:620px;overflow:hidden;color:#d8edf5;background:radial-gradient(circle at 24% 58%,#0a2d43 0,transparent 38%),linear-gradient(120deg,#020914,#051522 57%,#07131d);font-family:Inter,Segoe UI,sans-serif}.login-shell *{box-sizing:border-box}.blueprint-grid{position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:linear-gradient(rgba(75,180,218,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(75,180,218,.16) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 78%);mask-image:linear-gradient(90deg,#000 0%,transparent 78%);animation:login-grid 18s linear infinite}.login-topbar{position:absolute;z-index:10;top:0;left:0;right:0;height:82px;display:flex;align-items:center;padding:0 3.5vw;border-bottom:1px solid #12384a;background:#03101bc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#03131e;background:var(--login-blue);box-shadow:0 0 22px #24cfff55}.login-brand-copy{display:flex;flex-direction:column;margin-left:12px;letter-spacing:.08em}.login-brand-copy strong{font-size:14px}.login-brand-copy span{font:8px monospace;color:#6d9aaa;letter-spacing:.2em}.system-status{margin-left:auto;display:flex;align-items:center;gap:8px;color:#76a0af;font:10px monospace}.system-status span{width:7px;height:7px;border-radius:50%;background:#51e29a;box-shadow:0 0 9px #51e29a}.visual-panel{position:relative;z-index:1;min-width:0;padding:clamp(110px,13vh,142px) 4vw 16px}.visual-panel h1{margin:10px 0 12px;color:#e8f8ff;font-size:clamp(38px,min(4vw,6.5vh),66px);line-height:1.03;letter-spacing:0}.visual-panel h1 em{color:var(--login-blue);font-style:normal}.visual-panel>p{max-width:670px;margin:0;color:#779ba9;font-size:13px;line-height:1.6}.cable-stage{position:relative;width:min(690px,100%);max-height:47vh;margin-top:-8px}.cable-stage>svg{display:block;width:100%;height:min(430px,47vh);overflow:visible;filter:drop-shadow(0 22px 30px #000b)}.cable-core{transform-box:fill-box;transform-origin:center;animation:login-float 3.5s ease-in-out infinite}.core-pulse{transform-box:fill-box;transform-origin:center;animation:login-pulse 2.2s ease-out infinite}.energy-streak{stroke-dasharray:12 13;animation:login-energy 1.4s linear infinite}.scan-line{position:absolute;z-index:2;left:12%;right:12%;top:18%;height:1px;background:linear-gradient(90deg,transparent,#55ddff,transparent);box-shadow:0 0 14px #42d7ff;animation:login-scan 4s ease-in-out infinite}.spec-chip{position:absolute;display:flex;gap:8px;align-items:baseline;padding:7px 10px;border:1px solid #1e536a;background:#061a28d9;color:#7caabd;font:10px monospace}.spec-chip strong{color:#d7f5ff}.chip-one{left:7%;top:25%}.chip-two{right:7%;bottom:19%}.login-panel{position:relative;z-index:2;display:grid;place-items:center;padding:96px 3vw 42px;border-left:1px solid #174056;background:#06131ddd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card{position:relative;width:min(430px,100%);padding:clamp(25px,3vw,43px);border:1px solid #1b4254;background:#081b28e8;box-shadow:0 28px 80px #0007}.login-card:before{content:"";position:absolute;left:-1px;top:24px;width:3px;height:72px;background:var(--login-blue);box-shadow:0 0 15px var(--login-blue)}.card-badge{display:flex;align-items:center;gap:8px;color:#6fdfff;font:9px monospace;letter-spacing:.15em}.login-card h2{margin:17px 0 7px;color:#effaff;font-size:34px;letter-spacing:0}.login-card>p{margin:0 0 26px;color:#789aa8;font-size:13px}.login-card form>label,.password-row label{display:block;color:#a6c0ca;font-size:11px;font-weight:650;margin-bottom:8px}.login-input-wrap{display:flex;align-items:center;gap:10px;height:51px;padding:0 13px;border:1px solid #285063;background:#06141e;color:#5c899b;transition:.2s}.login-input-wrap:focus-within{border-color:#39caf1;box-shadow:0 0 0 3px #2acbfa18}.login-input-wrap input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#e5f7fd;font-size:13px}.login-input-wrap input::placeholder{color:#476572}.login-input-wrap .eye{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:#7099a8}.password-row{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.password-row label{margin:0}.password-row button{padding:0;border:0;background:transparent;color:#5bbbd8;font-size:10px}.remember{display:flex!important;align-items:center;gap:9px;margin:15px 0 19px!important;color:#7799a7!important;font-weight:400!important}.remember input{width:15px;height:15px;accent-color:#41d7ff}.login-button{display:flex;align-items:center;justify-content:center;width:100%;height:52px;border:0;background:linear-gradient(90deg,#2bc9ee,#68e4ff);color:#052433;font-size:11px;font-weight:850;letter-spacing:.1em;cursor:pointer;transition:.2s}.login-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.login-button:disabled{cursor:wait;opacity:.8}.login-button>span:last-child{margin-left:9px;font-size:18px}.spinner{width:17px;height:17px;margin-right:9px;border:2px solid #052433;border-top-color:transparent;border-radius:50%;animation:login-rotate .7s linear infinite}.demo-credentials{margin-top:12px;text-align:center;color:#577482;font:8px monospace}.demo-credentials strong{color:#87aab8}.demo-message{display:flex;align-items:center;gap:8px;margin-top:15px;padding:11px 13px;border:1px solid #296b63;background:#0a2d2b;color:#82e5cc;font-size:11px;line-height:1.5}.demo-message.overheat{border-color:#8b3728;background:#35130f;color:#ff9b76}.demo-message.connected{border-color:#176b96;background:#082d43;color:#73ddff}.secure-note{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:22px;color:#496672;font:9px monospace}.cable-alert{position:absolute;z-index:5;left:50%;bottom:5%;transform:translate(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 13px;font:10px monospace;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cable-alert.danger{color:#ffb08c;border:1px solid #ff572f;background:#421207dc}.cable-alert.success{color:#9beaff;border:1px solid #2dc9ff;background:#07304bdc}.cable-stage.overheat>svg{filter:drop-shadow(0 0 18px #ff3d1f)}.cable-stage.connected>svg{filter:drop-shadow(0 0 22px #16bfff)}@keyframes login-grid{to{background-position:38px 38px}}@keyframes login-float{50%{transform:translateY(-3px)}}@keyframes login-pulse{0%{opacity:.8;transform:scale(.88)}80%,to{opacity:0;transform:scale(1.12)}}@keyframes login-energy{to{stroke-dashoffset:-50}}@keyframes login-scan{0%,to{top:15%;opacity:0}20%,80%{opacity:.8}50%{top:80%}}@keyframes login-rotate{to{transform:rotate(360deg)}}@media(max-width:900px){.login-shell{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:auto}.login-topbar{height:72px;padding:0 22px}.system-status{display:none}.visual-panel{padding:104px 24px 0}.visual-panel h1{font-size:42px}.cable-stage{margin:-18px auto -20px}.login-panel{padding:50px 24px 70px;border-left:0;border-top:1px solid #174056}}@media(max-width:520px){.visual-panel h1{font-size:36px}.cable-stage{width:112%;margin-left:-6%}.login-card{padding:27px 22px}.login-card h2{font-size:29px}.demo-credentials{line-height:1.6}}@media(prefers-reduced-motion:reduce){.login-shell *,.login-shell *:before,.login-shell *:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}.logoutButton{color:#ffb08c!important;border-color:#9f4939!important}.logoutButton:hover{background:#572218!important}
