:root{--bg: #f2f5f3;--panel: #ffffff;--ink: #112117;--muted: #4a6657;--brand: #0f7a4a;--brand-dark: #14532d;--accent: #d9ebe0;--line: #cfddd4;--ok: #1f8f52;--fail: #be2f2f;--run: #b27a0d;--pending: #6f7f77;--cap-selected-bg: #dff5e7;--cap-selected-border: #2a8f55;--cap-peripheral-bg: #edf8f0;--cap-peripheral-border: #79bb8f;--ai-pink-bg: #ff7ad9;--ai-pink-ink: #5a003d}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 90% 0%,#e4efe8,transparent 30%),radial-gradient(circle at 0% 80%,#e8f0ec,transparent 35%),var(--bg)}.app{max-width:1100px;margin:0 auto;padding:1rem;display:grid;gap:1rem}.hero{display:flex;align-items:center;gap:1rem;background:linear-gradient(120deg,#edf7f1,#f8fdf9);border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:14px;padding:1rem}.logo{width:180px;height:auto}.kicker{margin:0;color:var(--brand-dark);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.meta{margin:0;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem}h1,h2,h3{margin:0 0 .6rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}label.field,label{display:grid;gap:.35rem;align-content:start}input,textarea,select{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;padding:.58rem .7rem;background:#fff}textarea{min-height:7.5rem;resize:vertical}.context-input{min-height:14rem}.research-scope-input{min-height:9rem}.form-span-2,.form-note{grid-column:1 / -1}.upload-row{grid-column:1 / -1;display:grid;gap:.35rem;color:var(--muted)}.checkbox-row{grid-column:1 / -1;display:flex;align-items:center;gap:.55rem;color:var(--ink)}.checkbox-row input[type=checkbox]{width:auto}.form-note{margin:-.15rem 0 .1rem;padding:.75rem .9rem;border:1px solid #dce8e0;border-radius:10px;background:#f7fbf8}.ai-highlight-note{margin:.4rem 0 .9rem;padding:.8rem .95rem;border:1px solid #f4bfdc;border-radius:12px;background:linear-gradient(135deg,#fff5fb,#fffafb);color:var(--ink)}.ai-highlight-chip{display:inline-block;padding:.06rem .42rem;border-radius:999px;background:var(--ai-pink-bg);color:var(--ai-pink-ink);font-weight:700}.form-grid>.btn.form-span-2{justify-self:start}.actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn{border:1px solid var(--brand-dark);background:#f4fdf8;color:var(--brand-dark);padding:.58rem .85rem;border-radius:10px;cursor:pointer;font-weight:700}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.ghost{background:transparent;border-color:#8ea99a;color:#30483b}.stepper{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.step{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem}.step-code{font-weight:700;color:var(--brand-dark);text-align:center}.badge{font-size:.8rem;border:1px solid currentColor;border-radius:999px;padding:.15rem .45rem}.step.pending{color:var(--pending)}.step.running{color:var(--run)}.step.success{color:var(--ok)}.step.failed{color:var(--fail)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.65rem}.section-item{border:1px solid var(--line);border-radius:10px;padding:.65rem;background:#fbfdfc}.plan-review-list{display:grid;gap:.8rem}.plan-review-item{border:1px solid var(--line);border-radius:12px;padding:.8rem;background:#fbfdfc}.plan-review-item h4{margin:0 0 .45rem}.plan-review-callout{margin:.55rem 0;padding:.7rem .8rem;border:1px solid #d7e4dc;border-radius:10px;background:#f5faf7}.plan-review-callout strong{display:block;margin-bottom:.25rem;color:var(--brand-dark)}.plan-review-callout p{margin:0}.plan-review-points{margin:.35rem 0 0;padding-left:1.1rem}.plan-review-points li+li{margin-top:.2rem}.section-head{display:flex;justify-content:space-between;gap:.6rem}.mini{border-radius:999px;padding:.05rem .4rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}.mini.keep{background:#e6f6ec;color:#1a6f42}.mini.delete{background:#ffe7e7;color:#8a2929}.mini.rename{background:#fff2db;color:#815d0c}.muted{color:var(--muted)}.status{color:var(--brand-dark);font-weight:700}.capability-chip-grid{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.capability-chip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.32rem .65rem;cursor:pointer;font-size:.9rem}.capability-chip.selected{background:var(--cap-selected-bg);border-color:var(--cap-selected-border)}.capability-chip.peripheral{background:var(--cap-peripheral-bg);border-color:var(--cap-peripheral-border)}.capability-chip.active{box-shadow:0 0 0 2px #9dd8b1 inset}.capability-detail{margin-top:.75rem;border:1px solid var(--line);border-radius:10px;padding:.75rem;background:#fcfffd}.capability-evidence{margin-top:.75rem;padding:.7rem .8rem;border:1px solid #d8e5dc;border-radius:10px;background:#f7fbf8}.capability-evidence h6{margin:0 0 .35rem;font-size:.9rem}.capability-evidence p,.capability-evidence-inline{margin:.3rem 0 0}.compliance-summary{border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;font-weight:700}.compliance-summary.ok{color:#0f5c33;background:#e8f7ee;border-color:#9ad4b2}.compliance-summary.warn{color:#7b3f07;background:#fff4df;border-color:#e0ba75}.compliance-list{display:grid;gap:.5rem}.compliance-item{border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;background:#fcfefd}.compliance-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.compliance-pill{font-size:.78rem;text-transform:uppercase;border-radius:999px;border:1px solid currentColor;padding:.12rem .5rem}.compliance-pill.covered{color:#1c7a45}.compliance-pill.missing_citation{color:#8b5a06}.compliance-pill.not_addressed{color:#8a2929}.list{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.3rem}.knowledge-item{border:1px solid var(--line);border-radius:10px;padding:.75rem;background:#fbfdfc;display:grid;gap:.45rem}.knowledge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.knowledge-meta{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.92rem}.knowledge-meta span{padding:.14rem .45rem;border-radius:999px;background:#eef5f0}.knowledge-links,.knowledge-reference{color:var(--ink)}.login{min-height:100vh;align-content:center}@media (max-width: 780px){.form-grid{grid-template-columns:1fr}.hero{flex-direction:column;align-items:flex-start}.logo{width:150px}}
