:root{color:#202431;background:#f5f6f8;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{min-width:1180px;margin:0}button,input,textarea,select{font:inherit}.app-shell{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#c8cedc;background:#151821;flex-direction:column;height:100vh;padding:24px 10px 16px;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:12px;height:72px;padding:0 16px;font-size:16px;font-weight:750;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#7273ff,#4545dc);border-radius:10px;place-items:center;width:38px;height:38px;font-size:22px;font-weight:850;display:grid}.sidebar nav{gap:6px;margin-top:22px;display:grid}.sidebar nav button{height:46px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:7px;align-items:center;gap:13px;padding:0 16px;display:flex}.sidebar nav button:hover{color:#fff;background:#202532}.sidebar nav button.active{color:#fff;background:#252b47;border-left-color:#696aff}.server-status{border:1px solid #333847;border-radius:8px;margin-top:auto;padding:12px;font-size:12px}.server-status i{background:#27c879;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.app-main{min-width:0}.topbar{z-index:20;background:#fff;border-bottom:1px solid #e3e5ea;align-items:center;gap:24px;height:58px;padding:0 22px;display:flex;position:sticky;top:0}.workspace{cursor:pointer;background:#fff;border:1px solid #dfe2e8;border-radius:7px;justify-content:space-between;align-items:center;min-width:150px;height:36px;padding:0 12px;display:flex}.workflow-search{color:#8b91a1;border:1px solid #dfe2e8;border-radius:7px;align-items:center;width:310px;height:36px;padding-left:10px;display:flex}.workflow-search input{border:0;outline:0;flex:1;min-width:0;padding:0 8px}.workflow-search button{color:#4b5263;cursor:pointer;background:#f0f1f4;border:0;border-radius:5px;height:26px;margin-right:4px}.role-switch{border:1px solid #dfe2e8;border-radius:7px;height:36px;margin-left:auto;display:flex;overflow:hidden}.role-switch button{color:#4c5261;cursor:pointer;background:#fff;border:0;width:58px}.role-switch button.active{color:#fff;background:#5b5ce2}.codex-badge{white-space:nowrap;border:1px solid #dfe2e8;border-radius:7px;align-items:center;height:36px;padding:0 12px;display:flex}.toast{z-index:50;color:#fff;background:#202431;border-radius:8px;gap:18px;max-width:520px;padding:11px 12px 11px 16px;display:flex;position:fixed;top:70px;right:24px;box-shadow:0 8px 30px #0003}.toast button{color:#fff;cursor:pointer;background:0 0;border:0}.workbench{grid-template-columns:300px minmax(620px,1fr) 340px;height:calc(100vh - 58px);display:grid}.queue-panel{background:#fff;border-right:1px solid #e3e5ea;flex-direction:column;min-height:0;display:flex}.queue-heading{padding:18px 18px 10px}.queue-heading h1{margin:0 0 14px;font-size:19px}.upload-button{color:#fff;cursor:pointer;background:#5b5ce2;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;display:flex}.upload-button:disabled{color:#8c92a1;background:#d7d9e1}.filters{gap:7px;padding:0 18px 12px;display:flex}.filters button{color:#777e8e;cursor:pointer;background:#fff;border:1px solid #e1e3e8;border-radius:6px;height:30px}.filters button.active{color:#fff;background:#5b5ce2;border-color:#5b5ce2}.requirement-list{align-content:start;gap:8px;min-height:0;padding:0 12px;display:grid;overflow:auto}.requirement-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e3e5ea;border-radius:8px;gap:7px;padding:12px;display:grid}.requirement-item:hover{border-color:#adaef8}.requirement-item.selected{border-color:#696aff;box-shadow:inset 0 0 0 1px #696aff}.requirement-item>div:first-child{justify-content:space-between;gap:8px;display:flex}.requirement-item b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.requirement-item code{background:#f0f1f4;border-radius:4px;width:max-content;padding:2px 5px;font-size:11px}.state{color:#5b5ce2;white-space:nowrap;font-size:12px}.state.danger{color:#dc4d61}.mini-progress{background:#e8e9ed;border-radius:3px;height:4px}.mini-progress i{background:#5b5ce2;border-radius:3px;height:100%;display:block}.requirement-item time{color:#9298a7;font-size:11px}.empty-queue{text-align:center;color:#9298a7;padding:30px 12px}.handoff{color:#5b5ce2;cursor:pointer;background:#fff;border:0;border-top:1px solid #e5e7eb;height:42px;margin-top:auto}.workspace-panel{background:#f7f8fa;min-width:0;padding:22px;overflow:auto}.workspace-title{justify-content:space-between;gap:20px;display:flex}.workspace-title p{color:#858b99;margin:0 0 8px;font-size:12px}.workspace-title h2{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 7px;font-size:24px;display:flex}.workspace-title>div>code{color:#7c8392;font-size:11px}.state-chip,.execution-chip{color:#5455dd;border:1px solid #8384f3;border-radius:4px;padding:3px 5px;font-size:10px;font-weight:600}.execution-chip{color:#159454;border-color:#5cc98d}.execution-chip.blocked,.execution-chip.reconciling{color:#a36c0b;border-color:#edbb62}.primary-action,.running-action{color:#fff;background:#5b5ce2;border:0;border-radius:7px;min-width:138px;height:42px;padding:0 16px}.primary-action:disabled{color:#9298a7;background:#e7e8ec}.running-action{color:#858b99;background:#eeeff2;place-items:center;display:grid}.source-strip,.repository-decision,.agent-card,.context-rail section{background:#fff;border:1px solid #e2e4e9;border-radius:9px}.source-strip{align-items:center;gap:14px;min-height:74px;margin-top:18px;padding:12px;display:flex;overflow:hidden}.source-strip>div:nth-child(2){min-width:170px;display:grid}.source-strip span{color:#858b99;font-size:11px}.zip-icon{color:#5556df;border:1px solid #797af0;border-radius:5px;place-items:center;width:38px;height:42px;font-size:11px;font-weight:700;display:grid}.source-file{border-left:1px solid #eceef2;align-items:center;gap:7px;min-width:120px;height:42px;padding:0 12px;display:flex}.source-file span{color:#5b5ce2;font-size:18px}.source-strip em{color:#159454;white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-style:normal;display:flex}.repository-decision{margin-top:12px;padding:13px}.repository-decision>div{justify-content:space-between;align-items:center;display:flex}.repository-decision h3,.agent-card h3,.context-rail h3{margin:0;font-size:16px}.repository-decision button{color:#5b5ce2;cursor:pointer;background:0 0;border:0}.repository-decision dl{grid-template-columns:72px minmax(0,1fr);gap:8px;margin:11px 0 0;font-size:12px;display:grid}.repository-decision dt,.metadata dt{color:#858b99}.repository-decision dd,.metadata dd{margin:0}.repository-decision code{color:#5051dc;background:#f1f1ff;border-radius:4px;padding:3px 7px}.stepper{grid-template-columns:repeat(6,1fr);margin:18px 8px;display:grid}.stepper>div{color:#727887;justify-items:center;gap:7px;font-size:12px;display:grid;position:relative}.stepper>div:not(:first-child):before{content:"";z-index:0;background:#d8dae1;width:100%;height:1px;position:absolute;top:14px;right:50%}.stepper>div.done:not(:first-child):before{background:#36ba72}.stepper>div>span{z-index:1;background:#f0f1f3;border-radius:50%;place-items:center;width:29px;height:29px;display:grid;position:relative}.stepper .done span{color:#169554;background:#fff;border:1px solid #29b66a}.stepper .active span{color:#fff;background:#5b5ce2}.stepper .active b{color:#4e4fdb}.agent-card{overflow:hidden}.agent-card-head{align-items:center;gap:12px;height:50px;padding:0 14px;display:flex}.agent-card-head>span:last-child{color:#858b99;align-items:center;gap:4px;font-size:11px;display:flex}.job-status{border:1px solid #ccc;border-radius:4px;padding:2px 4px;font-size:9px}.job-status.success{color:#149353;border-color:#55c88b}.job-status.running,.job-status.queued{color:#5556df;border-color:#797af0}.job-status.failed{color:#d33c50;border-color:#ef6b78}.main-progress{background:#eceef2;height:4px;margin:0 14px}.main-progress i{background:#5b5ce2;height:100%;display:block}.worktree-note{color:#5d6474;margin:12px 14px;font-size:12px}.job-tabs{border-bottom:1px solid #e8e9ed;gap:22px;padding:0 14px;display:flex}.job-tabs button{cursor:pointer;background:0 0;border:0;height:34px}.job-tabs button.active{color:#5556df;border-bottom:2px solid #5b5ce2}.job-body{grid-template-columns:270px minmax(0,1fr);gap:12px;padding:12px 14px;display:grid}.activity-list{display:grid}.activity-list>div{border-left:1px dotted #c8cbd3;grid-template-columns:12px 54px minmax(0,1fr) auto;align-items:center;gap:5px;padding:5px 0;font-size:11px;display:grid}.activity-list i{background:#5b5ce2;border-radius:50%;width:8px;height:8px;margin-left:-5px}.activity-list i.success{background:#22ad67}.activity-list i.failed{background:#e14b5f}.activity-list span{color:#7c8392;font-size:9px}.terminal{color:#bfc7d7;background:#171c26;border-radius:6px;align-content:center;gap:5px;min-height:135px;padding:12px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.terminal b{color:#62dca0}.job-actions{border-top:1px solid #e8e9ed;align-items:center;gap:12px;height:58px;padding:0 14px;display:flex}.job-actions button{cursor:pointer;background:#fff;border:1px solid #d8dbe2;border-radius:6px;height:36px;padding:0 14px}.job-actions button:disabled{color:#aaa;background:#f5f5f6}.job-actions small{color:#9096a4}.job-actions>span{flex:1}.job-actions .danger-text{color:#d33c50;border:0}.job-actions .outline{border-color:#7b8190}.empty-workspace{text-align:center;color:#737a89;place-content:center;justify-items:center;height:100%;display:grid}.empty-workspace p{margin:0 0 18px}.empty-workspace button{color:#fff;background:#5b5ce2;border:0;border-radius:7px;padding:11px 18px}.context-rail{background:#fafbfc;border-left:1px solid #e3e5ea;align-content:start;gap:12px;min-width:0;padding:14px;display:grid;overflow:auto}.context-rail section{padding:14px}.rail-title{justify-content:space-between;display:flex}.rail-title span{color:#dd8a18;font-size:11px}.checks{gap:7px;margin-top:12px;display:grid}.checks>div{border:1px solid #e8e9ed;border-radius:6px;padding:9px;font-size:12px}.checks .warning{color:#a86a0c;background:#fffaf0}.checks .passed{color:#168e52}.job-history{margin-top:10px;display:grid}.job-history>div{border-bottom:1px solid #eee;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:start;gap:7px;padding:8px 0;display:grid}.job-history i{color:#5556df;border:1px solid #858af4;border-radius:50%;place-items:center;width:20px;height:20px;font-style:normal;display:grid}.job-history i.success{color:#159454;border-color:#4fc482}.job-history i.failed{color:#d33c50;border-color:#ef6b78}.job-history div{gap:3px;min-width:0;display:grid}.job-history b{text-overflow:ellipsis;font-size:10px;overflow:hidden}.job-history time,.job-history small{color:#9399a7;font-size:10px}.job-history small{white-space:nowrap;text-overflow:ellipsis;max-width:170px;overflow:hidden}.job-history button{color:#5556df;cursor:pointer;background:0 0;border:0;font-size:11px}.bug-empty{color:#858b99;place-content:center;justify-items:center;gap:6px;min-height:120px;display:grid}.bug-empty svg{width:32px;height:32px}.bug-list{gap:8px;margin:10px 0;display:grid}.bug-list>div{border:1px solid #eee;border-radius:5px;gap:4px;padding:8px;display:grid}.bug-list button{color:#fff;background:#5b5ce2;border:0;border-radius:4px}.rail-button{cursor:pointer;background:#fff;border:1px solid #dfe2e8;border-radius:6px;width:100%;height:34px}.rail-button:disabled{color:#aaa;background:#f4f5f6}.metadata dl{grid-template-columns:80px minmax(0,1fr);gap:10px;margin:0;font-size:12px;display:grid}.modal-backdrop{z-index:100;background:#15182188;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(560px,90vw);max-height:90vh;overflow:auto;box-shadow:0 24px 80px #0004}.modal>header{z-index:2;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:58px;padding:0 20px;display:flex;position:sticky;top:0}.modal>header h2{margin:0;font-size:18px}.modal>header button{cursor:pointer;background:0 0;border:0}.modal-body{gap:14px;padding:20px;display:grid}.modal-body label{color:#676e7e;gap:7px;display:grid}.modal-body input,.modal-body textarea,.modal-body select{border:1px solid #d9dce3;border-radius:6px;width:100%;padding:10px}.modal-body textarea{resize:vertical;min-height:110px}.dropzone{cursor:pointer;place-content:center;justify-items:center;height:150px;color:#5556df!important;border:1px dashed #8c8df3!important;border-radius:8px!important;gap:8px!important;display:grid!important}.dropzone input{display:none}.divider{text-align:center;border-top:1px solid #e5e7eb;height:12px}.divider span{color:#999;background:#fff;padding:0 10px;position:relative;top:-9px}.modal-primary{color:#fff;cursor:pointer;background:#5b5ce2;border:0;border-radius:6px;height:40px}.modal-primary:disabled{background:#d8dae2}.code-block{overflow-wrap:anywhere;background:#f2f3f6;border-radius:6px;padding:12px;display:block}.hint{color:#777e8e;line-height:1.6}.repo-candidate{border:1px solid #e1e3e8;border-radius:7px;grid-template-columns:1fr auto;gap:6px;padding:12px;display:grid}.repo-candidate.selected{background:#f8f8ff;border-color:#696aff}.repo-candidate code{color:#777e8e;grid-column:1/-1}.report-modal{width:min(1040px,94vw)}.report-body{padding:22px;line-height:1.7}.report-summary{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.report-summary span{color:#818795;background:#f4f5f7;border-radius:6px;padding:10px;display:grid}.report-summary b{color:#2c3140;overflow-wrap:anywhere}.report-body h3{margin-top:24px}.report-body pre{white-space:pre-wrap;color:#d6dbea;background:#171c26;border-radius:7px;padding:14px;overflow:auto}.report-body article{white-space:pre-wrap;line-height:1.8}.report-body li{margin:6px 0}@media (max-width:1450px){.workbench{grid-template-columns:270px minmax(580px,1fr) 300px}.job-body{grid-template-columns:220px minmax(0,1fr)}.codex-badge{display:none}}@media (max-width:1180px){body{min-width:0}.app-shell{grid-template-columns:68px minmax(0,1fr)}.brand span:last-child,.sidebar nav span{display:none}.sidebar nav button{justify-content:center}.workbench{grid-template-columns:250px minmax(560px,1fr)}.context-rail{display:none}.role-switch button{width:48px}.workflow-search{width:230px}}.repository-options{gap:10px;max-height:52vh;display:grid;overflow:auto}.repository-options .repo-candidate{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center}.repository-options .repo-candidate input{width:16px;margin:0}.repository-options .repo-candidate span{gap:3px;display:grid}.repository-options .repo-candidate span code{grid-column:auto}.repository-options .repo-candidate em{color:#6268d9;font-style:normal}.repository-options .repo-candidate small{color:#777e8e;overflow-wrap:anywhere;grid-column:2/-1}.title-actions{align-items:center;gap:9px;display:flex}.artifact-action,.ai-chat-button{color:#5051dc;cursor:pointer;background:#fff;border:1px solid #d9dbe5;border-radius:7px;height:42px;padding:0 14px}.ai-chat-button{background:#f5f5ff;border-color:#7172ec;font-weight:700}.ai-chat-modal{flex-direction:column;width:min(820px,94vw);height:min(760px,90vh);display:flex;overflow:hidden}.ai-chat{flex-direction:column;flex:1;min-height:0;display:flex}.ai-context-note{color:#6268a0;background:#f3f4ff;border-bottom:1px solid #e3e4f3;padding:10px 18px;font-size:12px}.ai-messages{background:#f8f9fb;flex-direction:column;flex:1;gap:14px;min-height:0;padding:18px;display:flex;overflow:auto}.ai-empty{color:#7b8190;justify-items:center;gap:8px;margin:auto;display:grid}.ai-message{gap:5px;max-width:84%;display:grid}.ai-message>b{color:#858b99;font-size:11px}.ai-message article{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e0e2e8;border-radius:4px 12px 12px;padding:11px 13px;line-height:1.7}.ai-message.user{align-self:flex-end}.ai-message.user>b{text-align:right}.ai-message.user article{color:#fff;background:#5b5ce2;border-color:#5b5ce2;border-radius:12px 4px 12px 12px}.ai-thinking{color:#6768dc;padding:8px 2px;font-size:12px}.ai-composer{background:#fff;border-top:1px solid #e2e4e9;grid-template-columns:minmax(0,1fr) 90px;gap:10px;padding:14px;display:grid}.ai-composer textarea{resize:none;border:1px solid #d9dce3;border-radius:7px;height:72px;padding:10px}.ai-composer button{color:#fff;cursor:pointer;background:#5b5ce2;border:0;border-radius:7px}.ai-composer button:disabled{color:#9298a7;background:#d6d8e1}
