:root{color-scheme:dark;--bg: #0e0f14;--panel: #161822;--panel-2: #1d2030;--border: #2a2e42;--text: #e8eaf2;--text-dim: #9aa0b8;--accent: #8b5cf6;--accent-soft: rgba(139, 92, 246, .16);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .14);--ok: #22c55e;--ok-soft: rgba(34, 197, 94, .14);--warn: #f59e0b;--warn-soft: rgba(245, 158, 11, .14);font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:14px}button{font:inherit;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;padding:8px 14px;cursor:pointer;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#7c4df0}button.danger{background:var(--danger-soft);border-color:var(--danger);color:#fca5a5}input,textarea{font:inherit;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 12px;width:100%}input:focus,textarea:focus{outline:none;border-color:var(--accent)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.muted{color:var(--text-dim)}.small{font-size:12px}.login-wrap{height:100%;display:flex;align-items:center;justify-content:center}.login-card{width:380px;display:flex;flex-direction:column;gap:14px}.login-brand{font-size:20px;font-weight:700}.login-brand em{color:var(--accent);font-style:normal}.console{height:100%;display:flex}.sidebar{width:260px;border-right:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column}.sidebar-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center}.sidebar-head .title{font-weight:700;flex:1}.session-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.session-item{text-align:left;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent}.session-item:hover{background:var(--panel-2)}.session-item.active{background:var(--accent-soft);border-color:var(--accent)}.sidebar-foot{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.chat{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:12px}.msg{max-width:76%;padding:10px 14px;border-radius:12px;line-height:1.55;white-space:pre-wrap}.msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-bottom-left-radius:4px}.composer{border-top:1px solid var(--border);padding:14px 22px;display:flex;gap:10px}.composer textarea{resize:none;height:56px}.run-pane{width:360px;border-left:1px solid var(--border);background:var(--panel);overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px}.status-chip.executing{background:var(--accent-soft);color:#c4b5fd}.status-chip.awaiting_confirmation{background:var(--warn-soft);color:#fcd34d}.status-chip.completed,.status-chip.done{background:var(--ok-soft);color:#86efac}.status-chip.failed,.status-chip.cancelled{background:var(--danger-soft);color:#fca5a5}.status-chip.default{background:var(--panel-2);color:var(--text-dim)}.steps{display:flex;flex-direction:column;gap:8px}.step{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.step.completed{border-color:var(--ok)}.step.failed{border-color:var(--danger)}.step.active{border-color:var(--accent)}.confirm-card{border:1px solid var(--warn);border-radius:12px;padding:14px 16px;background:var(--warn-soft);display:flex;flex-direction:column;gap:10px}.confirm-actions{display:flex;gap:10px}.audit{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--text-dim);background:var(--panel-2)}.events{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.event-line{font-size:12px;color:var(--text-dim);display:flex;gap:8px}.event-line .t{color:var(--accent);flex-shrink:0}.shop-picker{margin:14px 22px 0;display:flex;flex-direction:column;gap:8px}.error-banner{border:1px solid var(--danger);background:var(--danger-soft);color:#fca5a5;border-radius:10px;padding:10px 14px}.empty{color:var(--text-dim);text-align:center;padding:40px 12px}
