/* GENESIS - styles complémentaires à Tailwind */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 4px; }

.badge-pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600;
}

.nav-link.active {
  background: rgba(0, 154, 68, 0.15);
  color: #009A44;
  border-left: 3px solid #FF7900;
}

.face-box {
  position: absolute;
  border: 2px solid #009A44;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
}
.face-box:hover { border-color: #FF7900; background: rgba(255,121,0,0.15); }
.face-box.confirmed { border-color: #16a34a; }
.face-box.rejected { border-color: #dc2626; opacity: 0.5; }

@keyframes pulse-danger {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0.5); }
  50% { box-shadow: 0 0 0 8px rgba(220,38,38,0); }
}
.pulse-danger { animation: pulse-danger 1.5s infinite; }

.modal-overlay {
  position: fixed; inset: 0; background: rgba(0,62,126,0.6);
  display: flex; align-items: center; justify-content: center; z-index: 50;
  padding: 16px;
}

.toast {
  position: fixed; bottom: 20px; right: 20px; z-index: 100;
  padding: 12px 20px; border-radius: 8px; color: white; font-weight: 500;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: slideIn 0.3s ease;
}
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

.table-row-hover:hover { background-color: #f1f5f9; }

.crisis-mode {
  background: repeating-linear-gradient(45deg, #DC2626, #DC2626 10px, #991b1b 10px, #991b1b 20px);
}

/* GENESIS MAP - carte opérationnelle */
#genesis-map { border-radius: 12px; z-index: 0; }
.map-legend {
  background: rgba(255,255,255,0.95); border-radius: 8px; padding: 10px 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15); font-size: 12px;
}
.leaflet-popup-content-wrapper { border-radius: 10px; }
.sector-marker {
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: white; font-weight: 700; box-shadow: 0 0 0 3px rgba(255,255,255,0.9);
}
@keyframes map-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0.6); }
  50% { box-shadow: 0 0 0 10px rgba(220,38,38,0); }
}
.map-marker-alert { animation: map-pulse 1.5s infinite; }
