:root{color:#18212f;background:#f2f4f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18212f;--muted: #657084;--line: #d9e0ea;--soft-line: #e8edf3;--surface: #ffffff;--panel: #fbfcfe;--rail: #101827;--rail-soft: #1b2638;--blue: #2563eb;--green: #11845b;--amber: #b7791f;--red: #c2410c;--terminal: #0b1020}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-shell,.fullscreen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(37,99,235,.1),transparent 36%),linear-gradient(315deg,rgba(17,132,91,.12),transparent 34%),#f2f4f7}.auth-panel{width:min(440px,100%);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 22px 70px #10182724}.brand-row{display:flex;align-items:center;gap:12px;min-width:0}.brand-row h1,.brand-row p,.panel-title h2,.panel-title p,.topbar h1,.topbar p{margin:0}.brand-row h1{font-size:22px;line-height:1.15}.brand-row p,.panel-title p,.topbar p{color:var(--muted);font-size:13px;line-height:1.45}.brand-row.compact h1{color:#fff;font-size:18px}.brand-row.compact p{max-width:180px;overflow:hidden;color:#aeb8c8;text-overflow:ellipsis;white-space:nowrap}.brand-mark{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#2563eb,#11845b);border-radius:8px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#edf1f6;border-radius:8px;margin:24px 0}.segmented button{border:0;border-radius:6px;background:transparent;padding:10px 12px;color:var(--muted);font-weight:700}.segmented .active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #10182721}.stack,.composer-grid{display:grid;gap:14px}label{display:grid;gap:6px;color:#3f4857;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfd8e5;border-radius:6px;padding:11px 12px;color:var(--ink);background:#fff}textarea{resize:vertical}.field-help{color:var(--muted);font-size:12px;font-weight:500}input:focus,select:focus,textarea:focus{outline:3px solid rgba(37,99,235,.18);border-color:var(--blue)}.primary,.icon-button,.ghost-button,.notice button,.secret-box button,.small-row button,.detail-actions button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 12px;font-weight:750}.primary,.icon-button.filled{background:var(--blue);border-color:var(--blue);color:#fff}.primary:disabled{opacity:.65;cursor:not-allowed}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.app-rail{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto auto 1fr auto;gap:24px;padding:22px 18px;background:var(--rail);color:#fff}.rail-nav{display:grid;gap:6px}.rail-nav a{display:flex;align-items:center;gap:10px;min-height:40px;border-radius:6px;color:#c7d2e3;padding:9px 10px;text-decoration:none;font-size:14px;font-weight:750}.rail-nav a.active,.rail-nav a:hover{background:var(--rail-soft);color:#fff}.rail-status{align-self:start;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;padding:14px}.rail-status span,.rail-status p{color:#aeb8c8;font-size:12px}.rail-status strong{display:block;margin:7px 0 4px;font-size:17px}.rail-status p{margin:0}.rail-footer{display:grid}.ghost-button{border-color:#ffffff24;background:#ffffff0d;color:#fff}.app-main{min-width:0;padding-bottom:24px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#f2f4f7e0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1{font-size:24px;line-height:1.2}.topbar-actions,.detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.icon-button{width:38px;padding:0}.notice{margin:16px 24px 0;padding:11px 12px;border:1px solid #9cc4ff;background:#ecf5ff;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 24px 0}.metric-card{min-height:112px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;box-shadow:0 10px 30px #1018270d}.metric-card span{color:var(--muted);font-size:12px;font-weight:750}.metric-card strong{display:block;margin-top:10px;font-size:30px;line-height:1}.metric-card p{margin:9px 0 0;color:var(--muted);font-size:12px}.metric-card.good strong{color:var(--green)}.metric-card.info strong{color:var(--blue)}.metric-card.warn strong{color:var(--amber)}.metric-card.danger strong{color:var(--red)}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;padding:18px 24px 0}.sidebar,.main-grid{display:grid;gap:18px;align-content:start}.main-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr)}.composer,.panel,.task-list,.task-detail{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 10px 30px #1018270d}.task-detail{min-height:620px}.composer{grid-column:1 / -1}.panel-title{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px}.panel-title>svg{flex:0 0 auto;margin-top:2px;color:var(--blue)}.panel-title h2{font-size:15px;line-height:1.25}.composer-grid{grid-template-columns:minmax(180px,1fr) 230px}.wide{grid-column:1 / -1}.inline-warning{display:flex;align-items:center;gap:8px;margin-bottom:14px;border:1px solid #f3c777;border-radius:8px;background:#fff7e6;color:#6f4a00;padding:10px 12px;font-size:13px;font-weight:650}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px}.setup-steps{display:grid;gap:7px;margin:0 0 14px;padding:0;list-style:none;counter-reset:step}.setup-steps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.setup-steps li:before{counter-increment:step;content:counter(step);width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#edf1f6;color:var(--muted);font-size:11px}.setup-steps li.active:before{background:#dbeafe;color:var(--blue)}.setup-steps li.done:before{background:#dcfce7;color:var(--green)}.secret-box{margin-top:12px;border:1px solid #f0c36a;background:#fff8e7;border-radius:8px;padding:12px;display:grid;gap:8px}.secret-box p{margin:0;color:#805600;font-size:12px;font-weight:800}code{display:block;max-width:100%;overflow-x:auto;border-radius:6px;background:#111827;color:#d7ffe4;padding:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.small-list{display:grid;gap:8px;margin-top:12px}.small-row,.runner-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border:1px solid var(--soft-line);border-radius:6px;background:var(--panel)}.small-row span,.runner-row strong,.runner-row span,.task-row strong,.task-row span{min-width:0;overflow-wrap:anywhere}.runner-row div{display:grid;gap:3px;min-width:0}.runner-row span,.task-row span{color:var(--muted);font-size:12px}.empty-guide{color:#3f4857;border:1px dashed #c5cfdd;border-radius:6px;padding:11px;font-size:13px;background:#fbfcfe}.empty-guide p{margin:0 0 6px;font-weight:800}.empty-guide span{color:var(--muted)}.empty-guide ol{margin:0;padding-left:18px}.advanced{border:1px solid var(--soft-line);border-radius:6px;padding:10px 12px;background:var(--panel)}.advanced summary{color:#3f4857;cursor:pointer;font-size:13px;font-weight:800}.advanced label{margin-top:10px}.task-list{display:grid;gap:8px}.task-row{width:100%;min-height:72px;border:1px solid var(--soft-line);border-radius:6px;background:#fff;padding:12px;text-align:left;display:flex;justify-content:space-between;gap:12px;align-items:center}.task-row:hover{border-color:#adc2e6;background:#f8fbff}.task-row.selected{border-color:var(--blue);background:#eef5ff;box-shadow:inset 3px 0 0 var(--blue)}.task-row div{display:grid;gap:5px;min-width:0}.detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.detail-header h2{margin:4px 0;font-size:24px;line-height:1.25;overflow-wrap:anywhere}.detail-header p{margin:0;color:var(--muted)}.eyebrow{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.prompt-box{display:grid;gap:8px;border:1px solid var(--soft-line);border-radius:8px;padding:12px;margin-bottom:16px;background:var(--panel)}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.meta-grid div{border:1px solid var(--soft-line);border-radius:6px;padding:10px;background:var(--panel)}.meta-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.meta-grid b{font-size:13px;overflow-wrap:anywhere}.error-banner{color:#8f2d12;background:#fff0ea;border:1px solid #ffc3ae;border-radius:6px;margin:0 0 16px;padding:10px 12px}.prompt-box p{margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere}.terminal{min-height:300px;max-height:520px;overflow:auto;background:var(--terminal);color:#dbeafe;border-radius:8px;padding:13px;box-shadow:inset 0 0 0 1px #ffffff14}.terminal pre{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55}.terminal pre span{display:inline-block;margin-right:8px;color:#80b7ff;font-weight:800}.terminal .stderr span{color:#ff9b8a}.terminal .system span{color:#f6c863}.status{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:76px;min-height:28px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}.status.queued{color:#73530b;background:#fff1c2}.status.running,.status.online{color:#155e75;background:#dff6ff}.status.succeeded{color:#116149;background:#dff9ea}.status.failed,.status.canceled,.status.offline{color:#9a3412;background:#ffeadf}.task-detail.empty{display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.task-detail.empty p{margin:0;color:var(--ink);font-size:18px;font-weight:800}.task-detail.empty span{max-width:320px;font-size:13px;line-height:1.5}.muted{color:var(--muted)}.error-text,.danger{color:#b42318}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1180px){.app-shell{grid-template-columns:1fr}.app-rail{position:static;height:auto;grid-template-columns:1fr;grid-template-rows:auto}.rail-footer{justify-self:start}.workspace,.main-grid{grid-template-columns:1fr}}@media (max-width: 760px){.metrics{grid-template-columns:1fr 1fr;padding:14px 14px 0}.workspace{padding:14px 14px 0}.topbar,.detail-header,.notice{align-items:stretch;flex-direction:column}.topbar{padding:16px 14px}.composer-grid{grid-template-columns:1fr}.meta-grid{grid-template-columns:1fr 1fr}.task-detail{min-height:380px}}@media (max-width: 520px){.app-rail{padding:18px 14px}.rail-nav,.metrics,.meta-grid{grid-template-columns:1fr}.task-row,.small-row,.runner-row{align-items:flex-start;flex-direction:column}}
