:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f5f7fa;--surface:#fff;--surface-2:#f8fafc;--line:#dfe4ec;--muted:#667085;--accent:#3157d5;--accent-dark:#2445b2;--success:#147a50;--success-bg:#e8f6ef;--warning:#98610b;--warning-bg:#fff6df;--danger:#b4233d}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f5f7fa}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6}.app-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:32px;min-height:72px;padding:12px max(24px,calc((100% - 1240px)/2));border-bottom:1px solid var(--line);background:rgb(255 255 255/.96);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:#172033;color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.7rem}.app-header nav{flex:1}.nav-link,.text-button,.back-button{border:0;background:transparent;color:var(--muted);font-weight:650}.nav-link.active,.text-button{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:10px;font-size:.82rem}.environment-badge,.system-chip,.type-badge,.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-weight:700}.environment-badge{background:#fff0dc;color:#925408}.system-chip{background:#eef1f6;color:#526075}.system-chip[data-execution=enabled]{background:var(--success-bg);color:var(--success)}.app-main{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:42px 0 70px}.view[hidden],.form-card[hidden]{display:none}.page-heading,.project-hero,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.page-heading{margin-bottom:28px}.page-heading h1,.narrow-heading h1,.project-hero h1{margin:3px 0 8px;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.035em}.page-heading p,.narrow-heading p,.project-hero p{margin:0;color:var(--muted)}.eyebrow{margin:0;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.primary,.secondary,.icon-button{border-radius:9px;font-weight:750}.primary{border:1px solid var(--accent);background:var(--accent);color:#fff;padding:11px 16px}.primary:hover{background:var(--accent-dark)}.primary.compact{padding:8px 12px}.secondary,.icon-button{border:1px solid var(--line);background:#fff;color:#344054;padding:8px 11px}.summary-bar{display:flex;align-items:center;gap:25px;margin-bottom:20px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:.86rem}.summary-bar strong{color:#172033}.summary-bar .text-button{margin-left:auto}.technical-phase{border-left:1px solid var(--line);padding-left:25px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{display:flex;min-height:210px;flex-direction:column;gap:14px;width:100%;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-align:left;box-shadow:0 3px 12px rgb(16 24 40/.035)}.project-card:hover{border-color:#9eafea;box-shadow:0 8px 25px rgb(35 55 100/.08)}.project-card-header,.project-card-footer,.project-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-card h2{margin:4px 0 0;font-size:1.15rem}.project-card p{color:var(--muted);line-height:1.5;margin:0}.project-card-footer{margin-top:auto;padding-top:13px;border-top:1px solid #edf0f4;color:var(--muted);font-size:.8rem}.project-card-footer b{color:var(--accent)}.type-badge{background:#eef2ff;color:#3c55a5;font-size:.75rem}.status-badge{background:var(--success-bg);color:var(--success);font-size:.75rem}.empty-state{border:1px dashed #cdd4df;border-radius:14px;padding:34px;text-align:center;color:var(--muted);background:#fff}.empty-state .primary{margin-top:14px}.narrow-heading{width:min(720px,100%);margin:30px auto;text-align:center}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(900px,100%);margin:0 auto}.choice-card{display:flex;min-height:260px;flex-direction:column;align-items:flex-start;gap:14px;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;text-align:left}.choice-card:hover{border-color:var(--accent)}.choice-card strong{font-size:1.25rem}.choice-card span:not(.choice-icon){color:var(--muted);line-height:1.55}.choice-card b{margin-top:auto;color:var(--accent)}.choice-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:#eef2ff;color:var(--accent);font-size:1.5rem}.form-card{width:min(680px,100%);margin:0 auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff}.form-heading p{color:var(--muted)}.stack{display:grid;gap:16px}label{display:grid;gap:7px;color:#344054;font-size:.88rem;font-weight:700}.optional{color:var(--muted);font-weight:400}input,textarea,select{width:100%;border:1px solid #ccd3de;border-radius:9px;outline:none;background:#fff;color:#172033;padding:11px 12px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(49 87 213/.12)}.technical-details{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:12px}.technical-details summary{cursor:pointer;color:var(--muted);font-weight:700}.technical-details label{margin-top:14px}.notice{border-radius:10px;background:var(--warning-bg);color:var(--warning);padding:12px 14px;font-size:.86rem;line-height:1.5}.back-button{padding:6px 0}.project-hero{margin:24px 0 26px}.project-meta{justify-content:flex-start}.project-summary{margin-bottom:16px}.project-summary details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px 16px}.project-summary summary{cursor:pointer;color:var(--muted);font-weight:700}.project-summary small,.project-summary strong{display:block;margin-top:7px;overflow-wrap:anywhere}.content-card{margin-top:16px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.section-heading{margin-bottom:16px}.section-heading h2{margin:3px 0 0}.task-list{display:grid;gap:10px}.task-card{display:grid;gap:8px;width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:inherit;padding:14px;text-align:left}.task-card-header,.run-card-heading{display:flex;justify-content:space-between;gap:14px}.task-prompt,.run-summary,.run-result{color:#475467;line-height:1.5;overflow-wrap:anywhere}.task-meta{color:var(--muted);font-size:.8rem}.task-state{color:var(--success);font-size:.75rem;font-weight:800}.task-actions{display:flex;gap:8px}.run-card.active{border-color:var(--accent)}.run-detail{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:16px}.run-detail summary{cursor:pointer;color:var(--accent);font-weight:750}.run-evidence{display:grid;grid-template-columns:minmax(10rem,auto) 1fr;gap:8px 16px}.run-detail-row{display:contents}.run-evidence dt{color:var(--muted)}.run-evidence dd{margin:0;overflow-wrap:anywhere}.changed-files,.run-events{max-height:18rem;overflow:auto}.toast{position:fixed;right:22px;bottom:22px;z-index:10;max-width:min(420px,calc(100% - 44px));border:1px solid var(--line);border-radius:11px;background:#172033;color:#fff;box-shadow:0 16px 50px rgb(0 0 0/.22);padding:13px 15px}.toast.error{background:#7e1d31}@media(max-width:950px){.app-header{flex-wrap:wrap}.app-header nav{display:none}.header-actions{margin-left:auto}.project-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.app-main{width:min(100% - 24px,1240px);padding-top:26px}.header-actions #auth-user,.header-actions .icon-button,.system-chip{display:none}.page-heading,.project-hero{align-items:flex-start;flex-direction:column}.project-grid,.choice-grid{grid-template-columns:1fr}.summary-bar{flex-wrap:wrap}.technical-phase{display:none}.summary-bar .text-button{margin-left:0}.project-card{min-height:180px}.content-card,.form-card{padding:17px}.run-evidence{grid-template-columns:1fr}.run-detail-row{display:block}.brand small{display:none}}
