:root{--bg-app: #0e0f13;--bg-panel: #0a0b0e;--surface-1: #15161b;--surface-2: #191a20;--surface-3: #21222a;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--accent: #818cf8;--accent-hi: #a5b1fb;--accent-soft: #c7d2fe;--accent-glow: rgba(129, 140, 248, .35);--green: #7ee2a8;--orange: #f0a875;--red: #f87171;--blue: #5eb1eb;--text-1: #f4f4f5;--text-2: #d4d4dc;--text-3: #8f8f99;--text-muted: #6d6d78;--text-faint: #52525b;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-app);color:var(--text-1);font-family:var(--font-ui);font-size:14px;-webkit-font-smoothing:antialiased}::selection{background:#818cf84d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#ffffff29;background-clip:padding-box}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hi)}.mono{font-family:var(--font-mono)}.app{display:flex;flex-direction:column;height:100%}.topbar{height:52px;flex:0 0 auto;display:flex;align-items:center;gap:20px;padding:0 20px;background:var(--bg-panel);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--text-1)}.brand-wordmark{font-weight:600;font-size:15px;letter-spacing:-.01em;background:linear-gradient(90deg,#f4f4f5,#818cf8);-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;gap:2px}.nav a{padding:8px 16px;font-size:12.5px;font-weight:500;color:var(--text-muted);border-radius:6px 6px 0 0;transition:color .12s,background .12s}.nav a:hover{color:var(--text-2)}.nav a.active{color:var(--text-1);font-weight:600;background:var(--surface-2)}.topbar-meta{margin-left:auto;display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted)}.main{flex:1 1 0;overflow:hidden}.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid var(--border);background:var(--surface-1);color:var(--text-3);white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--text-muted)}.dot.green{background:var(--green);box-shadow:0 0 8px #7ee2a880}.dot.orange{background:var(--orange)}.dot.red{background:var(--red)}.dot.indigo{background:var(--accent-hi);box-shadow:0 0 8px var(--accent-glow)}.tag{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em}.tag.ai{color:var(--accent-soft)}.tag.pipe{color:var(--blue)}.btn{font-family:var(--font-ui);font-size:13px;font-weight:600;padding:9px 16px;border-radius:var(--radius);border:1px solid var(--border-strong);background:transparent;color:var(--text-2);cursor:pointer;transition:background .12s,border-color .12s,opacity .12s}.btn:hover{background:#ffffff0d}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{border:none;color:#0d0e12;background:linear-gradient(180deg,var(--accent-hi),var(--accent));box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:hover{background:linear-gradient(180deg,#b1bbff,#8b95fb)}.btn-primary:disabled{box-shadow:none}.btn-sm{padding:6px 11px;font-size:11.5px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.input,.textarea{font-family:var(--font-ui);font-size:13px;color:var(--text-1);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;width:100%;outline:none;transition:border-color .12s,box-shadow .12s}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #818cf826}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.textarea{resize:vertical;min-height:60px;line-height:1.5}.input.mono{font-family:var(--font-mono);font-size:12.5px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}.toggle-row .t-label{font-size:12.5px;color:var(--text-2)}.toggle-row .t-hint{font-size:11px;color:var(--text-muted);margin-top:1px}.switch{position:relative;width:34px;height:20px;flex:0 0 auto;cursor:pointer}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-3);border:1px solid var(--border);border-radius:999px;transition:background .15s}.switch .thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--text-3);transition:transform .15s,background .15s}.switch input:checked+.track{background:#818cf84d;border-color:var(--accent)}.switch input:checked+.track+.thumb,.switch input:checked~.thumb{transform:translate(14px);background:var(--accent-hi)}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--text-1)}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 10px}.metric{border-radius:var(--radius);padding:12px 14px;background:var(--surface-1);border:1px solid var(--border)}.metric .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.metric .v{font-family:var(--font-mono);font-weight:700;font-size:20px;margin-top:4px}.discovery{display:grid;grid-template-columns:minmax(340px,400px) 1fr;height:100%;overflow:hidden}.discovery .col-left{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.discovery .col-right{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel)}.scroll{overflow-y:auto}.pad{padding:18px}.hr{height:1px;background:var(--border);margin:16px 0;border:0}.chat-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex:0 0 auto}.chat-title{font-size:13px;font-weight:600;color:var(--text-1)}.chat-sub{font-size:11.5px;color:var(--text-muted);margin-left:auto;font-family:var(--font-mono)}.chat-log{flex:1 1 0;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:14px}.bubble{max-width:82%;font-size:13px;line-height:1.55;padding:10px 14px;border-radius:var(--radius-lg);white-space:pre-wrap;word-wrap:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#0d0e12;font-weight:500;border-radius:12px 12px 2px}.bubble.ai{align-self:flex-start;background:var(--surface-2);color:var(--text-2);border-radius:12px 12px 12px 2px}.bubble.system{align-self:center;background:transparent;border:1px dashed var(--border-strong);color:var(--text-muted);font-size:12px;text-align:center}.bubble.error{align-self:flex-start;background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#fca5a5;border-radius:12px 12px 12px 2px}.msg-actions{align-self:flex-start;max-width:92%;display:flex;flex-direction:column;gap:4px;margin-top:-6px}.action-row{display:flex;align-items:baseline;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);padding:3px 8px;border-radius:var(--radius-sm);background:#ffffff05}.action-row .a-name{color:var(--accent-soft);font-weight:600;min-width:66px}.action-row .a-target{color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.action-row .a-out{color:var(--text-muted);flex:1 1 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-row.blocked{background:#f0a87514}.action-row.blocked .a-name{color:var(--orange)}.proposal{align-self:flex-start;max-width:92%;margin-top:2px;padding:12px 14px;border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-1);display:flex;flex-direction:column;gap:9px}.proposal.confirmed{border-left-color:var(--green)}.proposal.rejected{border-left-color:var(--text-faint);opacity:.6}.proposal-head{display:flex;align-items:center;gap:8px}.proposal-icon{color:var(--accent-hi);font-size:12px}.proposal-title{font-size:12.5px;font-weight:600;color:var(--text-1)}.proposal-badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.proposal-badge.pending{color:var(--orange);border-color:#f0a87566}.proposal-badge.confirmed{color:var(--green);border-color:#7ee2a866}.proposal-badge.rejected{color:var(--text-muted)}.proposal-summary{font-size:12.5px;color:var(--text-2);line-height:1.5}.proposal-meta{display:flex;align-items:baseline;gap:8px;font-size:11px}.proposal-meta .k{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.proposal-meta .v{color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.proposal-ops{display:flex;flex-wrap:wrap;gap:5px}.op-chip{font-family:var(--font-mono);font-size:10.5px;color:var(--accent-soft);background:#818cf81a;border:1px solid rgba(129,140,248,.2);border-radius:var(--radius-sm);padding:2px 7px}.proposal-json>summary{cursor:pointer;font-size:11.5px;color:var(--text-3);-webkit-user-select:none;user-select:none}.proposal-json>summary:hover{color:var(--accent-hi)}.proposal-json pre{margin:8px 0 0;padding:10px;max-height:260px;overflow:auto;font-size:11px;line-height:1.5;color:var(--text-2);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm)}.proposal-result{font-size:11.5px;line-height:1.45}.proposal-result.ok{color:var(--green)}.proposal-result.err{color:var(--orange)}.proposal-actions{display:flex;gap:8px;margin-top:2px}.typing{display:inline-flex;gap:4px;align-items:center}.typing span{width:6px;height:6px;border-radius:50%;background:var(--accent-hi);animation:blink 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.composer{flex:0 0 auto;padding:14px 18px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:flex-end}.composer .textarea{min-height:44px;max-height:160px}.empty{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);text-align:center;padding:40px}.empty .big{font-size:15px;font-weight:600;color:var(--text-3)}.page{height:100%;overflow-y:auto;padding:28px 32px}.page-title{font-size:22px;font-weight:700;color:var(--text-1);margin:0}.page-sub{font-size:13px;color:var(--text-3);margin-top:4px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.run-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--border)}.run-row .r-name{font-size:13px;color:var(--text-1);flex:1 1 0}.run-row .r-meta{font-size:11.5px;color:var(--text-muted)}.placeholder-note{margin-top:20px;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);font-size:12.5px}.text-green{color:var(--green)}.text-orange{color:var(--orange)}.text-accent{color:var(--accent-hi)}.config{display:flex;height:100%;overflow:hidden}.config-rail{width:176px;flex:none;border-right:1px solid var(--border);padding:18px 0;display:flex;flex-direction:column;gap:2px}.config-rail .rail-head{padding:2px 20px 10px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.config-tab{margin:0 10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-3);font-size:12.5px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;text-align:left;width:calc(100% - 20px)}.config-tab:hover{color:var(--text-2);background:#ffffff08}.config-tab.active{background:#818cf81f;color:var(--accent-soft);font-weight:600}.config-tab .count{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted)}.config-tab.active .count{color:var(--accent)}.config-main{flex:1 1 0;padding:22px 26px;overflow-y:auto}.config-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.config-head .title{font:700 18px var(--font-ui);color:var(--text-1)}.config-head .sub{font-size:12px;color:var(--text-3);margin-top:3px}.config-crumb{font-size:12px;color:var(--text-3);font-family:var(--font-mono);display:flex;align-items:center;gap:6px;margin-bottom:14px}.config-crumb .back{color:var(--accent-hi);cursor:pointer;background:0;border:0;padding:0;font:inherit}.config-crumb .back:hover{text-decoration:underline}.config-crumb .cur{color:var(--text-1)}.dtable{border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border);overflow:hidden}.dtable .thead,.dtable .trow{display:grid;align-items:center;gap:12px;padding:12px 16px}.dtable .thead{border-bottom:1px solid var(--border);font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.dtable .trow{border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}.dtable .trow:last-child{border-bottom:0}.dtable .trow:hover{background:#ffffff06}.dtable .t-id{font:600 12.5px var(--font-mono);color:var(--text-1)}.dtable .t-desc{font-size:11.5px;color:var(--text-3);margin-top:2px}.dtable .t-mono{font-size:11.5px;color:var(--text-2);font-family:var(--font-mono)}.dtable .t-chevron{color:var(--text-muted);justify-self:end}.use-chip{display:inline-block;padding:3px 8px;background:#818cf81a;border:1px solid rgba(129,140,248,.32);border-radius:var(--radius-sm);font-size:10.5px;color:var(--accent-hi);font-family:var(--font-mono)}.use-chip.none{background:transparent;border-color:transparent;color:var(--text-muted)}.editor{max-width:760px}.editor .form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.editor .hint{font-size:11px;color:var(--text-muted)}.hint-warn,.editor .hint.hint-warn{color:var(--orange)}.editor .avail{font-size:11px;color:var(--green)}.editor .taken{font-size:11px;color:var(--orange)}.editor-actions{display:flex;gap:8px;margin-top:8px}.spacer{flex:1 1 0}.cfg-inline{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end}.cfg-inline .field{min-width:120px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%236d6d78' fill='none' stroke-width='1.5'/></svg>") no-repeat right 10px center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-1);font-size:12.5px;padding:8px 28px 8px 10px}.select:focus{outline:none;border-color:var(--accent)}.op-list{display:flex;flex-direction:column;gap:6px}.op-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius)}.op-item.editing{border-color:var(--accent);background:#818cf80f}.op-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-muted);flex:none}.op-badge.check{color:var(--accent-soft);border-color:#818cf84d}.op-badge.action{color:var(--blue);border-color:#5eb1eb4d}.op-type{font:600 12px var(--font-mono);color:var(--text-1);flex:none;min-width:130px}.op-summary{font-size:11.5px;color:var(--text-3);font-family:var(--font-mono);flex:1 1 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.op-ctrls{display:flex;gap:4px;flex:none}.icon-btn{background:transparent;border:1px solid var(--border);color:var(--text-3);border-radius:var(--radius-sm);width:24px;height:24px;cursor:pointer;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text-1);border-color:var(--border-strong)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn.danger:hover{color:var(--red);border-color:#f8717166}.op-editor{margin-top:8px;padding:14px;border:1px solid var(--accent);border-radius:var(--radius);background:#818cf80d;display:flex;flex-direction:column;gap:12px}.op-editor .fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ord-list{display:flex;flex-direction:column;gap:6px}.ord-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius)}.ord-item.dragging{opacity:.4}.ord-item.dragover{border-color:var(--accent)}.ord-grip{cursor:grab;color:var(--text-muted);flex:none;-webkit-user-select:none;user-select:none}.ord-num{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);width:18px;flex:none}.ord-name{font:600 12.5px var(--font-mono);color:var(--text-1)}.ord-meta{font-size:11px;color:var(--text-3);margin-top:1px}.kv-list{display:flex;flex-direction:column;gap:6px}.kv-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;align-items:center}.kv-row .input.mono{font-size:12px}.kv-secret{font-family:var(--font-mono);font-size:12px;color:var(--accent-soft);display:inline-flex;align-items:center;gap:5px}.secret-picker{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.secret-picker .pk-alias{display:inline-block;margin:4px 6px 0 0;padding:5px 9px;border:1px solid rgba(129,140,248,.3);background:#818cf814;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11.5px;color:var(--accent-hi);cursor:pointer}.secret-picker .pk-alias:hover{background:#818cf829}.banner{padding:10px 14px;border-radius:var(--radius);font-size:12px;margin-bottom:14px;border:1px solid transparent}.banner.warn{background:#f0a87514;border-color:#f0a8754d;color:var(--orange)}.banner.err{background:#f8717114;border-color:#f871714d;color:var(--red)}.banner.info{background:#818cf814;border-color:#818cf84d;color:var(--accent-soft)}.banner a,.banner .link{color:inherit;text-decoration:underline;cursor:pointer}.empty-slot{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:44px 20px;text-align:center;color:var(--text-muted)}.empty-slot .es-title{font-size:14px;color:var(--text-3);margin-bottom:6px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal{width:100%;max-width:460px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:20px;box-shadow:0 20px 60px #00000080}.modal .m-title{font:700 15px var(--font-ui);color:var(--text-1);margin-bottom:4px}.modal .m-sub{font-size:12px;color:var(--text-3);margin-bottom:14px}.modal .m-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.masked{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);letter-spacing:1px}.exec{height:100%;display:flex;overflow:hidden}.exec-main{flex:1 1 0;min-width:0;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:16px}.exec-crumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3);font-family:var(--font-mono)}.exec-crumb .back{color:var(--accent-hi);cursor:pointer;background:0;border:0;padding:0;font:inherit}.exec-crumb .back:hover{text-decoration:underline}.exec-crumb .sep{color:var(--text-faint)}.exec-crumb .cur{color:var(--text-1);font-weight:600}.exec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.exec-head .title{font:700 20px var(--font-ui);color:var(--text-1)}.exec-head .sub{font-size:12.5px;color:var(--text-3);margin-top:3px}.seg{display:inline-flex;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px}.seg-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:6px;border:0;background:transparent;color:var(--text-3);font:500 12px var(--font-ui);cursor:pointer}.seg-btn .n{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted)}.seg-btn.active{background:var(--surface-3);color:var(--text-1);font-weight:600}.seg-btn.active .n{color:var(--accent-hi)}.ecard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1)}.ecard.open{border-color:var(--accent)}.ecard.rej{border-color:#f0a87547}.ecard-head{display:flex;align-items:center;gap:14px;padding:14px 16px}.ecard-main{flex:1 1 0;min-width:0}.ecard-title{font:600 13px var(--font-mono);color:var(--text-1)}.ecard-desc{font-size:11.5px;color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecard-meta{font-size:11px;color:var(--text-3);font-family:var(--font-mono);flex:none}.ecard-body{border-top:1px solid var(--border);padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px}.chev{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border-strong);color:var(--text-3);background:transparent;cursor:pointer}.chev:hover{color:var(--text-1)}.chev.on{color:var(--accent-hi);border-color:#818cf866;background:#818cf814}.exec-actions{display:flex;gap:8px;flex:none}.ord-min{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;background:var(--bg-app);border:1px solid var(--border)}.ord-badge{width:22px;height:22px;border-radius:50%;background:#818cf81a;color:var(--accent-hi);font:11px var(--font-mono);display:flex;align-items:center;justify-content:center;flex:none}.pbar{height:6px;border-radius:999px;background:var(--surface-1);overflow:hidden}.pbar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hi));border-radius:999px;transition:width .3s ease}.run-status{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface-1)}.run-status.running{border-color:var(--accent)}.run-status.ok{border-color:#7ee2a866}.run-status.warn{border-color:#f0a87566}.run-status.err{border-color:#f8717166}.run-status .rs-title{font:700 17px var(--font-ui);color:var(--text-1)}.run-status .rs-sub{font-size:12px;color:var(--text-3);margin-top:3px}.run-status .rs-timer{font:700 20px var(--font-mono);color:var(--text-1)}.res-op{display:grid;grid-template-columns:66px 1.3fr 1fr 1fr 28px;gap:12px;align-items:center;padding:9px 12px;border-radius:7px;background:var(--bg-app);border:1px solid var(--border);font-family:var(--font-mono)}.res-op.rej{background:#f871710f;border-color:#f871714d}.res-op .c{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-op .c.dim{color:var(--text-3)}.res-op-head{display:grid;grid-template-columns:66px 1.3fr 1fr 1fr 28px;gap:12px;padding:4px 12px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.spin{animation:exec-spin .9s linear infinite;transform-origin:center}@keyframes exec-spin{to{transform:rotate(360deg)}}.heal-btn{border-color:#818cf859;color:var(--accent-soft)}.heal-btn.on{border-color:var(--accent);color:var(--accent-hi)}.heal-btn.btn-primary{border:none;color:#0d0e12}.heal-drawer{width:470px;flex:0 0 470px;display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--border-strong);box-shadow:-20px 0 50px #0006;overflow:hidden}.heal-head{flex:none;padding:15px 18px;border-bottom:1px solid var(--border)}.heal-title{display:flex;align-items:center;gap:9px}.heal-title .mark{color:var(--accent)}.heal-title .t{font-weight:700;font-size:14px;color:var(--text-1)}.heal-title .id{font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heal-title .icon-btn{margin-left:auto}.heal-meta{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.heal-meta .b{font-size:10.5px;color:var(--text-muted)}.link-btn{background:0;border:0;padding:0;font:inherit;font-size:11px;color:var(--accent);cursor:pointer}.link-btn:hover{color:var(--accent-hi)}.heal-error{margin:12px 18px;padding:10px 12px;border-radius:var(--radius);background:#f8717114;border:1px solid rgba(248,113,113,.3);font-size:12px;color:var(--text-2)}.heal-seed{flex:none;padding:11px 18px;background:#0d0e13;border-bottom:1px solid var(--border);font-size:11.5px;color:var(--text-3);line-height:1.55}.heal-failures{margin:7px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:4px}.heal-failures .mono{font-size:11px;color:var(--text-2)}.heal-failures .err{color:var(--red)}.heal-body{flex:1 1 0;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.heal-msg{display:flex;flex-direction:column;gap:8px}.heal-msg.user{align-items:flex-end}.heal-msg.user .heal-bubble{background:var(--surface-3);border-radius:12px 12px 4px;max-width:88%}.heal-msg.ai .heal-bubble{background:var(--surface-1);border:1px solid var(--border);border-radius:12px 12px 12px 4px}.heal-msg.system .heal-bubble{background:#7ee2a814;border:1px solid rgba(126,226,168,.25);color:var(--text-2)}.heal-msg.error .heal-bubble{background:#f8717114;border:1px solid rgba(248,113,113,.3);color:var(--text-2)}.heal-bubble{padding:11px 13px;font-size:12.5px;color:var(--text-2);line-height:1.6;white-space:pre-wrap}.heal-bubble.thinking{color:var(--text-muted);font-style:italic}.heal-chips{display:flex;flex-wrap:wrap;gap:6px}.heal-chip{padding:3px 9px;border-radius:999px;background:var(--surface-1);border:1px solid var(--border);font-family:var(--font-mono);font-size:10px;color:var(--text-3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heal-chip.blocked{border-color:#f0a87559;color:var(--orange)}.heal-proposal{border:1px solid rgba(129,140,248,.35);background:#14151d;border-radius:10px;overflow:hidden}.heal-proposal.confirmed{border-color:#7ee2a866}.heal-proposal.rejected{opacity:.6}.heal-proposal-head{display:flex;align-items:center;gap:9px;padding:10px 13px;border-bottom:1px solid var(--border)}.heal-proposal-head .mark{color:var(--accent);font-size:12px}.heal-proposal-head .t{font-weight:600;font-size:12px;color:var(--text-1)}.heal-proposal-head .n{margin-left:auto;font-size:10.5px;color:var(--text-muted)}.heal-proposal-sum{padding:10px 13px 0;font-size:12px;color:var(--text-3);line-height:1.5}.heal-diff{padding:11px 13px;display:flex;flex-direction:column;gap:6px}.heal-diff-empty{font-size:11.5px;color:var(--text-muted)}.heal-diff-row{border-radius:6px;padding:5px 7px}.heal-diff-row.changed{background:#818cf814}.heal-diff-row.added{background:#7ee2a814}.heal-diff-row.removed{background:#f8717114}.heal-diff-head{display:flex;align-items:center;gap:9px;font-size:10.5px}.heal-diff-head .idx{color:var(--text-faint)}.heal-diff-head .type{flex:1;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heal-diff-head .status{color:var(--text-muted)}.heal-diff-row.changed .heal-diff-head .status{color:var(--accent)}.heal-diff-row.added .heal-diff-head .status{color:var(--green)}.heal-diff-row.removed .heal-diff-head .status{color:var(--red)}.heal-diff-row.unchanged .heal-diff-head{color:var(--text-faint)}.heal-diff-row.unchanged .heal-diff-head .type{color:var(--text-muted)}.heal-diff-change{display:flex;align-items:baseline;gap:7px;margin:4px 0 0 25px;font-size:10.5px}.heal-diff-change .field{color:var(--text-muted);min-width:74px}.heal-diff-change .old{color:var(--red);text-decoration:line-through;word-break:break-all}.heal-diff-change .arrow{color:var(--text-faint)}.heal-diff-change .new{color:var(--green);word-break:break-all}.heal-proposal-actions{display:flex;gap:8px;padding:10px 13px;border-top:1px solid var(--border)}.heal-applied{display:flex;align-items:center;gap:10px;padding:10px 13px;border-top:1px solid var(--border);font-size:11.5px}.heal-applied .ok{color:var(--green)}.heal-applied .dim{color:var(--text-muted)}.heal-composer{flex:none;display:flex;gap:9px;align-items:center;padding:12px 18px 16px;border-top:1px solid var(--border)}.heal-composer .input{font-size:12.5px;padding:8px 11px}.var-row{display:grid;grid-template-columns:1fr 74px 1.3fr 24px;gap:6px;align-items:center}.var-row .input,.var-row .select{padding:7px 9px;font-size:11.5px}.var-row.secret .var-val{color:var(--orange);border-color:#f0a8754d}.draft-run{display:flex;align-items:center;gap:9px;background:var(--surface-1);border:1px solid var(--border);border-radius:9px;padding:9px 10px}.draft-run.drafting{background:#14151d;border-style:dashed;border-color:#818cf873}.draft-run .n{font-size:10px;font-weight:700;color:var(--accent);flex:none}.draft-run.drafting .n{color:var(--text-faint)}.draft-run .main{flex:1;min-width:0}.draft-run .t{font-size:12.5px;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-run.drafting .t{color:var(--text-3)}.draft-run .m{font-size:10.5px;color:var(--text-muted);margin-top:2px}.draft-run .ctrls{display:flex;gap:2px}.budget{margin-top:14px;background:var(--surface-1);border:1px solid var(--border);border-radius:9px;padding:10px 11px}.budget .bar{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden;margin-bottom:6px}.budget .bar span{display:block;height:100%;background:var(--accent)}.modal.group-review{max-width:1020px;height:min(780px,88vh);padding:0;display:flex;flex-direction:column;overflow:hidden}.group-review .modal-head{flex:none;display:flex;align-items:flex-start;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border)}.group-review .modal-head .title{font:700 16px var(--font-ui);color:var(--text-1)}.group-review .modal-head .sub{font-size:12px;color:var(--text-muted);margin-top:3px}.group-review .modal-head .icon-btn{margin-left:auto}.group-review-body{flex:1 1 0;display:flex;overflow:hidden}.group-review .runs{flex:1 1 0;min-width:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:9px}.group-review .rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.group-review .rail{width:330px;flex:none;overflow-y:auto;padding:16px 18px;background:#0d0e13;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:7px}.review-run{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:11px 13px}.review-run .head{display:flex;align-items:center;gap:10px}.review-run .n{font-size:10.5px;font-weight:700;color:var(--accent)}.review-run .id{flex:1;font-size:12.5px;font-weight:600;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-run .steps{font-size:11px;color:var(--text-3)}.review-run .sum{font-size:11.5px;color:var(--text-3);margin:7px 0 0 21px;line-height:1.5}.review-run .chips{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0 21px}.review-run .chip{padding:3px 8px;border-radius:5px;background:var(--surface-3);font-family:var(--font-mono);font-size:10px;color:var(--blue)}.review-run .chip.check{color:var(--green)}.review-run .steps-detail{margin:10px 0 0 21px;display:flex;flex-direction:column;gap:4px}.review-run .steps-detail .row{display:flex;gap:10px;font-size:10.5px}.review-run .steps-detail .idx{color:var(--text-faint)}.review-run .steps-detail .type{width:150px;color:var(--blue)}.review-run .steps-detail .type.check{color:var(--green)}.review-run .steps-detail .val{flex:1;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-var{display:flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:7px 9px}.rail-var.secret{border-color:#f0a87540}.rail-var .k{font-size:11.5px;color:var(--accent-soft)}.rail-var .v{margin-left:auto;font-size:11.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-var.secret .v{color:var(--orange)}.check-list{display:flex;flex-direction:column;gap:6px;font-size:11.5px;line-height:1.45}.check-list .ok{color:var(--text-3)}.check-list .bad{color:var(--orange)}.save-error{margin-top:14px;padding:10px 11px;border-radius:var(--radius);background:#f8717114;border:1px solid rgba(248,113,113,.3);font-size:11.5px;color:var(--text-2)}.group-review .modal-foot{flex:none;display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px solid var(--border)}.dry-badge{margin-left:auto;padding:3px 9px;border-radius:999px;font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.dry-badge.ok{border-color:#7ee2a866;color:var(--green)}.dry-badge.bad{border-color:#f8717166;color:var(--red)}.dry-badge.none{border-style:dashed}.heal-proposal-head .dry-badge,.proposal-head .dry-badge{margin-left:auto}.heal-proposal-head .n{margin-left:8px}.heal-runs{display:flex;flex-direction:column;gap:3px;margin-top:8px}.heal-run{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:5px;font-size:11px}.heal-run .n{color:var(--text-faint)}.heal-run .id{flex:1;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heal-run .state{color:var(--text-muted);font-size:10.5px}.heal-run .replayed{color:var(--accent)}.heal-run.passed .state{color:var(--green)}.heal-run.failing{background:#f8717114}.heal-run.failing .id{color:var(--text-1);font-weight:600}.heal-run.failing .state{color:var(--red)}.heal-run.skipped{opacity:.6}.heal-replay{margin-top:8px;font-size:11px;color:var(--text-muted)}.heal-item{border-top:1px solid var(--border)}.heal-item-head{display:flex;align-items:center;gap:8px;padding:9px 13px 0;font-size:11.5px}.heal-item-head .n{color:var(--accent);font-weight:700;font-size:10px}.heal-item-head .id{flex:1;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heal-item-head .ok{color:var(--green);font-size:10.5px}.heal-item-head .bad{color:var(--red);font-size:10.5px}
