.map{
  display:flex; flex-direction:column; width:100%; height:100%; box-sizing:border-box;
  padding:16px 20px; gap:8px; background:transparent;
}
.map-header{ flex-shrink:0; }
.map-title{
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px;
  color:var(--md-neutral-foreground-1-rest); outline:none;
}
.map-chart{
  flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden;
  border-radius:8px; background:transparent;
}
.map-svg{ width:100%; height:100%; }
.map-countries path{ stroke:var(--md-color-grey-white); stroke-width:0.6; transition:fill .15s ease; }
.map-marker-dot{ stroke-width:1.5; }
.map-marker-icon-fo{ overflow:visible; pointer-events:none; }
.map-marker-icon-wrap{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size:15px; filter:drop-shadow(0 1px 1px rgba(20,30,50,0.35));
}
.map-legend{
  flex-shrink:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; padding-top:8px;
}
.map-legend-item{
  display:flex; align-items:center; gap:4px; font-family:var(--font-sans); font-weight:var(--font-weight-light);
  font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-3-rest); white-space:nowrap;
}
.map-legend-swatch{ width:14px; height:14px; border-radius:4px; flex-shrink:0; }
.map-legend-marker{ width:10px; height:10px; border-radius:50%; background:var(--ui-accent); flex-shrink:0; }
.map-legend-symbol{ width:10px; height:10px; border-radius:50%; background:var(--ui-accent); flex-shrink:0; }

.map-row-edit{ display:flex; align-items:center; gap:8px; }
.map-country-field{ position:relative; flex:1; min-width:0; }
.map-country-menu{
  display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:30;
  max-height:220px; overflow-y:auto; background:var(--md-color-grey-white); border:1px solid var(--ui-border);
  border-radius:8px; box-shadow:var(--shadow-soft); padding:4px;
}
.map-country-menu.open{ display:block; }
.map-country-option{
  display:block; width:100%; text-align:left; border:none; background:none; cursor:pointer;
  padding:6px 8px; border-radius:6px; font-family:var(--font-sans); font-size:13px; color:var(--md-neutral-foreground-1-rest);
}
.map-country-option:hover, .map-country-option.active{ background:var(--md-neutral-background-2-rest); }
.map-country-color-picker .ml-legend-swatch{ width:14px; height:14px; }
.map-row-value{
  width:76px; flex-shrink:0; box-sizing:border-box; padding:6px 10px; border:1px solid var(--ui-border);
  border-radius:6px; font-family:var(--font-sans); font-size:13px; color:var(--md-neutral-foreground-1-rest);
}
