body.app{background:var(--bg-2);height:100vh;margin:0;overflow:hidden}.app-shell{grid-template:"rail topbar"58px"rail main"1fr/72px 1fr;width:100vw;height:100vh;display:grid}.app-rail{border-right:1px solid var(--line);background:#080b14b3;flex-direction:column;grid-area:rail;align-items:center;gap:6px;padding:14px 0;display:flex}.app-rail .logo{margin-bottom:14px}.rail-i{cursor:pointer;width:42px;height:42px;color:var(--txt-dim);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));border:1px solid #0000;place-items:center;transition:all .2s;display:grid;position:relative}.rail-i svg{width:20px;height:20px}.rail-i:hover{color:var(--txt);border-color:var(--line);background:var(--panel)}.rail-i.on{color:var(--cyan);border-color:var(--cyan);background:#2de2e614;box-shadow:0 0 16px #2de2e638,inset 0 0 18px #2de2e629}.rail-i.on svg{filter:drop-shadow(0 0 5px #2de2e6)}.rail-i .lab{white-space:nowrap;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--line-bright);opacity:0;pointer-events:none;z-index:50;background:#080b14eb;padding:5px 9px;font-size:10px;transition:all .15s;position:absolute;left:54px}.rail-i:hover .lab{opacity:1}.app-rail .sp{flex:1}.app-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05070ddb;grid-area:topbar;align-items:center;gap:16px;padding:0 20px;display:flex}.app-topbar .mark{align-items:center;gap:11px;display:flex}.app-topbar .mark b{font-family:var(--display);letter-spacing:.2em;background:linear-gradient(90deg,var(--cyan),var(--violet));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:800}.app-topbar a.mark{cursor:pointer;text-decoration:none}.app-topbar a.mark:hover b{filter:drop-shadow(0 0 10px #2de2e68c)}.app-topbar .crumb{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--txt-faint);font-size:11px}.app-topbar .crumb .cur{color:var(--txt-dim)}.app-topbar .sp{flex:1}.env{border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));display:inline-flex}.env button{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint);cursor:pointer;background:0 0;border:0;padding:7px 13px;font-size:10px;transition:all .2s}.env button.on{color:var(--cyan);text-shadow:0 0 10px #2de2e680;background:#2de2e61a}.app-search{width:230px;position:relative}.app-search input{border:1px solid var(--line);width:100%;color:var(--txt);font-family:var(--body);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));background:#ffffff05;outline:none;padding:8px 12px 8px 32px;font-size:13px;transition:all .2s}.app-search input::placeholder{color:var(--txt-faint)}.app-search input:focus{border-color:var(--cyan);background:#2de2e60a}.app-search svg{width:14px;height:14px;color:var(--txt-faint);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.app-status{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--lime);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));background:#c6ff3a0f;border:1px solid #c6ff3a66;align-items:center;gap:8px;padding:7px 12px;font-size:10px;display:inline-flex}.app-status .d{background:var(--lime);width:7px;height:7px;box-shadow:0 0 10px var(--lime);border-radius:50%;animation:1.6s infinite blink}.app-org{align-items:center;gap:10px;display:flex}.app-org .who{text-align:right;flex-direction:column;line-height:1.1;display:flex}.app-org .who .n{font-family:var(--body);color:var(--txt);font-size:12px;font-weight:600}.app-org .who .r{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--txt-faint);font-size:9px}.app-org .av{border:1px solid var(--line-bright);width:32px;height:32px;font-family:var(--display);color:var(--cyan);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));background:#2de2e60f;place-items:center;font-size:12px;font-weight:700;display:grid}.app-main{background-image:radial-gradient(900px 500px at 88% -10%,#9b5cff12,#0000 60%),radial-gradient(800px 600px at -5% 110%,#2de2e60f,#0000 60%);grid-area:main;padding:22px 26px;position:relative;overflow:hidden}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.page-head h1{font-family:var(--display);letter-spacing:.05em;color:#fff;text-transform:uppercase;font-size:24px;font-weight:800}.page-head .sub{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint);margin-top:7px;font-size:11px}.page-head .actions{align-items:center;gap:10px;display:flex}.btn-sm{padding:9px 16px;font-size:11px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;display:grid}.kpi{border:1px solid var(--line);background:var(--panel);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));padding:16px 18px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--cyan);width:2px;box-shadow:0 0 12px var(--cyan);opacity:.7;position:absolute;top:0;bottom:0;left:0}.kpi.vi:before{background:var(--violet);box-shadow:0 0 12px var(--violet)}.kpi.li:before{background:var(--lime);box-shadow:0 0 12px var(--lime)}.kpi.mg:before{background:var(--magenta);box-shadow:0 0 12px var(--magenta)}.kpi .k{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--txt-dim);justify-content:space-between;align-items:center;font-size:10px;display:flex}.kpi .k .delta{color:var(--lime)}.kpi .k .delta.dn{color:var(--coral)}.kpi .v{font-family:var(--display);color:#fff;font-variant-numeric:tabular-nums;margin-top:12px;font-size:30px;font-weight:800;line-height:1}.kpi .v .u{color:var(--cyan);margin-left:2px;font-size:.55em}.kpi.vi .v .u{color:var(--violet-soft)}.kpi.li .v .u{color:var(--lime)}.kpi .spark{height:30px;margin-top:10px}.kpi .spark svg{width:100%;height:100%;display:block}.dash{grid-template-columns:1.55fr 1fr;gap:16px;display:grid}.dash .col{flex-direction:column;gap:16px;min-width:0;display:flex}.cpanel{border:1px solid var(--line);background:var(--panel);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));position:relative;overflow:hidden}.cpanel.bright{border-color:var(--line-bright)}.cpanel .bar{border-bottom:1px solid var(--line);background:#2de2e608;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;display:flex}.cpanel .bar .t{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-size:11px}.cpanel .bar .t.vi{color:var(--violet-soft)}.cpanel .bar .aux{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint);align-items:center;gap:14px;font-size:10px;display:flex}.cpanel .body{padding:16px 18px}.cpanel .body.tight{padding:6px}.chart-box{border:1px solid var(--line);background-image:linear-gradient(#78a0c80f 1px,#0000 1px),linear-gradient(90deg,#78a0c80f 1px,#0000 1px);background-size:26px 26px;position:relative}.chart-box svg{width:100%;height:100%;position:absolute;inset:0}.float-readout{font-family:var(--mono);color:var(--cyan);letter-spacing:.12em;border:1px solid var(--line-bright);text-transform:uppercase;background:#080b14b3;padding:5px 9px;font-size:10px;position:absolute}.chart-axis{font-family:var(--mono);letter-spacing:.1em;color:var(--txt-faint);text-transform:uppercase;justify-content:space-between;margin-top:7px;padding:0 2px;font-size:9px;display:flex}.hud-table{border-collapse:collapse;width:100%;font-size:13.5px}.hud-table thead th{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--txt-faint);text-align:left;border-bottom:1px solid var(--line);padding:9px 14px;font-size:10px;font-weight:400}.hud-table thead th.r,.hud-table td.r{text-align:right}.hud-table td{border-bottom:1px solid var(--line);color:var(--txt-dim);vertical-align:middle;padding:12px 14px}.hud-table tbody tr:last-child td{border-bottom:0}.hud-table tbody tr{transition:all .15s}.hud-table tbody tr:hover{background:#2de2e60a}.hud-table .nm{font-family:var(--body);color:#fff;align-items:center;gap:10px;font-weight:600;display:flex}.hud-table .nm .wfico{border:1px solid var(--line-bright);width:26px;height:26px;color:var(--cyan);clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px));flex:none;place-items:center;display:grid}.hud-table .nm .wfico svg{width:14px;height:14px}.hud-table .mono{font-family:var(--mono);color:var(--txt-dim);font-size:12px}.hud-table .mono.dim{color:var(--txt-faint)}.minibar{align-items:center;gap:9px;display:inline-flex}.minibar .track{border:1px solid var(--line);width:64px;height:6px;position:relative;overflow:hidden}.minibar .track i{background:linear-gradient(90deg,var(--cyan),var(--lime));width:0;position:absolute;inset:0;box-shadow:0 0 8px #c6ff3a66}.minibar .pct{font-family:var(--mono);color:var(--txt);font-size:11px}.badge-state{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));border:1px solid;align-items:center;gap:6px;padding:4px 10px;font-size:10px;display:inline-flex}.badge-state .d{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.s-live{color:var(--lime)}.s-staging{color:var(--amber)}.s-draft{color:var(--txt-faint)}.s-archived{color:var(--txt-faint);opacity:.7}.s-running{color:var(--cyan)}.s-success{color:var(--lime)}.s-error{color:var(--coral)}.s-queued{color:var(--amber)}.pulse-dot .d{animation:1.3s infinite blink}.feed{flex-direction:column;display:flex}.feed-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 16px;display:flex}.feed-row:last-child{border-bottom:0}.feed-row .dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 9px}.feed-row .txt{flex:1;min-width:0}.feed-row .txt .l1{color:var(--txt);font-size:13px;font-weight:500}.feed-row .txt .l1 b{color:#fff;font-weight:600}.feed-row .txt .l2{font-family:var(--mono);letter-spacing:.1em;color:var(--txt-faint);text-transform:uppercase;margin-top:3px;font-size:10px}.feed-row .ts{font-family:var(--mono);color:var(--txt-faint);letter-spacing:.08em;white-space:nowrap;font-size:10px}.health{flex-direction:column;gap:14px;display:flex}.health .row{justify-content:space-between;align-items:center;gap:12px;display:flex}.health .row .lab{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim);font-size:11px}.health .row .val{font-family:var(--mono);color:var(--txt);font-size:12px}.prog{border:1px solid var(--line-bright);clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px));height:12px;position:relative;overflow:hidden}.prog .fill{background:linear-gradient(90deg,var(--cyan),var(--violet));width:0;transition:width .8s;position:absolute;inset:0;box-shadow:0 0 12px #2de2e680}.seg{gap:3px;display:flex}.seg i{border:1px solid var(--line);background:0 0;flex:1;height:12px}.seg i.on{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 8px var(--cyan)}.seg i.warn.on{background:var(--amber);border-color:var(--amber);box-shadow:0 0 8px var(--amber)}.status-line{font-family:var(--mono);color:var(--lime);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:flex}.status-line .d{background:var(--lime);width:7px;height:7px;box-shadow:0 0 10px var(--lime);border-radius:50%;animation:1.6s infinite blink}.health-gauge{align-items:center;gap:16px;display:flex}.health-gauge .meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--txt-faint);font-size:10px}.health-gauge .meta b{font-family:var(--display);color:#fff;letter-spacing:.04em;margin-top:4px;font-size:15px;display:block}.builder{grid-template-rows:1fr;grid-template-columns:212px 1fr 300px;height:100%;display:grid}.bld-palette{border-right:1px solid var(--line);background:#080b148c;padding:16px 14px;overflow:hidden}.bld-palette .ttl{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--txt-faint);margin-bottom:14px;font-size:10px}.bld-palette .group{margin-bottom:18px}.bld-palette .group .gh{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--violet-soft);margin-bottom:9px;font-size:9px}.palette-node{border:1px solid var(--line);background:var(--panel);cursor:grab;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));align-items:center;gap:10px;margin-bottom:7px;padding:9px 11px;transition:all .18s;display:flex}.palette-node:hover{border-color:var(--line-bright);background:var(--panel-2)}.palette-node .pico{flex:none;place-items:center;width:24px;height:24px;display:grid}.palette-node .pico svg{width:16px;height:16px}.palette-node .pl{font-family:var(--body);color:var(--txt);font-size:13px;font-weight:500}.bld-canvas{background-color:var(--bg);background-image:radial-gradient(circle,#78a0c829 1px,#0000 1px);background-position:50%;background-size:24px 24px;position:relative;overflow:hidden}.canvas-edges{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node{z-index:2;border:1px solid var(--line-bright);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));background:#0a0e18eb;width:206px;transition:all .2s;position:absolute}.node .nhd{border-bottom:1px solid var(--line);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:9px;padding:10px 12px;font-size:10px;display:flex}.node .nhd .nico{flex:none;place-items:center;width:20px;height:20px;display:grid}.node .nhd .nico svg{width:15px;height:15px}.node .nhd .badge{letter-spacing:.1em;color:var(--txt-faint);margin-left:auto;font-size:8px}.node .nbody{padding:11px 12px}.node .nbody .main{font-family:var(--body);color:#fff;font-size:14px;font-weight:600}.node .nbody .meta{font-family:var(--mono);letter-spacing:.08em;color:var(--txt-dim);margin-top:5px;font-size:10px}.node .nbody .pill{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--txt-dim);margin-top:9px;padding:3px 8px;font-size:9px;display:inline-block}.node.trigger{border-color:#9b5cff8c}.node.trigger .nhd{color:var(--violet)}.node.trigger .nico svg{filter:drop-shadow(0 0 5px #9b5cff)}.node.validate{border-color:#ffb02e80}.node.validate .nhd{color:var(--amber)}.node.validate .nico svg{filter:drop-shadow(0 0 5px #ffb02e)}.node.transform{border-color:#2de2e68c}.node.transform .nhd{color:var(--cyan)}.node.transform .nico svg{filter:drop-shadow(0 0 5px #2de2e6)}.node.deliver{border-color:#c6ff3a80}.node.deliver .nhd{color:var(--lime)}.node.deliver .nico svg{filter:drop-shadow(0 0 5px #c6ff3a)}.node.sel{box-shadow:0 0 0 1px var(--cyan),0 0 30px #2de2e638;border-color:var(--cyan)}.node .port{background:var(--bg);border:2px solid var(--cyan);width:10px;height:10px;box-shadow:0 0 8px var(--cyan);border-radius:50%;position:absolute;top:calc(50% - 5px)}.node .port.in{left:-6px}.node .port.out{right:-6px}.bld-inspect{border-left:1px solid var(--line);background:#080b148c;flex-direction:column;padding:0;display:flex;overflow:hidden}.bld-inspect .ih{border-bottom:1px solid var(--line);background:#2de2e608;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.bld-inspect .ih .t{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-size:11px}.bld-inspect .ibody{flex-direction:column;gap:16px;padding:18px 16px;display:flex;overflow:hidden}.fld .f-lab{font-family:var(--mono);letter-spacing:.16em;color:var(--txt-dim);text-transform:uppercase;margin-bottom:7px;font-size:10px;display:block}.fld .in{border:1px solid var(--line-bright);width:100%;color:var(--txt);font-family:var(--body);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));background:#ffffff05;outline:none;padding:10px 12px;font-size:14px}.fld .in.mono{font-family:var(--mono);color:var(--cyan);font-size:12px}.fld-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.fld-row .f-lab{margin-bottom:0}.tg{border:1px solid var(--line-bright);cursor:pointer;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));background:#ffffff08;flex:none;width:46px;height:24px;transition:all .2s;position:relative}.tg i{background:var(--txt-dim);width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.tg.on{border-color:var(--cyan);background:#2de2e61f;box-shadow:0 0 16px #2de2e640}.tg.on i{background:var(--cyan);box-shadow:0 0 10px var(--cyan);left:25px}.bld-meta{align-items:center;gap:12px;display:flex}.bld-meta .wfname{font-family:var(--display);letter-spacing:.04em;color:#fff;text-transform:uppercase;font-size:15px;font-weight:700}.git-chip{font-family:var(--mono);letter-spacing:.1em;color:var(--violet-soft);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));background:#9b5cff0f;border:1px solid #9b5cff66;padding:5px 10px;font-size:10px}.runs{grid-template-columns:1.7fr 1fr;gap:16px;height:100%;display:grid}.runs .col{flex-direction:column;gap:16px;min-width:0;display:flex}.timeline{padding-left:8px;position:relative}.tl-step{gap:14px;padding:0 0 18px 22px;display:flex;position:relative}.tl-step:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:-4px;left:5px}.tl-step:last-child:before{display:none}.tl-step .knob{background:var(--bg);border:2px solid;border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:0;box-shadow:0 0 9px}.tl-step .info{flex:1;min-width:0}.tl-step .info .nm{font-family:var(--body);color:#fff;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.tl-step .info .nm .tp{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--txt-faint);border:1px solid var(--line);padding:2px 7px;font-size:9px}.tl-step .info .det{font-family:var(--mono);color:var(--txt-dim);letter-spacing:.06em;margin-top:5px;font-size:11px}.tl-step .dur{font-family:var(--mono);color:var(--cyan);white-space:nowrap;font-size:11px}.run-summary{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.run-summary .cell{border:1px solid var(--line);padding:11px 13px}.run-summary .cell .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint);font-size:9px}.run-summary .cell .v{font-family:var(--display);color:#fff;letter-spacing:.03em;margin-top:5px;font-size:18px;font-weight:700}.run-summary .cell .v.cy{color:var(--cyan)}.run-summary .cell .v.li{color:var(--lime)}.logout{font-family:var(--mono);color:var(--txt-dim);border:1px solid var(--line);background:#0000004d;max-height:172px;padding:12px 14px;font-size:11px;line-height:1.85;overflow:hidden}.logout .ln{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.logout .t{color:var(--txt-faint)}.logout .ok{color:var(--lime)}.logout .info2{color:var(--cyan)}.logout .warn2{color:var(--amber)}.scan{pointer-events:none;z-index:200;mix-blend-mode:overlay;opacity:.4;background:repeating-linear-gradient(0deg,#ffffff0a 0 1px,#0000 1px 3px);position:fixed;inset:0}
