:root{--navy:#172a3a;--ink:#21313d;--muted:#687782;--line:#dbe1e4;--paper:#fff;--bg:#f4f6f5;--green:#28745b;--red:#a94e48;--amber:#9b6a22;--blue:#346b8c}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px Arial,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer}header{background:var(--navy);color:#fff;align-items:center;gap:24px;height:70px;padding:0 4vw;display:flex}.brand{cursor:pointer;align-items:center;gap:11px;margin-right:auto;display:flex}.brand>span{border:1px solid #79909f;place-items:center;width:37px;height:37px;font-weight:800;display:grid}.brand div{flex-direction:column;display:flex}.brand small{color:#a9bac4;margin-top:2px;font-size:10px}.demo{letter-spacing:.12em;border:1px solid #667d8b;padding:7px 10px;font-size:9px}.new,.export,.upload{color:#172a3a;background:#d8a54a;border:0;border-radius:4px;padding:10px 15px;font-weight:700}nav{border-bottom:1px solid var(--line);height:58px;color:var(--muted);background:#fff;align-items:center;gap:10px;padding:0 4vw;display:flex}nav>button{background:0 0;border:0}nav strong{color:var(--ink)}nav>div{gap:22px;height:100%;margin-left:auto;display:flex}nav>div button{background:0 0;border:0;border-bottom:3px solid #0000}nav>div button.active{color:var(--ink);border-color:#d8a54a;font-weight:700}nav b{background:#edf0f1;border-radius:10px;padding:2px 6px;font-size:10px}.page{max-width:1220px;margin:auto;padding:42px 28px 80px}.narrow{max-width:850px}.eyebrow{letter-spacing:.14em;color:#75828a;font-size:9px;font-weight:800}.report-head{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.report-head h1,.page>h1{margin:7px 0;font:700 30px Georgia}.report-head p{color:var(--muted);margin:0}.score{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:25px;display:grid}.dial{--score:60%;background:conic-gradient(var(--green) var(--score),#e5e8e7 0);border-radius:50%;place-items:center;width:83px;height:83px;display:grid;position:relative}.dial:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:7px}.dial strong{z-index:1;font:700 20px Georgia}.score h2,.panel h2,.section-head h2{margin:5px 0;font:700 19px Georgia}.score p{color:var(--muted);margin:5px 0}.counts{gap:22px;display:flex}.counts div{border-left:3px solid;flex-direction:column;padding-left:9px;display:flex}.counts strong{font-size:20px}.counts span{color:var(--muted);max-width:65px;font-size:9px}.counts .green{border-color:var(--green)}.counts .red{border-color:var(--red)}.counts .amber{border-color:#d8a54a}.counts .blue{border-color:var(--blue)}.notice{background:#fff8e8;border:1px solid #ecd9aa;margin:15px 0 22px;padding:12px 16px;font-size:12px}.report-grid{grid-template-columns:1.65fr .75fr;gap:20px;display:grid}.section-head{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.section-head>span{color:var(--muted);font-size:11px}.finding,.panel{border:1px solid var(--line);border-left:4px solid var(--green);background:#fff;border-radius:4px;margin-bottom:12px;padding:20px}.finding.potentially_missing{border-left-color:var(--red)}.finding.requires_review,.finding.insufficient_information{border-left-color:#d8a54a}.finding-top{justify-content:space-between;display:flex}.status{text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-size:9px;font-weight:800}.potentially_missing .status{color:var(--red)}.requires_review .status,.insufficient_information .status{color:var(--amber)}.rule-id{color:#8a969c;font:10px monospace}.finding h3{margin:9px 0 6px}.finding>p{color:var(--muted);line-height:1.5}.support{background:#f1f5f4;padding:10px;font-size:11px}.finding-actions{gap:8px;margin-top:14px;display:flex}.finding-actions button{border:1px solid var(--line);background:#fff;border-radius:3px;padding:7px 10px;font-size:10px}.finding-actions button:first-child{color:var(--blue);font-weight:700}.evidence{background:#f5f7f6;grid-template-columns:1fr 1fr 1fr;gap:15px;margin:16px -20px -20px;padding:16px;display:grid}.evidence small{letter-spacing:.1em;color:#77848c;font-size:8px;font-weight:800}.evidence p{color:#56656e;font-size:10px;line-height:1.5}.panel{border-left:1px solid var(--line);padding:19px}.issue{border-top:1px solid var(--line);gap:12px;margin-top:14px;padding-top:14px;display:flex}.issue>span{color:var(--red);background:#fae8df;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:800;display:grid}.issue p,.panel>p{color:var(--muted);font-size:11px;line-height:1.5}.issue small{color:var(--amber)}.audit>div{border-top:1px solid var(--line);flex-direction:column;gap:3px;padding:10px 0;display:flex}.audit span,.audit small{color:var(--muted);font-size:10px}.source-panel p{margin:7px 0}.review-table,.doc-table{border:1px solid var(--line);background:#fff}.tr{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:2fr 1.4fr 1fr 1.1fr .5fr;align-items:center;gap:15px;width:100%;padding:16px;display:grid}.th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#edf1f1;font-size:9px}.pill{border-radius:10px;width:max-content;padding:5px 7px;font-size:9px}.pill.amber{color:var(--amber);background:#fff2d6}.form{border:1px solid var(--line);background:#fff;grid-template-columns:1fr 1fr;gap:18px;padding:25px;display:grid}.form label{flex-direction:column;gap:7px;font-weight:700;display:flex}.form input,.form select,.doc-table select{background:#fff;border:1px solid #cdd5d8;padding:10px}.form h2{border-top:1px solid var(--line);grid-column:1/-1;padding-top:20px;font:700 19px Georgia}.form .question{text-transform:capitalize;flex-direction:row;justify-content:space-between;align-items:center}.question select{width:120px}.upload{cursor:pointer}.doc-table .tr{grid-template-columns:2fr 1.4fr .8fr .5fr}.doc-table select{padding:7px}@media (width<=850px){.report-grid{grid-template-columns:1fr}.score{grid-template-columns:auto 1fr}.counts{grid-column:1/-1}.tr{grid-template-columns:1.7fr 1fr 1fr}.tr>:nth-child(2),.tr>:nth-child(3){display:none}.doc-table .tr{grid-template-columns:1.5fr 1fr .5fr}.doc-table .tr>:nth-child(3){display:block}.evidence,.form{grid-template-columns:1fr}}@media (width<=600px){header{padding:0 16px}.demo{display:none}nav{padding:0 16px;overflow:auto}nav>strong,nav>span,nav>button{display:none}.page{padding:28px 15px}.report-head{align-items:flex-start;gap:15px}.score{grid-template-columns:1fr}.dial{display:none}.counts{flex-wrap:wrap;gap:10px}.finding-actions{flex-wrap:wrap}}@media print{header,nav,.finding-actions,.export,.notice{display:none}.page{padding:0}.report-grid{grid-template-columns:1fr}.finding,.panel,.score{break-inside:avoid}}.demo{font-size:0}.demo:after{content:"HACKNEY RULESET · REVIEWED 12 AUG 2026";font-size:9px}.report-head:has(+.score) p{font-size:0}.report-head:has(+.score) p:after{content:"Householder rear extension · London Borough of Hackney · Ruleset 2026.08.12";font-size:14px}.source-panel p:nth-of-type(2):before{content:"Hackney: ";font-size:11px;font-weight:700}.source-panel p:nth-of-type(2) strong{display:none}.source-panel p:nth-of-type(2){font-size:11px}.independence{border-left:4px solid var(--blue);background:#eef3f4;align-items:flex-start;gap:14px;margin:-8px 0 22px;padding:13px 16px;font-size:11px;line-height:1.5;display:flex}.independence strong{color:var(--navy);white-space:nowrap}.independence span{color:var(--muted)}@media (width<=600px){.brand small{max-width:190px}.independence{flex-direction:column;gap:4px}.independence strong{white-space:normal}}.site-footer{background:var(--navy);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 4vw;display:grid}.site-footer>span{color:#c4d0d6}.site-footer small{color:#aabac3;text-align:right;max-width:520px;line-height:1.4}@media (width<=700px){.site-footer{grid-template-columns:1fr;gap:5px}.site-footer small{text-align:left}}
