* {
	margin: 0;
}

html {
	/* Le navigateur applique sa taille par défaut. */
	font-size: 100%; 
}

body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	/* Le texte principal fera 16px */
	font-size: 1rem; 
	line-height: 1.5; /* Très important pour la lisibilité ! */
}

.etat_en_dev {
	display: inline-flex;
	position: fixed;
	font-size: 70px;
	color: #FF0000;
	opacity: 0.1;
}

iconify-icon {
	vertical-align: middle;
}

img {
	border: none;
	vertical-align: middle;
}

a {
	color: #000000;
	text-decoration: underline;
}

a:hover {
	color: #707070;
}

s, strike {
	color: #FF0000;
}

h1 {
	margin: 15px 0 30px 0;
	padding: 10px 5px 15px 5px;
	display: flex;
	gap: 10px;
	color: var(--bleu-fgaac);
}

h2 {
	color: color-mix(in srgb, var(--bleu-fgaac), #FFF 10%);
	text-align: center;
	background-color: #F6F5F5;
	padding: 15px;
	border: solid 1px #D2D2D2;
	box-shadow: 1px 1px 10px #CCCCCC;
	border-radius: 10px;
}

h3 {
	color: #07AFCC;
	margin: 25px 0;
}

h4 {
	border-bottom: 1px dashed;
	margin: 10px 0;
	letter-spacing: -0.01em; /* Légèrement resserré */
	color: #374151;	  /* Un gris très foncé plutôt qu'un noir pur */
}

h1 iconify-icon,
h2 iconify-icon,
h3 iconify-icon,
h4 iconify-icon {
	font-size: 200%;
}

h1 { font-size: 2.5rem; line-height: 1.2; }
h2 { font-size: 2rem;   line-height: 1.25; }
h3 { font-size: 1.5rem; line-height: 1.3; }
h4 { font-size: 1.25rem; line-height: 1.4; }
h5 { font-size: 1.125rem; line-height: 1.4; }
h6 { font-size: 1rem; line-height: 1.5; }

h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	margin-bottom: 10px;
}

@media (max-width: 768px) {
	h1,
	h2,
	h3,
	h4 {
		font-size: 100%;
	}
}

small {
	/* Les mentions légales ou textes secondaires (0.875 x 16px = 14px) */
	font-size: 0.875rem; 
}

fieldset {
	border-radius: 10px;
}

legend {
	color: #102D7D;
	font-weight: bold;
	line-height: 35px;
	margin: 15px;
	font-size: 150%;
}

.contenu {
	margin: 0 auto;
	width: 100%;		/* S'adapte aux petits écrans */
	max-width: 1050px;	/* S'arrête à la taille idéale sur grand PC */
	padding: 0 20px;	/* Évite que le contenu colle aux bords sur petit PC */
}

@media only screen and (max-width: 1000px), only screen and (max-device-width: 1000px) {
	.contenu {
		width: 99%;
		padding: 0 2px;
	}
}

.logo {
	margin: 20px 10px 20px 0;
	text-align: center;
}

@media only screen and (max-width: 600px), only screen and (max-device-width: 600px) {
	.logo {
		margin: 5px;
	}

	.logo img {
		width: 350px;
		vertical-align: middle;
	}
}

@media only screen and (max-width: 410px), only screen and (max-device-width: 410px) {
	.logo img {
		width: auto;
	}
}

@media only screen and (max-width: 360px), only screen and (max-device-width: 360px) {
	.logo img {
		width: 250px;
	}
}

.la_section {
	display: block;
	margin: 10px 0;
}

.liste_uss {
	position: absolute;
}

.liste_uss {
	font-weight: bold;
	margin-bottom: 5px;
	right: 5px;
	top: 5px;
}

.footer {
	color: #C3C3C3;
	line-height: 50px;
	margin: 20px 0 50px;
	text-align: center;
	display: inline-block;
	width: 100%;
}

select[name=select_tri] {
	max-width: 250px;
}

.statut_brouillon {
	text-align: center;
	font-size: 120%;
}

.statut_brouillon iconify-icon {
	text-align: center;
	font-size: 150%;
}

/*********************
Erreur 404
*********************/
.bloc_404 {
	text-align: center;
	font-size: 200%;
	line-height: 200%;
}

@media only screen and (max-width: 760px), only screen and (max-device-width: 760px) {
	.bloc_404 img {
		width: 300px;
	}
}
/*********************
**********************
*********************/

/*
.loading_bloc {
	font-size: 30px;
	text-align: center;
	margin: 30px 0;
	color: #056616;
}
*/
.loading_bloc {
	font-size: 30px;
	text-align: center;
	color: #056616;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #EFEFEF;
	height: 100%;
	z-index: 1000;
}

.loading_bloc iconify-icon {
	font-size: 450%;
}

.loading_bloc_animation {
	font-size: 50px;
	margin: 35px 0;
}

.liste_acces {
	margin: 30px 70px;
	font-size: 20px;
}

.liste_acces li {
	margin-top: 15px;
}

.lien_desactive {
	opacity: 0.4;
}

.td_search {
	padding-top: 40px;
}

.description_dans_tableau {
	font-size: 90%;
	color: #9A9A9A;
}

.action_sur_liste {
	margin-top: -45px;
	font-size: 200%;
	float:right;
}

.action_sur_liste a {
	float: left;
	width: 35px;
}

.liste_haut_droit {
	font-style: italic;
	float: right;
	/*text-align: right;*/
	color: #757575;
	display: table;
	margin: -15px 0 0 10px;
	min-height: 90px;
}

.liste_admins {
	margin: 30px auto 0 auto;
	width: 50%;
}

.liste_admins ul {
	margin: 30px 25px;
}

.liste_admins ul li {
	margin-bottom: 20px;
}

.degre_priorite {
	border: 1px solid #C1C1C1;
	width: 90%;
	background-color: #D1D1D1;
	font-weight: bold;
	font-size: 150%;
}

.degre_priorite_resultat {
	text-align: right;
	padding: 5px 15px;
}

.priorite_1 {
	background-color: #009923;
}

.priorite_2 {
	background-color: #5A9668;
}

.priorite_3 {
	background-color: #FF9763;
}

.priorite_4 {
	background-color: #E86161;
}

.priorite_5 {
	background-color: #C40000;
}

.degre_priorite,
.degre_priorite_resultat {
	border-radius: 10px;
}

/*#blink_blink {
	background-color: darkgray;
	font-weight: bold;
}*/

.notif_ok {
	color: #0B8405;
}

.notif_ko {
	color: #C90035;
}

.non_renseigne {
	color: #FF0000;
}

/*************************************
Bouton de scroll vers le haut de page
*************************************/
.scroll-btn {
	height: 30px;
	width: 30px;
	border: 2px solid #000;
	border-radius: 50%;
	background-color: #000;
	position: fixed;
	bottom: 45px;
	right: 15px;
	opacity: 0.5;
	z-index: 9999;
	cursor: pointer;
	display: none;
}

.scroll-btn .scroll-btn-arrow {
	height: 8px;
	width: 8px;
	border: 3px solid;
	border-right: none;
	border-top: none;
	margin: 12px 9px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
	color: white;
}

.notouch .scroll-btn:hover { opacity: 0.8 }

@media only screen and (max-width: 700px), only screen and (max-device-width: 700px) {
	.scroll-btn {
		bottom: 8px;
		right: 8px;
	}
}
/*************************************
**************************************
*************************************/

/*************************************
FICHE ADHERENT
*************************************/
	.fiche_adherent {
		list-style: none;
		margin: 0 0 20px;
		padding: 20px;
		border-radius: 12px;
		box-shadow: 0 2px 12px rgba(0,0,0,.08);
		background: #FFFFFF; /* Optionnel : assure le fond blanc pour l'ombre */
	}

	.fiche_adherent li {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 12px 0; /* Légèrement augmenté pour respirer */
		border-bottom: 1px solid #ECECEC;
		line-height: 1; /* Aligne la hauteur de ligne textuelle */
	}

	.fiche_adherent li:last-child {
		border-bottom: none;
	}

	.fiche_adherent iconify-icon {
		flex-shrink: 0;
		font-size: 1.4rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.5rem; /* Largeur fixe pour que le texte commence tjs au même niveau */
	}

	.fiche_adherent a {
		text-decoration: none;
		font-weight: 600;
		transition: color .2s;
	}

	.fiche_adherent iconify-icon,
	.fiche_adherent a {
		color: #0066CC;
	}

	.fiche_adherent a:hover {
		color: #004A99;
	}

	/* On applique la couleur à tous les éléments textuels directs */
	.fiche_adherent span,
	.fiche_adherent li {
		color: #333333;
	}
/*************************************
**************************************
*************************************/

.fgaac_print {
	display: none;
}

#liste_adherents .hidden_adherents,
#liste_adherents #loader_adherents {
	display: none;
}

/******************************
Animation du spinner
******************************/
	.loading_bloc iconify-icon {
		animation-name: spin;
		animation-duration: 3000ms;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
		font-size: 350%;
	}

	@keyframes spin {
		from {
			transform:rotate(0deg);
		}
		to {
			transform:rotate(360deg);
		}
	}
/******************************
*******************************
******************************/

/******************************
Statistiques
******************************/
	.bloc_statistiques {
		width: 100%;
		display: inline-block;
	}

	.bloc_statistiques_ss {
		width: 49%;
		display: inline-flex;
		float: left;
		margin: 0 5px;
	}

	@media only screen and (max-width: 1000px), only screen and (max-device-width: 1000px) {
		.bloc_statistiques_ss {
			width: 48%;
			margin: 0 7px;
		}
	}

	@media only screen and (max-width: 650px), only screen and (max-device-width: 650px) {
		.bloc_statistiques_ss {
			width: 98%;
		}
	}

	.bloc_statistiques_ss_col_1 {
		float: left;
		width: 84%;
	}

	@media only screen and (max-width: 1000px), only screen and (max-device-width: 1000px) {
		.bloc_statistiques_ss_col_1 {
			width: 78%;
		}
	}

	@media only screen and (max-width: 650px), only screen and (max-device-width: 650px) {
		.bloc_statistiques_ss_col_1 {
			width: 74%;
		}
	}

	.bloc_statistiques_ss_col_2 {
		font-weight: bold;
		background-color: #DBEDFF;
		width: 15%;
		float: right;
	}

	@media only screen and (max-width: 1000px), only screen and (max-device-width: 1000px) {
		.bloc_statistiques_ss_col_2 {
			width: 16%;
		}
	}

	.bloc_statistiques_ss_col_1, .bloc_statistiques_ss_col_2 {
		border: 1px solid #CCCCCC;
		margin: 1px;
		padding-left: 5px;
		line-height: 30px;
	}
/******************************
*******************************
******************************/

/******************************
Partie des simulateurs
******************************/
	.table_simus,
	.resultat_simu {
		text-align: center;
		table-layout: fixed;
		width: 100%;
		border-spacing : 0;
		border-collapse : collapse;
	}

	@media only screen and (max-width: 650px), only screen and (max-device-width: 650px) {
		.resultat_simu {
			display: block;
			overflow: auto;
		}
	}

	.resultat_simu {
		margin-bottom: 20px;
	}

	.table_simus tr:first-child,
	.resultat_simu tr:first-child,
	.resultat_simu tr td:first-child {
		font-weight: bold;
	}

	.resultat_simu tr td:first-child {
		width: 105px;
	}

	.resultat_simu td {
		border: 1px solid #9E9E9E;
	}

	.table_simus td {
		padding: 10px;
	}

	.resultat_simu td {
		padding: 2px;
	}

	.table_simus td,
	.resultat_simu td {
		border: 1px solid #9E9E9E;
	}

	.montant_nul {
		color: #FF0000;
	}
/******************************

/******************************
Liste des USS
******************************/
	/* Conteneur principal */
	.uss_container {
		max-width: 800px;
		margin: 0 auto;
		padding: 1rem;
	}

	/* Carte USS (parent) */
	.uss_card {
		background: white;
		border-radius: 8px;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
		padding: 1.5rem;
		margin-bottom: 1.5rem;
	}

	/* En-tête de l'USS */
	.uss_header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		border-bottom: 1px solid #e5e7eb;
	}

	.uss_title {
		font-size: 1.25rem;
		font-weight: 600;
		color: #111827;
		margin: 0;
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}

	.member_count {
		font-size: 0.875rem;
		color: #6B7280;
		font-style: italic;
	}

	/* Liste des sections */
	.sections_list {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.section_card {
		background: #f9fafb;
		border-radius: 8px;
		padding: 1rem;
		margin-bottom: 0.75rem;
		transition: all 0.2s ease;
	}

	.section_card:hover {
		background: #f3f4f6;
	}

	.section_header {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.section_title {
		font-weight: 500;
		color: #111827;
	}

	/* Boutons d'action */
	.uss_actions, .section_actions {
		display: flex;
		gap: 0.5rem;
	}

	/******************************
	Responsive Mode Smartphone (< 640px)
	******************************/
	@media (max-width: 640px) {
		/* En-tête de l'USS */
		.uss_header {
			flex-direction: column;
			align-items: flex-start;
			gap: 0.75rem;
		}

		/* Le titre de l'USS passe en colonne pour mettre le compteur en dessous */
		.uss_title {
			flex-direction: column;
			align-items: flex-start;
			gap: 0.25rem; /* Petit espace entre le nom et le compteur */
		}

		.uss_header .uss_actions {
			align-self: flex-end; /* Aligne les boutons à droite sous le bloc titre/compteur (ou 'flex-start' pour gauche) */
		}


		/* En-tête de Section */
		.section_header {
			flex-direction: column;
			align-items: flex-start;
			gap: 0.75rem;
		}

		/* Le titre de la section passe aussi en colonne pour son compteur */
		.section_title {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 0.25rem;
		}

		.section_header .section_actions {
			align-self: flex-end; /* Aligne les boutons à droite sous la section */
		}
	}
/******************************
*******************************
******************************/

/******************************
Les popups
******************************/
	/* Le conteneur du popup */
	.popup {
		display: none;
		position: fixed;
		z-index: 1000;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		overflow: auto;
		background-color: rgba(0,0,0,0.5);
	}

	/* Contenu du popup */
	.popup-content {
		background-color: white;
		margin: 20px auto;
		padding: 20px;
		border: 1px solid #888888;
		width: 80%;
		max-width: 600px;
		box-shadow: 0 5px 15px rgba(0,0,0,0.3);
		border-radius: 10px;
	}

	.popup-content h2 {
		margin-top: 25px;
	}

	@media only screen and (max-width: 680px), only screen and (max-device-width: 680px) {
		.popup-content {
			padding: 0;
			width: 100%;
		}
	}

	/* Le bouton fermer */
	.close {
		color: #AAAAAA;
		float: right;
		font-size: 28px;
		font-weight: bold;
		margin: -20px -15px;
	}

	@media only screen and (max-width: 680px), only screen and (max-device-width: 680px) {
		.close {
			margin: 10px 5px 0 0;
		}
	}

	.close:hover,
	.close:focus {
		color: black;
		text-decoration: none;
		cursor: pointer;
	}
/******************************
*******************************
******************************/

/******************************
Le cadre indicateur de test
de compte
******************************/
	.mode_test_compte {
		/* Positionnement fixe pour couvrir tout l'écran */
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;

		/* Bordure semi-transparente (ajustez l'épaisseur et l'opacité ici) */
		border: 20px solid rgba(255, 0, 0, 0.3);

		/* Permet de cliquer sur ce qu'il y a derrière */
		pointer-events: none;

		/* S'assure que la bordure ne crée pas de barre de défilement */
		box-sizing: border-box;

		/* Pour être certain qu'elle soit au-dessus de tout */
		z-index: 9999;
	}
/******************************
*******************************
******************************/

/******************************
La liste des fichiers et
documents
******************************/
	.card_document {
		position: relative;
		background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%);
		border: 1px solid rgba(15, 23, 42, 0.08);
		border-radius: 20px;
		overflow: hidden;
		box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 10px 30px rgba(15, 23, 42, 0.06);
		transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
		margin: 8px 0;
		width: 95%;
		max-width: 800px;
		margin: 15px auto;
	}

	.card_document:hover {
		transform: translateY(-4px);
		box-shadow: 0 16px 40px rgba(15, 23, 42, 0.10);
		border-color: rgba(37, 99, 235, 0.18);
	}

	.card_document > a {
		display: flex;
		gap: 18px;
		padding: 15px;
		text-decoration: none;
		color: inherit;
		align-items: flex-start;
	}

	.card_document > a::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
	}

	.card_document:focus-within {
		outline: 2px solid rgba(37, 99, 235, 0.35);
		outline-offset: 2px;
	}

	/* --- Bloc Image & Type mis au centre et l'un sur l'autre --- */
	.card_image {
		flex: 0 0 112px;
		display: flex;
		flex-direction: column; /* Aligne verticalement */
		align-items: center;	/* Centre horizontalement */
		justify-content: center;/* Centre verticalement si besoin */
		gap: 10px;			  /* Espace entre l'image et le type */
	}

	.card_image img {
		max-width: 110px;
		max-height: 140px;
		object-fit: cover;
		border-radius: 16px;
		display: block;
	}

	/* --- Mise en évidence de card_type --- */
	.card_type {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 6px 12px;
		background: #F4F4F4;
		color: #008DE1;
		font-size: 0.6rem;
		font-weight: 700;
		text-transform: uppercase; /* Donne un aspect "badge" pro */
		letter-spacing: 0.05em;
		border-radius: 8px;		/* Coins arrondis */
		box-shadow: 0 2px 4px rgba(15, 23, 42, 0.15); /* Légère ombre portée */
		white-space: nowrap;	   /* Évite que le texte passe à la ligne */
		transition: all 0.25s ease;
	}

	.card_type iconify-icon {
		font-size: 1.1rem;
	}

	/* Effet optionnel au survol de la carte pour faire réagir le badge */
	.card_document:hover .card_type {
		/*! background: #2563EB; */	   /* Devient bleu au survol de la carte */
		transform: scale(1.03);	/* Léger effet de zoom */
	}

	.card_content {
		flex: 1;
		min-width: 0;
		padding-right: 64px;
	}

	.card_niveau_access {
		margin-top: 12px;
	}

	.card_niveau_access span {
		display: inline-flex;
		align-items: center;
		padding: 6px 10px;
		border-radius: 999px;
		background: rgba(37, 99, 235, 0.10);
		color: #2563EB;
		font-size: 0.8rem;
		margin: 10px 5px 0 0;
	}

	.card_header {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.card_date {
		display: inline-flex;
		align-items: center;
		padding: 6px 10px;
		border-radius: 999px;
		background: rgba(37, 99, 235, 0.10);
		color: #2563EB;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.02em;
	}

	.card_content h3 {
		margin: 20px 0 8px;
		line-height: 1.35;
		color: #0F172A;
	}

	.card_content p {
		margin: 0;
		color: #64748B;
		line-height: 1.55;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.card_actions {
		display: grid;
		grid-template-columns: repeat(2, 42px);
		gap: 8px;
		justify-content: end;
		align-self: flex-start;
		position: absolute;
		top: 14px;
		right: 14px;
	}

	/* Si le dernier élément est seul sur la dernière ligne */
	.card_actions > :last-child:nth-child(odd) {
		grid-column: 1 / span 2;
		justify-self: center;
	}

	/* On remonte les boutons au-dessus du lien global (si nécessaire) */
	.card_actions a {
		position: relative;
		z-index: 2;
	}

	.card_actions > a:empty {
		display: none;
	}

	@media (max-width: 700px) {
		.card_document {
			padding-bottom: 10px;
		}

		.card_document > a {
			display: flex;
			flex-direction: column;
			align-items: center;
			padding: 16px;
			box-sizing: border-box;
		}

		.card_actions {
			position: relative;
			top: 0;
			right: 0;
			width: 100%;
			margin-top: 15px;
			border-top: 1px dashed #E2E8F0;
			padding-top: 15px;
			display: flex;
			justify-content: center;
		}

		.card_actions > :last-child:nth-child(odd) {
			grid-column: auto;
			justify-self: auto;
		}

		.card_actions a {
			width: 42px;
			height: 42px;
		}

		.card_image {
			margin-bottom: 16px; 
			flex: none; /* Permet à l'image de prendre sa vraie place en mobile */
		}

		.card_image img {
			border-radius: 16px;
			display: block;
		}

		.card_content {
			width: 100%;
			padding-right: 0;
			box-sizing: border-box;
			text-align: center;
		}

		.card_header {
			justify-content: center;
		}
	}
/******************************
*******************************
******************************/

/******************************
Liste des utilisateurs
******************************/
	.liste_card {
		display: flex;
		align-items: flex-start;
		gap: 20px;
		background: #FFFFFF;
		border: 1px solid #E2E8F0;
		border-radius: 16px;
		padding: 20px;
		margin: 15px auto;
		width: 95%;
		max-width: 800px;
		box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
		transition: transform 0.2s ease, box-shadow 0.2s ease;
		position: relative;
	}

	.liste_card:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	}

	/* Icone à gauche */
	.card_icon_wrapper {
		background: color-mix(in srgb, var(--bleu-fgaac), #FFFFFF 92%);
		color: var(--bleu-fgaac);
		padding: 15px;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 2.5rem;
	}

	.card_header {
		display: flex;
		align-items: center;
		gap: 12px;
		flex-wrap: wrap;
		margin-bottom: 8px;
	}

	.card_title {
		font-size: 1.1rem;
		font-weight: 700;
		color: var(--bleu-fgaac);
	}

	.card_meta {
		color: #334155;
		margin-bottom: 12px;
		font-size: 0.9rem;
	}

	.card_meta span::before {
		content: "/";
		color: #D8E3F2;
		margin: 0 10px 0 5px;
		font-weight: 600;
	}

	/* Grille d'infos */
	.card_stats {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px 25px;
		padding-top: 8px;
		margin-top: 8px;
	}

	.stat_item {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 0.85rem;
		color: var(--bleu-fgaac);
	}

	.stat_item iconify-icon {
		font-size: 1.2rem;
		color: var(--bleu-fgaac);
	}

	.card_actions_modern {
		display: grid;
		grid-template-columns: repeat(2, 42px);
		gap: 8px;
		justify-content: end;
		align-self: flex-start;
	}

	/* Si le dernier élément est seul sur la dernière ligne */
	.card_actions_modern > :last-child:nth-child(odd) {
		grid-column: 1 / span 2;
		justify-self: center;
	}

	/* On étend le lien principal à toute la surface */
	.main_link::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1; /* Couvre la carte */
	}

	/* On remonte les autres boutons au-dessus du lien global */
	.card_actions_modern a:not(.main_link), 
	.card_actions_modern iconify-icon {
		position: relative;
		z-index: 2; /* Pour que les boutons Editer/Supprimer restent cliquables */
	}

	/* Adaptation Mobile */
	@media (max-width: 640px) {
		.card_actions_modern {
			width: 100%;
			margin-top: 15px;
			border-top: 1px dashed #E2E8F0;
			padding-top: 15px;
			display: flex;
		}

		/* On supprime la règle du dernier enfant qui prenait toute la largeur */
		.card_actions_modern > :last-child:nth-child(odd) {
			grid-column: auto;
			justify-self: auto;
		}

		.liste_card {
			flex-direction: column;
			align-items: center;
			text-align: center;
		}

		.card_header {
			justify-content: center;
		}

		.card_stats {
			/* On retire flex-direction: column pour laisser les spans s'aligner horizontalement tant qu'ils ont de la place */
			grid-template-columns: auto; 
			justify-content: center; /* Centre les éléments sur mobile si vous le souhaitez, ou left/flex-start */
		}

		.stat_item {
			justify-content: center;
		}
	}
/******************************
*******************************
******************************/

.liste_actions_suppression {
	color: #FF0000 !important;
}

.liste_actions_modification {
	color: #188420 !important;
}

.liste_actions_ajout {
	color: #039696 !important;
}

/*************************************
Fil d'ariane
*************************************/
	.fil_ariane {
		margin: 24px 15px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
		font-size: 0.9rem; /* Légèrement plus petit que le texte principal */
		line-height: 1.5;
	}

	/* Style commun pour tous les éléments du fil */
	.fil_ariane a, 
	.fil_ariane .fil_ariane_en_cours {
		text-decoration: none;
		transition: color 0.2s ease;
	}

	/* Liens cliquables */
	.fil_ariane a {
		color: color-mix(in srgb, var(--bleu-fgaac), #FFFFFF 20%);
	}

	/* Effet survol sur les liens */
	.fil_ariane a:hover {
		color: #1A1A1A;
		text-decoration: underline;
	}

	/* Page actuelle (non cliquable) */
	.fil_ariane .fil_ariane_en_cours {
		color: #1A1A1A;
		font-weight: 600; /* Plus moderne que "bold" (700) */
		pointer-events: none;
	}

	/* On cible le BEFORE de tous les éléments (liens ET page en cours) */
	.fil_ariane > a::before,
	.fil_ariane > .fil_ariane_en_cours::before {
		content: "/"; 
		margin: 0 10px;
		color: #666666;
		font-weight: normal;
		display: inline-block;
	}

	/* On supprime le BEFORE du tout premier élément, quel qu'il soit */
	.fil_ariane > *:first-child::before {
		display: none;
	}
/*************************************
**************************************
*************************************/

/*************************************
Tableau des taux
*************************************/
	/* --- DESIGN GLOBAL & DESKTOP --- */
	.table_container_taux {
		width: 100%;
		border: 1px solid #E2E8F0;
		border-radius: 12px;
		box-shadow: 0 1px 3px rgb(0 0 0 / 0.05);
		background: #FFFFFF;
	}

	.modern_table_taux {
		width: 100%;
		border-collapse: collapse;
		font-size: 0.9rem;
	}

	.modern_table_taux thead tr {
		background-color: #F8FAFC;
		border-bottom: 1px solid #E2E8F0;
	}

	.modern_table_taux th {
		padding: 12px 16px; /* Légère réduction pour s'harmoniser avec le 5px des td */
		font-weight: 600;
		color: #64748B;
		font-size: 0.8rem;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		text-align: left;
	}

	.modern_table_taux td {
		padding: 8px;
		border-bottom: 1px solid #E2E8F0;
		color: #0F172A;
		vertical-align: middle;
	}

	/* Cellule de la copie seule */
	.modern_table_taux .cell_copie_taux {
		width: 40px;
		text-align: center;
	}

	/* Design strict et identique pour le bouton de copie */
	.btn_copy_taux {
		border: 0;
		background: transparent;
		font-size: 150%;
	}

	.btn_copy_taux:hover {
		cursor: pointer;
	}

	.btn_copy_taux:hover {
		background: #F8FAFC;
		color: #0F172A;
	}

	.btn_copy_taux:active {
		transform: scale(0.95);
	}

	.modern_table_taux tbody tr:hover {
		background-color: #f8fafc;
	}

	.table_container_taux .cell_details_taux {
		color: #9A9A9A;
	}

	.cell_code_taux {
		font-weight: bold;
	}

	.prime_desc {
		margin: 0;
		font-weight: 500;
	}

	/* ALIGNEMENT DES ICONES SANS CASSER LE TABLEAU */
	.cell_actions_taux {
		justify-content: flex-end;
		align-items: center;
		gap: 8px;
		border-bottom: 1px solid #E2E8F0;
		height: 100%;
	}

	.cell_actions_taux .mon_infobulle {
		display: inline-flex;
		margin: 0;
	}

	.icon-trend { color: #3B82F6; font-size: 1.1rem; }
	.cell-amount { font-weight: 700; white-space: nowrap; }

	/* --- AJUSTEMENT AUTOMATIQUE DES COLONNES --- */
	.col_icon_taux   { width: 1%; white-space: nowrap; } /* S'adapte pile à l'icône */
	.col_copie_taux  { width: 1%; white-space: nowrap; } /* S'adapte pile au bouton copie */
	.col_code_taux   { width: 1%; white-space: nowrap; padding-right: 15px; } /* Code court */
	.col_amount_taux { width: 1%; white-space: nowrap; text-align: right; } /* Montant compact */
	.col_actions_taux { width: 1%; white-space: nowrap; text-align: right; } /* Boutons d'actions */

	/* La colonne des détails (description) va naturellement absorber tout l'espace restant */
	.table_container_taux .cell_details_taux {
		color: #9A9A9A;
		width: auto; /* Prend le reste de la place disponible */
	}

	.cell_code_taux, 
	.cell_amount_taux, 
	.cell_actions_taux {
		white-space: nowrap;
	}

	.table-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 32px; /* MODIFIÉ : Réduit de 36px à 32px pour rentrer dans les td de 5px sans casser la hauteur */
		height: 32px; /* MODIFIÉ : Réduit de 36px à 32px */
		box-sizing: border-box;
		border-radius: 8px;
		color: #64748B;
		text-decoration: none;
		border: 1px solid #E2E8F0;
		transition: all 0.2s;
		margin: 0;
	}
	.table-btn:hover {
		background: #F8FAFC;
		color: #0F172A;
	}

	.table_container_taux .cell_icon_taux {
		color: var(--bleu-fgaac);
		font-size: 200%; /* MODIFIÉ : Légèrement réduit (de 250% à 200%) pour éviter les sauts de hauteur disproportionnés */
		width: 20px;
	}

	.table_container_taux .cell_amount_taux {
		font-weight: bold;
		text-align: right;
		color: var(--bleu-fgaac);
	}

	/* --- CONFIGURATION RESPONSIVE (MOBILE) --- */
	@media screen and (max-width: 768px) {
		.modern_table_taux, 
		.modern_table_taux tbody, 
		.modern_table_taux tr, 
		.modern_table_taux td {
			display: block;
			width: 100%;
			box-sizing: border-box;
		}

		.modern_table_taux thead {
			display: none;
		}

		.modern_table_taux tr {
			margin-bottom: 16px;
			border-bottom: 2px solid #E2E8F0;
			padding: 8px 0;
		}

		.modern_table_taux tr:last-child {
			margin-bottom: 0;
			border-bottom: none;
		}

		.modern_table_taux td {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 10px 16px; /* CONSERVÉ : Un padding légèrement plus grand sur mobile pour la zone de clic/toucher */
			border-bottom: 1px dashed #f1f5f9;
			text-align: left;
		}

		.modern_table_taux td:last-child {
			border-bottom: none;
		}
		
		.cell_icon_taux {
			display: none;
		}

		.cell_copie_taux {
			display: flex;
		}

		.cell_code_taux {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.modern_table_taux td[data-label]::before {
			content: attr(data-label);
			font-weight: 600;
			color: #64748B;
			font-size: 0.8rem;
			text-transform: uppercase;
			margin-right: 16px;
		}

		.cell_details_taux {
			flex-direction: column;
			align-items: flex-end;
			text-align: right;
		}

		.cell_actions_taux {
			display: flex;
			flex-direction: row;
			justify-content: flex-end;
			gap: 8px;
		}
	}
/*************************************
**************************************
*************************************/

/*************************************
Bandeau d'information bas de page
*************************************/
	.message_banner_bas {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;

		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;

		background: color-mix(in srgb, var(--orange-fgaac), #FFFFFF 70%);
		color: var(--bleu-fgaac);
		padding: 10px;
		font-size: 1.2rem;
		font-weight: bold;
		z-index: 10000;

		box-sizing: border-box;
	}

	.message_banner_bas iconify-icon {
		flex: 0 0 auto;
		font-size: 1.5em;
	}

	.message_banner_bas span {
		text-align: center;
		flex: 1 1 auto;
	}

	@media (max-width: 768px) {
		.message_banner_bas::before {
			transform: translate(-50%, -50%) rotate(-70deg);
			font-size: 50px;
		}
	}
/*************************************
**************************************
*************************************/

.description_simu {
	margin: 20px 0;
}