.map-box.read-only {
  cursor: default;
}

.vault-map-marker {
  position: absolute;
  z-index: 2;
  min-width: 20px;
  min-height: 20px;
  padding: 3px 6px;
  border: 2px solid #fff;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  box-shadow: 0 2px 10px #000b;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
}

.vault-map-marker.available {
  background: #168341;
}

.vault-map-marker.reserved {
  background: #a66c00;
}

.vault-map-marker.occupied {
  background: #a72520;
}

.availability-note {
  border: 1px solid #3f9d61;
  background: #123c24;
  color: #dcffe7;
  padding: 13px 15px;
  margin-bottom: 16px;
}

.availability-summary {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 14px;
}

.availability-pill,
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  font-weight: 800;
}

.availability-pill {
  padding: 8px 13px;
  border: 1px solid #ffffff44;
}

.status-badge {
  padding: 4px 9px;
}

.availability-pill.available,
.status-badge.available {
  background: #175d31;
  color: #d8ffe5;
}

.availability-pill.reserved,
.status-badge.reserved {
  background: #6a4600;
  color: #fff0b5;
}

.availability-pill.occupied,
.status-badge.occupied {
  background: #6f1e1a;
  color: #ffe0dd;
}
