:root{--ink:#15213a;--muted:#68748a;--bg:#f4f7fb;--card:#fff;--blue:#2457d6;--cyan:#58bfe8;--orange:#e58a2e;--red:#c83c4e;--line:#dde4ef}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:20;background:#fff;color:var(--ink);padding:10px;border-radius:8px}.skip-link:focus{top:12px}
.notice{background:#16213b;color:#ddecff;padding:10px 16px;text-align:center;font-size:13px;letter-spacing:.04em}
header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:900}.logo{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,var(--blue),var(--cyan));display:grid;place-items:center;color:#fff}.status{background:#eaf7f2;color:#147153;border-radius:999px;padding:8px 12px;font-weight:800;font-size:12px}
.app{display:grid;grid-template-columns:350px 1fr;min-height:calc(100vh - 106px)}aside{background:#fff;border-right:1px solid var(--line);padding:20px;overflow:auto}.map-area{padding:20px;display:grid;grid-template-rows:auto 1fr auto auto;gap:14px;min-width:0}
h1{font-size:28px;line-height:1.05;letter-spacing:-.04em;margin:5px 0 8px}h2{font-size:17px;margin:22px 0 10px}.muted{color:var(--muted)}.small{font-size:12px}.block{display:block}.eyebrow{color:var(--blue);font-weight:850;font-size:11px;letter-spacing:.1em;margin:0;text-transform:uppercase}
.privacy-note{background:#fff5dc;border-left:4px solid #eab33a;border-radius:9px;padding:11px;font-size:13px;margin:16px 0}.filters{display:grid;gap:10px;margin:18px 0}.field label,legend{font-size:12px;font-weight:800;display:block;margin-bottom:5px}.field select,.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}fieldset{border:0;padding:0;margin:0}
.severity{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.sev{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 3px;font-size:11px}.sev.active{border-color:var(--blue);background:#edf3ff;color:var(--blue);font-weight:800}
.primary,.secondary{border:0;border-radius:11px;padding:11px 13px;font-weight:800}.primary{background:var(--blue);color:#fff;width:100%}.primary.fit{width:auto}.secondary{background:#edf2fa;color:var(--ink)}.message{min-height:22px;margin-top:10px;color:var(--blue);font-weight:700}.message.error{color:var(--red)}
.list{display:grid;gap:9px}.incident{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px;display:grid;grid-template-columns:auto 1fr;gap:10px;text-align:left;color:var(--ink)}.incident:hover{border-color:#9fb3df}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-top:6px}.severe{background:var(--red)}.moderate{background:var(--orange)}.mild{background:var(--cyan)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.legend{display:flex;gap:12px;align-items:center;font-size:12px}.legend span{display:flex;gap:5px;align-items:center}.toolbar-actions{display:flex;gap:8px}
.map{position:relative;overflow:hidden;min-height:570px;border-radius:20px;border:1px solid #ced8e8;background-color:#eaf0e9;background-image:linear-gradient(28deg,transparent 48%,rgba(255,255,255,.86) 49%,rgba(255,255,255,.86) 52%,transparent 53%),linear-gradient(112deg,transparent 43%,rgba(255,255,255,.9) 44%,rgba(255,255,255,.9) 47%,transparent 48%),linear-gradient(rgba(66,111,72,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(66,111,72,.08) 1px,transparent 1px);background-size:260px 180px,320px 220px,48px 48px,48px 48px}
.road{position:absolute;background:rgba(255,255,255,.92);box-shadow:0 0 0 1px #d5dde5}.r1{height:15px;width:120%;left:-10%;top:42%;transform:rotate(-7deg)}.r2{height:13px;width:95%;left:18%;top:60%;transform:rotate(31deg)}.r3{height:12px;width:80%;left:5%;top:23%;transform:rotate(52deg)}
.label{position:absolute;color:#5d6a78;font-weight:800;font-size:12px;text-shadow:0 1px #fff}.old-city{left:13%;top:15%}.golf-road{left:68%;top:18%}.spr-road{left:69%;top:72%}
.pin{position:absolute;width:36px;height:36px;border:4px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 12px rgba(21,33,58,.25);transition:scale .2s}.pin:hover{scale:1.14}.pin:after{content:"";position:absolute;width:10px;height:10px;background:#fff;border-radius:50%;left:9px;top:9px}.heat .pin{width:90px;height:90px;border:0;border-radius:50%;filter:blur(16px);opacity:.52;transform:none}.heat .pin:after{display:none}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.stat b{font-size:25px;display:block;letter-spacing:-.04em}
dialog{border:0;border-radius:20px;padding:0;max-width:600px;width:calc(100% - 24px);box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(10,20,42,.55)}.modal{padding:24px}.modal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.field-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.consent{display:flex;gap:8px;align-items:flex-start;margin:12px 0}.consent input{margin-top:4px}.form-error{min-height:22px;color:var(--red);font-weight:750}.modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
footer{text-align:center;color:var(--muted);font-size:13px;padding:20px}
@media(max-width:850px){.app{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line)}.map{min-height:480px}.summary{grid-template-columns:1fr 1fr}header{padding:0 14px}.map-area{padding:12px}.modal-grid{grid-template-columns:1fr}}
@media print{.notice,aside,.toolbar-actions,header,footer{display:none}.app{display:block}.map-area{padding:0}.map{min-height:470px}.summary{grid-template-columns:repeat(4,1fr)}body{background:#fff}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
