:root{color:#18201f;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{background:#17211f;color:#f7faf5;padding:26px 20px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:8px;background:#f5c657;color:#17211f;display:grid;place-items:center}.brand strong,.brand span{display:block}.brand span,.eyebrow,.phase small,.hint{color:#6e7872}.sidebar .brand span,.sidebar .side-status span{color:#bdc8bf}.nav-list{display:grid;gap:8px}.nav-list a{color:#dfe8e2;text-decoration:none;min-height:42px;display:flex;align-items:center;gap:10px;border-radius:8px;padding:0 12px}.nav-list a.active,.nav-list a:hover{background:#263330}.side-status{margin-top:auto;display:grid;gap:10px}.side-status strong{font-size:38px}.progress-track{height:10px;border-radius:999px;background:#33403d;overflow:hidden}.progress-track div{height:100%;background:#69d99b;border-radius:inherit;transition:width .18s ease}.workspace{padding:28px;display:grid;gap:24px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:800}.eyebrow.danger{color:#ad2f2f}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(28px,4vw,48px);max-width:980px;line-height:1.08}h2{font-size:19px}.top-actions{display:flex;gap:10px}.icon-button,.primary-action{min-height:42px;border-radius:8px;border:1px solid #cfd9d1;background:#fff;color:#1c2523;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px}.icon-button{width:42px;padding:0}.icon-button.small{width:34px;min-height:34px}.primary-action{background:#192321;color:#fff;border-color:#192321;font-weight:800}.secondary-action{background:#f5c657;color:#17211f;border-color:#f5c657}.primary-action:disabled{cursor:not-allowed;opacity:.52}.control-grid,.ops-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:18px}.program-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:18px;align-items:stretch;background:#17211f;color:#f7faf5;border-color:#17211f}.program-panel .eyebrow,.program-panel p{color:#c8d4cd}.program-copy{display:grid;align-content:start;gap:12px}.program-copy h2{font-size:30px}.stack-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stack-strip span{min-height:46px;border:1px solid #3d4b47;border-radius:8px;background:#22302d;display:flex;align-items:center;padding:0 12px;font-weight:900}.program-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(260px,.65fr) 220px minmax(0,1fr);gap:14px}.program-folder-field{color:#f7faf5}.program-folder-field input{background:#0f1715;color:#f7faf5;border-color:#31413d}.program-folder-field span{color:#c8d4cd;font-size:12px;font-weight:800;line-height:1.4}.program-write{min-height:78px;background:#69d99b;color:#17211f;border-color:#69d99b;font-size:17px}.program-actions pre{margin:0;min-height:78px;max-height:220px;overflow:auto;white-space:pre-wrap;border-radius:8px;background:#0f1715;border:1px solid #31413d;color:#dfe8e2;padding:14px}.panel,.artifact{background:#fff;border:1px solid #dce4dd;border-radius:8px;padding:20px;box-shadow:0 8px 24px #1b26230f}.panel-heading,.artifact header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.project-panel{display:grid;gap:14px}label{display:grid;gap:7px;color:#34403c;font-weight:800}input,textarea{width:100%;border:1px solid #cfd9d1;border-radius:8px;padding:12px 13px;background:#fbfcfa;color:#18201f;outline:none}input:focus,textarea:focus{border-color:#27845d;box-shadow:0 0 0 3px #27845d24}textarea{min-height:88px;resize:vertical}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lock-panel{display:grid;align-content:start;gap:10px}.lock-row{min-height:48px;border:1px solid #d6dfd8;background:#f8faf7;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-weight:800;color:#283431}.lock-row.checked{border-color:#27845d;background:#edf9f1}.check-box{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#fff;color:#27845d}.hint{margin:8px 0 0;line-height:1.55}.export-status{margin-top:8px;border-radius:8px;background:#17211f;color:#fff;padding:14px;display:grid;gap:5px}.export-status span{color:#bdc8bf;font-size:12px;font-weight:800;text-transform:uppercase}.export-status strong{line-height:1.35}.factory-panel{display:grid;gap:16px}.factory-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.45fr);gap:14px;align-items:end}.factory-summary{min-height:72px;border:1px solid #d6dfd8;border-radius:8px;background:#f8faf7;padding:12px;display:grid;align-content:center;gap:5px}.factory-summary span,.command-head span{color:#6e7872;font-size:12px;font-weight:900;text-transform:uppercase}.factory-summary strong{color:#1e2a27;overflow-wrap:anywhere}.command-card{border-radius:8px;overflow:hidden;border:1px solid #263330;background:#111816}.command-head{min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263330}.command-card pre{margin:0;padding:16px;color:#e6efe8;overflow-x:auto;line-height:1.65;font-size:14px}.critic-panel{border-color:#e2c2bc;background:snow}.critic-panel .panel-heading svg{color:#ad2f2f}.critic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.critique{border:1px solid #ead8d4;border-left-width:5px;border-radius:8px;background:#fff;padding:14px;display:grid;gap:12px}.critique.critical{border-left-color:#ad2f2f}.critique.high{border-left-color:#d07023}.critique.medium{border-left-color:#8a6c2c}.critique-head{display:grid;gap:6px}.critique-head span{width:fit-content;border-radius:999px;background:#f7e5e1;color:#812323;padding:5px 8px;font-size:12px;font-weight:900}.critique-head strong{color:#1e2a27;line-height:1.35}.critique p{margin:0;color:#4d3d3a;line-height:1.55}.critique small{display:block;margin-bottom:5px;color:#ad2f2f;font-size:12px;font-weight:900;text-transform:uppercase}.critique div:last-child strong{color:#25211f;line-height:1.5}.gate-panel{display:grid;gap:16px}.gate-score{min-width:98px;border-radius:8px;padding:10px 12px;display:grid;justify-items:end;gap:2px}.gate-score span{font-size:12px;font-weight:900;text-transform:uppercase}.gate-score strong{font-size:22px}.gate-score.pass{background:#e4f6eb;color:#1d684a}.gate-score.hold{background:#fff0c7;color:#7a4e00}.gate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gate-card{border:1px solid #dce4dd;border-radius:8px;padding:14px;background:#fbfcfa;display:grid;gap:12px}.gate-card.pass{border-color:#b9dfc5}.gate-card.hold{border-color:#e5c67a;background:#fffaf0}.gate-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.gate-card-head strong{color:#1f2a27}.gate-card-head span{border-radius:999px;padding:5px 8px;background:#fff;color:#41504b;font-size:12px;font-weight:900}.meter{height:9px;border-radius:999px;background:#e0e7e1;overflow:hidden}.meter div{height:100%;border-radius:inherit;background:#27845d}.gate-card.hold .meter div{background:#d07023}.gate-card ul{margin:0;padding-left:18px;display:grid;gap:7px;color:#34403c;line-height:1.45}.gate-card p{margin:0;color:#52605b;line-height:1.5}.local-panel{display:grid;gap:16px}.local-actions{display:flex;flex-wrap:wrap;gap:10px}.local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.local-card{border:1px solid #dce4dd;border-radius:8px;background:#fbfcfa;padding:14px;display:grid;gap:6px}.local-card span{color:#6e7872;font-size:12px;font-weight:900;text-transform:uppercase}.local-card strong,.local-card p{overflow-wrap:anywhere}.local-card p{margin:0;color:#52605b;line-height:1.45}.history-panel,.automation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.history-panel>div,.automation-grid>div,.agent-run-panel,.gemini-review{border-radius:8px;border:1px solid #dce4dd;background:#f8faf7;padding:14px}.history-panel h3,.automation-grid h3,.agent-run-panel h3,.gemini-review h3{margin:0 0 12px;font-size:16px;display:flex;align-items:center;gap:8px}.history-panel ul,.automation-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}.history-panel li,.automation-grid li{display:grid;gap:3px;color:#34403c}.history-panel li span,.automation-grid li span{color:#6e7872;overflow-wrap:anywhere}.history-panel pre,.gemini-review pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:#22302c}.agent-run-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.agent-run-grid article{border:1px solid #dce4dd;border-radius:8px;background:#fff;padding:12px;display:grid;gap:8px}.agent-run-grid span{width:fit-content;border-radius:999px;background:#e4f6eb;color:#1d684a;padding:4px 7px;font-size:12px;font-weight:900}.agent-run-grid strong{color:#1f2a27}.agent-run-grid p,.agent-run-grid small{margin:0;color:#52605b;line-height:1.45}.agent-run-grid small{color:#2e3936}.phase-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.phase{text-align:left;min-height:138px;border:1px solid #dce4dd;border-radius:8px;background:#fff;padding:14px;display:grid;align-content:start;gap:10px}.phase.done{border-color:#27845d;background:#f0faf4}.phase-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#e9eee9;color:#25302d}.phase.done .phase-icon{background:#27845d;color:#fff}.phase strong{color:#1f2a27}.phase small{line-height:1.45}.outputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.artifact h2,.artifact-actions{display:flex;align-items:center;gap:8px}.badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.badge.locked{color:#1d684a;background:#e4f6eb}.badge.variant{color:#7a4e00;background:#fff0c7}.artifact ul,.runbook{margin:0;padding:0;list-style:none;display:grid;gap:10px}.artifact li{padding:12px;border-radius:8px;background:#f7f9f7;line-height:1.5}.runbook li{display:flex;align-items:flex-start;gap:9px;line-height:1.5;color:#2e3936}.runbook svg{flex:0 0 auto;margin-top:3px;color:#27845d}@media(max-width:1120px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.side-status{margin-top:0}.phase-strip,.gate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-grid,.history-panel,.automation-grid,.agent-run-grid,.program-panel,.program-actions{grid-template-columns:1fr}}@media(max-width:760px){.workspace{padding:18px}.topbar,.control-grid,.ops-grid,.outputs,.critic-grid,.factory-layout,.gate-grid,.local-grid,.history-panel,.automation-grid,.agent-run-grid,.program-panel,.program-actions,.stack-strip,.split{grid-template-columns:1fr}.topbar{display:grid}.nav-list{grid-template-columns:1fr 1fr}.phase-strip{grid-template-columns:1fr}}
