/* Escala Tipográfica Táctica de Alta Legibilidad (Tabletas y Monitores C2) */
html {
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 1024px) {
  html {
    font-size: 17.5px;
  }
}

/* Reemplazo global de fuentes pequeñas por tamaños cómodos de lectura */
.text-\[8px\],
.text-\[9px\] {
  font-size: 0.80rem !important;
  line-height: 1.25rem !important;
}

.text-\[10px\] {
  font-size: 0.86rem !important;
  line-height: 1.35rem !important;
}

.text-\[11px\] {
  font-size: 0.92rem !important;
  line-height: 1.4rem !important;
}

.text-xs {
  font-size: 0.95rem !important;
  line-height: 1.45rem !important;
}

.text-sm {
  font-size: 1.04rem !important;
  line-height: 1.55rem !important;
}

input,
select,
textarea,
button {
  font-size: 0.96rem;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

.custom-scrollbar::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
  background: #0B1120;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
  background: #1E2B45;
  border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #D4AF37;
}

.active-nav-tab {
  color: #D4AF37 !important;
  border-top: 2px solid #D4AF37;
  background-color: rgba(212, 175, 55, 0.08);
}

/* Ergonomía táctil y estilos de Mapa Leaflet C2 */
.leaflet-container {
  background-color: #020617 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
}

.leaflet-popup-content-wrapper {
  background-color: #0f172a !important;
  color: #f1f5f9 !important;
  border: 1px solid rgba(212, 175, 55, 0.6) !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8) !important;
  padding: 2px !important;
}

.leaflet-popup-tip {
  background-color: #0f172a !important;
  border: 1px solid rgba(212, 175, 55, 0.6) !important;
}

.leaflet-control-zoom a {
  background-color: #0f172a !important;
  color: #D4AF37 !important;
  border-color: #1e293b !important;
  min-width: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
}

.leaflet-control-zoom a:hover {
  background-color: #1e293b !important;
  color: #22d3ee !important;
}

.leaflet-control-attribution {
  background-color: rgba(2, 6, 23, 0.75) !important;
  color: #64748b !important;
  font-size: 9px !important;
}
.leaflet-control-attribution a {
  color: #94a3b8 !important;
}

@keyframes tactical-pulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(34, 211, 238, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 12px rgba(34, 211, 238, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(34, 211, 238, 0);
  }
}

.tactical-marker-pin {
  animation: tactical-pulse 2s infinite;
}

.tree-node-selected {
  border-color: #22d3ee !important;
  background-color: rgba(8, 145, 178, 0.18) !important;
  box-shadow: inset 3px 0 0 0 #22d3ee;
}
