:root{color:#1e261b;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f6f8f4;--surface:#fff;--surface-soft:#f0f4ed;--text:#1e261b;--muted:#626d5d;--line:#d8e2d1;--accent:#4c8c2b;--accent-dark:#2e6419;--aqua:#2f7f89;--danger:#b23a34;--warning:#9a6817;background:#f6f8f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.loading-screen{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:var(--surface);grid-template-columns:minmax(390px,44%) 1fr;min-height:100vh;display:grid}.login-panel{flex-direction:column;justify-content:center;padding:44px clamp(36px,7vw,104px);display:flex}.brand-lockup{align-items:center;gap:11px;display:flex}.brand-mark{color:#fff;background:var(--accent-dark);border-radius:7px;place-items:center;width:42px;height:42px;display:grid}.brand-lockup div{display:grid}.brand-lockup strong{font-size:16px}.brand-lockup span:last-child{color:var(--muted);font-size:12px}.login-copy{margin:76px 0 28px}.eyebrow{color:var(--accent-dark);text-transform:uppercase;font-size:12px;font-weight:800}.login-copy h1,.section-heading h1{letter-spacing:0;margin:8px 0 10px;font-size:clamp(30px,4vw,44px);line-height:1.1}.login-copy p{color:var(--muted);max-width:430px;line-height:1.6}form label{margin-bottom:8px;font-size:13px;font-weight:700;display:block}.key-input{border:1px solid var(--line);background:var(--surface);border-radius:7px;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.key-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #4c8c2b1f}.key-input input,.url-field input{background:0 0;border:0;outline:0;width:100%}.primary-button,.run-button,.secondary-button{border:0;border-radius:7px;justify-content:center;align-items:center;gap:9px;font-weight:750;display:inline-flex}.primary-button,.run-button{color:#fff;background:var(--accent-dark);min-height:44px;padding:0 18px}.primary-button:hover,.run-button:hover{background:#244f14}.wide{width:100%;margin-top:18px}.form-error{color:var(--danger);margin:10px 0 0;font-size:13px}.login-scene{color:#fff;background:linear-gradient(145deg,#213c1a 0%,#315f23 52%,#2f7f89 100%);align-items:end;min-height:100vh;padding:70px;display:flex;position:relative;overflow:hidden}.login-scene:before{content:"";opacity:.28;background-image:linear-gradient(#ffffff24 1px,#0000 1px),linear-gradient(90deg,#ffffff24 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.scene-copy{max-width:610px;position:relative}.scene-copy span{text-transform:uppercase;font-size:13px;font-weight:800}.scene-copy h2{margin:13px 0 24px;font-size:clamp(38px,5vw,70px);line-height:1.02}.scene-copy p{color:#fffc;max-width:540px;font-size:18px;line-height:1.6}.app-shell{grid-template-rows:68px 1fr;grid-template-columns:224px 1fr;min-height:100vh;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.topbar-status{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.live-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #4c8c2b1f}.live-dot.offline{background:var(--danger);box-shadow:0 0 0 4px #b23a341a}.icon-button{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--muted);border-radius:6px;place-items:center;display:grid}.icon-button:hover{color:var(--text);background:var(--surface-soft)}.sidebar{border-right:1px solid var(--line);background:#f9faf8;flex-direction:column;grid-row:2;height:calc(100vh - 68px);padding:22px 14px;display:flex;position:sticky;top:68px}.sidebar nav{gap:5px;display:grid}.nav-item{height:42px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 12px;display:flex}.nav-item.active,.nav-item:hover{color:var(--accent-dark);background:#e8f2e2}.policy-note{color:var(--accent-dark);border-top:1px solid var(--line);gap:10px;margin-top:auto;padding:13px 10px;display:flex}.policy-note div,.user-block div{gap:2px;display:grid}.policy-note strong,.user-block strong{font-size:13px}.policy-note span,.user-block span{color:var(--muted);font-size:11px;line-height:1.35}.user-block{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:10px;padding:14px 10px 0;display:flex}.avatar{background:#dff0d4;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid;color:var(--accent-dark)!important}.workspace{min-width:0;padding:34px clamp(22px,4vw,58px) 70px}.mission-composer{max-width:1100px;margin:0 auto 26px}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.section-heading h1{font-size:clamp(28px,3vw,40px)}.model-pill{color:var(--accent-dark);background:#edf7e9;border:1px solid #b8d3ad;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:750;display:inline-flex}.mission-composer form{background:var(--surface);border:1px solid #bdcbb6;border-radius:8px;overflow:hidden;box-shadow:0 10px 28px #263b1e12}.mission-composer textarea{resize:vertical;width:100%;min-height:150px;color:var(--text);border:0;outline:0;padding:22px;font-size:16px;line-height:1.55}.mission-composer textarea::placeholder{color:#879181}.composer-bottom{border-top:1px solid var(--line);background:#fbfcfa;align-items:center;gap:12px;min-height:58px;padding:8px;display:flex}.url-field{color:var(--muted);flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.run-button{min-width:178px}.mission-composer .form-error{padding:0 16px 12px}.execution-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);align-items:start;gap:18px;max-width:1100px;margin:0 auto;display:grid}.execution-main,.knowledge-panel,.history-section{border-top:1px solid var(--line);background:var(--surface)}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:54px;padding:0 2px;display:flex}.panel-heading>div{align-items:center;gap:9px;display:flex}.panel-heading h2{margin:0;font-size:15px}.empty-state{min-height:360px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:40px;display:flex}.empty-state strong{color:var(--text)}.run-detail{padding:18px 2px 8px}.run-summary span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.run-summary p{margin:8px 0 22px;font-size:15px;line-height:1.55}.plan-block h3,.event-stream h3{text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:12px}.plan-step{border-top:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:58px;display:grid}.step-index{width:23px;height:23px;color:var(--accent-dark);background:#e8f2e2;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.plan-step div{gap:3px;display:grid}.plan-step strong{font-size:13px}.plan-step span{color:var(--muted);font-size:11px}.event-stream{margin-top:22px}.event{border-top:1px solid var(--line);grid-template-columns:24px 1fr;gap:8px;padding:10px 0;display:grid}.event>span{color:var(--muted);place-items:center;display:grid}.event div{justify-content:space-between;gap:12px;display:flex}.event strong{font-size:12px;font-weight:600}.event time{color:var(--muted);flex:none;font-size:11px}.event-success>span{color:var(--accent)}.event-error>span{color:var(--danger)}.event-warning>span{color:var(--warning)}.event-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.secondary-button{height:38px;color:var(--danger);background:#fff;border:1px solid #e7b4b1;margin-top:16px;padding:0 13px}.knowledge-panel{padding-bottom:10px}.muted-copy{color:var(--muted);padding:14px 2px;font-size:13px;line-height:1.55}.source-item{border-bottom:1px solid var(--line);padding:13px 2px}.source-item>div{gap:3px;display:grid}.source-item strong{font-size:12px}.source-item span{color:var(--muted);font-size:10px}.source-item p{max-height:74px;color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.45;overflow:hidden}.history-section{max-width:1100px;margin:34px auto 0}.history-list{display:grid}.history-row{border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;min-height:62px;color:var(--text);grid-template-columns:34px 1fr auto 18px;align-items:center;gap:12px;padding:8px 4px;display:grid}.history-row:hover,.history-row.selected{background:#f3f7f0}.history-icon{border:1px solid var(--line);width:32px;height:32px;color:var(--accent-dark);border-radius:6px;place-items:center;display:grid}.history-copy{gap:4px;min-width:0;display:grid}.history-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.history-copy span{color:var(--muted);font-size:11px}.status-badge{min-height:25px;color:var(--muted);background:var(--surface-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.status-succeeded{color:var(--accent-dark);background:#e6f3df}.status-running,.status-planning{color:var(--aqua);background:#e3f2f3}.status-failed,.status-policy_blocked,.status-recovery_exhausted{color:var(--danger);background:#fae7e6}.status-authentication_blocked,.status-source_data_incomplete,.status-external_dependency_unavailable{color:var(--warning);background:#faf0dc}@media (width<=900px){.login-shell{grid-template-columns:1fr}.login-scene{display:none}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.execution-layout{grid-template-columns:1fr}.topbar{padding:0 14px}.topbar-status>span:not(.live-dot){display:none}.workspace{padding:24px 14px 50px}.composer-bottom{flex-direction:column;align-items:stretch}.url-field{min-height:40px}.run-button{width:100%}.history-row{grid-template-columns:34px 1fr 18px}.history-row .status-badge{display:none}}
