.factory-request-button { border-color:rgba(216,242,107,.48); background:var(--acid); color:#10140b; cursor:pointer; font-weight:650; }
.factory-request-button:disabled { cursor:default; opacity:.72; }
.signal-page .factory-request-button { border-color:rgba(189,155,255,.55); background:var(--violet); color:#130e1a; }
.forge-page .factory-request-button { border-color:rgba(115,211,255,.55); background:var(--blue); color:#071117; }
.factory-flow { display:grid; grid-template-columns:1fr 28px 1fr 28px 1.25fr 28px 1fr 28px 1fr; align-items:center; gap:7px; margin:20px 0 38px; padding:12px; border:1px solid var(--line); border-radius:7px; background:rgba(16,21,27,.78); }
.factory-flow-step { min-width:0; padding:9px 10px; border:1px solid #29323d; border-radius:5px; background:#0d1217; }
.factory-flow-step b,.factory-flow-step small { display:block; }.factory-flow-step b { font-size:.65rem; }.factory-flow-step small { margin-top:3px; overflow:hidden; color:#778493; font-size:.55rem; text-overflow:ellipsis; white-space:nowrap; }
.factory-flow-step.factory { border-color:rgba(216,242,107,.3); background:rgba(216,242,107,.05); }.signal-page .factory-flow-step.factory { border-color:rgba(189,155,255,.32); background:rgba(189,155,255,.05); }.forge-page .factory-flow-step.factory { border-color:rgba(115,211,255,.3); background:rgba(115,211,255,.05); }
.factory-flow-arrow { color:#536070; text-align:center; font-size:.75rem; }.factory-flow-status { display:flex; align-items:center; gap:5px; color:#94a16c; }.factory-flow-status::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--acid); box-shadow:0 0 7px rgba(216,242,107,.5); }
.factory-control { display:grid; grid-template-columns:1.05fr 1.35fr; gap:12px; margin:0 0 54px; }
.request-console,.orchestrator-card { padding:20px; border:1px solid var(--line); border-radius:7px; background:linear-gradient(145deg,rgba(21,27,35,.96),rgba(14,18,24,.96)); }
.request-console header,.orchestrator-card header { display:flex; justify-content:space-between; align-items:start; gap:15px; padding-bottom:14px; border-bottom:1px solid var(--line); }.request-console h2,.orchestrator-card h2 { margin:0; font-size:1rem; }.request-console header p,.orchestrator-card header p { margin:4px 0 0; color:var(--muted); font-size:.62rem; }
.orchestrator-chat { display:grid; gap:8px; margin-top:16px; }.chat-message { max-width:92%; padding:10px 11px; border:1px solid #303a46; border-radius:6px; background:#0d1217; }.chat-message span { display:block; color:#718092; font-size:.52rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }.chat-message p { margin:6px 0 0; color:#aeb8c3; font-size:.63rem; line-height:1.48; }.chat-message p b { color:#d1dae4; font-weight:550; }.chat-message.user { justify-self:end; border-color:rgba(216,242,107,.28); background:rgba(216,242,107,.055); }.chat-message.user span { color:var(--acid); }.chat-message.user p { color:#d3dec1; }.chat-compose { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }.chat-compose textarea { width:100%; min-height:84px; resize:vertical; padding:10px; border:1px solid #303a46; border-radius:5px; outline:0; background:#0b1015; color:var(--text); font:inherit; font-size:.66rem; line-height:1.48; }.chat-compose textarea:focus { border-color:rgba(216,242,107,.5); }.chat-compose textarea:disabled { opacity:.72; }.chat-compose > div { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:9px; }.chat-compose > div > span { color:#687585; font-size:.53rem; }
.request-context { display:flex; flex-wrap:wrap; gap:6px; margin:13px 0 16px; }.request-context span,.agent-chip { padding:4px 7px; border:1px solid #303946; border-radius:11px; color:#82909f; font-size:.55rem; }
.orchestrator-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:16px; }.orchestrator-progress div { padding:9px; border:1px solid #2b3440; border-radius:4px; }.orchestrator-progress b,.orchestrator-progress small { display:block; }.orchestrator-progress b { color:#b9c3ce; font-size:.6rem; }.orchestrator-progress small { margin-top:4px; color:#687585; font-size:.52rem; }.orchestrator-progress div.done { border-color:rgba(216,242,107,.25); background:rgba(216,242,107,.04); }.orchestrator-progress div.active { border-color:rgba(115,211,255,.35); background:rgba(115,211,255,.05); }
.agent-roster { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }.agent-chip { color:#aab5c1; }.agent-chip::before { content:""; display:inline-block; width:5px; height:5px; margin-right:5px; border-radius:50%; background:var(--blue); }
.orchestrator-queue { margin-top:18px; padding-top:15px; border-top:1px solid var(--line); }.queue-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }.queue-heading b { color:#b9c3ce; font-size:.62rem; }.queue-heading span { color:#687585; font-size:.53rem; }.queue-list { border:1px solid #29323d; border-radius:5px; overflow:hidden; }.queue-row { display:grid; grid-template-columns:25px minmax(0,1fr) auto; gap:9px; align-items:center; min-height:45px; padding:7px 9px; border-bottom:1px solid #29323d; background:#0d1217; }.queue-row:last-child { border-bottom:0; }.queue-row.active { background:rgba(115,211,255,.05); }.queue-order { color:#687585; font-size:.54rem; }.queue-row b,.queue-row small { display:block; }.queue-row b { overflow:hidden; color:#aeb8c3; font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }.queue-row small { margin-top:3px; overflow:hidden; color:#687585; font-size:.51rem; text-overflow:ellipsis; white-space:nowrap; }.queue-state { display:flex; align-items:center; gap:4px; color:#7e8b9a; font-size:.51rem; }.queue-state i { width:5px; height:5px; border-radius:50%; background:#5d6976; }.queue-state.active { color:var(--blue); }.queue-state.active i { background:var(--blue); box-shadow:0 0 7px rgba(115,211,255,.45); }.queue-state.waiting i { background:var(--acid); }.queue-state.background { color:#697586; }.queue-state.background i { background:#657184; }
.factory-modal-backdrop { position:fixed; z-index:40; inset:0; display:none; place-items:center; padding:20px; background:rgba(3,5,7,.76); backdrop-filter:blur(4px); }.factory-modal-backdrop.open { display:grid; }
.factory-modal { width:min(650px,100%); max-height:calc(100vh - 40px); overflow:auto; border:1px solid #36414e; border-radius:8px; background:#10161d; box-shadow:0 28px 80px rgba(0,0,0,.55); }.factory-modal header { display:flex; justify-content:space-between; gap:20px; padding:20px 22px; border-bottom:1px solid var(--line); }.factory-modal h2,.factory-modal header p { margin:0; }.factory-modal h2 { font-size:1.05rem; }.factory-modal header p { margin-top:5px; color:var(--muted); font-size:.63rem; }.modal-close { width:28px; height:28px; border:1px solid var(--line); border-radius:4px; background:transparent; color:#8491a0; cursor:pointer; }
.factory-form { display:grid; gap:15px; padding:20px 22px 22px; }.factory-form label { display:grid; gap:6px; color:#788596; font-size:.59rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }.factory-form textarea,.factory-form select,.factory-form input { width:100%; border:1px solid #303a46; border-radius:5px; outline:0; background:#0b1015; color:var(--text); font:inherit; font-size:.72rem; }.factory-form textarea { min-height:105px; resize:vertical; padding:11px; line-height:1.5; }.factory-form select,.factory-form input { height:38px; padding:0 10px; }.factory-form textarea:focus,.factory-form select:focus,.factory-form input:focus { border-color:rgba(216,242,107,.5); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.factory-form footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-top:4px; }.factory-form footer small { color:#687585; font-size:.56rem; }
.factory-runner { position:fixed; z-index:45; right:18px; bottom:18px; display:none; width:min(420px,calc(100vw - 36px)); overflow:hidden; border:1px solid #374351; border-radius:8px; background:#10161d; box-shadow:0 20px 60px rgba(0,0,0,.5); }.factory-runner.open { display:block; }.factory-runner header { display:flex; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--line); }.factory-runner h3,.factory-runner header p { margin:0; }.factory-runner h3 { font-size:.78rem; }.factory-runner header p { margin-top:3px; color:#748191; font-size:.54rem; }.runner-percent { color:var(--acid); font-size:.72rem; }.runner-bar { height:3px; background:#202832; }.runner-bar i { display:block; width:0; height:100%; background:var(--acid); transition:width .35s ease; }.runner-body { padding:14px 16px 16px; }.runner-stage { display:flex; gap:10px; padding:8px 0; color:#5f6c7b; }.runner-stage i { display:grid; place-items:center; flex:none; width:18px; height:18px; border:1px solid #37414d; border-radius:50%; font-style:normal; font-size:.52rem; }.runner-stage b,.runner-stage small { display:block; }.runner-stage b { font-size:.62rem; }.runner-stage small { margin-top:2px; font-size:.54rem; }.runner-stage.done { color:#aab59c; }.runner-stage.done i { border-color:rgba(216,242,107,.4); background:rgba(216,242,107,.1); color:var(--acid); }.runner-stage.active { color:var(--text); }.runner-stage.active i { border-color:var(--blue); color:var(--blue); box-shadow:0 0 8px rgba(115,211,255,.25); }.runner-result { display:none; margin-top:10px; padding:11px; border:1px solid rgba(216,242,107,.3); border-radius:5px; background:rgba(216,242,107,.05); }.runner-result.show { display:block; }.runner-result b,.runner-result small { display:block; }.runner-result b { color:var(--acid); font-size:.65rem; }.runner-result small { margin-top:4px; color:#8996a5; font-size:.55rem; }
.factory-form .reuse-toggle { display:flex; grid-template-columns:none; align-items:center; gap:8px; color:#8e9aa8; font-weight:500; letter-spacing:0; text-transform:none; }.factory-form .reuse-toggle input { flex:none; width:14px; height:14px; accent-color:var(--acid); }.runner-head-actions { display:flex; align-items:center; gap:9px; }.runner-close { display:grid; place-items:center; width:22px; height:22px; border:1px solid var(--line); border-radius:3px; background:transparent; color:#778493; cursor:pointer; }
@media(max-width:1050px){.factory-flow{grid-template-columns:1fr 22px 1fr 22px 1fr}.factory-flow-step:nth-of-type(7),.factory-flow-arrow:nth-of-type(6),.factory-flow-step:nth-of-type(9),.factory-flow-arrow:nth-of-type(8){display:none}.factory-control{grid-template-columns:1fr}}
@media(max-width:720px){.factory-flow{grid-template-columns:1fr;gap:6px}.factory-flow-arrow{transform:rotate(90deg)}.factory-flow-step:nth-of-type(7),.factory-flow-arrow:nth-of-type(6),.factory-flow-step:nth-of-type(9),.factory-flow-arrow:nth-of-type(8){display:block}.orchestrator-progress{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.factory-form footer{align-items:stretch;flex-direction:column}.factory-form footer .button{width:100%}}
@media(max-width:520px){.chat-compose > div{align-items:stretch;flex-direction:column}.chat-compose > div .button{width:100%}}
