/* Demographics overlay — separate from violence colours and from the conflict/homicide layer tabs. */
.overlay-ui{margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.overlay-ui .overlay-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.overlay-ui label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.overlay-ui select{flex:1;min-width:220px;max-width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:#0f0f13;color:var(--text);font-size:14px;outline:none}
.overlay-ui select:focus{border-color:#2a6a68}
.overlay-disc{margin:6px 0 0;font-size:12px;color:var(--dim);line-height:1.4}
.overlay-src{margin:4px 0 0;font-size:11.5px;color:var(--muted);line-height:1.4}
.overlay-src a{color:#9ad1c7}
.legend.overlay-legend .bar{background:linear-gradient(90deg,#10232b,#165e6e,#1a9aa0,#5fd0c4,#d4f4ee)}
.sw-nodata{display:inline-block;width:12px;height:12px;border-radius:3px;background:#2a2a32;border:1px solid #3a3a44;vertical-align:-1px;margin-right:4px}
#map path.demo-unit{stroke:#0b0b0d;stroke-width:.25;vector-effect:non-scaling-stroke;pointer-events:none}
#map path.demo-unit.nodata{fill:#2a2a32}
.demo-panel{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
.demo-panel h2{margin-top:0}
.demo-placeholder{margin-top:8px;padding:10px 12px;border:1px dashed #3a3a44;border-radius:8px;color:var(--muted);font-size:13px;line-height:1.45}
