.page-actions, .map-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.map-panel>.panel-heading { flex-wrap:wrap; }
.expanded-only { display:none !important; }
body.has-map-dialog { overflow:hidden; }
#expanded-map, #print-preview { inset:16px; margin:0; width:calc(100vw - 32px); max-width:none; height:calc(100dvh - 32px); max-height:none; padding:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
#expanded-map .map-panel { border:0; border-radius:0; height:100%; display:grid; grid-template-columns:minmax(0,1fr) 280px; grid-template-rows:auto auto minmax(180px,1fr) auto auto; grid-template-areas:"heading heading" "toolbar legend" "map legend" "foot legend" "warning warning"; }
#expanded-map .panel-heading { grid-area:heading; padding:14px 20px; border-bottom:1px solid var(--border); }
#expanded-map h2 { font-size:1.15rem; padding:0; }
#expanded-map .map-actions { justify-content:flex-end; }
#expanded-map .expanded-only { display:block !important; }
#expanded-map #expand-map { display:none; }
#expanded-map .map-toolbar { grid-area:toolbar; padding:12px 20px; gap:8px 20px; }
#expanded-map #map { grid-area:map; height:100%; min-height:180px; }
#expanded-map .map-foot { grid-area:foot; }
#expanded-map .colour-legend { grid-area:legend; margin:0; padding:16px; border-top:0; border-left:1px solid var(--border); overflow:auto; }
#expanded-map #colour-legend-items { grid-template-columns:1fr; max-height:none; overflow:visible; padding:0; }
#expanded-map #map-warning { grid-area:warning; padding:0 20px 10px; }
#expanded-map #map-warning:empty { display:none; }
#print-preview[open] { display:flex; flex-direction:column; background:#e5eaf0; }
.print-preview-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:14px 20px; background:white; border-bottom:1px solid var(--border); }
#print-title { font-size:1.15rem; padding:0; }
#print-status { font-size:.8rem; color:var(--muted); margin-top:5px; max-width:780px; line-height:1.5; }
#print-frame { flex:1; min-height:0; width:100%; border:0; background:#e5eaf0; }
@media(max-width:720px) {
  .page-actions { margin-top:12px; }
  .page-heading .page-actions button { margin-top:0; }
  #expanded-map, #print-preview { inset:0; width:100vw; height:100dvh; border:0; border-radius:0; }
  #expanded-map .map-panel { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(180px,1fr) auto minmax(70px,140px); grid-template-areas:"heading" "toolbar" "map" "foot" "legend"; }
  #expanded-map .panel-heading, #expanded-map .map-toolbar { padding:10px 12px; }
  #expanded-map .map-actions { justify-content:flex-start; }
  #expanded-map .map-toolbar label { font-size:.75rem; }
  #expanded-map .map-toolbar select { font-size:.75rem; }
  #expanded-map #expanded-scope { display:none !important; }
  #expanded-map .map-foot { padding:8px 12px; flex-direction:row; }
  #expanded-map .colour-legend { border-left:0; border-top:1px solid var(--border); padding:12px; }
  #expanded-map #colour-legend-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #expanded-map #map-warning { display:none; }
  .print-preview-toolbar { padding:12px; }
  .print-preview-toolbar .page-actions { margin-top:0; }
}
