:root { --ink:#102522; --muted:#60706c; --paper:#f4f4ee; --white:#fff; --teal:#087f6e; --lime:#dafa86; --line:#d9ded8; --amber:#c97817; --red:#b43d3d; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font:15px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
header { height:72px; padding:0 max(5vw,24px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(244,244,238,.94); }
.brand { color:var(--ink); text-decoration:none; font-size:22px; font-weight:800; letter-spacing:-.04em; }
.brand span { color:var(--teal); font-weight:500; margin-left:4px; }
.status { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.status i { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--teal); margin-right:7px; }
main { max-width:1440px; margin:auto; padding:54px max(5vw,24px) 80px; }
.hero { max-width:840px; margin-bottom:42px; }
.eyebrow { color:var(--teal); font-weight:800; letter-spacing:.16em; font-size:12px; }
h1 { margin:8px 0 14px; max-width:760px; font-family:Georgia, serif; font-weight:500; font-size:clamp(42px,6vw,72px); line-height:1.02; letter-spacing:-.045em; }
.lede { max-width:720px; color:var(--muted); font-size:18px; }
.workspace { display:grid; grid-template-columns:minmax(310px,.8fr) minmax(480px,1.4fr); gap:20px; align-items:start; }
.panel { background:var(--white); border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:0 18px 45px rgba(16,37,34,.05); }
.panel-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.panel-heading > div { display:flex; align-items:center; gap:10px; }
.step { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:var(--teal); background:#e5f5ef; font-size:11px; font-weight:800; }
h2 { font-size:18px; margin:0; }
label { display:block; margin:17px 0 7px; font-size:12px; color:var(--muted); font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
select, textarea { width:100%; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#fbfcf9; padding:12px 13px; font:inherit; }
textarea { min-height:250px; resize:vertical; }
select:focus, textarea:focus { outline:3px solid rgba(8,127,110,.14); border-color:var(--teal); }
.privacy-note { padding:10px 0; color:var(--muted); font-size:12px; }
button { font:inherit; cursor:pointer; }
.primary-button { width:100%; border:0; border-radius:10px; padding:14px 18px; display:flex; justify-content:space-between; color:white; background:var(--ink); font-weight:750; }
.primary-button:hover { background:var(--teal); }
.primary-button:disabled { opacity:.58; cursor:wait; }
.text-button { border:0; color:var(--teal); background:transparent; font-weight:700; }
.badge { padding:7px 10px; border-radius:999px; background:#eef1ec; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.empty-state { min-height:410px; display:grid; place-items:center; align-content:center; text-align:center; color:var(--muted); }
.empty-state h3 { margin:20px 0 4px; color:var(--ink); }
.empty-state p { max-width:430px; }
.radar { display:grid; place-items:center; width:92px; height:92px; border:1px solid #b9d5ce; border-radius:50%; background:radial-gradient(circle, transparent 31%, #dce9e5 32%, transparent 33%, transparent 63%, #dce9e5 64%, transparent 65%); }
.radar:before, .radar:after { content:""; position:absolute; background:#dce9e5; }
.radar span { width:17px; height:17px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 8px rgba(8,127,110,.12); }
.hidden { display:none; }
.summary-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px; }
.summary-card { padding:14px; border:1px solid var(--line); border-radius:10px; }
.summary-card strong { display:block; font-size:23px; }
.summary-card span { color:var(--muted); font-size:11px; text-transform:uppercase; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { text-align:left; padding:11px 9px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid var(--line); }
td { vertical-align:top; padding:15px 9px; border-bottom:1px solid #edf0ec; }
td:nth-child(1) { font-weight:750; }
.evidence { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.status-pill { display:inline-block; padding:5px 8px; border-radius:999px; white-space:nowrap; font-size:10px; font-weight:800; text-transform:uppercase; }
.addressed { background:#dff5e8; color:#197044; }.partial { background:#fff0d6; color:#90580d; }.missing { background:#fbe1df; color:#9d302b; }.unclear { background:#e9eceb; color:#52615e; }
.disclaimer { margin-top:18px; padding:12px; background:#f5f6f2; color:var(--muted); font-size:11px; border-radius:8px; }
.error { color:var(--red); font-size:13px; }
@media (max-width:900px) { .workspace { grid-template-columns:1fr; }.summary-cards { grid-template-columns:repeat(2,1fr); } header .status { display:none; } }
