/* LOADER */
#message_erreur_fix {
  position: relative;
  width: 100%;
  color: #970000;
  display: none;
  background-color: #fff;
  padding: 2px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  -webkit-transition: all 0.8s ease-in-out;
  -moz-transition: all 0.8s ease-in-out;
  -o-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
  z-index: 99;
}

#decompte_le_message_erreur_fix {
  font-size:16px; font-weight:bold; color:#a3005c;
}

#chargement {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 99;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(20, 97, 105, 0.25);
	border-radius: 12px;
	padding: 28px 36px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
	animation: loader_fadein 0.2s ease 0.35s both;
}

.spinner {
	text-align: center;
}

.loader_ring {
	width: 36px;
	height: 36px;
	margin: 0 auto 12px auto;
	border: 3px solid rgba(20, 97, 105, 0.15);
	border-top: 3px solid #146169;
	border-radius: 50%;
	animation: loader_spin 0.8s linear infinite;
}

.loader_label {
	font-size: 13px;
	color: #666;
	letter-spacing: 0.5px;
}

@keyframes loader_fadein {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes loader_spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* LOADER DASHBOARD MODERNE */
.dashboard_loader_moderne {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  gap: 16px;
}
.dashboard_loader_dots {
  display: flex;
  gap: 8px;
}
.dashboard_loader_dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #7a6a5a;
  animation: dashboard_dot_pulse 1.4s ease-in-out infinite;
}
.dashboard_loader_dot:nth-child(2) {
  animation-delay: 0.2s;
}
.dashboard_loader_dot:nth-child(3) {
  animation-delay: 0.4s;
}
@keyframes dashboard_dot_pulse {
  0%, 80%, 100% {
    transform: scale(0.6);
    opacity: 0.4;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.dashboard_loader_texte {
  font-size: 13px;
  color: #8a7a6a;
  letter-spacing: 1px;
  animation: dashboard_texte_fade 2s ease-in-out infinite;
}
@keyframes dashboard_texte_fade {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
/* FIN LOADER */
