:root{--bg:#fff;--fg:#111827;--muted:#6b7280;--card:#f9fafb;--border:#e5e7eb;--accent:#2563eb}@media (prefers-color-scheme:dark){:root{--bg:#0b0f17;--fg:#e5e7eb;--muted:#9ca3af;--card:#111827;--border:#1f2937;--accent:#60a5fa}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:880px;margin:0 auto;padding:48px 16px}h1{margin:0 0 8px;font-size:2rem}.lead{color:var(--muted);margin:0 0 32px}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.card h2{margin:0 0 4px;font-size:1rem}.card p{color:var(--muted);margin:0;font-size:.9rem}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;margin-bottom:16px;padding:2px 8px;font-size:.75rem;display:inline-block}.ok{color:#16a34a}.down{color:#dc2626}a{color:var(--accent)}.wide-main{max-width:1180px}.nav{align-items:center;gap:20px;margin-bottom:32px;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav .brand{color:var(--fg);margin-right:auto;font-weight:700}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.section-title{margin:8px 0 12px;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.8rem}button,.button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--fg);border-radius:8px;padding:8px 14px;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.wide{width:100%;margin-top:12px;padding:12px}.pill{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem;display:inline-block}.risk-read,.risk-internal{color:#16a34a;border-color:#16a34a55}.risk-notify_self{color:var(--accent);border-color:var(--accent)}.risk-draft,.risk-write_own{color:#d97706;border-color:#d9770655}.risk-external_write{color:#dc2626;border-color:#dc262655}.status-active{color:#16a34a}.status-paused{color:#d97706}.builder{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:24px;display:grid}@media (max-width:860px){.builder{grid-template-columns:1fr}}.template{text-align:left;flex-direction:column;gap:6px;display:flex}.chat{flex-direction:column;gap:10px;min-height:80px;margin:16px 0;display:flex}.bubble{border:1px solid var(--border);border-radius:12px;max-width:85%;padding:10px 14px}.bubble p{margin:0}.bubble.from-user{background:var(--accent);color:#fff;border-color:var(--accent);align-self:flex-end}.bubble.from-builder{background:var(--card);align-self:flex-start}.questions{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.questions p{margin:0 0 4px}.options{flex-wrap:wrap;gap:6px;display:flex}.option{border-radius:999px;padding:4px 10px;font-size:.85rem}.composer{align-items:flex-end;gap:8px;display:flex}.composer textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);resize:vertical;border-radius:8px;flex:1;min-width:0;padding:10px}.preview h2{margin:0 0 4px}.preview h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 6px;font-size:.85rem}.preview ol,.preview ul{margin:0;padding-left:20px}.preview .tools{padding:0;list-style:none}.preview .tools li{justify-content:space-between;gap:8px;padding:4px 0;display:flex}.estimate{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;margin-top:16px;padding:12px;display:flex}.estimate strong{font-size:1.4rem}.notice{border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:.9rem}.notice.warn{color:#b45309;background:#d9770615}.notice.error{color:#dc2626;background:#dc262615}.notice.info{background:#2563eb15}.notice.ok{color:#15803d;background:#16a34a15}.bot-list{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.bot-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bot-row>div:first-child{flex:1;min-width:160px}.actions{gap:8px;display:flex}.bubble .notice{margin-top:8px}.detail .actions{flex-wrap:wrap;margin:8px 0 16px}.detail .builder{margin-top:16px}.report h2{margin:0}.report h3,.card h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 6px;font-size:.85rem}.findings,.evidence,.runs,.timeline{margin:0;padding-left:20px}.findings li,.evidence li{overflow-wrap:anywhere;margin-bottom:6px}.findings a.pill{margin-left:4px;text-decoration:none}.runs{padding:0;list-style:none}button.link{color:var(--accent);text-align:left;background:0 0;border:none;padding:4px 0}.run-succeeded{color:#16a34a;border-color:#16a34a55}.run-failed,.run-budget_exceeded{color:#dc2626;border-color:#dc262655}.timeline .step-error,.timeline .step-denied{color:#dc2626}details{margin:6px 0}.channel-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.channel h2{margin:0;font-size:1.1rem}form.inline{gap:8px;margin-top:10px;display:flex}form.inline input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;flex:1;padding:8px 10px}button.danger{color:#dc2626;margin-top:8px}.governance{gap:16px;margin-top:24px;display:grid}.governance h2{margin:0 0 6px;font-size:1.1rem}.approvals{padding:0;list-style:none}.approvals pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px;font-size:.8rem;overflow-x:auto}.danger-zone{border-color:#dc262655}.danger-button{color:#fff;background:#dc2626;border-color:#dc2626}.consent-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.consent-row code{overflow-wrap:anywhere}.feedback{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:16px;padding-top:8px;display:flex}.feedback .option.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.feedback input.minutes{width:64px;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:6px;padding:4px 6px}.feedback button.primary{align-self:flex-start}.summary-line{margin:-8px 0 16px}
