@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#e7eeed;background:#101b23}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:235px;flex:none;border-right:1px solid #2b3b43;padding:31px 19px;background:#111d25;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font:700 19px 'Space Grotesk',sans-serif;letter-spacing:.09em}.brand small{display:block;color:#71858a;font:600 9px 'DM Sans',sans-serif;letter-spacing:.17em;margin-top:2px}.mark{font-size:30px;color:#c3f089}.side-label,.eyebrow,.num{font-size:10px;font-weight:700;letter-spacing:.16em;color:#a1bcab}.side-label{margin:68px 13px 13px;color:#637981}.sidebar nav a{display:flex;gap:15px;padding:13px 14px;color:#9ab0b4;text-decoration:none;border-radius:8px;font-size:13px}.sidebar nav a.active{background:#263d38;color:#d2f59d}.side-bottom{margin-top:auto;padding:15px 5px;font-size:11px;color:#a7bdbd;line-height:1.8}.side-bottom small{color:#69818a;margin-left:17px}.dot{display:inline-block;background:#b8ee85;border-radius:50%;height:7px;width:7px;margin-right:7px;box-shadow:0 0 12px #b8ee85}main{width:min(1500px,100%);margin:auto;padding:48px 54px 22px}header{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:37px}h1,h2,p{margin:0}h1,h2{font-family:'Space Grotesk',sans-serif}h1{max-width:760px;font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.048em;margin:16px 0}h1 em{font-style:normal;color:#bdf18b}header p{max-width:650px;color:#9aadb0;font-size:14px;line-height:1.7}.header-badge{border:1px solid #3b4d4d;background:#1d3030;padding:16px 20px;display:flex;gap:18px;align-items:center;color:#bdf18b;font:700 36px 'Space Grotesk',sans-serif}.header-badge span{font:700 9px/1.65 'DM Sans',sans-serif;letter-spacing:.16em;color:#b6cec4}.toolbar{border:1px solid #34473f;background:#1e322e;border-radius:11px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.toolbar-intro{display:grid;gap:5px}.toolbar-intro b{font-size:13px}.toolbar-intro span{font-size:11px;color:#9aafa8}.buttons{display:flex;gap:8px;flex-wrap:wrap}.buttons button{border-radius:6px;padding:11px 14px;font-size:11px;font-weight:700;white-space:nowrap}.secondary{background:#243d37;border:1px solid #476158;color:#d7e8de}.primary{background:#c0f28e;border:1px solid #c0f28e;color:#193029}.primary span{margin-left:13px}.grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:17px}.panel{border:1px solid #304047;background:#17252d;border-radius:10px;overflow:hidden;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:24px 25px 20px}.panel-head h2{font-size:20px;margin-top:8px}.tiny,.editor-foot{font-size:10px;color:#7f969c}.tabs{display:flex;gap:3px;padding:0 19px;border-bottom:1px solid #304047;overflow:auto}.tabs button{border:0;background:none;color:#82979d;padding:13px 11px;font-size:11px;white-space:nowrap}.tabs button.selected{color:#c1f191;border-bottom:2px solid #c1f191}.editbar{display:flex;justify-content:space-between;align-items:center;padding:10px 22px;color:#a3b6b6;font-size:11px}.upload{cursor:pointer;color:#bde68c}textarea{display:block;resize:vertical;min-height:300px;width:calc(100% - 38px);margin:0 19px;padding:20px;border:1px solid #344c50;background:#101c24;color:#c9ead6;font:12px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;outline:none;border-radius:5px;tab-size:2}textarea:focus{border-color:#acd879}.editor-foot{display:flex;justify-content:space-between;padding:14px 21px}.icon-button{border:1px solid #43575b;background:none;color:#c9ddcf;border-radius:6px;width:30px;height:30px}.status{margin:0 24px;border:1px solid #415256;background:#23343b;border-radius:7px;padding:19px;display:flex;gap:17px;align-items:center}.status-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#344a4d;color:#c4dddd;font-size:24px;flex:none}.status small,.status strong,.status div span{display:block}.status small{font-size:9px;letter-spacing:.16em;color:#9badad}.status strong{font:700 21px 'Space Grotesk',sans-serif;margin:5px 0}.status div span{font-size:11px;color:#a8bab9}.status.hold{border-color:#8d5548;background:#3b2c2a}.status.hold .status-icon{background:#66423b;color:#ffb8a0}.status.ready{border-color:#63945c;background:#273e35}.status.ready .status-icon{background:#396647;color:#cbf397}.status.review{border-color:#ab8950;background:#403929}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 24px;border:1px solid #304047;border-radius:7px}.stats div{padding:17px;border-right:1px solid #304047}.stats div:last-child{border:0}.stats b{display:block;font:600 25px 'Space Grotesk',sans-serif}.stats span{font-size:9px;letter-spacing:.13em;color:#8da3a5}.findings-head{display:flex;justify-content:space-between;padding:2px 24px 12px;font-size:12px}.findings-head span{color:#81989d}.findings{padding:0 24px 23px;max-height:360px;overflow:auto}.finding{border:1px solid #35494d;border-radius:6px;padding:13px;margin-bottom:9px;background:#1c2c33}.finding-top{display:flex;gap:8px;align-items:center}.pill{font-size:9px;font-weight:700;letter-spacing:.07em;padding:4px 7px;color:#ffc5ae;background:#543b36;border-radius:3px}.pill.warn{color:#f3d18d;background:#524b36}.finding b{font-size:12px}.finding p{font-size:11px;color:#a4b9b9;line-height:1.55;margin:8px 0}.finding code{display:block;white-space:normal;font-size:10px;color:#c9eea0;background:#14242a;padding:9px}.empty{padding:25px;color:#849da1;text-align:center;font-size:12px;border:1px dashed #40545a}.process{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:25px;padding:25px 0;border-top:1px solid #2e4046}.process h2{max-width:320px;font-size:23px;margin-top:9px}.steps{display:flex;gap:30px}.steps article{max-width:150px}.steps article span{color:#bff08c;font:700 12px 'Space Grotesk',sans-serif}.steps article b{display:block;font-size:12px;margin:8px 0}.steps article p{font-size:10px;color:#90a5a9;line-height:1.5}footer{border-top:1px solid #283a40;padding:18px 0;color:#627c82;font-size:10px;letter-spacing:.08em}footer span{color:#b9ef8e;margin:0 6px}@media(max-width:1050px){.sidebar{width:175px}main{padding:34px 24px}.grid{grid-template-columns:1fr}.steps{gap:14px}}@media(max-width:690px){.sidebar{display:none}main{padding:25px 15px}header{align-items:flex-start}.header-badge{display:none}.toolbar,.process{display:block}.buttons{margin-top:17px}.steps{margin-top:22px;flex-wrap:wrap}.buttons button{flex:1}.panel-head{padding:18px}.status,.stats{margin-left:17px;margin-right:17px}.findings{padding:0 17px 17px}}

/* ── Incident-to-Guard section ─────────────────────────────────────────────── */
.incident-section{margin-top:52px;border-top:1px solid #2b3b43;padding-top:38px}
.incident-header{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:24px}
.incident-header h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(22px,3vw,36px);letter-spacing:-.03em;margin:8px 0 0}
.incident-desc{color:#9aadb0;font-size:13px;line-height:1.7;margin-top:10px;max-width:600px}
.incident-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:900px){.incident-grid{grid-template-columns:1fr}}
/* Status colour for incident states */
.status.matched{border-color:#e3a234;background:#2a2010}.status.matched .status-icon{background:#e3a234;color:#101b23}
.status.unrelated{border-color:#637981;background:#1a262e}.status.unrelated .status-icon{background:#637981;color:#101b23}
#incidentEditor{min-height:180px}

/* ── Repair preview modal ───────────────────────────────────────────────────── */
dialog#repairModal{padding:0;border:1px solid #2b3b43;border-radius:12px;background:#111d25;color:#e7eeed;max-width:640px;width:calc(100% - 40px);box-shadow:0 8px 40px rgba(0,0,0,.55)}
dialog#repairModal::backdrop{background:rgba(0,0,0,.65)}
.modal-head{padding:28px 28px 0;border-bottom:1px solid #1e2e36}
.modal-head h2{font-family:'Space Grotesk',sans-serif;font-size:20px;letter-spacing:-.02em;margin:8px 0 12px}
.modal-desc{color:#9aadb0;font-size:13px;line-height:1.7;margin:0 0 20px}
.modal-body{padding:18px 28px;max-height:420px;overflow-y:auto}
.modal-file-block{margin-bottom:18px}
.modal-file-label{font-size:10px;font-weight:700;letter-spacing:.14em;color:#a1bcab;margin-bottom:6px}
.modal-no-change{color:#637981;font-size:12px;font-style:italic;margin:4px 0 0}
.modal-diff{background:#0d161c;border:1px solid #1e2e36;border-radius:7px;padding:12px 14px;margin-top:6px;font:13px/1.6 'DM Mono','Fira Mono',monospace;white-space:pre;overflow-x:auto}
.modal-diff-add{color:#bdf18b}
.modal-error-note{background:#2a1010;border:1px solid #7b2020;border-radius:7px;padding:10px 13px;font-size:12px;color:#e39191;margin-top:6px}
.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 28px 20px;border-top:1px solid #1e2e36}
