:root{
  --teal:#1d6f75;
  --teal-soft:#e7f3f4;
  --ink:#17212b;
  --muted:#60717f;
  --line:#dce5ea;
  --bg:#eef2f4;
  --surface:#fff;
  --good:#1f8a4c;
  --good-soft:#e7f6ec;
  --good-line:#a8d8b8;
  --warn:#c47a14;
  --warn-soft:#fff3df;
  --warn-line:#e7bd7a;
  --risk:#bf3f37;
  --risk-soft:#fdebea;
  --risk-line:#e3aaa6;
}
body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.text-teal,.eyebrow{color:var(--teal)}
.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:800}
.app-shell{max-width:1480px;margin:0 auto}.narrow{max-width:820px}
.hero,.soft-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 38px rgba(25,43,54,.08)}
.hero{padding:3rem}.disclaimer{background:#f8fafb;border-left:4px solid var(--teal);padding:.8rem 1rem;color:var(--muted)}
.btn-teal{background:var(--teal);border-color:var(--teal);color:white}.btn-teal:hover{background:#15575c;border-color:#15575c;color:white}
.clinical-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.progress-wrap{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.3rem}
.progress-step{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:white;padding:.45rem .7rem;color:var(--muted);font-weight:650;font-size:.82rem}
.progress-step.active{background:var(--teal-soft);color:var(--teal);border-color:#b9d9dc}.progress-step.done{background:#f8fafb;color:var(--ink)}.progress-step-link{text-decoration:none}.progress-step-link:hover{border-color:var(--teal);color:var(--teal);background:#f5fbfc}.progress-step.locked{opacity:.58}
.pillar-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.pillar-card h3{font-size:1rem;color:var(--teal);font-weight:800}
.choice{display:block;border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem;margin:.45rem 0;font-weight:720;cursor:pointer;background:#fbfcfd;color:var(--ink)}
.btn-check:checked+.choice{border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal)}
.status-choice.status-good,.status-choice.status-on_track,.status-choice.status-not_concerned{border-color:var(--good-line);background:var(--good-soft);color:#145a34}
.status-choice.status-could_be_better,.status-choice.status-room_for_improvement,.status-choice.status-somewhat_concerned{border-color:var(--warn-line);background:var(--warn-soft);color:#7d4c08}
.status-choice.status-poor,.status-choice.status-needs_attention,.status-choice.status-very_concerned{border-color:var(--risk-line);background:var(--risk-soft);color:#7c2722}
.btn-check:checked+.status-choice.status-good,.btn-check:checked+.status-choice.status-on_track,.btn-check:checked+.status-choice.status-not_concerned{border-color:var(--good);box-shadow:inset 0 0 0 2px var(--good);background:#d9f1e2}
.btn-check:checked+.status-choice.status-could_be_better,.btn-check:checked+.status-choice.status-room_for_improvement,.btn-check:checked+.status-choice.status-somewhat_concerned{border-color:var(--warn);box-shadow:inset 0 0 0 2px var(--warn);background:#ffe7bf}
.btn-check:checked+.status-choice.status-poor,.btn-check:checked+.status-choice.status-needs_attention,.btn-check:checked+.status-choice.status-very_concerned{border-color:var(--risk);box-shadow:inset 0 0 0 2px var(--risk);background:#f9d7d4}
.readiness-choice{background:#fbfcfd;color:var(--ink)}
.btn-check:checked+.readiness-choice{border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal);color:var(--ink)}
.guidance-card p{line-height:1.45}.find-more{font-weight:700;color:var(--teal)}.nav-actions{display:flex;justify-content:flex-end;gap:.6rem}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem}.check-grid label{background:#fbfcfd;border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem;font-weight:650}
.snapshot-table{border-collapse:separate;border-spacing:0 .35rem}.snapshot-table thead th{background:#f5fafb;color:var(--teal);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.snapshot-table tbody tr{background:#fff}.snapshot-table tbody th,.snapshot-table tbody td{border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle}.snapshot-table tbody th:first-child,.snapshot-table tbody td:first-child{border-left:1px solid var(--line);border-radius:12px 0 0 12px}.snapshot-table tbody td:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0}
.status-pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.28rem .55rem;font-weight:750;font-size:.82rem;background:#f7fafb;color:var(--muted);white-space:nowrap}.status-pill.status-blank{color:var(--muted)}
.status-pill.status-good,.status-pill.status-on_track,.status-pill.status-not_concerned{background:var(--good-soft);border-color:var(--good-line);color:#145a34}.status-pill.status-could_be_better,.status-pill.status-room_for_improvement,.status-pill.status-somewhat_concerned{background:var(--warn-soft);border-color:var(--warn-line);color:#7d4c08}.status-pill.status-poor,.status-pill.status-needs_attention,.status-pill.status-very_concerned{background:var(--risk-soft);border-color:var(--risk-line);color:#7c2722}
.priority-0,.priority-1{box-shadow:none}.priority-2 td,.priority-2 th{background:#fffefa}.priority-3 td,.priority-3 th{background:#fff8ed}.priority-4 td,.priority-4 th,.priority-5 td,.priority-5 th,.priority-6 td,.priority-6 th{background:#fff1f0}
.report h3{color:var(--teal);margin-top:1.4rem}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem}.metric strong{display:block;font-size:1.7rem;color:var(--teal)}.timeline{max-height:520px;overflow:auto;font-size:.9rem}.copy-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f8fafb;border:1px solid var(--line);border-radius:12px;padding:.75rem;word-break:break-all}
@media (max-width:700px){.hero{padding:1.5rem}.clinical-header{display:block}.snapshot-table{font-size:.86rem}.status-pill{white-space:normal}.nav-actions{justify-content:stretch}.nav-actions .btn{flex:1}}
