.map-risk-overlay { position:absolute; z-index:1100; inset:12px 12px auto; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; pointer-events:none; font-size:.86rem; }
.map-risk-overlay button, .map-risk-overlay input, .map-risk-overlay select { min-height:36px; padding:7px 9px; border:1px solid rgba(255,255,255,.42); border-radius:4px; color:#fff; background:#3b3c3a; font:inherit; }
.map-risk-overlay button { cursor:pointer; white-space:nowrap; }.map-risk-overlay button:disabled { opacity:.45; cursor:not-allowed; }
.map-risk-toolbar { position:relative; display:grid; gap:8px; max-width:min(620px, 65vw); pointer-events:auto; }
.map-risk-search input { width:min(340px, 62vw); background:#fff; color:#222; border-color:#d2d5d1; box-shadow:0 1px 5px rgba(0,0,0,.2); }
.map-risk-locations { position:absolute; z-index:3; top:40px; display:grid; width:min(340px, 62vw); max-height:260px; overflow:auto; background:#fff; border:1px solid #d2d5d1; box-shadow:0 5px 16px rgba(0,0,0,.22); }
.map-risk-locations button { color:#222; background:#fff; border:0; border-radius:0; text-align:start; }.map-risk-locations button:hover { background:#edf4ef; }
.map-risk-draw-actions { display:flex; flex-wrap:wrap; gap:5px; }.map-risk-draw-actions button { box-shadow:0 1px 4px rgba(0,0,0,.2); }
.map-risk-panel { width:min(360px, 38vw); max-height:calc(100vh - 24px); overflow:auto; padding:12px; border:1px solid #d5d8d4; border-radius:6px; color:#222; background:rgba(255,255,255,.97); box-shadow:0 4px 18px rgba(0,0,0,.22); pointer-events:auto; }
.map-risk-panel > header { display:flex; justify-content:space-between; align-items:start; gap:8px; margin-bottom:10px; }.map-risk-panel > header strong { font-size:1rem; }.map-risk-panel > header span { color:#66716c; font-size:.72rem; text-align:end; }
.map-risk-panel > label { display:grid; gap:4px; margin:7px 0; color:#46504b; font-size:.75rem; }.map-risk-panel input, .map-risk-panel select { min-height:34px; color:#222; background:#fff; border:1px solid #bfc8c2; }
.map-risk-empty { margin:12px 0 2px; color:#59635e; line-height:1.45; }.map-risk-error { padding:8px; color:#821e1a; background:#fff0ee; border-radius:4px; }
.map-risk-overall { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 8px; padding:9px; border-radius:5px; background:#edf3ef; }.map-risk-overall strong { grid-column:2; grid-row:1 / span 2; color:#145f47; font-size:1.55rem; }.map-risk-overall span:last-child { color:#65716b; font-size:.75rem; }
.map-risk-hazards { display:grid; gap:7px; margin-top:8px; }.map-risk-hazard { padding:8px; border:1px solid #e0e5e1; border-radius:5px; }.map-risk-hazard > div { display:flex; justify-content:space-between; gap:6px; }.map-risk-hazard > div span { font-weight:700; }.map-risk-hazard p { margin:5px 0; color:#4a5550; font-size:.75rem; line-height:1.4; }.map-risk-hazard small { color:#6b756f; }.map-risk-hazard .map-risk-recommendation { padding-inline-start:8px; border-inline-start:2px solid #9dbdaf; }
.map-risk-results footer, .map-risk-disclaimer { color:#66716c; font-size:.7rem; line-height:1.4; }.map-risk-disclaimer { margin-bottom:0; }
.map-risk-providers { display:flex; flex-wrap:wrap; gap:4px 9px; margin-top:8px; color:#66716c; font-size:.69rem; }.map-risk-providers strong { flex-basis:100%; color:#46504b; }
.leaflet-draw-toolbar a { background-color:#fff; }.leaflet-draw-toolbar { box-shadow:0 1px 5px rgba(0,0,0,.25); }
@media (max-width:800px) {
  .map-risk-overlay { inset:8px 8px auto; display:grid; gap:8px; max-height:calc(100% - 16px); overflow:hidden; }
  .map-risk-toolbar { max-width:100%; }.map-risk-draw-actions button { min-height:32px; padding:5px 7px; font-size:.78rem; }
  .map-risk-panel { justify-self:end; width:min(100%, 480px); max-height:min(48vh, 460px); }
  .map-risk-search input, .map-risk-locations { width:min(100%, 360px); }
}
