.align-right {
	text-align: right !important;
}

.align-left {
	text-align: left !important;
}

.align-center {
	text-align: center !important;
}

.toolbar.toolbar-certifications.toolbar-certifications-nosearch {
	margin-left: 26px;
}

.ic.ic-refresh:before {
	background: url(../assets/icones/bt-actions/refresh.svg) 0 0 no-repeat;
	position: absolute;
	top: 7px;
	left: 8px;
	width: 18px;
	height: 22px;
}


.contain-head.contain-head-space {
	justify-content: space-between;
	display: flex;
}

	.contain-head.contain-head-space .btn {
		margin-bottom: 20px;
	}

.h-title, .h-subtitle {
	margin-bottom: 20px;
}

body .btn-sm {
	padding: 6px 10px;
}

@media (max-width: 767px) {
	.contain-head.contain-head-space {
		flex-direction: column;
	}
}

/* Reporting Table Styles */
.reporting-table-wrapper {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.reporting-table {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 20px;
	min-width: 900px;
}

.bg-brown {
	background-color: #D2B183 !important;
}

.bg-orange {
	background-color: #DE7D34 !important;
}

.bg-green {
	background-color: #6BA10E !important;
}

.bg-brown-light {
	background-color: #D2B183 !important;
}

.bg-red {
	background-color: #C76161 !important;
}


@media (max-width: 990px) {
	.reporting-table-wrapper {
		width: calc(100% + 30px);
		margin-left: -15px;
		padding-left: 15px;
		padding-right: 15px;
	}
}

.reporting-table-header {
	display: flex;
	background-color: #009dad;
	color: #fff;
	font-weight: bold;
	padding: 12px;
	border-radius: 20px;
	font-size: 16px;
}

.reporting-table-group {
	border-radius: 20px;
	overflow: hidden;
}

.reporting-table-row {
	display: flex;
	padding: 12px;
}

.reporting-table-group .reporting-table-row {
	border-bottom: 2px solid #fff;
}

	.reporting-table-group .reporting-table-row:last-child {
		border-bottom: none;
	}

/* Séparation partielle pour les lignes du premier groupe (groupe avec plusieurs lignes) */
.reporting-table-group.multi-rows .reporting-table-row:not(:last-child) {
	border-bottom: none;
	position: relative;
}

/* Séparation partielle quand même site : à partir de la colonne Constat */
.reporting-table-group.multi-rows .reporting-table-row.same-category-numero::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(to right, transparent 0%, transparent calc(120px + 150px + 180px + 75px + 4*16px), #fff calc(120px + 150px + 180px + 75px + 4*16px), #fff 100%);
}
.reporting-table-group.multi-rows .reporting-table-row.ligne-site::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(to right, transparent 0%, transparent calc(135px ), #fff calc(135px), #fff 100%);
}
.reporting-table-group.multi-rows .reporting-table-row.ligne-ref::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(to right, transparent 0%, transparent calc(120px + 100px + 4*16px), #fff calc(120px + 100px + 4*16px), #fff 100%);
}

/*.reporting-table-group.multi-rows .reporting-table-row:first-child::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(to right, transparent 0%, transparent calc((120px + 150px + 180px) + 24px), #fff calc((120px + 150px + 180px) + 24px), #fff 100%);
	background: linear-gradient(to right, transparent 0%, transparent calc((120px + 150px + 180px + 180px) + 24px), #fff calc((120px + 150px + 180px+ 180px) + 24px), #fff 100%);
}*/

/* Deuxième séparation : Référentiel + Chapitre + Constat */
/*.reporting-table-group.multi-rows .reporting-table-row:nth-child(2)::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(to right, transparent 0%, transparent calc((120px + 150px) + 16px), #fff calc((120px + 150px) + 16px), #fff 100%);
}*/

.reporting-table-col-type {
	flex: 0 0 120px;
	width: 120px;
	min-width: 120px;
}

.reporting-table-col-site {
	flex: 0 0 150px;
	width: 150px;
	min-width: 150px;
}

.reporting-table-col-referentiel {
	flex: 0 0 180px;
	width: 180px;
	min-width: 180px;
}

.reporting-table-col-chapitre {
	flex: 0 0 120px;
	width: 120px;
	min-width: 120px;
}

.reporting-table-col-constat {
	flex: 1 1 auto;
	min-width: 300px;
}

.reporting-table-header .reporting-table-col-type,
.reporting-table-header .reporting-table-col-site,
.reporting-table-header .reporting-table-col-referentiel,
.reporting-table-header .reporting-table-col-chapitre,
.reporting-table-header .reporting-table-col-constat {
	padding: 0 8px;
}

.reporting-table-row .reporting-table-col-type,
.reporting-table-row .reporting-table-col-site,
.reporting-table-row .reporting-table-col-referentiel,
.reporting-table-row .reporting-table-col-chapitre,
.reporting-table-row .reporting-table-col-constat {
	padding: 0 8px;
	display: flex;
	align-items: flex-start;
}

.reporting-table-row .reporting-table-col-type,
.reporting-table-row .reporting-table-col-site,
.reporting-table-row .reporting-table-col-referentiel,
.reporting-table-row .reporting-table-col-chapitre {
	padding-top: 18px;
}

	.reporting-table-row .reporting-table-col-type:not(:empty) {
		padding-top: 13px;
	}

.reporting-table-col-type .badge {
	margin: 0;
	font-size: 14px;
	padding: 8px 16px;
	border-radius: 20px;
}

.reporting-table-col-constat .constat-content {
	display: inline;
}

.reporting-table-col-constat .constat-text-full {
	display: none;
}

.reporting-table-col-constat.expanded .constat-text-full {
	display: inline;
}

.reporting-table-col-constat .constat-toggle {
	color: #000;
	text-decoration: underline;
	cursor: pointer;
	font-size: 16px;
	font-weight: bold;
	display: inline;
	margin-left: 3px;
	white-space: nowrap;
}

	.reporting-table-col-constat .constat-toggle:hover {
		text-decoration: underline;
	}

/* Couleurs de fond pour les groupes */
.reporting-table-group {
	background-color: #c9eaee;
}

	.reporting-table-group.light {
		background-color: #ebf7f8;
	}

	.reporting-table-group .reporting-table-row {
		background-color: transparent;
	}

/* GRAPH */

.section-graphs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 40px;
	width: 100%;
}

@media (max-width: 880px) {
	.section-graphs {
		grid-template-columns: 1fr;
	}
}

.card-graph {
	background: white;
	border: 2px solid #00bcd4;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.15);
	min-width: 0;
	overflow: visible;
}

.c-black {
	color: #000 !important;
}

.chart-container {
	width: 100%;
	height: 400px;
	position: relative;
}

.chart-with-percentages {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 360px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.side-percentage {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: #333;
	font-weight: normal;
	z-index: 1;
}

	.side-percentage.left {
		left: 0;
	}

	.side-percentage.right {
		right: 0;
	}

/* Graph Constats - Répartition */
.graph-constats .chart-container {
	height: 360px;
}

.graph-constats #donutChart {
	margin-left: 50px;
	margin-right: 50px;
	margin-top: 60px;
}

@media (max-width: 880px) {
	.graph-constats #donutChart {
		margin-top: -50px;
	}
}


/* Graph Radar Bars - Container pour bars et graph-nc */
.graph-radar-bars {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Bars - Non-conformité par norme */
.bars .chart-container {
	height: 160px;
}

.bars h3 {
	margin-bottom: 0;
}

/* Graph NC - Etats des non-conformités */
.graph-nc .chart-container {
	height: 170px;
}

/* Types de constats - Section radar 2 colonnes */
.types-section-graphs-2cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	margin-bottom: 25px;
}

	.types-section-graphs-2cols .chart-container {
		height: 350px !important;
	}

	.types-section-graphs-2cols .full .chart-container {
		width: 100%;
		max-width: 100%;
	}

	.types-section-graphs-2cols .full canvas {
		width: 100% !important;
		max-width: 100% !important;
	}

@media (max-width: 880px) {
	.types-section-graphs-2cols {
		grid-template-columns: 1fr;
	}

		.types-section-graphs-2cols .chart-container {
			height: 260px !important;
		}
}

/* Types de constats - Section radar 3 colonnes */
.types-section-graphs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	margin-bottom: 40px;
}

@media (max-width: 1024px) {
	.types-section-graphs {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 880px) {
	.types-section-graphs {
		grid-template-columns: 1fr;
	}
}

/* Graph Radar - Points fort, Pistes de progrès, Points sensibles */
.graph-radar {
	padding: 20px;
}

	.graph-radar:hover {
		background-color: white !important;
	}

	.graph-radar .chart-container {
		height: 260px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
	}

	.graph-radar canvas {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 auto;
	}

/* Pour les 3 graphiques en 3 colonnes uniquement */
.types-section-graphs .graph-radar {
	padding: 20px;
}

	.types-section-graphs .graph-radar .chart-container {
		width: 100%;
		max-width: 100%;
	}

	.types-section-graphs .graph-radar canvas {
		width: 100% !important;
		max-width: 100% !important;
	}
