/* Estilos personalizados para Forestando Juntos */

:root {
  --emerald-primary: #059669;
  --emerald-dark: #065f46;
  --emerald-light: #d1fae5;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  background-color: #f8fafc;
  color: #1e293b;
  overflow-x: hidden;
}

/* Scrollbar suave */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Animación de pulso para la geolocalización */
@keyframes pulse-ring {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    transform: scale(1.05);
    box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

.gps-button-active {
  animation: pulse-ring 2s infinite;
}

/* Mapa Leaflet ajustado */
#map-container {
  min-height: 480px;
  height: calc(100vh - 160px);
  width: 100%;
  border-radius: 1rem;
  z-index: 10;
}

#form-map {
  height: 220px;
  width: 100%;
  border-radius: 0.75rem;
}

/* Custom Leaflet Marker Popup */
.leaflet-popup-content-wrapper {
  border-radius: 12px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.leaflet-popup-content {
  margin: 0 !important;
  width: 260px !important;
}

/* Custom Marker Cluster Styling */
.marker-cluster-small {
  background-color: rgba(16, 185, 129, 0.6) !important;
}
.marker-cluster-small div {
  background-color: rgba(5, 150, 105, 0.9) !important;
  color: white !important;
  font-weight: bold;
}

.marker-cluster-medium {
  background-color: rgba(245, 158, 11, 0.6) !important;
}
.marker-cluster-medium div {
  background-color: rgba(217, 119, 6, 0.9) !important;
  color: white !important;
  font-weight: bold;
}

.marker-cluster-large {
  background-color: rgba(13, 148, 136, 0.6) !important;
}
.marker-cluster-large div {
  background-color: rgba(15, 118, 110, 0.9) !important;
  color: white !important;
  font-weight: bold;
}

/* Estilos para el dropzone de imágenes */
.file-dropzone {
  border: 2px dashed #cbd5e1;
  transition: all 0.2s ease-in-out;
}
.file-dropzone:hover {
  border-color: #10b981;
  background-color: #f0fdf4;
}

/* Badge de estado */
.badge-pending {
  background-color: #fef3c7;
  color: #92400e;
}
.badge-approved {
  background-color: #d1fae5;
  color: #065f46;
}
.badge-rejected {
  background-color: #fee2e2;
  color: #991b1b;
}
