:root{color:#18201f;background:#f5f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.4;text-rendering:geometricPrecision;--paper: #fbfaf5;--ink: #18201f;--muted: #69716b;--line: #d9d6c9;--green: #1c7c54;--amber: #b86118;--red: #b42318;--cyan: #1b6c75;--steel: #56616c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.login-shell{align-items:center;display:grid;min-height:100vh;padding:24px}.login-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:20px;margin:0 auto;max-width:440px;padding:24px;width:100%}.login-panel h1{font-size:30px;letter-spacing:0;line-height:1.1;margin:4px 0 8px}.login-panel p{color:var(--muted);margin:0}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:6px}.login-form label span{color:var(--muted);font-size:12px;font-weight:800}.login-form input{background:#fffef9;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:40px;padding:0 10px;width:100%}.login-error{color:var(--red);font-size:12px;font-weight:800}.workbench{min-height:100vh;padding:24px}.project-header{align-items:end;border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:minmax(280px,1fr) auto minmax(420px,.8fr);padding-bottom:18px}.brand-block h1{font-size:30px;letter-spacing:0;line-height:1.1;margin:4px 0 8px}.brand-block p{color:var(--muted);margin:0;max-width:720px}.session-chip{align-items:center;background:#fffef9;border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:8px;margin-top:12px;min-height:34px;max-width:100%;padding:4px 6px 4px 10px}.session-chip span{font-size:13px;font-weight:800}.session-chip small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.session-chip button{align-items:center;background:transparent;border:0;color:var(--steel);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;width:28px}.eyebrow{color:var(--cyan);display:block;font-size:13px;font-weight:800}.scenario-switch{background:#ebe8dc;border:1px solid var(--line);border-radius:8px;display:flex;padding:4px}.scenario-switch button{background:transparent;border:0;border-radius:6px;color:var(--steel);cursor:pointer;min-height:36px;padding:0 14px}.scenario-switch button.active{background:var(--ink);color:#fffdf6}.status-strip{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.metric{background:var(--paper);border:1px solid var(--line);border-radius:8px;min-height:66px;padding:10px 12px}.metric span{color:var(--muted);display:block;font-size:12px}.metric strong{color:var(--ink);display:block;font-size:17px;margin-top:4px}.metric.danger strong{color:var(--red)}.metric.ok strong{color:var(--green)}.dashboard-grid{display:grid;gap:16px;grid-template-columns:320px minmax(320px,1fr) 420px;grid-template-rows:auto minmax(260px,.8fr) 260px 220px;margin-top:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden}.panel-title{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:8px;min-height:46px;padding:0 14px}.panel-title h2{font-size:14px;letter-spacing:0;margin:0}.pm-panel{grid-column:1 / 2;min-height:260px}.pm-form{display:grid;gap:12px;padding:12px}.pm-start-form{display:grid;gap:12px}.pm-form textarea{background:#fffef9;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:94px;padding:10px;resize:vertical;width:100%}.package-switch{background:#ebe8dc;border:1px solid var(--line);border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.package-switch button,.primary-action{border-radius:6px;cursor:pointer;min-height:38px}.package-switch button{background:transparent;border:0;color:var(--steel)}.package-switch button.active,.primary-action{background:var(--ink);color:#fffdf6}.ai-toggle{align-items:center;background:#fffef9;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;font-weight:800;gap:8px;min-height:38px;padding:0 10px}.ai-toggle input{accent-color:var(--green);height:16px;width:16px}.ai-toggle.disabled{color:var(--muted);cursor:not-allowed;opacity:.72}.ai-note{color:var(--muted);font-size:12px;margin:-4px 0 0}.ai-note.blocked{color:var(--red);font-weight:800}.platform-ai-box{border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;padding:10px}.platform-ai-title,.platform-ai-row,.platform-ai-footer{align-items:center;display:flex;gap:8px}.platform-ai-title,.platform-ai-row,.platform-ai-footer{justify-content:space-between}.platform-ai-title strong,.platform-ai-row strong{font-size:13px}.auth-ready,.auth-muted,.auth-error,.platform-ai-footer,.platform-ai-row{font-size:12px}.auth-ready{color:var(--green);font-weight:800}.auth-muted{color:var(--muted)}.auth-error{color:var(--red);font-weight:800}.platform-ai-row,.platform-ai-footer{color:var(--muted)}.openai-connect-form{border-top:1px solid var(--line);display:grid;gap:8px;padding-top:10px}.openai-connect-form a{align-items:center;color:var(--cyan);display:inline-flex;font-size:12px;font-weight:800;gap:6px;text-decoration:none}.openai-connect-form label{display:grid;gap:5px}.openai-connect-form label span{color:var(--muted);font-size:11px;font-weight:800}.openai-connect-form input{background:#fffef9;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:36px;padding:0 9px;width:100%}.connect-action{align-items:center;background:#fffef9;border:1px solid var(--ink);border-radius:6px;color:var(--ink);cursor:pointer;display:inline-flex;font-weight:800;gap:7px;justify-content:center;min-height:36px}.connect-action:disabled{border-color:#a7a195;color:#a7a195;cursor:wait}.primary-action{border:1px solid var(--ink);font-weight:800}.task-panel{grid-column:1 / 2;grid-row:2 / 4}.task-list,.artifact-list,.event-list{display:grid;gap:8px;padding:12px}.task-row,.artifact-row,.event-row{align-items:center;background:#fffef9;border:1px solid #e6e2d5;border-radius:8px;display:flex;gap:12px;justify-content:space-between;min-height:68px;padding:10px}.task-row.active{border-color:var(--cyan);box-shadow:inset 4px 0 0 var(--cyan)}.task-row strong,.artifact-row strong,.event-row strong{display:block;font-size:14px}.task-row span,.artifact-row span,.event-row p{color:var(--muted);font-size:12px;margin:3px 0 0}.artifact-row{align-items:flex-start}.artifact-row code,.artifact-row small,.artifact-row p{display:block;margin-top:5px}.artifact-row code{color:var(--cyan);font-size:11px}.artifact-row small{color:var(--muted);font-size:11px;max-width:520px;overflow-wrap:anywhere}.artifact-row p{color:var(--steel);font-size:12px;line-height:1.35;max-width:560px}.pill{border:1px solid var(--line);border-radius:999px;color:var(--steel);flex:0 0 auto;font-size:12px;padding:4px 8px}.pill.blocked,.pill.failed{border-color:#efb2a8;color:var(--red)}.pill.accepted,.pill.delivered{border-color:#9fcab4;color:var(--green)}.stage-panel{grid-column:2 / 3;grid-row:1 / 2;min-height:330px}.stage-current{display:flex;flex-direction:column;justify-content:center;min-height:214px;padding:28px}.sequence{color:var(--amber);font-weight:800}.stage-current h2{font-size:28px;letter-spacing:0;line-height:1.16;margin:10px 0 12px;max-width:720px}.stage-current p{color:var(--muted);margin:0;overflow-wrap:anywhere}.stage-rail{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}.stage-rail span{border-right:1px solid var(--line);color:var(--steel);min-height:68px;padding:14px}.stage-rail span:last-child{border-right:0}.event-panel{grid-column:3 / 4;grid-row:1 / 5}.event-list{max-height:780px;overflow:auto}.organization-panel{grid-column:2 / 3;grid-row:2 / 3;min-height:240px}.organization-body{display:grid;gap:10px;padding:12px}.org-metrics{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.org-metric{background:#fffef9;border:1px solid var(--line);border-radius:8px;min-height:58px;padding:8px}.org-metric span{color:var(--muted);display:block;font-size:11px}.org-metric strong{color:var(--ink);display:block;font-size:13px;margin-top:4px;overflow-wrap:anywhere}.org-metric.danger strong{color:var(--red)}.org-role-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.org-role-row{align-items:center;background:#fffef9;border:1px solid #e6e2d5;border-radius:8px;display:flex;gap:10px;justify-content:space-between;min-height:56px;padding:9px}.org-role-row strong,.org-role-row span{display:block}.org-role-row strong{font-size:13px}.org-role-row span{color:var(--muted);font-size:11px}.org-role-row.muted{grid-column:1 / -1}.event-row{align-items:flex-start;justify-content:start}.loop-stack{background:#eef8f5;border:1px solid #9fcab4;border-radius:8px;display:grid;gap:8px;padding:10px}.loop-stack.failed,.loop-stack.max_turns_exceeded{background:#fff8f4;border-color:#efb2a8}.loop-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.loop-header strong,.loop-header code{display:block}.loop-header strong{font-size:13px}.loop-header code{color:var(--cyan);font-size:11px;margin-top:2px;overflow-wrap:anywhere}.loop-header span{border:1px solid #9fcab4;border-radius:999px;color:var(--green);flex:0 0 auto;font-size:12px;font-weight:800;padding:4px 8px}.loop-stack p{color:var(--ink);font-size:12px;margin:0}.loop-tools,.loop-events{display:flex;flex-wrap:wrap;gap:6px}.tool-chip,.loop-events span{background:#fffef9;border:1px solid var(--line);border-radius:999px;color:var(--steel);font-size:11px;padding:3px 7px}.tool-chip.completed{border-color:#9fcab4;color:var(--green)}.tool-chip.failed{border-color:#efb2a8;color:var(--red)}.risk-stack{background:#fff8f4;border:1px solid #efb2a8;border-radius:8px;display:grid;gap:8px;padding:10px}.risk-stack>strong{color:var(--red);font-size:13px}.risk-row{align-items:flex-start;display:flex;gap:8px}.risk-row span{background:var(--red);border-radius:999px;color:#fffdf6;flex:0 0 auto;font-size:11px;font-weight:800;padding:3px 6px}.risk-row p{color:var(--ink);font-size:12px;margin:0}.event-row.blocked,.event-row.failed{border-color:#efb2a8;box-shadow:inset 4px 0 0 var(--red)}.event-index{align-items:center;background:#ebe8dc;border-radius:6px;color:var(--steel);display:inline-flex;flex:0 0 34px;font-size:12px;height:28px;justify-content:center}.event-main{min-width:0;width:100%}.event-row-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.event-status{border:1px solid var(--line);border-radius:999px;color:var(--steel);flex:0 0 auto;font-size:11px;padding:2px 6px}.event-status.completed{border-color:#9fcab4;color:var(--green)}.event-status.blocked,.event-status.failed{border-color:#efb2a8;color:var(--red)}.event-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.event-meta span,.event-meta code{background:#f3f1e8;border-radius:999px;color:var(--steel);font-size:11px;padding:2px 6px}.event-meta code{color:var(--cyan);overflow-wrap:anywhere}.artifact-panel,.control-panel{min-height:240px}.artifact-panel{grid-column:2 / 3;grid-row:3 / 5}.control-panel{grid-column:1 / 2;grid-row:4 / 5}.control-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.icon-button{align-items:center;background:#fffef9;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:46px;min-width:0;padding:0 10px}.icon-button:disabled{color:#a7a195;cursor:not-allowed}.primary-action:disabled{background:#a7a195;border-color:#a7a195;cursor:wait}@media(max-width:1180px){.project-header,.dashboard-grid{grid-template-columns:1fr}.task-panel,.event-panel,.stage-panel,.organization-panel,.artifact-panel,.control-panel,.pm-panel{grid-column:auto;grid-row:auto}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.workbench,.login-shell{padding:14px}.brand-block h1,.login-panel h1,.stage-current h2{font-size:24px}.scenario-switch,.control-grid,.org-metrics,.org-role-list,.package-switch,.status-strip,.stage-rail{grid-template-columns:1fr}.scenario-switch{display:grid}}.live-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .85rem;border-radius:.6rem;background:#22d3ee14;border:1px solid rgba(34,211,238,.25);font-size:.85rem}.live-indicator.failed{background:#f871711a;border-color:#f871714d}.live-indicator strong{color:var(--cyan, #22d3ee)}.live-indicator em{margin-left:auto;opacity:.85;font-style:normal}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--cyan, #22d3ee);animation:livePulse 1.1s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.ghost-action{margin-top:.5rem;width:100%;padding:.55rem;border-radius:.6rem;background:transparent;border:1px dashed rgba(34,211,238,.45);color:var(--cyan, #22d3ee);cursor:pointer}.ghost-action:hover{background:#22d3ee14}.o7-overlay{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;padding:.6rem .85rem;border-radius:.6rem;background:#f8717129;border:1px solid rgba(248,113,113,.45);color:#fca5a5;animation:o7Fade 1.2s ease-out}@keyframes o7Fade{0%{opacity:0;transform:translateY(-4px)}15%{opacity:1;transform:none}to{opacity:1}}.artifact-download{display:inline-block;margin-top:.25rem;color:var(--cyan, #22d3ee);text-decoration:none;font-size:.8rem}.artifact-download:hover{text-decoration:underline}.stage-rail span.active{color:var(--cyan, #22d3ee);box-shadow:inset 0 -3px 0 var(--cyan, #22d3ee)}.event-row.enter{animation:eventSlideIn .24s ease-out}@keyframes eventSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.live-dot,.o7-overlay,.event-row.enter{animation:none}}
