.map-toolbar,
.map-context,
.map-legend,
.map-utilities {
  display: flex;
  align-items: center;
  gap: 8px 18px;
  flex-wrap: wrap;
}
.map-toolbar .text-button {
  font-size: 12px;
}
.map-context {
  justify-content: space-between;
  color: var(--muted);
  font-size: 12px;
  margin-top: 12px;
}
.map-legend {
  color: var(--muted);
  font-size: 12px;
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
}
.map-legend span {
  white-space: nowrap;
}
.map-scale {
  position: absolute;
  left: 12px;
  bottom: 8px;
  display: grid;
  gap: 1px;
  background: var(--brand-paper);
  color: var(--brand-deep);
  font-size: 11px;
  padding: 2px 4px;
}
.map-notice {
  bottom: 48px;
}
.map-group {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 6px;
  margin-top: 18px;
  background: var(--soft);
}
.map-group h3 {
  margin-bottom: 8px;
}
.map-group p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 14px;
}
#map-group-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.map-group-choice {
  min-height: 44px;
  text-align: left;
  padding: 10px 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.map-group-choice[aria-pressed='true'] {
  background: var(--ink);
  color: var(--inverse);
}
.map-utilities {
  margin-top: 18px;
  gap: 0 20px;
}
.map-utilities .text-button {
  font-size: 13px;
}
.map-detail {
  border-radius: 6px;
}
.map-detail #map-currency {
  margin: 22px 0 -8px;
}
#map-action-status {
  overflow-wrap: anywhere;
}
#map-action-status:empty {
  display: none;
}
.map-frame {
  border-radius: 6px;
}
.map-panel {
  scroll-margin-top: 24px;
}
.workspace.map-expanded {
  grid-template-columns: minmax(0, 1fr);
}
.map-expanded .workspace-aside {
  position: static;
  grid-template-columns: 1fr 1fr;
  align-items: start;
}
.map-expanded #office-map {
  height: min(74svh, 760px);
  min-height: 360px;
}
.map-expanded .map-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
  gap: 0 28px;
}
.map-expanded .map-detail > div:first-child {
  grid-column: 1;
  grid-row: 1 / 5;
}
.map-expanded .map-prices {
  margin-top: 20px;
}
.map-expanded .map-utilities,
.map-expanded .map-links,
.map-expanded #map-action-status {
  grid-column: 1 / -1;
}
.map-expanded .map-detail #map-currency {
  grid-column: 2;
  margin-top: 0;
}
@media (max-width: 700px) {
  .map-heading {
    align-items: start;
    flex-direction: column;
    gap: 4px;
  }
  .map-toolbar {
    width: 100%;
    justify-content: space-between;
  }
  .map-toolbar .text-button {
    font-size: 13px;
  }
  .map-context {
    font-size: 11px;
    gap: 6px;
  }
  .map-legend {
    gap: 8px 12px;
  }
  .map-expanded .workspace-aside {
    grid-template-columns: minmax(0, 1fr);
  }
  .map-expanded .map-detail {
    display: block;
  }
  .map-expanded .map-detail #map-currency {
    margin-top: 22px;
  }
  .map-expanded #office-map {
    min-height: 400px;
  }
}
