.map-toolbar { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:end; gap:10px 16px; padding:0 20px 18px; }
.map-toolbar label { min-width:0; color:var(--navy); font-size:.875rem; font-weight:600; }
.map-toolbar select { display:block; margin-top:7px; font-weight:400; }
.map-toolbar p { grid-column:1/-1; font-size:.8rem; line-height:1.6; color:var(--muted); margin:0; }
.chart-measure-note { line-height:1.5; }
.chart-measure-note strong { display:block; color:var(--navy); font-weight:600; }
.colour-legend { margin:0 20px 18px; padding-top:14px; border-top:1px solid var(--border); }
.colour-legend-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 14px; margin-bottom:12px; }
.colour-legend-heading h3 { margin:0; font-size:.875rem; font-weight:650; }
.colour-legend-heading>span { color:var(--muted); font-size:.8rem; }
#colour-legend-items { list-style:none; margin:0; padding:0 5px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; max-height:230px; overflow:auto; }
#colour-legend-items li { display:flex; align-items:start; gap:8px; min-width:0; font-size:.875rem; line-height:1.4; }
.colour-swatch { display:inline-block; width:13px; height:13px; border:0; border-radius:50%; flex:0 0 13px; margin-top:3px; }
.colour-class-label { overflow-wrap:anywhere; flex:1; }
#colour-legend-items strong { margin-left:auto; font-size:.8rem; font-variant-numeric:tabular-nums; color:#506477; padding-left:4px; }
#colour-legend-items .legend-empty { grid-column:1/-1; color:var(--muted); }
#colour-explanation { font-size:.8rem; color:var(--muted); line-height:1.6; margin-top:14px; }
.popup-class { display:flex; gap:8px; align-items:start; margin-top:10px; font-weight:600; }
.popup-class-note { display:block; line-height:1.5; color:var(--muted); margin-top:7px; }
.map-panel { align-self:start; }
@media(max-width:720px) { .map-toolbar { padding:0 16px 16px; gap:10px; } .map-toolbar label { font-size:.75rem; } .colour-legend { margin:0 16px 18px; } #colour-legend-items { grid-template-columns:1fr; } }
