:root{--paper:#f4f6f3;--surface:#fff;--ink:#17211b;--muted:#657169;--line:#d9e0da;--green:#1f6f50;--green-dark:#185d43;--green-soft:#e4f0e9;--blue:#2e6d9f;--blue-soft:#e8f0f6;--amber:#9b6419;--amber-soft:#f8eedb;--red:#b94634;--red-soft:#fae9e5;--radius:6px;--shadow:0 18px 50px rgba(29,45,36,.12)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans","Noto Sans SC",sans-serif;letter-spacing:0}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}[hidden]{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:72px minmax(0,1fr)}
.rail{background:#17211b;color:#fff;display:flex;flex-direction:column;align-items:center;padding:20px 0;position:sticky;top:0;height:100vh}.brand-mark{width:42px;height:42px;border:1px solid #89958e;display:grid;place-items:center;font:500 14px "IBM Plex Mono";border-radius:4px}.brand-mark.compact{width:36px;height:36px;font-size:13px}.rail-line{width:1px;flex:1;background:#38453d;margin:22px 0}.rail-state{writing-mode:vertical-rl;transform:rotate(180deg);font:11px "IBM Plex Mono";color:#a9b5ad}
.shell{min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(244,246,243,.97);position:sticky;top:0;z-index:5}.title-lockup{display:flex;gap:16px;align-items:baseline}.title-lockup h1{font-size:19px;line-height:1;margin:0;font-weight:600}.title-lockup span{font:12px "IBM Plex Mono";color:var(--muted)}.top-actions,.service-state{display:flex;align-items:center;gap:10px}.service-state{font-size:13px;color:var(--muted)}.dot{width:8px;height:8px;background:#2d865f;border-radius:50%;box-shadow:0 0 0 4px #dcebe2}.privacy{min-height:42px;background:#e8eee9;border-bottom:1px solid #d4ddd6;padding:10px 28px;display:flex;align-items:center;gap:10px;color:#355044;font-size:13px}.privacy svg{width:16px;height:16px;flex:0 0 auto}
.workspace{display:grid;grid-template-columns:minmax(350px,420px) minmax(610px,1fr);min-height:calc(100vh - 117px)}.setup{background:var(--surface);border-right:1px solid var(--line);padding:26px 28px}.run{padding:26px 30px 32px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-head h2{margin:0;font-size:13px;text-transform:uppercase;font-weight:600;color:#3e4d44}.step{font:11px "IBM Plex Mono";color:#8a968e}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.control{width:100%;height:40px;border:1px solid #cdd6cf;background:#fbfcfb;color:var(--ink);border-radius:var(--radius);padding:0 11px;outline:none;transition:.16s}.control:focus,input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,111,80,.11)}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cdd6cf;border-radius:var(--radius);overflow:hidden;background:#f5f7f5;margin-bottom:14px}.segmented button{height:36px;border:0;background:transparent;color:var(--muted);font-size:12px}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(27,43,34,.11)}.inline{display:grid;grid-template-columns:1fr 40px;gap:8px}.icon-button{width:40px;height:40px;border:1px solid #cdd6cf;background:#fff;color:#425249;border-radius:var(--radius);display:grid;place-items:center}.icon-button svg{width:17px}.icon-button:hover:not(:disabled){border-color:#87968c;color:var(--ink)}.icon-button.ghost{border-color:transparent;background:transparent}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.connect-row{display:flex;align-items:center;justify-content:space-between;margin:2px 0 16px}.secondary{height:34px;padding:0 11px;border:1px solid #bdc8c0;background:#fff;color:#34483c;border-radius:var(--radius);font-size:12px;display:flex;align-items:center;gap:7px}.secondary svg{width:15px}.connection-status{font-size:12px;color:var(--muted)}.connection-status.ok{color:var(--green)}.connection-status.error{color:var(--red)}
.input-shell{border:1px solid #cdd6cf;border-radius:var(--radius);overflow:hidden;background:#fbfcfb}.input-meta{height:34px;padding:0 10px;border-bottom:1px solid #e1e6e2;display:flex;align-items:center;justify-content:space-between;font:11px "IBM Plex Mono";color:var(--muted)}textarea{width:100%;height:176px;resize:vertical;border:0;background:transparent;padding:12px;font:12px/1.65 "IBM Plex Mono";color:#26352c;outline:none}.count{color:var(--green);font-weight:500}.input-tools{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--muted)}.text-button,.quiet{border:0;background:transparent;color:var(--blue);font-size:12px;display:flex;align-items:center;gap:6px}.text-button svg,.quiet svg{width:15px}.model-row{display:flex;align-items:center;justify-content:space-between;margin:13px 0 0;font-size:12px;color:var(--muted)}.model-row strong{color:var(--blue);font-weight:500}.concurrency-row{display:flex;align-items:center;gap:8px;margin-top:13px;font-size:12px;color:var(--muted)}.concurrency-row input{width:54px;height:30px;border:1px solid #cdd6cf;border-radius:4px;padding:0 7px}.actions{display:grid;grid-template-columns:1fr 40px;gap:8px;margin-top:18px}.primary{height:42px;border:1px solid var(--green);background:var(--green);color:#fff;border-radius:var(--radius);font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.primary:hover:not(:disabled){background:var(--green-dark)}.primary svg{width:17px}.cancel{height:42px}
.run-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{font:11px "IBM Plex Mono";color:var(--muted);text-transform:uppercase}.run-head h2{font-size:25px;margin:4px 0 0;line-height:1.1;font-weight:600}.metrics{display:flex;gap:22px}.metric{text-align:right}.metric b{display:block;font:600 18px "IBM Plex Mono"}.metric span{font-size:11px;color:var(--muted)}.green{color:var(--green)}.red{color:var(--red)}.blue{color:var(--blue)}.progress{height:5px;background:#dfe5e0;margin:22px 0 17px;overflow:hidden}.progress>div{height:100%;width:0;background:var(--green);transition:width .35s ease}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.filters{display:flex;gap:4px}.filter{height:30px;padding:0 10px;border:0;background:transparent;color:var(--muted);font-size:12px;border-bottom:2px solid transparent}.filter.active{color:var(--ink);border-color:var(--green)}
.table{border-top:1px solid #cfd8d1}.thead,.task-row{display:grid;grid-template-columns:minmax(190px,1.45fr) minmax(110px,.75fr) minmax(120px,.85fr) 94px 38px;gap:14px;align-items:center}.thead{height:38px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}.task-row{min-height:56px;border-bottom:1px solid #e2e7e3;font-size:13px;animation:enter .3s both}@keyframes enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.email{min-width:0}.email strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email small{font:10px "IBM Plex Mono";color:#8a968e}.stage{display:flex;align-items:center;gap:8px;color:#425249}.spinner{width:13px;height:13px;border:2px solid #c7d6cc;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.model{font:11px "IBM Plex Mono";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{justify-self:start;font-size:11px;padding:4px 7px;border-radius:4px}.status-success{background:var(--green-soft);color:var(--green)}.status-running{background:var(--blue-soft);color:var(--blue)}.status-queued{background:#edf0ee;color:#667169}.status-failed,.status-cancelled{background:var(--red-soft);color:var(--red)}.more{border:0;background:transparent;color:#7a877f;display:grid;place-items:center}.more svg{width:16px}.empty-state{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8b9790;gap:8px;text-align:center}.empty-state svg{width:25px}.empty-state strong{font-size:14px;color:#526158}.empty-state span{font-size:12px}
.events{margin-top:26px;border-top:1px solid #cfd8d1}.events-head{height:42px;display:flex;align-items:center;justify-content:space-between}.events-head h3{margin:0;font-size:12px;text-transform:uppercase}.terminal{background:#151c18;color:#c7d2ca;border-radius:var(--radius);height:156px;padding:13px 15px;overflow:auto;font:11px/1.75 "IBM Plex Mono"}.terminal-line .time{color:#728179}.terminal-line .mail{color:#83b89c}.terminal-line.success{color:#8fd0aa}.terminal-line.failed{color:#ef9a86}.terminal-line.warning{color:#efc278}.terminal-empty{color:#718078}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#17211b;color:#fff;padding:10px 14px;border-radius:5px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}.form-error{min-height:18px;color:var(--red);font-size:12px;margin:8px 0 0}
@media(max-width:1050px){.workspace{grid-template-columns:360px minmax(500px,1fr)}.metrics{gap:12px}.metric:nth-child(2){display:none}}@media(max-width:820px){.app{grid-template-columns:1fr}.rail{display:none}.topbar{padding:0 18px}.privacy{padding:10px 18px;align-items:flex-start}.privacy span{line-height:1.55}.workspace{display:block}.setup{border-right:0;border-bottom:1px solid var(--line);padding:22px 18px}.run{padding:22px 18px}.run-head{align-items:flex-start}.metrics{gap:14px}.thead{display:none}.task-row{grid-template-columns:minmax(155px,1.4fr) minmax(90px,1fr) 42px;padding:9px 0}.task-row .model,.task-row .more{display:none}.task-row .status{justify-self:end}.title-lockup span{display:none}.toolbar{align-items:flex-end}.filter{padding:0 7px}.terminal{height:170px}.service-state span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
