:root{--bg:#0a0a0a;--surface:#111111;--surface-2:#161616;--inset:#0c0c0c;--border:#262626;--hairline:#1f1f1f;--fg:#ededed;--muted:#8f8f8f;--faint:#616161;--accent:#0070f3;--accent-hover:#0761d1;--ok:#45d483;--ok-dim:rgba(69,212,131,0.12);--warn:#f5a623;--warn-dim:rgba(245,166,35,0.12);--danger:#e5484d;--danger-dim:rgba(229,72,77,0.12);--westpac:#d5002b;--radius:8px;--sans:-apple-system,"Segoe UI","Helvetica Neue",Arial,ui-sans-serif,sans-serif;--mono:ui-monospace,"Cascadia Code",Consolas,"Courier New",monospace}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:0 24px;height:56px;background:rgba(10,10,10,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}.wordmark{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.wordmark .dim{color:var(--faint)}.topbar-sep{width:1px;height:20px;background:var(--border);transform:skewX(-14deg)}.workflow-chip{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.westpac-mark{flex:none;width:10px;height:10px;border-radius:2px;background:var(--westpac)}.workflow-chip strong{color:var(--fg);font-weight:500}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.badge.safe{color:var(--ok);border-color:rgba(69,212,131,.35);background:var(--ok-dim)}.shell{max-width:1200px;margin:0 auto;padding:28px 24px 80px;display:grid;grid-template-columns:minmax(0,1fr) 460px;grid-gap:28px;gap:28px;align-items:start}.rail{position:-webkit-sticky;position:sticky;top:84px}@media (max-width:1020px){.shell{grid-template-columns:minmax(0,1fr)}.rail{position:static;order:-1}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card+.card{margin-top:20px}.card-head{display:flex;align-items:baseline;gap:10px;padding:14px 18px 0}.card-body{padding:14px 18px 18px}.eyebrow{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.card-title{font-size:14px;font-weight:600}.card-hint{margin-left:auto;font-size:12px;color:var(--faint)}.field-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px 14px;gap:12px 14px}.field{display:flex;flex-direction:column;gap:5px}.span-12{grid-column:span 12}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.span-3{grid-column:span 3}@media (max-width:680px){.span-3,.span-4,.span-6{grid-column:span 12}}.field label{font-size:12px;color:var(--muted)}.field .sub{font-size:11px;color:var(--faint)}input[type=date],input[type=email],input[type=number],input[type=text],select{width:100%;height:36px;padding:0 10px;background:var(--inset);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-family:var(--mono);font-size:13px;transition:border-color .12s ease}input:hover,select:hover{border-color:#3a3a3a}input:focus,select:focus{outline:none;border-color:var(--accent)}input.invalid{border-color:var(--danger)}.prefix-input{position:relative}.prefix-input span{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:13px;color:var(--faint);pointer-events:none}.prefix-input input{padding-left:24px}.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle .track{flex:none;width:34px;height:20px;border-radius:999px;background:var(--border);position:relative;transition:background .12s ease}.toggle .track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--fg);transition:transform .12s ease}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:after{transform:translateX(14px)}.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.toggle .toggle-text{font-size:13px}.toggle .toggle-text small{display:block;font-size:11px;color:var(--faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:6px;border:1px solid transparent;font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--fg);color:#0a0a0a}.btn-primary:hover:not(:disabled){background:#cfcfcf}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--fg)}.btn-ghost:hover:not(:disabled){border-color:#3a3a3a;background:var(--surface-2)}.btn-danger{background:transparent;border-color:rgba(229,72,77,.5);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-dim)}.btn-block{width:100%}.form-footer{display:flex;align-items:center;gap:12px;margin-top:20px}.form-footer .note{font-size:12px;color:var(--faint)}.ladder{list-style:none}.ladder li{position:relative;padding:10px 0 10px 26px}.ladder li:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--hairline)}.ladder li:first-child:before{top:16px}.ladder li:last-child:before{bottom:auto;height:16px}.ladder li:after{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--bg);border:2px solid var(--faint)}.ladder li.stop:after{border-color:var(--danger);background:var(--danger-dim)}.ladder .step-name{font-size:13px;font-weight:500}.ladder .step-detail{font-family:var(--mono);font-size:12px;color:var(--muted);overflow-wrap:anywhere}.ladder li.stop .step-name{color:var(--danger)}.ladder li.stop .step-detail{color:var(--faint)}.stop-tag{display:inline-block;margin-left:8px;padding:1px 7px;border:1px dashed rgba(229,72,77,.5);border-radius:4px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--danger);vertical-align:1px}.review-group{margin-top:14px}.review-group h4{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}.kv{width:100%;border-collapse:collapse}.kv td{padding:5px 0;border-bottom:1px solid var(--hairline);vertical-align:top;font-size:12.5px}.kv tr:last-child td{border-bottom:none}.kv .k{width:42%;color:var(--muted);padding-right:12px}.kv .v{font-family:var(--mono);color:var(--fg);overflow-wrap:anywhere}.kv .v .auto{color:var(--faint);font-family:var(--sans);font-size:11.5px}.kv tr.fixed .v{color:var(--muted)}.prompt-details{margin-top:16px;border:1px solid var(--border);border-radius:6px;background:var(--inset)}.prompt-details summary{padding:9px 12px;font-size:12px;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.prompt-details summary:hover{color:var(--fg)}.prompt-details pre{max-height:300px;overflow:auto;padding:12px;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:11.5px;line-height:1.55;color:var(--muted);white-space:pre-wrap}.run-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:3px 11px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted)}.status-pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.status-pill.running{color:var(--accent);border-color:rgba(0,112,243,.45);background:rgba(0,112,243,.1)}.status-pill.running .dot{animation:pulse 1.1s ease-in-out infinite}.status-pill.finished{color:var(--ok);border-color:rgba(69,212,131,.4);background:var(--ok-dim)}.status-pill.failed,.status-pill.interrupted{color:var(--danger);border-color:rgba(229,72,77,.4);background:var(--danger-dim)}.status-pill.stopped{color:var(--warn);border-color:rgba(245,166,35,.4);background:var(--warn-dim)}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.status-pill.running .dot{animation:none}*{transition:none!important}}.elapsed{font-family:var(--mono);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--fg)}.run-id{font-size:11px;color:var(--faint);overflow-wrap:anywhere}.console,.run-id{font-family:var(--mono)}.console{margin-top:12px;background:var(--inset);border:1px solid var(--border);border-radius:6px;height:380px;overflow:auto;padding:12px;font-size:11.5px;line-height:1.5;color:#b8b8b8;white-space:pre-wrap;overflow-wrap:anywhere}.console:empty:before{content:"waiting for output…";color:var(--faint)}.callout{margin-top:12px;padding:10px 14px;border-radius:6px;border:1px solid;font-size:12.5px}.callout code{font-family:var(--mono);font-size:11.5px;background:rgba(255,255,255,.06);padding:1px 5px;border-radius:4px}.callout.ok{border-color:rgba(69,212,131,.35);background:var(--ok-dim);color:var(--ok)}.callout.warn{border-color:rgba(245,166,35,.35);background:var(--warn-dim);color:var(--warn)}.callout.danger{border-color:rgba(229,72,77,.35);background:var(--danger-dim);color:var(--danger)}.result-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 14px;gap:8px 14px}@media (max-width:480px){.result-grid{grid-template-columns:1fr}}.result-item{border:1px solid var(--hairline);border-radius:6px;padding:8px 10px;background:var(--surface-2)}.result-item .rk{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.result-item .rv{font-family:var(--mono);font-size:12.5px;margin-top:2px;overflow-wrap:anywhere}.result-item .rv.good{color:var(--ok)}.result-item .rv.bad{color:var(--danger)}.result-notes{grid-column:1/-1}.run-actions{display:flex;gap:10px;margin-top:14px}.history table{width:100%;border-collapse:collapse;font-size:12.5px}.history th{text-align:left;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:6px 10px;border-bottom:1px solid var(--border)}.history td{padding:8px 10px;border-bottom:1px solid var(--hairline);font-family:var(--mono);font-size:12px;color:var(--muted)}.history tr:last-child td{border-bottom:none}.history tbody tr{cursor:pointer}.history tbody tr:hover td{background:var(--surface-2);color:var(--fg)}.history .empty{padding:18px 10px;color:var(--faint);font-size:12.5px;font-family:var(--sans)}.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10.5px;border:1px solid var(--border)}.chip.finished{color:var(--ok);border-color:rgba(69,212,131,.4)}.chip.failed,.chip.interrupted{color:var(--danger);border-color:rgba(229,72,77,.4)}.chip.stopped{color:var(--warn);border-color:rgba(245,166,35,.4)}.chip.running{color:var(--accent);border-color:rgba(0,112,243,.45)}.error-banner{margin-bottom:16px;padding:10px 14px;border:1px solid rgba(229,72,77,.4);background:var(--danger-dim);border-radius:6px;color:var(--danger);font-size:13px;overflow-wrap:anywhere}.rail-footnote{margin-top:12px;font-size:11.5px;color:var(--faint);line-height:1.55}.rail-footnote code{font-family:var(--mono);font-size:10.5px}