.share-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  pointer-events: auto;
}
.modal-content {
  background: white;
  border-radius: 12px;
  padding: 24px;
  max-width: 400px;
  width: 90%;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
.modal-content h3 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
}
.modal-content input {
  width: 100%;
  padding: 12px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 20px;
}
.modal-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.modal-actions button {
  padding: 8px 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: white;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.12s ease;
}
.modal-actions button.primary {
  background: #111;
  color: white;
  border-color: #111;
}
.modal-actions button:hover {
  transform: translateY(-1px);
}
.city-list { max-height: 400px; overflow-y: auto; margin: 16px 0; }
.city-item { border: 1px solid #f0f0f0; border-radius: 8px; padding: 16px; margin-bottom: 12px; }
.city-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.city-header h4 { margin: 0; font-size: 16px; font-weight: 600; color: #212529; /* Always dark text */ }
.tile-count { font-size: 12px; color: #666; background: #f8f8f8; padding: 4px 8px; border-radius: 4px; }
.city-meta { font-size: 12px; color: #666; margin-bottom: 12px; }
.city-actions { display: flex; gap: 8px; }
.load-city-btn, .delete-city-btn { padding: 6px 12px; border: 1px solid #ddd; border-radius: 6px; background: white; cursor: pointer; font-size: 12px; transition: all 0.12s ease; }
.load-city-btn:hover { background: #f8f8f8; }
.delete-city-btn { color: #ff4444; border-color: #ffcccc; }
.delete-city-btn:hover { background: #fff0f0; }
.loading, .no-cities, .error { text-align: center; padding: 40px; color: #666; font-size: 14px; }