/* Shared styling for MeetingMap (booking picker + stringer dashboard preview) */

.meeting-map-field {
  display: grid;
  gap: 0.4rem;
}

.meeting-map-hint {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--muted, #5e738d);
}

.meeting-map-required {
  color: var(--error, #b53045);
}

.meeting-map {
  height: 280px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--line, #d7e6f8);
  overflow: hidden;
  background: #eaf1fb;
  cursor: crosshair;
}

.meeting-map-status {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--muted, #5e738d);
}

.meeting-map-status.is-set {
  color: var(--brand-strong, #2f72c9);
}

/* Custom pin (blue teardrop, matches brand color) */
.meeting-map-pin {
  position: relative;
}

.meeting-map-pin-dot {
  position: absolute;
  top: 0;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50% 50% 50% 0;
  background: #4a8fe8;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 6px rgba(20, 60, 110, 0.35);
  transform: rotate(-45deg);
}

.meeting-map-pin-stem {
  position: absolute;
  bottom: 0;
  left: 10px;
  width: 2px;
  height: 8px;
  background: rgba(20, 60, 110, 0.35);
}

/* Read-only preview map on stringer dashboard cards */
.db-meeting-map {
  height: 140px;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--db-line, #d8e6f5);
  margin-top: 0.3rem;
  background: #eaf1fb;
}

.db-meeting-map-label {
  font-size: 0.77rem;
  font-weight: 600;
  color: var(--db-muted, #5e738d);
  margin: 0.3rem 0 0;
}

.db-meeting-map-area { margin: 10px 0 2px; font-weight: 700; color: #0F1B2D; font-size: 0.95rem; }
