/**
 * Liste prestataires ZZP — thème moderne (liste_prestataires.php)
 */

.erp-page-prestataires {
	--erp-zzp-primary: #405189;
	--erp-zzp-accent: #0ab39c;
	--erp-zzp-surface: #ffffff;
	--erp-zzp-muted: #6c7a92;
	--erp-zzp-border: #e8edf5;
	--erp-zzp-radius: 14px;
	--erp-zzp-shadow: 0 8px 24px rgba(32, 56, 110, 0.08);
}

/* Barre filtres */
.erp-page-prestataires .erp-zzp-toolbar {
	border-radius: var(--erp-zzp-radius);
	background: #fff;
	border: 1px solid var(--erp-zzp-border) !important;
	box-shadow: var(--erp-zzp-shadow);
	margin-bottom: 1.25rem;
	overflow: hidden;
}

.erp-page-prestataires .erp-zzp-toolbar-quick {
	background: linear-gradient(135deg, #f8fafc 0%, #fff 55%);
	border-bottom: 1px solid var(--erp-zzp-border);
}

.erp-page-prestataires .erp-zzp-search-main .form-control {
	border-radius: 10px;
	border-color: var(--erp-zzp-border);
	padding-left: 2.35rem;
	min-height: 42px;
	font-size: 0.9rem;
}

.erp-page-prestataires .erp-zzp-filters-toggle.collapsed i.ri-filter-3-line::before {
	opacity: 1;
}

.erp-page-prestataires .erp-zzp-filters-panel {
	background: linear-gradient(180deg, #f4f7fb 0%, #fafbfd 100%);
	border-top: 1px dashed var(--erp-zzp-border);
}

.erp-page-prestataires .erp-zzp-filter-label {
	display: block;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--erp-zzp-muted);
	margin-bottom: 0.35rem;
}

.erp-page-prestataires .erp-zzp-filter-field {
	border-radius: 10px;
	border-color: var(--erp-zzp-border);
	min-height: 38px;
	font-size: 0.88rem;
}

.erp-page-prestataires .erp-zzp-filters-actions {
	border-top: 1px solid var(--erp-zzp-border);
}

.erp-page-prestataires .erp-zzp-toolbar .list-grid-nav .btn {
	border-radius: 10px;
	min-width: 38px;
	min-height: 38px;
}

.erp-page-prestataires .erp-zzp-toolbar .btn-success {
	border-radius: 10px;
	background: linear-gradient(135deg, var(--erp-zzp-accent), #099885);
	border: none;
	font-weight: 600;
	box-shadow: 0 4px 12px rgba(10, 179, 156, 0.25);
}

/* Grille : 5 cartes par ligne (écrans larges), sans conflit Bootstrap .row / .col */
.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter {
	display: grid !important;
	flex-flow: unset !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.65rem;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	--bs-gutter-x: 0;
	--bs-gutter-y: 0;
}

.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter > .erp-zzp-col,
.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter > .col {
	flex: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	padding: 0 !important;
	margin: 0 !important;
}

.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter > .erp-zzp-col .erp-zzp-card,
.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter > .col .erp-zzp-card {
	width: 100%;
}

.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter > .erp-zzp-empty,
.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter > .col-12 {
	grid-column: 1 / -1;
	width: 100% !important;
}

@media (max-width: 1399.98px) {
	.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 1199.98px) {
	.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991.98px) {
	.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter {
		grid-template-columns: 1fr;
	}
}

/* Carte */
.erp-page-prestataires .erp-zzp-card {
	border-radius: var(--erp-zzp-radius);
	overflow: visible;
	height: 100%;
	background: var(--erp-zzp-surface);
	box-shadow: var(--erp-zzp-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.erp-page-prestataires .erp-zzp-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(32, 56, 110, 0.14);
}

.erp-page-prestataires .erp-zzp-card__header.team-cover {
	display: block !important;
	position: relative;
	height: 72px;
	margin-bottom: 0;
	overflow: visible;
	border-radius: var(--erp-zzp-radius) var(--erp-zzp-radius) 0 0;
}

.erp-page-prestataires .erp-zzp-card__header.team-cover img {
	height: 72px;
	width: 100%;
	object-fit: cover;
	border-radius: var(--erp-zzp-radius) var(--erp-zzp-radius) 0 0;
}

.erp-page-prestataires .erp-zzp-card__header.team-cover::before {
	background: linear-gradient(120deg, rgba(64, 81, 137, 0.75) 0%, rgba(10, 179, 156, 0.45) 100%);
	opacity: 0.55;
}

.erp-page-prestataires .erp-zzp-card__actions {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 5;
}

.erp-page-prestataires .erp-zzp-card__actions .dropdown-menu {
	z-index: 1080;
}

.erp-page-prestataires .erp-zzp-card__actions > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--erp-zzp-primary);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.erp-page-prestataires .erp-zzp-card__body {
	padding: 0 1rem 1rem !important;
	text-align: center;
	position: relative;
}

/* Cartes liste clients / fournisseurs : hauteur uniforme, sans barre Profil % */
.erp-page-prestataires .team-list.erp-zzp-grid.grid-view-filter > .erp-zzp-col {
	display: flex;
	min-width: 0;
}

.erp-page-prestataires .erp-zzp-card--liste-compte {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.erp-page-prestataires .erp-zzp-card--liste-compte .erp-zzp-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.erp-page-prestataires .erp-zzp-card--liste-compte .erp-zzp-card__cta.view-btn {
	margin-top: auto;
}

.erp-page-prestataires .erp-zzp-card--liste-compte .erp-zzp-progress-wrap {
	display: none !important;
}

.erp-page-prestataires .erp-zzp-card__title-block {
	min-height: 3.1rem;
	margin-bottom: 0.15rem;
}

.erp-page-prestataires .erp-zzp-card__meta-slots {
	min-height: calc(3 * 1.35rem);
	margin-bottom: 0.1rem;
}

.erp-page-prestataires .erp-zzp-card__meta-slot {
	display: block;
	min-height: 1.35rem;
	line-height: 1.35rem;
}

.erp-page-prestataires .erp-zzp-card__meta-slot.is-empty {
	visibility: hidden;
}

.erp-page-prestataires .erp-zzp-card__avatar {
	display: inline-block;
	width: 64px;
	height: 64px;
	margin-top: -36px;
	border-radius: 50%;
	border: 3px solid #fff;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.15);
	overflow: hidden;
	background: #f1f5f9;
}

.erp-page-prestataires .erp-zzp-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.erp-page-prestataires .erp-zzp-card__title {
	font-size: 0.95rem;
	font-weight: 700;
	color: #1e3a5f;
	margin: 0.5rem 0 0.15rem;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.erp-page-prestataires .erp-zzp-card__meta {
	display: block;
	font-size: 0.78rem;
	color: var(--erp-zzp-muted);
	line-height: 1.35;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.erp-page-prestataires .erp-zzp-card__metrics {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin: 0.75rem 0 0.85rem;
}

.erp-page-prestataires .erp-zzp-metric {
	flex: 1;
	max-width: none;
	min-width: 0;
	padding: 0.5rem 0.5rem;
	border-radius: 10px;
	background: #f4f7fb;
	border: 1px solid var(--erp-zzp-border);
}

.erp-page-prestataires .erp-zzp-metric strong {
	display: block;
	font-size: 1rem;
	color: var(--erp-zzp-primary);
	line-height: 1.2;
}

.erp-page-prestataires .erp-zzp-metric span {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--erp-zzp-muted);
}

.erp-page-prestataires .erp-zzp-card__cta.view-btn {
	width: 100%;
	border-radius: 10px;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.45rem 0.75rem;
	background: linear-gradient(135deg, var(--erp-zzp-primary), #5a6dab);
	border: none;
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(64, 81, 137, 0.25);
}

.erp-page-prestataires .erp-zzp-card__cta.view-btn:hover {
	filter: brightness(1.05);
	color: #fff !important;
}

.erp-page-prestataires .erp-zzp-progress-label {
	display: flex;
	justify-content: space-between;
	font-size: 0.68rem;
	color: var(--erp-zzp-muted);
	margin-top: 0.65rem;
	margin-bottom: 0.2rem;
}

.erp-page-prestataires .erp-zzp-card .progress {
	height: 6px;
	border-radius: 6px;
	background: #eef2f8;
}

/* Masquer l'ancien layout Velzon dans les cartes */
.erp-page-prestataires .erp-zzp-card .team-row,
.erp-page-prestataires .erp-zzp-card .team-settings,
.erp-page-prestataires .erp-zzp-card .bookmark-icon {
	display: none !important;
}

.erp-page-prestataires .erp-zzp-grid.grid-view-filter .team-box .team-profile-img {
	margin: 0;
}

/* Vue liste */
.erp-page-prestataires .erp-zzp-grid.list-view-filter {
	display: flex !important;
	flex-direction: column;
	gap: 0.65rem;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter > .erp-zzp-col,
.erp-page-prestataires .erp-zzp-grid.list-view-filter > .col {
	width: 100% !important;
	max-width: 100% !important;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card__body {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto minmax(150px, max-content);
	grid-template-rows: auto auto;
	gap: 0.4rem 1.25rem;
	align-items: center;
	text-align: left;
	padding: 0.85rem 1rem !important;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card__header {
	display: none !important;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card__avatar {
	grid-row: 1 / span 2;
	grid-column: 1;
	margin: 0;
	width: 56px;
	height: 56px;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card__identity {
	grid-column: 2;
	grid-row: 1;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card__metrics {
	grid-column: 3;
	grid-row: 1;
	margin: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.5rem;
	min-width: 11.5rem;
	width: auto;
	flex-shrink: 0;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-metric {
	flex: 0 0 auto;
	min-width: 5rem;
	max-width: none;
	padding: 0.4rem 0.65rem;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-metric strong {
	font-size: 0.95rem;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-metric span {
	white-space: nowrap;
	font-size: 0.62rem;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card__cta {
	grid-column: 4;
	grid-row: 1;
	width: auto;
	min-width: 140px;
	margin: 0;
	white-space: nowrap;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-progress-wrap {
	grid-column: 2 / 4;
	grid-row: 2;
	min-width: 0;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card__actions {
	position: absolute;
	top: 10px;
	right: 10px;
}

.erp-page-prestataires .erp-zzp-grid.list-view-filter .erp-zzp-card {
	position: relative;
}

.erp-page-prestataires .erp-zzp-empty {
	grid-column: 1 / -1;
	width: 100%;
	text-align: center;
	padding: 2.5rem 1rem;
	color: var(--erp-zzp-muted);
}

.erp-page-prestataires .erp-zzp-stats-row {
	border-top: 1px solid var(--erp-zzp-border);
	padding-top: 0.75rem;
}

.erp-page-prestataires .erp-zzp-stat-pill {
	background: #f8fafc;
	border: 1px solid var(--erp-zzp-border);
	border-radius: 10px;
	padding: 0.65rem 0.85rem;
	text-align: center;
}

.erp-page-prestataires .erp-zzp-stat-pill strong {
	display: block;
	font-size: 1.35rem;
	line-height: 1.2;
	color: var(--erp-zzp-primary);
}

.erp-page-prestataires .erp-zzp-stat-pill span {
	display: block;
	font-size: 0.72rem;
	color: var(--erp-zzp-muted);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-top: 0.15rem;
}

/* Liste clients — vue tableau (module 1200) */
.erp-page-liste-clients-table .table-responsive.table-card {
	border-radius: var(--erp-zzp-radius);
	border: 1px solid var(--erp-zzp-border);
	box-shadow: var(--erp-zzp-shadow);
	background: #fff;
	padding: 0.25rem;
}

.erp-page-liste-clients-table .erp-lc-table-wrap {
	border-radius: var(--erp-zzp-radius);
	border: 1px solid var(--erp-zzp-border);
	box-shadow: var(--erp-zzp-shadow);
	background: #fff;
	padding: 0.35rem;
}

.erp-page-liste-clients-table .erp-lc-result-count {
	font-size: 0.78rem;
	font-weight: 600;
	padding: 0.45rem 0.65rem;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table {
	margin-bottom: 0;
	font-size: 0.875rem;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table thead th {
	background: #f8fafc !important;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #64748b;
	border-bottom: 1px solid var(--erp-zzp-border);
	padding: 0.65rem 0.5rem;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table tbody tr {
	transition: background-color 0.15s ease;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table tbody tr:hover {
	background: #f8fbff;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table tbody td {
	padding: 0.55rem 0.5rem;
	border-bottom: 1px solid #f1f5f9;
}

/* Largeurs colonnes — corrige chevauchement raison / nom */
.erp-page-liste-clients-table #customerTable.erp-lc-table th.erp-lc-th-raison,
.erp-page-liste-clients-table #customerTable.erp-lc-table td.erp-lc-col-raison {
	width: 24%;
	min-width: 160px;
	max-width: 24%;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table th.erp-lc-th-nom,
.erp-page-liste-clients-table #customerTable.erp-lc-table td.erp-lc-col-nom {
	width: 16%;
	min-width: 130px;
	max-width: 16%;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table--with-raison th:nth-child(3),
.erp-page-liste-clients-table #customerTable.erp-lc-table--with-raison td:nth-child(3) {
	width: 8%;
}

.erp-page-liste-clients-table #customerTable.erp-lc-table td.erp-lc-col-raison,
.erp-page-liste-clients-table #customerTable.erp-lc-table td.erp-lc-col-nom {
	overflow: hidden;
}

.erp-page-liste-clients-table .erp-lc-cell-link {
	display: block;
	color: #405189;
	text-decoration: none;
	max-width: 100%;
}

.erp-page-liste-clients-table .erp-lc-cell-link:hover {
	color: #0ab39c;
}

.erp-page-liste-clients-table .erp-lc-raison-badge,
.erp-page-liste-clients-table .erp-lc-nom-text {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.erp-page-liste-clients-table .erp-lc-raison-badge {
	display: inline-block;
	max-width: 100%;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
	vertical-align: middle;
}

.erp-page-liste-clients-table .erp-lc-raison-badge--pro {
	background: #e8f6f3;
	color: #0ab39c;
}

.erp-page-liste-clients-table .erp-lc-raison-badge--fournisseur {
	background: #fff3e6;
	color: #e67e22;
}

.erp-page-liste-clients-table .erp-lc-raison-badge--part {
	background: #f1f5f9;
	color: #475569;
}

.erp-page-liste-clients-table .erp-lc-raison-badge--club {
	background: #e8f0fe;
	color: #405189;
}

.erp-page-liste-clients-table .erp-lc-nom-text {
	font-weight: 500;
	color: #334155;
}

.erp-page-liste-clients-table #customerTable .btn.w-lg {
	min-width: 0 !important;
	width: auto !important;
	max-width: 100%;
}

#erpListeTableStatsPanel.row.collapse.show,
#erpListeTableStatsPanel.row.collapse.collapsing {
	margin-bottom: 0.5rem;
}

/* Annule Velzon app.css : .team-list.grid-view-filter .col { width: 25% } */
.erp-page-prestataires .team-list.grid-view-filter .col,
.erp-page-prestataires .team-list.grid-view-filter .erp-zzp-col {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

/* ——— Projets (liste + fiche) ——— */
.erp-page-projects {
	--erp-prj-primary: #405189;
	--erp-prj-primary-light: #eef2fb;
	--erp-prj-accent: #0ab39c;
	--erp-prj-accent-light: #e8f8f5;
	--erp-prj-warm: #f59e0b;
	--erp-prj-warm-light: #fff7e6;
	--erp-prj-muted: #64748b;
	--erp-prj-border: #d8e0ec;
	--erp-prj-surface: #f4f7fc;
	padding: 0.25rem 0 1.5rem;
}

.erp-page-projects .erp-project-toolbar {
	border-radius: 16px;
	background: linear-gradient(135deg, #eef2fb 0%, #f8fafc 45%, #e8f8f5 100%);
	border: 1px solid var(--erp-prj-border) !important;
	box-shadow: 0 8px 24px rgba(64, 81, 137, 0.08);
}

.erp-page-projects .erp-project-toolbar .card-body {
	padding: 1rem 1.15rem;
}

.erp-page-projects .erp-project-toolbar__title {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--erp-prj-muted);
	margin-bottom: 0.35rem;
}

.erp-page-projects .erp-project-toolbar .form-control,
.erp-page-projects .erp-project-toolbar .choices__inner {
	border-radius: 10px;
	border-color: var(--erp-prj-border);
	font-size: 0.85rem;
	min-height: 38px;
}

.erp-page-projects .erp-project-filter-select + .choices {
	margin-bottom: 0;
}

.erp-page-projects .choices__list--dropdown .choices__input {
	font-size: 0.85rem;
}

.erp-page-projects .erp-project-toolbar .btn-success {
	border-radius: 10px;
	font-weight: 600;
	background: linear-gradient(135deg, var(--erp-prj-accent), #099885);
	border: none;
	box-shadow: 0 4px 12px rgba(10, 179, 156, 0.28);
}

.erp-page-projects .team-list.erp-project-grid.grid-view-filter {
	display: grid !important;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	flex-wrap: unset !important;
}

@media (min-width: 768px) {
	.erp-page-projects .team-list.erp-project-grid.grid-view-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.erp-page-projects .team-list.erp-project-grid.grid-view-filter {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.erp-page-projects .team-list.erp-project-grid .erp-project-col,
.erp-page-projects .team-list.erp-project-grid > .col {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
	padding: 0;
}

.erp-page-projects .erp-project-card {
	border: 1px solid var(--erp-prj-border);
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 10px 28px rgba(64, 81, 137, 0.1);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.erp-page-projects .erp-project-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(64, 81, 137, 0.16);
}

.erp-page-projects .erp-project-card__cover {
	position: relative;
	padding: 1rem 1.1rem 1.15rem;
	background: linear-gradient(135deg, #354774 0%, #405189 42%, #0ab39c 100%);
	color: #fff;
	min-height: 118px;
}

.erp-page-projects .erp-project-card__cover-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.35rem;
}

.erp-page-projects .erp-project-card__cover-title {
	font-size: 1.02rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
	line-height: 1.35;
}

.erp-page-projects .erp-project-card__cover-title a {
	color: #fff;
	text-decoration: none;
}

.erp-page-projects .erp-project-card__cover-title a:hover {
	color: #e8f8f5;
}

.erp-page-projects .erp-project-card__cover-dates {
	font-size: 0.76rem;
	opacity: 0.92;
}

.erp-page-projects .erp-project-card__cover-actions {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
}

.erp-page-projects .erp-project-card__menu {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	text-decoration: none;
}

.erp-page-projects .erp-project-card__menu:hover {
	background: rgba(255, 255, 255, 0.28);
	color: #fff;
}

.erp-page-projects .erp-project-card__body {
	padding: 1rem 1.1rem 1.1rem;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
	flex: 1;
	display: flex;
	flex-direction: column;
}

.erp-page-projects .erp-project-card__client-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}

.erp-page-projects .erp-project-card__avatar-wrap {
	position: relative;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
}

.erp-page-projects .erp-project-card__avatar {
	display: block;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px;
	min-height: 48px;
	border-radius: 12px;
	overflow: hidden;
	flex-shrink: 0;
	border: 2px solid #fff;
	box-shadow: 0 4px 12px rgba(64, 81, 137, 0.15);
}

.erp-page-projects .erp-project-card__avatar img {
	display: block;
	width: 48px !important;
	height: 48px !important;
	max-width: 48px !important;
	max-height: 48px !important;
	object-fit: cover;
	object-position: center;
}

.erp-page-projects .erp-project-card__client-name {
	display: block;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--erp-prj-primary);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.erp-page-projects .erp-project-card__metier {
	font-size: 0.72rem;
	color: var(--erp-prj-muted);
	line-height: 1.3;
	margin-top: 0.15rem;
}

.erp-page-projects .erp-project-card__ref {
	font-size: 0.72rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.92);
	letter-spacing: 0.03em;
}

.erp-page-projects .erp-project-badge-fournisseur {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: #fff3e6;
	color: #e67e22;
}

.erp-page-projects .erp-project-badge-fournisseur--light {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.erp-page-projects .erp-project-stats {
	display: flex;
	gap: 0.5rem;
	margin-top: auto;
	margin-bottom: 0.75rem;
}

.erp-page-projects .erp-project-stat {
	flex: 1;
	text-align: center;
	padding: 0.5rem 0.35rem;
	border-radius: 12px;
	border: 1px solid transparent;
}

.erp-page-projects .erp-project-stat--missions {
	background: var(--erp-prj-primary-light);
	border-color: #d4dcf5;
}

.erp-page-projects .erp-project-stat--prest {
	background: var(--erp-prj-accent-light);
	border-color: #b8ebe3;
}

.erp-page-projects .erp-project-stat--rapport {
	background: var(--erp-prj-warm-light);
	border-color: #fde6b8;
}

.erp-page-projects .erp-project-stat strong {
	display: block;
	font-size: 1.05rem;
	line-height: 1.2;
}

.erp-page-projects .erp-project-stat--missions strong { color: var(--erp-prj-primary); }
.erp-page-projects .erp-project-stat--prest strong { color: var(--erp-prj-accent); }
.erp-page-projects .erp-project-stat--rapport strong { color: #d97706; }

.erp-page-projects .erp-project-stat span {
	font-size: 0.6rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--erp-prj-muted);
}

.erp-page-projects .erp-project-status {
	display: block;
	text-align: center;
	padding: 0.55rem 0.75rem;
	border-radius: 10px;
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	color: #fff !important;
	background: linear-gradient(135deg, var(--erp-prj-primary), #5a6dab);
}

.erp-page-projects .erp-project-status--success,
.erp-page-projects .erp-project-status--green {
	background: linear-gradient(135deg, #0ab39c, #099885);
}

.erp-page-projects .erp-project-status--warning,
.erp-page-projects .erp-project-status--orange {
	background: linear-gradient(135deg, #f59e0b, #ea580c);
}

.erp-page-projects .erp-project-status--danger,
.erp-page-projects .erp-project-status--red {
	background: linear-gradient(135deg, #f06548, #dc3545);
}

.erp-page-projects .erp-project-status--info,
.erp-page-projects .erp-project-status--primary {
	background: linear-gradient(135deg, #299cdb, #405189);
}

.erp-page-projects .erp-project-status--dark,
.erp-page-projects .erp-project-status--default {
	background: linear-gradient(135deg, #475569, #334155);
}

.erp-page-projects .erp-project-empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 2.5rem 1rem;
	color: var(--erp-prj-muted);
	background: #f8fafc;
	border-radius: 14px;
	border: 1px dashed var(--erp-prj-border);
}

/* Modal création projet */
.erp-project-modal .modal-content {
	border: none;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
}

.erp-project-modal .modal-header {
	background: linear-gradient(135deg, var(--erp-prj-primary), #5a6dab);
	border: none;
	padding: 1.1rem 1.25rem;
}

.erp-project-modal .modal-title {
	color: #fff !important;
	font-weight: 700;
}

.erp-project-modal .modal-body {
	padding: 1.25rem;
}

.erp-project-modal .erp-project-field-label {
	font-size: 0.78rem;
	font-weight: 600;
	color: #475569;
	margin-bottom: 0.35rem;
}

.erp-project-modal .form-control,
.erp-project-modal .bootstrap-select .dropdown-toggle {
	border-radius: 10px;
	border-color: var(--erp-prj-border);
}

.erp-project-modal .erp-project-switch-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid var(--erp-prj-border);
	margin-top: 0.75rem;
}

.erp-project-modal .erp-project-switch-row__text strong {
	display: block;
	font-size: 0.88rem;
	color: #1e293b;
}

.erp-project-modal .erp-project-switch-row__text small {
	color: var(--erp-prj-muted);
	font-size: 0.75rem;
}

/* Fiche projet */
.erp-project-page {
	--erp-prj-primary: #405189;
	--erp-prj-primary-light: #eef2fb;
	--erp-prj-accent: #0ab39c;
	--erp-prj-accent-light: #e8f8f5;
	--erp-prj-warm-light: #fff7e6;
	--erp-prj-muted: #64748b;
	--erp-prj-border: #d8e0ec;
	background: linear-gradient(180deg, #eef2fb 0%, #f4f7fc 120px, #f8fafc 100%);
	border-radius: 18px;
	padding: 0.75rem 0.75rem 1.25rem;
	margin-bottom: 0.5rem;
}

.erp-project-page .erp-project-hero {
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 1rem;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.erp-project-page .erp-project-hero__gradient {
	height: 100px;
	background: linear-gradient(135deg, #354774 0%, #405189 40%, #0ab39c 85%, #38bdf8 100%);
}

.erp-project-page .erp-project-hero__body {
	margin-top: -48px;
	padding: 0 0.5rem 0.5rem;
}

.erp-project-page .erp-project-hero__card {
	border-radius: 14px;
	border: 1px solid var(--erp-prj-border);
	background: #fff;
	box-shadow: 0 8px 24px rgba(64, 81, 137, 0.1);
	padding: 1rem;
	height: 100%;
}

.erp-project-page .erp-project-hero__card--identity {
	background: linear-gradient(160deg, #fff 0%, var(--erp-prj-primary-light) 100%);
}

.erp-project-page .erp-project-hero__card--contact {
	background: linear-gradient(160deg, #fff 0%, var(--erp-prj-accent-light) 100%);
}

.erp-project-page .erp-project-hero__card--map {
	background: linear-gradient(160deg, #fff 0%, #edf6ff 100%);
}

.erp-project-page .erp-project-hero__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	border: 3px solid #fff;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
	object-fit: cover;
}

.erp-project-page .erp-project-kpi {
	text-align: center;
	padding: 0.65rem;
	border-radius: 10px;
	border: 1px solid transparent;
}

.erp-project-page .erp-project-kpi:nth-child(1),
.erp-project-page .col-4:nth-child(1) .erp-project-kpi {
	background: var(--erp-prj-primary-light);
	border-color: #d4dcf5;
}

.erp-project-page .col-4:nth-child(2) .erp-project-kpi {
	background: var(--erp-prj-accent-light);
	border-color: #b8ebe3;
}

.erp-project-page .col-4:nth-child(3) .erp-project-kpi {
	background: var(--erp-prj-warm-light);
	border-color: #fde6b8;
}

.erp-project-page .erp-project-kpi strong {
	display: block;
	font-size: 1.25rem;
	color: var(--erp-prj-primary);
}

.erp-project-page .col-4:nth-child(2) .erp-project-kpi strong { color: var(--erp-prj-accent); }
.erp-project-page .col-4:nth-child(3) .erp-project-kpi strong { color: #d97706; }

.erp-project-page .erp-project-kpi span {
	font-size: 0.7rem;
	text-transform: uppercase;
	color: var(--erp-prj-muted);
}

.erp-project-page .erp-project-panel {
	border-radius: 16px !important;
	border: 1px solid var(--erp-prj-border) !important;
	box-shadow: 0 8px 24px rgba(64, 81, 137, 0.08) !important;
	background: #fff;
	overflow: hidden;
}

.erp-project-page .erp-project-panel > .card-header {
	background: linear-gradient(90deg, var(--erp-prj-primary-light), #fff 55%, var(--erp-prj-accent-light)) !important;
	padding: 0.85rem 1rem 0.5rem !important;
	border-bottom: 1px solid var(--erp-prj-border) !important;
}

.erp-project-page .erp-project-panel > .card-body {
	background: linear-gradient(180deg, #fafbfd 0%, #fff 100%);
}

.erp-project-page .erp-project-tabs .nav-link {
	border-radius: 999px !important;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--erp-prj-primary);
	padding: 0.45rem 0.9rem;
	margin: 0.12rem;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid #d4dcf5;
}

.erp-project-page .erp-project-tabs .nav-link.active {
	background: linear-gradient(135deg, var(--erp-prj-primary), #5a6dab) !important;
	color: #fff !important;
	border-color: transparent !important;
	box-shadow: 0 4px 12px rgba(64, 81, 137, 0.25);
}

.erp-project-page .erp-project-form-card {
	border-radius: 14px;
	border: 1px solid var(--erp-prj-border);
	padding: 1.25rem;
	background: linear-gradient(160deg, #fff 0%, var(--erp-prj-primary-light) 120%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.erp-project-page .erp-project-form-card .erp-project-field-label {
	font-size: 0.78rem;
	font-weight: 600;
	color: #475569;
	margin-bottom: 0.35rem;
}

.erp-project-page .erp-project-form-card .form-control,
.erp-project-page .erp-project-form-card .bootstrap-select .dropdown-toggle {
	border-radius: 10px;
	border-color: #cdd8ea;
	background: #fff;
}

.erp-project-page .erp-project-form-card .erp-project-switch-row {
	background: var(--erp-prj-accent-light);
	border-color: #b8ebe3;
}

.erp-project-page .erp-project-save-btn {
	width: 100%;
	border-radius: 12px;
	font-weight: 700;
	padding: 0.75rem;
	background: linear-gradient(135deg, var(--erp-prj-accent), #099885);
	border: none;
}

/* Badge fournisseur (liste + fiche) */
.erp-project-badge-fournisseur {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: #fff3e6;
	color: #e67e22;
}

.erp-page-projects .team-list.grid-view-filter .col,
.erp-page-projects .team-list.grid-view-filter .erp-project-col {
	width: auto !important;
	max-width: none !important;
	flex: unset !important;
	padding: 0;
	min-width: 0;
}

/* Annule Velzon team-list (25% colonnes + flex row) sur la grille projets */
.erp-page-projects #search_projects.team-list.row {
	display: grid !important;
	--bs-gutter-x: 0;
	--bs-gutter-y: 0;
	margin-left: 0;
	margin-right: 0;
}

.erp-page-projects #search_projects > .col,
.erp-page-projects #search_projects > .erp-project-col {
	width: auto !important;
	max-width: none !important;
	flex: none !important;
}

.erp-page-projects .team-list.list-view-filter {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1rem !important;
}

@media (min-width: 992px) {
	.erp-page-projects .team-list.list-view-filter .erp-project-card {
		flex-direction: row;
	}
	.erp-page-projects .team-list.list-view-filter .erp-project-card__cover {
		min-width: 240px;
		flex-shrink: 0;
	}
	.erp-page-projects .team-list.list-view-filter .erp-project-card__body {
		flex: 1;
	}
}

.erp-page-projects .erp-project-search-main {
	min-width: 200px;
	max-width: 420px;
}

.erp-page-projects .erp-project-search-main .form-control {
	border-radius: 10px;
}

.erp-page-projects .erp-project-result-count {
	font-size: 0.8rem;
	font-weight: 600;
}

.erp-page-projects .erp-project-filters-panel,
.erp-page-projects .erp-project-stats-panel-wrap {
	background: rgba(255, 255, 255, 0.55);
}

.erp-page-projects .erp-project-filter-label {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--erp-prj-muted);
	margin-bottom: 0.35rem;
}

.erp-page-projects .erp-project-stat-pill,
#erp_project_stats_content .erp-project-stat-pill {
	text-align: center;
	padding: 0.65rem 0.5rem;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--erp-prj-border);
	box-shadow: 0 2px 8px rgba(64, 81, 137, 0.06);
	height: 100%;
}

.erp-page-projects .erp-project-stat-pill strong,
#erp_project_stats_content .erp-project-stat-pill strong {
	display: block;
	font-size: 1.35rem;
	color: var(--erp-prj-primary);
	line-height: 1.2;
}

.erp-page-projects .erp-project-stat-pill span,
#erp_project_stats_content .erp-project-stat-pill span {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--erp-prj-muted);
}

.erp-page-projects .erp-project-stat-pill--fournisseur strong,
#erp_project_stats_content .erp-project-stat-pill--fournisseur strong { color: #e67e22; }
.erp-page-projects .erp-project-stat-pill--fournisseur { background: #fff8f0; border-color: #fde0c2; }

.erp-page-projects .erp-project-stat-pill--missions strong,
#erp_project_stats_content .erp-project-stat-pill--missions strong { color: var(--erp-prj-primary); }
.erp-page-projects .erp-project-stat-pill--missions { background: var(--erp-prj-primary-light); }

.erp-page-projects .erp-project-stat-pill--prest strong,
#erp_project_stats_content .erp-project-stat-pill--prest strong { color: var(--erp-prj-accent); }
.erp-page-projects .erp-project-stat-pill--prest { background: var(--erp-prj-accent-light); }

.erp-page-projects .erp-project-stat-pill--rapport strong,
#erp_project_stats_content .erp-project-stat-pill--rapport strong { color: #d97706; }
.erp-page-projects .erp-project-stat-pill--rapport { background: var(--erp-prj-warm-light); }

.erp-page-projects .erp-project-stat-pill--clients strong,
#erp_project_stats_content .erp-project-stat-pill--clients strong { color: #299cdb; }
.erp-page-projects .erp-project-stat-pill--clients { background: #edf6ff; }

.erp-page-projects .erp-project-stat-breakdown,
#erp_project_stats_content .erp-project-stat-breakdown {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	padding: 0.65rem 0.85rem;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--erp-prj-border);
}

.erp-page-projects .erp-project-stat-breakdown__label,
#erp_project_stats_content .erp-project-stat-breakdown__label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--erp-prj-muted);
}

.erp-page-projects .erp-project-stat-chip,
#erp_project_stats_content .erp-project-stat-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	background: var(--erp-prj-primary-light);
	font-size: 0.75rem;
	color: var(--erp-prj-primary);
}

.erp-page-projects .erp-project-fournisseur-icon {
	position: absolute;
	right: -4px;
	bottom: -4px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	border: 2px solid #fff;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.15);
}

.erp-page-projects .erp-project-fournisseur-icon.is-active {
	background: #e67e22;
	color: #fff;
}

.erp-page-projects .erp-project-fournisseur-icon.is-inactive {
	background: #e2e8f0;
	color: #94a3b8;
}

#erp_project_stats_content.row {
	--bs-gutter-x: 0.5rem;
	--bs-gutter-y: 0.5rem;
}

.erp-page-projects .erp-project-grid--loading {
	min-height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.erp-page-projects .erp-project-grid-loader {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 160px;
	padding: 2rem 0;
}

.erp-page-projects .erp-project-debug,
#erp_project_debug_wrap .erp-project-debug {
	margin-top: 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: 10px;
	border: 1px dashed #cbd5e1;
	background: #f8fafc;
	font-size: 0.78rem;
}

.erp-page-projects .erp-project-debug summary,
#erp_project_debug_wrap .erp-project-debug summary {
	cursor: pointer;
	font-weight: 700;
	color: #405189;
}

.erp-page-projects .erp-project-debug__sql,
#erp_project_debug_wrap .erp-project-debug__sql {
	margin: 0.5rem 0 0;
	padding: 0.65rem;
	background: #1e293b;
	color: #e2e8f0;
	border-radius: 8px;
	font-size: 0.72rem;
	white-space: pre-wrap;
	word-break: break-all;
	max-height: 280px;
	overflow: auto;
}

/* ——— Fiche projet : bandeau statut fournisseur ——— */
.erp-project-fournisseur-topbar {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.65rem 1rem;
	margin-bottom: 0.75rem;
	border-radius: 14px;
	border: 1px solid #e8edf5;
	background: #f8fafc;
}

.erp-project-fournisseur-topbar.is-active {
	background: linear-gradient(135deg, #fff8ef 0%, #fff3e6 100%);
	border-color: #f5d0a8;
}

.erp-project-fournisseur-topbar.is-inactive {
	background: #f1f5f9;
	border-color: #e2e8f0;
}

.erp-project-fournisseur-topbar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	font-size: 1.35rem;
	flex-shrink: 0;
}

.erp-project-fournisseur-topbar.is-active .erp-project-fournisseur-topbar__icon {
	background: linear-gradient(135deg, #f59e0b, #ea580c);
	color: #fff;
	box-shadow: 0 6px 16px rgba(234, 88, 12, 0.28);
}

.erp-project-fournisseur-topbar.is-inactive .erp-project-fournisseur-topbar__icon {
	background: #cbd5e1;
	color: #64748b;
}

.erp-project-fournisseur-topbar__label {
	font-size: 0.88rem;
	line-height: 1.35;
}

.erp-projet-fournisseurs-panel {
	border-radius: 16px;
	border: 1px solid #fde6b8 !important;
	background: linear-gradient(180deg, #fffdf8 0%, #fff 40%);
}

.erp-projet-fournisseur-chip {
	border-radius: 12px !important;
	border-color: #f5d0a8 !important;
}

.erp-projet-fournisseur-chip__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: #fff3e6;
	color: #ea580c;
	flex-shrink: 0;
}

/* ——— Liste produits (relook) ——— */
.erp-page-liste-produits {
	--erp-lp-primary: #405189;
	--erp-lp-accent: #0ab39c;
	--erp-lp-muted: #878a99;
}

.erp-liste-produits-page .erp-lp-hero {
	position: relative;
	padding: 1.35rem 1.5rem;
	color: #fff;
	overflow: hidden;
}

.erp-liste-produits-page .erp-lp-hero__gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #405189 0%, #5a6dab 45%, #0ab39c 100%);
	opacity: 1;
}

.erp-liste-produits-page .erp-lp-hero__body {
	position: relative;
	z-index: 1;
}

.erp-liste-produits-page .erp-lp-hero__eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.88;
	margin: 0;
}

.erp-liste-produits-page .erp-lp-hero__title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #fff;
}

.erp-liste-produits-page .erp-lp-kpi-badge {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
	font-weight: 700;
	padding: 0.45rem 0.75rem;
	border-radius: 999px;
}

.erp-liste-produits-page .erp-lp-kpi-badge--muted {
	opacity: 0.92;
}

.erp-liste-produits-page .erp-lp-toolbar,
.erp-liste-produits-page .erp-zzp-toolbar {
	border-radius: 14px;
	border: 1px solid #e8edf5 !important;
	box-shadow: 0 8px 24px rgba(32, 56, 110, 0.08);
}

.erp-liste-produits-page #btn_toggle_produits_stats.active {
	background: #cfe2ff;
	border-color: #9ec5fe;
	color: #084298;
}

.erp-page-liste-produits-table .erp-lp-table-wrap {
	border-radius: 14px;
	border: 1px solid #e8edf5;
	box-shadow: 0 8px 28px rgba(32, 56, 110, 0.07);
	overflow: hidden;
	background: #fff;
}

.erp-page-liste-produits-table #customerTable.erp-lp-table {
	margin-bottom: 0;
	font-size: 0.84rem;
}

.erp-page-liste-produits-table #customerTable.erp-lp-table thead th {
	background: linear-gradient(180deg, #f8fafc, #f1f5f9);
	border-bottom: 2px solid #e2e8f0;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #475569;
	white-space: nowrap;
}

.erp-page-liste-produits-table #customerTable.erp-lp-table tbody tr {
	transition: background 0.15s ease;
}

.erp-page-liste-produits-table #customerTable.erp-lp-table tbody tr:hover {
	background: #f8fafc;
}

.erp-page-liste-produits-table #customerTable.erp-lp-table tbody td {
	vertical-align: middle;
	border-color: #eef2f7;
}

.erp-page-liste-produits-table #customerTable th.lp-col-hidden,
.erp-page-liste-produits-table #customerTable td.lp-col-hidden {
	display: none !important;
}

.erp-page-liste-produits-table #customerTable thead .th-sort-icons {
	display: inline-block;
	vertical-align: middle;
	margin-inline-start: 0.25rem;
	white-space: nowrap;
}

.erp-page-liste-produits-table #customerTable thead .th-sort-icons i {
	display: none !important;
	font-size: 1rem;
	line-height: 1;
}

.erp-page-liste-produits-table #customerTable thead th.sort:not(.asc):not(.desc) .th-sort-icons .th-sort-neutral {
	display: inline-block !important;
}

.erp-page-liste-produits-table #customerTable thead th.sort.asc .th-sort-icons .th-sort-up {
	display: inline-block !important;
}

.erp-page-liste-produits-table #customerTable thead th.sort.desc .th-sort-icons .th-sort-down {
	display: inline-block !important;
}

.erp-liste-produits-page .lp-cols-toolbar .btn-lp-cols {
	font-size: 0.8125rem;
	padding: 0.35rem 0.65rem;
	border-radius: 0.375rem;
}

.erp-liste-produits-page .erp-stats-scroll {
	max-height: 220px;
	overflow: auto;
}

.erp-liste-produits-page .search-box .form-control {
	border-radius: 10px;
	border-color: #dfe5ef;
}

.erp-liste-produits-page .search-box .search-icon {
	color: var(--erp-lp-primary);
}

.erp-fournisseurs-projet-wrap .erp-fournisseur-projet-card {
	border-radius: 14px;
	border-color: #f5d0a8 !important;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.erp-fournisseurs-projet-wrap .erp-fournisseur-projet-card:hover {
	box-shadow: 0 10px 28px rgba(234, 88, 12, 0.12);
	transform: translateY(-2px);
}

/* ——— Transactions (relook premium) ——— */
.erp-page-transactions {
	--erp-tx-primary: #405189;
	--erp-tx-primary-dark: #2d3a66;
	--erp-tx-accent: #0ab39c;
	--erp-tx-warn: #f7b84b;
	--erp-tx-danger: #f06548;
	--erp-tx-muted: #6c7a92;
	--erp-tx-border: #e8edf5;
	--erp-tx-radius: 14px;
	--erp-tx-shadow: 0 12px 40px rgba(32, 56, 110, 0.1);
}

.erp-transactions-page {
	border-radius: var(--erp-tx-radius);
	box-shadow: var(--erp-tx-shadow);
}

.erp-transactions-page .erp-tx-hero {
	position: relative;
	padding: 1.75rem 1.75rem 1.5rem;
	color: #fff;
	overflow: hidden;
	min-height: 148px;
}

.erp-transactions-page .erp-tx-hero__gradient {
	position: absolute;
	inset: 0;
	opacity: 1;
}

.erp-transactions-page .erp-tx-hero--vente .erp-tx-hero__gradient {
	background:
		radial-gradient(ellipse 80% 60% at 100% 0%, rgba(10, 179, 156, 0.45) 0%, transparent 55%),
		radial-gradient(ellipse 50% 80% at 0% 100%, rgba(255, 255, 255, 0.12) 0%, transparent 50%),
		linear-gradient(125deg, #2d3a66 0%, #405189 38%, #4f6bb5 62%, #0ab39c 100%);
}

.erp-transactions-page .erp-tx-hero--achat .erp-tx-hero__gradient {
	background:
		radial-gradient(ellipse 70% 55% at 90% 10%, rgba(230, 126, 34, 0.4) 0%, transparent 55%),
		linear-gradient(125deg, #2a3358 0%, #4a3d7a 45%, #8e44ad 72%, #e67e22 100%);
}

.erp-transactions-page .erp-tx-hero__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(40px);
	opacity: 0.35;
	pointer-events: none;
}

.erp-transactions-page .erp-tx-hero__orb--1 {
	width: 180px;
	height: 180px;
	top: -60px;
	right: 12%;
	background: rgba(255, 255, 255, 0.25);
}

.erp-transactions-page .erp-tx-hero__orb--2 {
	width: 120px;
	height: 120px;
	bottom: -40px;
	left: 8%;
	background: rgba(10, 179, 156, 0.5);
}

.erp-transactions-page .erp-tx-hero__body {
	position: relative;
	z-index: 1;
}

.erp-transactions-page .erp-tx-hero__eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.92;
	margin: 0;
	font-weight: 600;
}

.erp-transactions-page .erp-tx-hero__title {
	font-size: 1.55rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.erp-transactions-page .erp-tx-hero__subtitle {
	font-size: 0.82rem;
	opacity: 0.82;
	margin-top: 0.35rem;
	max-width: 420px;
}

.erp-transactions-page .erp-tx-hero__kpis {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

.erp-transactions-page .erp-tx-kpi-card {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.55rem 0.85rem;
	min-width: 148px;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 12px;
	transition: transform 0.2s ease, background 0.2s ease;
}

.erp-transactions-page .erp-tx-kpi-card:hover {
	transform: translateY(-2px);
	background: rgba(255, 255, 255, 0.2);
}

.erp-transactions-page .erp-tx-kpi-card__icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.2);
	font-size: 1.15rem;
	flex-shrink: 0;
}

.erp-transactions-page .erp-tx-kpi-card--accent .erp-tx-kpi-card__icon {
	background: rgba(10, 179, 156, 0.45);
}

.erp-transactions-page .erp-tx-kpi-card--warn .erp-tx-kpi-card__icon {
	background: rgba(247, 184, 75, 0.45);
}

.erp-transactions-page .erp-tx-kpi-card__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.erp-transactions-page .erp-tx-kpi-card__label {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.85;
	line-height: 1.2;
}

.erp-transactions-page .erp-tx-kpi-card__value {
	font-size: 0.82rem;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1.3;
}

.erp-transactions-page .erp-tx-toolbar,
.erp-transactions-page .erp-zzp-toolbar {
	border-radius: var(--erp-tx-radius);
	border: 1px solid var(--erp-tx-border) !important;
	box-shadow: 0 6px 20px rgba(32, 56, 110, 0.06);
	overflow: hidden;
}

.erp-transactions-page .erp-zzp-toolbar-quick {
	background: linear-gradient(135deg, #f8fafc 0%, #fff 55%);
	border-bottom: 1px solid var(--erp-tx-border);
}

.erp-transactions-page #btn_toggle_transact_stats.active {
	background: linear-gradient(135deg, #cfe2ff, #e7f1ff);
	border-color: #9ec5fe;
	color: #084298;
	font-weight: 600;
}

.erp-transactions-page .erp-tx-search .form-control {
	border-radius: 10px;
	border-color: var(--erp-tx-border);
	padding-left: 2.35rem;
	min-height: 42px;
	font-size: 0.9rem;
	box-shadow: inset 0 1px 2px rgba(32, 56, 110, 0.04);
}

.erp-transactions-page .erp-tx-search .search-icon {
	color: var(--erp-tx-primary);
	font-size: 1.05rem;
}

.erp-transactions-page .erp-tx-actions-bar {
	background: linear-gradient(180deg, #fafbfd 0%, #fff 100%);
}

.erp-transactions-page .erp-tx-action-groups {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	align-items: flex-start;
}

.erp-transactions-page .erp-tx-action-group {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
}

.erp-transactions-page .erp-tx-action-group__label {
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--erp-tx-muted);
	padding-left: 0.15rem;
}

.erp-transactions-page .erp-tx-action-group__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.erp-transactions-page .erp-tx-action-group__btns .btn {
	border-radius: 9px;
	font-size: 0.8125rem;
	padding: 0.38rem 0.7rem;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(32, 56, 110, 0.06);
}

.erp-transactions-page .erp-tx-action-group__btns .btn-success {
	background: linear-gradient(135deg, var(--erp-tx-accent), #099885);
	border: none;
}

.erp-transactions-page .erp-zzp-filters-panel {
	background: linear-gradient(180deg, #f4f7fb 0%, #fafbfd 100%);
	border-top: 1px dashed var(--erp-tx-border);
}

.erp-transactions-page .erp-zzp-filter-label {
	display: block;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--erp-tx-muted);
	margin-bottom: 0.35rem;
}

.erp-transactions-page .erp-zzp-filter-field {
	border-radius: 10px;
	border-color: var(--erp-tx-border);
	min-height: 38px;
	font-size: 0.88rem;
}

.erp-transactions-page .erp-zzp-filters-actions {
	border-top: 1px solid var(--erp-tx-border);
	margin-top: 0.25rem;
}

.erp-transactions-page .erp-tx-table-shell {
	border-radius: var(--erp-tx-radius);
	min-height: 200px;
	position: relative;
}

.erp-transactions-page .erp-tx-table-shell--loading {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, #f8fafc, #fff);
	border: 1px dashed var(--erp-tx-border);
}

.erp-transactions-page .erp-tx-loader {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	padding: 2rem;
	color: var(--erp-tx-muted);
	font-size: 0.85rem;
	font-weight: 600;
}

.erp-transactions-page .erp-tx-loader__ring {
	width: 42px;
	height: 42px;
	border: 3px solid #e2e8f0;
	border-top-color: var(--erp-tx-primary);
	border-radius: 50%;
	animation: erp-tx-spin 0.75s linear infinite;
}

@keyframes erp-tx-spin {
	to { transform: rotate(360deg); }
}

.erp-transactions-page .erp-tx-table-wrap {
	border-radius: var(--erp-tx-radius);
	border: 1px solid var(--erp-tx-border);
	box-shadow: 0 8px 28px rgba(32, 56, 110, 0.07);
	overflow: hidden;
	background: #fff;
}

.erp-transactions-page #customerTable.erp-tx-table {
	margin-bottom: 0;
	font-size: 0.84rem;
}

.erp-transactions-page #customerTable.erp-tx-table thead {
	position: sticky;
	top: 0;
	z-index: 2;
}

.erp-transactions-page #customerTable.erp-tx-table thead th {
	background: linear-gradient(180deg, #f8fafc, #eef2f7);
	border-bottom: 2px solid #e2e8f0;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #475569;
	white-space: nowrap;
	vertical-align: middle;
	padding: 0.75rem 0.65rem;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-main-row {
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-main-row:hover > th,
.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-main-row:hover > td {
	background: #f0f6ff;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-main-row > th,
.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-main-row > td {
	border-bottom: 0 !important;
	vertical-align: middle;
	border-color: #eef2f7;
	padding: 0.65rem;
}

.erp-transactions-page #customerTable.erp-tx-table td.nomprenom .erp-tx-ref {
	display: inline-block;
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--erp-tx-primary-dark);
	letter-spacing: 0.01em;
}

.erp-transactions-page #customerTable.erp-tx-table td.username a {
	text-decoration: none;
	font-weight: 600;
}

.erp-transactions-page #customerTable.erp-tx-table td.username a:hover {
	text-decoration: underline;
}

.erp-transactions-page #customerTable.erp-tx-table td.phone .erp-tx-amount {
	display: block;
	font-variant-numeric: tabular-nums;
}

.erp-transactions-page #customerTable.erp-tx-table td.phone .erp-tx-amount--ht {
	font-weight: 700;
	color: #364574;
	font-size: 0.9rem;
}

.erp-transactions-page #customerTable.erp-tx-table td.phone .erp-tx-amount--ttc {
	font-size: 0.78rem;
	color: var(--erp-tx-muted);
}

.erp-transactions-page #customerTable.erp-tx-table td.email {
	font-size: 0.82rem;
}

.erp-transactions-page #customerTable.erp-tx-table td.statut {
	font-weight: 700;
	color: var(--erp-tx-accent);
	font-variant-numeric: tabular-nums;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-actions-row > td {
	border-top: 0 !important;
	background: linear-gradient(180deg, #f8fafc, #fafbfd);
	padding-top: 0.15rem;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid #eef2f7 !important;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-dup-ref > th,
.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-dup-ref > td {
	background: var(--dup-bg, #fff9e8) !important;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-dup-ref td.nomprenom {
	font-weight: 700;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-actions-row .d-flex.gap-2 {
	flex-wrap: wrap;
	gap: 0.35rem !important;
	padding: 4px 0 2px;
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-actions-row .btn-sm {
	border-radius: 8px;
	padding: 0.28rem 0.5rem;
	box-shadow: 0 1px 4px rgba(32, 56, 110, 0.08);
}

.erp-transactions-page #customerTable.erp-tx-table tbody tr.transaction-actions-row .btn-sm i {
	font-size: 1.05rem !important;
	line-height: 1;
}

.erp-transactions-page #customerTable.erp-tx-table .btn-group .btn-primary {
	border-radius: 8px !important;
	font-size: 0.75rem;
	font-weight: 600;
}

.erp-transactions-page #customerTable th.erp-col-hidden,
.erp-transactions-page #customerTable td.erp-col-hidden {
	display: none !important;
}

.erp-transactions-page #customerTable thead .th-sort-icons {
	display: inline-block;
	vertical-align: middle;
	margin-inline-start: 0.25rem;
	white-space: nowrap;
}

.erp-transactions-page #customerTable thead .th-sort-icons i {
	display: none !important;
	font-size: 1rem;
	line-height: 1;
}

.erp-transactions-page #customerTable thead th.sort:not(.asc):not(.desc) .th-sort-icons .th-sort-neutral {
	display: inline-block !important;
}

.erp-transactions-page #customerTable thead th.sort.asc .th-sort-icons .th-sort-up {
	display: inline-block !important;
}

.erp-transactions-page #customerTable thead th.sort.desc .th-sort-icons .th-sort-down {
	display: inline-block !important;
}

.erp-transactions-page #customerTable th.sort .erp-sort-icon {
	font-size: 14px;
	vertical-align: middle;
	opacity: 0.45;
}

.erp-transactions-page #customerTable th.sort.asc .erp-sort-icon,
.erp-transactions-page #customerTable th.sort.desc .erp-sort-icon {
	opacity: 1;
	color: #405189;
}

.erp-transactions-page .erp-tx-stats-wrapper {
	padding: 0.15rem 0;
}

.erp-transactions-page .erp-tx-stat-card {
	border-radius: 12px;
	border: 1px solid var(--erp-tx-border);
	box-shadow: 0 4px 16px rgba(32, 56, 110, 0.06);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.erp-transactions-page .erp-tx-stat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(32, 56, 110, 0.1);
}

.erp-transactions-page .erp-tx-stat-card__head {
	background: linear-gradient(180deg, #f8fafc, #f1f5f9);
	border-bottom: 1px solid var(--erp-tx-border);
	font-size: 0.82rem;
	color: var(--erp-tx-primary-dark);
}

.erp-transactions-page .erp-tx-stats-title {
	font-weight: 700;
	color: #364574;
	margin-bottom: 0.65rem;
	font-size: 0.95rem;
}

.erp-transactions-page .erp-tx-pagination {
	margin-top: 1rem;
	padding: 0.75rem 1rem;
	background: #f8fafc;
	border-radius: 10px;
	border: 1px solid var(--erp-tx-border);
}

.erp-transactions-page .erp-tx-pagination__info {
	font-weight: 600;
	color: var(--erp-tx-muted);
}

.erp-transactions-page .erp-tx-pagination .pagination .page-link {
	border-radius: 8px;
	margin: 0 2px;
	border-color: #e2e8f0;
	color: #405189;
	font-weight: 600;
	font-size: 0.82rem;
}

.erp-transactions-page .erp-tx-pagination .pagination .page-item.active .page-link {
	background: linear-gradient(135deg, #405189, #4f6bb5);
	border-color: #405189;
}

.erp-transactions-page .erp-cols-toolbar .btn-erp-cols {
	font-size: 0.8125rem;
	padding: 0.35rem 0.65rem;
	border-radius: 0.375rem;
}

.erp-transactions-page .erp-stats-scroll {
	max-height: 220px;
	overflow: auto;
}

.erp-transactions-page .erp-stats-scroll .d-flex {
	padding: 0.2rem 0;
	border-bottom: 1px dashed #eef2f7;
	font-size: 0.82rem;
}

@media (max-width: 991.98px) {
	.erp-transactions-page .erp-tx-hero__kpis {
		justify-content: flex-start;
		width: 100%;
	}

	.erp-transactions-page .erp-tx-kpi-card {
		flex: 1 1 calc(50% - 0.5rem);
		min-width: 130px;
	}
}

@media (max-width: 767.98px) {
	.erp-transactions-page .erp-tx-hero {
		padding: 1.25rem 1rem;
	}

	.erp-transactions-page .erp-tx-hero__title {
		font-size: 1.2rem;
	}

	.erp-transactions-page .erp-tx-kpi-card {
		flex: 1 1 100%;
	}

	.erp-transactions-page .erp-tx-action-group {
		width: 100%;
	}
}

/* ——— Fiche produit (detail_produit.php) ——— */
.erp-page-detail-produit {
	--erp-dp-primary: #405189;
	--erp-dp-accent: #0ab39c;
	--erp-dp-muted: #6c7a92;
	--erp-dp-border: #e8edf5;
	--erp-dp-radius: 14px;
	--erp-dp-shadow: 0 12px 40px rgba(32, 56, 110, 0.1);
}

.erp-dp-page {
	border-radius: var(--erp-dp-radius);
	box-shadow: var(--erp-dp-shadow);
}

.erp-dp-hero {
	position: relative;
	padding: 1.5rem 1.75rem;
	color: #fff;
	overflow: hidden;
}

.erp-dp-hero__gradient {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 70% 55% at 95% 5%, rgba(10, 179, 156, 0.42) 0%, transparent 55%),
		radial-gradient(ellipse 45% 70% at 5% 95%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
		linear-gradient(125deg, #2d3a66 0%, #405189 40%, #5a6dab 68%, #0ab39c 100%);
}

.erp-dp-hero__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(42px);
	opacity: 0.32;
	pointer-events: none;
}

.erp-dp-hero__orb--1 {
	width: 160px;
	height: 160px;
	top: -50px;
	right: 10%;
	background: rgba(255, 255, 255, 0.28);
}

.erp-dp-hero__orb--2 {
	width: 110px;
	height: 110px;
	bottom: -35px;
	left: 6%;
	background: rgba(10, 179, 156, 0.55);
}

.erp-dp-hero__body {
	position: relative;
	z-index: 1;
}

.erp-dp-hero__thumb {
	flex-shrink: 0;
}

.erp-dp-hero__img {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 16px;
	border: 3px solid rgba(255, 255, 255, 0.45);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	background: #fff;
}

.erp-dp-hero__eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.9;
	margin: 0;
	font-weight: 600;
}

.erp-dp-hero__title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1.25;
	word-break: break-word;
}

.erp-dp-meta-badge {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.3);
	font-weight: 600;
	font-size: 0.74rem;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
}

.erp-dp-meta-badge--type {
	background: rgba(10, 179, 156, 0.28);
}

.erp-dp-meta-badge--price {
	background: rgba(255, 255, 255, 0.22);
}

.erp-dp-meta-badge--muted {
	opacity: 0.88;
}

.erp-dp-btn-back {
	border-radius: 10px;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
	border: none;
}

.erp-dp-tabs-wrap {
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
	padding: 0.65rem 1rem 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.erp-dp-tabs {
	gap: 0.35rem;
	flex-wrap: nowrap;
	padding-bottom: 0.15rem;
	min-width: min-content;
}

.erp-dp-tabs .nav-link {
	border-radius: 10px 10px 0 0;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--erp-dp-muted);
	padding: 0.55rem 0.85rem;
	white-space: nowrap;
	border: 1px solid transparent;
	transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.erp-dp-tabs .nav-link:hover {
	color: var(--erp-dp-primary);
	background: rgba(64, 81, 137, 0.06);
}

.erp-dp-tabs .nav-link.active {
	color: var(--erp-dp-primary);
	background: #fff;
	border-color: var(--erp-dp-border);
	border-bottom-color: #fff;
	box-shadow: 0 -2px 8px rgba(32, 56, 110, 0.05);
}

.erp-dp-body {
	background: #fff;
	min-height: 320px;
}

.erp-page-detail-produit .detail-produit-info-shell {
	background: linear-gradient(180deg, #fafbfd 0%, #fff 100%);
	border: 1px solid var(--erp-dp-border);
	border-radius: 12px;
	padding: 1.25rem 1.25rem 0.5rem;
}

.erp-page-detail-produit .erp-dp-form .control-label {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--erp-dp-muted);
	padding-top: 0.55rem !important;
}

.erp-page-detail-produit .erp-dp-form .form-control,
.erp-page-detail-produit .erp-dp-form select.form-control,
.erp-page-detail-produit .erp-dp-form textarea.form-control {
	border-radius: 10px;
	border-color: var(--erp-dp-border);
	font-size: 0.9rem;
	min-height: 38px;
	box-shadow: inset 0 1px 2px rgba(32, 56, 110, 0.03);
}

.erp-page-detail-produit .erp-dp-form .form-control:focus {
	border-color: #9ec5fe;
	box-shadow: 0 0 0 0.2rem rgba(64, 81, 137, 0.12);
}

.erp-page-detail-produit .erp-dp-form > .row {
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}

.erp-page-detail-produit .erp-dp-form > .row > [class*="col-"] {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.erp-page-detail-produit .erp-dp-form .row[style*="padding-top"] {
	padding-top: 0.65rem !important;
}

.erp-page-detail-produit .erp-dp-form .btn-icon {
	border-radius: 10px;
}

.erp-page-detail-produit .erp-dp-form hr {
	border-color: var(--erp-dp-border);
	opacity: 1;
	margin: 1.25rem 0;
}

.erp-page-detail-produit .erp-dp-form .hstack.gap-2 {
	padding: 1rem 0 0.5rem;
	border-top: 1px dashed var(--erp-dp-border);
	margin-top: 0.5rem;
}

.erp-page-detail-produit .erp-dp-form .hstack .btn-primary {
	border-radius: 10px;
	background: linear-gradient(135deg, var(--erp-dp-primary), #4f6bb5);
	border: none;
	font-weight: 600;
	padding: 0.5rem 1.25rem;
	box-shadow: 0 4px 14px rgba(64, 81, 137, 0.25);
}

.erp-page-detail-produit .erp-dp-form .hstack .btn-success {
	border-radius: 10px;
	font-weight: 600;
}

.erp-page-detail-produit .tab-pane > .card {
	border-radius: 12px;
	border: 1px solid var(--erp-dp-border);
	box-shadow: 0 4px 16px rgba(32, 56, 110, 0.06);
}

.erp-page-detail-produit .form-check-input:checked {
	background-color: var(--erp-dp-accent);
	border-color: var(--erp-dp-accent);
}

@media (max-width: 767.98px) {
	.erp-dp-hero {
		padding: 1.1rem 1rem;
	}

	.erp-dp-hero__title {
		font-size: 1.15rem;
	}

	.erp-dp-hero__img {
		width: 72px;
		height: 72px;
	}

	.erp-dp-hero__actions {
		width: 100%;
	}

	.erp-page-detail-produit .erp-dp-form .control-label {
		padding-top: 0.25rem !important;
		margin-bottom: 0.25rem;
	}
}

/* ── Module hero (pages ERP modernisées) ── */
.erp-module-hero {
	position: relative;
	padding: 1.6rem 1.75rem 1.45rem;
	color: #fff;
	overflow: hidden;
	min-height: 132px;
}

.erp-module-hero__gradient {
	position: absolute;
	inset: 0;
}

.erp-module-hero__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(40px);
	opacity: 0.32;
	pointer-events: none;
}

.erp-module-hero__orb--1 {
	width: 160px;
	height: 160px;
	top: -50px;
	right: 10%;
	background: rgba(255, 255, 255, 0.22);
}

.erp-module-hero__orb--2 {
	width: 110px;
	height: 110px;
	bottom: -35px;
	left: 6%;
	background: rgba(255, 255, 255, 0.18);
}

.erp-module-hero__body {
	position: relative;
	z-index: 1;
}

.erp-module-hero__eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.9;
	margin: 0;
	font-weight: 600;
}

.erp-module-hero__title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.erp-module-hero__subtitle {
	font-size: 0.82rem;
	opacity: 0.82;
	margin-top: 0.35rem;
	max-width: 480px;
}

.erp-module-hero__kpis {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	align-items: center;
	justify-content: flex-end;
}

.erp-module-kpi {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 0.8rem;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.26);
	border-radius: 11px;
	font-size: 0.78rem;
	color: #fff;
}

.erp-module-kpi strong {
	font-size: 0.95rem;
	font-weight: 700;
}

.erp-module-kpi span {
	opacity: 0.88;
	font-size: 0.72rem;
}

.erp-module-kpi--ok { background: rgba(10, 179, 156, 0.22); border-color: rgba(10, 179, 156, 0.45); }
.erp-module-kpi--warn { background: rgba(247, 184, 75, 0.22); border-color: rgba(247, 184, 75, 0.45); }
.erp-module-kpi--accent { background: rgba(64, 81, 137, 0.35); border-color: rgba(255, 255, 255, 0.35); }
.erp-module-kpi--dark { background: rgba(0, 0, 0, 0.2); border-color: rgba(255, 255, 255, 0.2); }

.erp-module-hero__action {
	font-weight: 600;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.erp-module-hero--clients .erp-module-hero__gradient {
	background: linear-gradient(125deg, #2d3a66 0%, #405189 42%, #4f6bb5 68%, #0ab39c 100%);
}

.erp-module-hero--tresorerie .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1e4d3a 0%, #2d6a4f 38%, #40916c 65%, #d4a03a 100%);
}

.erp-module-hero--stock .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1a365d 0%, #2c5282 45%, #3182ce 72%, #63b3ed 100%);
}

.erp-module-hero--inventaire .erp-module-hero__gradient {
	background: linear-gradient(125deg, #3d2c5e 0%, #5b4b8a 48%, #7c6bb5 72%, #9f7aea 100%);
}

.erp-module-hero--collaborateurs .erp-module-hero__gradient {
	background: linear-gradient(125deg, #2a3358 0%, #405189 50%, #6c5ce7 100%);
}

.erp-module-hero--groupes .erp-module-hero__gradient {
	background: linear-gradient(125deg, #5c3d1e 0%, #8e5a2b 42%, #c97b3a 68%, #e9b44c 100%);
}

.erp-module-hero--vehicules .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1a2332 0%, #2d3748 45%, #4a5568 70%, #0ab39c 100%);
}

.erp-module-hero--pos .erp-module-hero__gradient {
	background: linear-gradient(125deg, #0c4a6e 0%, #0369a1 42%, #0ea5e9 68%, #2dd4bf 100%);
}

.erp-module-hero--fournisseurs .erp-module-hero__gradient {
	background: linear-gradient(125deg, #3d2c1e 0%, #6b4423 45%, #a16207 72%, #eab308 100%);
}

.erp-module-hero--entites .erp-module-hero__gradient {
	background: linear-gradient(125deg, #312e81 0%, #4338ca 48%, #6366f1 72%, #818cf8 100%);
}

.erp-page-diagnostic-stock .card.card-animate {
	border-radius: 12px;
	border: 1px solid #e8edf5;
	box-shadow: 0 4px 16px rgba(32, 56, 110, 0.06);
}

.erp-page-diagnostic-stock .table-responsive {
	border-radius: 12px;
	border: 1px solid #e8edf5;
	overflow: hidden;
}

.erp-module-hero--finance .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1a4d3e 0%, #2d6a4f 40%, #40916c 68%, #b8860b 100%);
}

.erp-module-hero--stats .erp-module-hero__gradient {
	background: linear-gradient(125deg, #2d3a66 0%, #405189 45%, #5a67d8 72%, #0ab39c 100%);
}

.erp-module-hero--logistics .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1e3a5f 0%, #2563eb 48%, #3b82f6 72%, #06b6d4 100%);
}

.erp-module-hero--fleet .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1a2332 0%, #334155 42%, #475569 68%, #14b8a6 100%);
}

.erp-module-hero--rh .erp-module-hero__gradient {
	background: linear-gradient(125deg, #4c1d95 0%, #6d28d9 45%, #7c3aed 72%, #a78bfa 100%);
}

.erp-module-hero--admin .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1e293b 0%, #334155 50%, #64748b 75%, #94a3b8 100%);
}

.erp-module-hero--settings .erp-module-hero__gradient {
	background: linear-gradient(125deg, #374151 0%, #4b5563 45%, #6b7280 70%, #9ca3af 100%);
}

.erp-module-hero--planning .erp-module-hero__gradient {
	background: linear-gradient(125deg, #7c2d12 0%, #c2410c 42%, #ea580c 68%, #fbbf24 100%);
}

.erp-modern-page .card.border-0.shadow-sm {
	border-radius: 14px;
	border: 1px solid #e8edf5 !important;
	box-shadow: 0 8px 24px rgba(32, 56, 110, 0.07);
}

.erp-modern-page #customerTable thead th {
	background: #f8fafc;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #405189;
}

.erp-modern-page #customerTable tbody tr:hover {
	background: #f8fbff;
}

.erp-page-stats .caf-card,
.erp-page-stats .vs-card {
	border-radius: 14px !important;
	border: 1px solid #e8edf5;
	box-shadow: 0 8px 24px rgba(32, 56, 110, 0.07);
}

.erp-page-planning .fc {
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #e8edf5;
}

.erp-page-gmenu .list-group-item,
.erp-page-admin-tree .list-group-item {
	border-radius: 12px;
	margin-bottom: 0.5rem;
	border: 1px solid #e8edf5;
	transition: box-shadow 0.2s ease;
}

.erp-page-gmenu .list-group-item:hover {
	box-shadow: 0 6px 18px rgba(32, 56, 110, 0.08);
}

.erp-page-parametrage .nav-tabs-custom .nav-link.active {
	color: #405189;
	font-weight: 600;
}

.erp-page-parametrage .erp-parametrage-layout {
	margin-top: 0;
}

.erp-page-parametrage .erp-parametrage-profile-card,
.erp-page-parametrage .erp-parametrage-links-card,
.erp-page-parametrage .erp-parametrage-main-card {
	border-radius: 16px !important;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

.erp-page-parametrage .erp-parametrage-logo-img {
	width: 88px;
	height: 88px;
	object-fit: cover;
}

.erp-page-parametrage .erp-parametrage-links-card .form-control {
	border-radius: 10px;
	min-height: 40px;
}

.erp-page-parametrage .erp-parametrage-main-card .card-header {
	background: #f8fafc;
	border-bottom: 1px solid #e8edf5;
	border-radius: 16px 16px 0 0;
}

.erp-page-parametrage .nav-tabs-custom .nav-link {
	border-radius: 10px 10px 0 0;
	font-weight: 600;
}

.erp-dashboard-hero-search {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: flex-end;
}

.erp-dashboard-date-group--hero {
	min-width: min(100%, 280px);
	max-width: 320px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	background: #fff;
}

.erp-dashboard-date-group--hero .form-control {
	min-height: 38px;
	font-size: 0.875rem;
	padding-inline: 0.75rem;
}

.erp-dashboard-date-group--hero .input-group-text {
	background: #f1f5f9;
	border: none;
	color: #405189;
	padding-inline: 0.75rem;
}

.erp-dashboard-search-btn--hero {
	min-height: 38px;
	padding: 0.4rem 0.95rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #405189 !important;
	background: rgba(255, 255, 255, 0.95) !important;
	border: none !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.erp-dashboard-search-btn--hero:hover,
.erp-dashboard-search-btn--hero:focus {
	color: #1e293b !important;
	background: #fff !important;
	transform: translateY(-1px);
}

.erp-page-dashboard .erp-module-hero__body {
	align-items: flex-start;
}

.erp-page-dashboard .erp-module-hero__kpis {
	flex-direction: column;
	align-items: flex-end;
	gap: 0.65rem;
}

@media (min-width: 992px) {
	.erp-page-dashboard .erp-module-hero__kpis {
		flex-direction: row;
		align-items: center;
	}
}

@media (max-width: 767.98px) {
	.erp-dashboard-hero-search {
		width: 100%;
		justify-content: stretch;
	}

	.erp-dashboard-date-group--hero {
		flex: 1 1 100%;
		max-width: none;
	}

	.erp-dashboard-search-btn--hero {
		flex: 1 1 auto;
	}
}

.erp-page-gps .gps-embed-wrap {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #e8edf5;
	box-shadow: 0 8px 24px rgba(32, 56, 110, 0.07);
}

.erp-page-inventaire .erp-inventaire-panel {
	border-radius: 14px;
	border: 1px solid #e8edf5;
	box-shadow: 0 8px 24px rgba(32, 56, 110, 0.07);
}

.erp-page-inventaire .erp-inventaire-form .col-md-3.text-right {
	font-weight: 600;
	color: #495057;
	padding-top: 0.45rem;
}

.erp-page-inventaire .erp-inventaire-table {
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #e8edf5;
}

.erp-page-inventaire .erp-inventaire-table thead th {
	background: #f8fafc;
	font-weight: 700;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #405189;
	border-color: #e8edf5;
}

.erp-page-inventaire .erp-inventaire-table tbody tr:hover {
	background: #f8fbff;
}

.erp-page-inventaire #btn-submit2 {
	border-radius: 12px;
	font-weight: 700;
	padding: 0.85rem;
	box-shadow: 0 6px 20px rgba(64, 81, 137, 0.25);
}

.erp-page-collaborateurs #customerTable thead th {
	background: #f8fafc;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #405189;
}

.erp-page-collaborateurs #customerTable tbody tr:hover {
	background: #f8fbff;
}

.erp-page-groupes .erp-groupes-list__item {
	border: 1px solid #e8edf5;
	border-radius: 12px;
	margin-bottom: 0.55rem;
	padding: 0.85rem 1rem;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.erp-page-groupes .erp-groupes-list__item:hover {
	border-color: #c5d4f0;
	box-shadow: 0 6px 18px rgba(32, 56, 110, 0.08);
}

.erp-page-groupes .erp-groupes-list__avatar {
	width: 42px;
	height: 42px;
	border-radius: 11px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #eef2ff, #e0e7ff);
	color: #405189;
	font-size: 1.2rem;
}

.erp-page-tresorerie .erp-tresorerie-page,
.erp-page-stock-io .card,
.erp-page-mouvements .card,
.erp-page-vehicules .erp-liste-vehicules-page {
	border-radius: 14px;
	border: 1px solid #e8edf5 !important;
	box-shadow: 0 8px 24px rgba(32, 56, 110, 0.07);
}

@media (max-width: 767.98px) {
	.erp-module-hero {
		padding: 1.15rem 1rem;
		min-height: auto;
	}

	.erp-module-hero__title {
		font-size: 1.2rem;
	}

	.erp-module-hero__kpis {
		width: 100%;
		justify-content: flex-start;
	}
}

.erp-module-hero--planning .erp-module-hero__gradient {
	background: linear-gradient(125deg, #3d2c5c 0%, #5b4d8a 40%, #7c6bb5 68%, #9b8fd4 100%);
}

.erp-module-hero--dashboard .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1a2744 0%, #2d3a66 32%, #405189 58%, #0ab39c 100%);
}

.erp-page-dashboard--3sg .erp-module-hero--dashboard .erp-module-hero__gradient {
	background: linear-gradient(125deg, #1e2a3a 0%, #2d4a3e 42%, #1a5c4a 72%, #0d9488 100%);
}

/* ── Dashboard (index.php) ── */
.erp-page-dashboard {
	--erp-dash-radius: 16px;
}

.main-content:has(.erp-page-dashboard) .page-content {
	background: linear-gradient(180deg, #eef2ff 0%, #f8fafc 140px, #f1f5f9 100%);
}

.erp-page-dashboard .erp-dashboard-hero-user {
	color: #a7f3d0;
	text-decoration: underline;
	font-weight: 700;
}

.erp-page-dashboard .erp-dashboard-hero-user:hover {
	color: #fff;
}

.erp-page-dashboard .erp-dashboard-toolbar {
	border-radius: var(--erp-dash-radius);
	border: 1px solid #e8edf5 !important;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.erp-page-dashboard .erp-dashboard-toolbar__hint {
	font-weight: 500;
}

.erp-page-dashboard .erp-dashboard-date-group {
	min-width: min(100%, 280px);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(64, 81, 137, 0.1);
}

.erp-page-dashboard .erp-dashboard-date-group .form-control {
	min-height: 42px;
}

.erp-page-dashboard .erp-dashboard-search-btn {
	min-height: 42px;
	border-radius: 12px;
	font-weight: 700;
	color: #fff;
	border: none;
	padding-inline: 1.1rem;
	background: linear-gradient(135deg, #405189 0%, #4f6bb5 50%, #0ab39c 100%);
	box-shadow: 0 6px 18px rgba(64, 81, 137, 0.28);
}

.erp-page-dashboard .erp-dashboard-search-btn:hover,
.erp-page-dashboard .erp-dashboard-search-btn:focus {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(64, 81, 137, 0.32);
}

.erp-page-dashboard .erp-dashboard-body {
	animation: erpDashFadeIn 0.45s ease;
}

@keyframes erpDashFadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.erp-page-dashboard .card.kpi-mini,
.erp-page-dashboard .erp-dash-kpi-mini {
	border-radius: 14px !important;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	background: linear-gradient(145deg, #fff, #f8fafc) !important;
}

.erp-page-dashboard .card.kpi-mini:hover,
.erp-page-dashboard .erp-dash-kpi-mini:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12) !important;
}

.erp-page-dashboard .card.border-0.shadow-sm.rounded-4,
.erp-page-dashboard .dashboard-stat-card {
	border-radius: var(--erp-dash-radius) !important;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.erp-page-dashboard .card.border-0.shadow-sm.rounded-4:hover,
.erp-page-dashboard .dashboard-stat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12) !important;
}

.erp-page-dashboard .dashboard-kpi-card {
	border-radius: 18px !important;
	box-shadow: 0 14px 36px rgba(64, 81, 137, 0.14) !important;
	overflow: hidden;
}

.erp-page-dashboard .dashboard-kpi-header,
.erp-page-dashboard .dashboard-chart-header {
	background: linear-gradient(125deg, #1a2744 0%, #405189 45%, #0ab39c 100%) !important;
}

.erp-page-dashboard .dashboard-kpi-pill {
	border: 1px solid rgba(255, 255, 255, 0.2);
	transition: background 0.2s ease, color 0.2s ease;
}

.erp-page-dashboard .dashboard-kpi-pill:hover {
	background: rgba(255, 255, 255, 0.18) !important;
	color: #fff !important;
}

.erp-page-dashboard .dashboard-kpi-pill.active {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.erp-page-dashboard .erp-dashboard-filters {
	background: #fff;
	border: 1px solid #e8edf5;
	border-radius: var(--erp-dash-radius);
	padding: 0.85rem;
	box-shadow: 0 6px 18px rgba(32, 56, 110, 0.06);
}

.erp-page-dashboard .erp-dashboard-filters .form-control,
.erp-page-dashboard .erp-dashboard-filters .form-select {
	border-radius: 10px;
	min-height: 40px;
}

.erp-page-dashboard .erp-dashboard-filters .btn {
	border-radius: 10px;
	font-weight: 600;
}

.erp-page-dashboard .card.card-animate {
	border: none !important;
	border-radius: var(--erp-dash-radius) !important;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
	background: linear-gradient(145deg, #fff, #f8fafc);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.erp-page-dashboard .card.card-animate:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

.erp-page-dashboard .erp-dash-crm-widget {
	border-radius: var(--erp-dash-radius) !important;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(64, 81, 137, 0.12) !important;
	margin-bottom: 1.25rem;
}

.erp-page-dashboard .erp-dash-crm-widget > .card-body > .row > .col {
	border-right: 1px solid #e8edf5;
	transition: background 0.2s ease;
}

.erp-page-dashboard .erp-dash-crm-widget > .card-body > .row > .col:last-child {
	border-right: none;
}

.erp-page-dashboard .erp-dash-crm-widget > .card-body > .row > .col:hover {
	background: linear-gradient(180deg, rgba(64, 81, 137, 0.04), rgba(10, 179, 156, 0.06));
}

.erp-page-dashboard .erp-dash-crm-widget h5 {
	font-weight: 700;
	letter-spacing: 0.04em;
}

.erp-page-dashboard .erp-dash-crm-widget h2 {
	font-weight: 800;
	color: #1e293b;
}

.erp-page-dashboard .erp-module-hero-card {
	margin-bottom: 1rem !important;
}

.erp-page-dashboard .card.card-height-100 {
	border-radius: var(--erp-dash-radius) !important;
}

.erp-page-dashboard #erp3sg-dashboard-projets > .text-center.p-4 {
	min-height: 180px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

@media (max-width: 991.98px) {
	.erp-page-dashboard .erp-dash-crm-widget > .card-body > .row > .col {
		border-right: none;
		border-bottom: 1px solid #e8edf5;
	}

	.erp-page-dashboard .erp-dash-crm-widget > .card-body > .row > .col:last-child {
		border-bottom: none;
	}
}

/* ── Topbar ERP moderne ── */
#page-topbar.erp-topbar-modern {
	padding: 0 !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
	border-bottom: 1px solid rgba(64, 81, 137, 0.1);
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
	backdrop-filter: blur(8px);
}

#page-topbar.erp-topbar-modern .layout-width {
	max-width: 100%;
}

#page-topbar.erp-topbar-modern .erp-topbar-modern__inner {
	min-height: 64px;
	padding: 0.45rem 0;
}

#page-topbar.erp-topbar-modern .erp-topbar-modern__left,
#page-topbar.erp-topbar-modern .erp-topbar-modern__actions {
	gap: 0.35rem;
}

#page-topbar.erp-topbar-modern .horizontal-logo .logo-lg img.erp-header-logo-img {
	max-height: 42px;
	width: auto;
	object-fit: contain;
	filter: drop-shadow(0 2px 6px rgba(64, 81, 137, 0.12));
}

#page-topbar.erp-topbar-modern .erp-topbar-hamburger {
	border-radius: 10px;
	border: 1px solid #e8edf5;
	background: #fff;
	margin-inline-start: 0.35rem;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

#page-topbar.erp-topbar-modern .erp-topbar-hamburger:hover {
	background: #f1f5f9;
	border-color: #cfe0ff;
}

#page-topbar.erp-topbar-modern .erp-topbar-icon-btn {
	width: 38px;
	height: 38px;
	border-radius: 11px !important;
	border: 1px solid #e8edf5 !important;
	background: #fff !important;
	color: #405189 !important;
	box-shadow: 0 2px 8px rgba(64, 81, 137, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

#page-topbar.erp-topbar-modern .erp-topbar-icon-btn:hover,
#page-topbar.erp-topbar-modern .erp-topbar-icon-btn:focus {
	background: linear-gradient(145deg, #f8fafc, #eef4ff) !important;
	border-color: #b8c9e8 !important;
	color: #2d3a66 !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(64, 81, 137, 0.12);
}

#page-topbar.erp-topbar-modern .erp-topbar-lang-btn {
	width: auto;
	min-width: 42px;
	padding-inline: 0.55rem !important;
}

#page-topbar.erp-topbar-modern .erp-topbar-lang-btn img {
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

#page-topbar.erp-topbar-modern .erp-topbar-lang .dropdown-menu,
#page-topbar.erp-topbar-modern .erp-topbar-user .dropdown-menu {
	border: 1px solid #e8edf5;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
	padding: 0.35rem;
}

#page-topbar.erp-topbar-modern .erp-topbar-lang .dropdown-item {
	border-radius: 8px;
	font-weight: 500;
}

#page-topbar.erp-topbar-modern .erp-topbar-stock-badge {
	font-weight: 700;
	padding: 0.28rem 0.45rem;
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(220, 38, 38, 0.35);
}

#page-topbar.erp-topbar-modern .erp-topbar-user-btn {
	border-radius: 999px;
	border: 1px solid #e8edf5;
	background: linear-gradient(145deg, #fff, #f8fafc);
	padding: 0.28rem 0.65rem 0.28rem 0.28rem;
	box-shadow: 0 4px 14px rgba(64, 81, 137, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#page-topbar.erp-topbar-modern .erp-topbar-user-btn:hover,
#page-topbar.erp-topbar-modern .erp-topbar-user-btn:focus,
#page-topbar.erp-topbar-modern .erp-topbar-user.show .erp-topbar-user-btn {
	border-color: #b8c9e8;
	box-shadow: 0 8px 20px rgba(64, 81, 137, 0.14);
	transform: translateY(-1px);
}

#page-topbar.erp-topbar-modern .erp-topbar-user-avatar {
	width: 34px;
	height: 34px;
	object-fit: cover;
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(64, 81, 137, 0.15);
}

#page-topbar.erp-topbar-modern .erp-topbar-user-name {
	color: #1e293b;
	font-size: 0.875rem;
}

#page-topbar.erp-topbar-modern .erp-topbar-user-role {
	color: #64748b !important;
	font-weight: 500;
}

#page-topbar.erp-topbar-modern .dropdown-head.bg-primary {
	background: linear-gradient(125deg, #405189 0%, #4f6bb5 55%, #0ab39c 100%) !important;
}

@media (max-width: 575.98px) {
	#page-topbar.erp-topbar-modern .erp-topbar-modern__inner {
		min-height: 58px;
	}

	#page-topbar.erp-topbar-modern .horizontal-logo .logo-lg img.erp-header-logo-img {
		max-height: 34px;
	}
}

@media (max-width: 575.98px) {
	#page-topbar.erp-topbar-modern .horizontal-logo .logo-lg img.erp-header-logo-img {
		max-height: 34px;
	}
}

/* ── Sidebar ERP moderne ── */
.erp-sidebar-modern.navbar-menu {
	box-shadow: 4px 0 28px rgba(0, 0, 0, 0.12);
	border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.erp-sidebar-modern .erp-sidebar-modern__brand {
	padding: 1rem 0.75rem 0.65rem !important;
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 100%);
}

.erp-sidebar-modern .erp-sidebar-modern__brand .logo-lg img.erp-header-logo-img,
.erp-sidebar-modern .erp-sidebar-modern__brand .logo-sm img.erp-header-logo-img {
	max-height: 72px;
	width: auto;
	object-fit: contain;
	border-radius: 50%;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
	border: 2px solid rgba(255, 255, 255, 0.15);
}

.erp-sidebar-modern .erp-sidebar-modern__scroll {
	padding-top: 0.75rem !important;
}

.erp-sidebar-modern .erp-sidebar-modern__nav {
	padding-top: 0.35rem !important;
	padding-bottom: 1.25rem;
}

.erp-sidebar-modern .erp-sidebar-modern__nav > .nav-item {
	margin-bottom: 0.15rem;
}

.erp-sidebar-modern .nav-link.menu-link,
.erp-sidebar-modern .menu-dropdown .nav-link {
	border-radius: 10px;
	margin: 2px 8px;
	padding: 0.62rem 0.85rem !important;
	font-weight: 500;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.erp-sidebar-modern .nav-link.menu-link i,
.erp-sidebar-modern .menu-dropdown .nav-link i {
	font-size: 1.05rem;
	opacity: 0.92;
	margin-right: 0.55rem;
	vertical-align: middle;
}

.erp-sidebar-modern .nav-link.menu-link:hover,
.erp-sidebar-modern .menu-dropdown .nav-link:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	transform: translateX(2px);
}

.erp-sidebar-modern .nav-link.menu-link.active,
.erp-sidebar-modern .nav-link.menu-link.erp-active-link,
.erp-sidebar-modern .menu-dropdown .nav-link.active,
.erp-sidebar-modern .menu-dropdown .nav-link.erp-active-link {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.08) 100%) !important;
	color: #fff !important;
	font-weight: 700 !important;
	box-shadow: inset 3px 0 0 #7db3ff, 0 4px 14px rgba(0, 0, 0, 0.12);
}

.erp-sidebar-modern .menu-dropdown {
	margin: 0.15rem 0 0.35rem;
	padding: 0.25rem 0;
	background: rgba(0, 0, 0, 0.12);
	border-radius: 10px;
	margin-inline: 8px;
}

.erp-sidebar-modern .menu-dropdown .nav-link {
	font-size: 0.875rem;
	padding: 0.5rem 0.85rem 0.5rem 1.35rem !important;
}

.erp-sidebar-modern #scrollbar::-webkit-scrollbar {
	width: 6px;
}

.erp-sidebar-modern #scrollbar::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.22);
	border-radius: 999px;
}

.erp-sidebar-modern .btn-vertical-sm-hover {
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.75);
}

.erp-sidebar-modern .btn-vertical-sm-hover:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

[data-layout=vertical][data-sidebar-size=sm] .erp-sidebar-modern .erp-sidebar-modern__brand .logo-lg img.erp-header-logo-img {
	max-height: 42px;
}

/* ── Page login (home.php) ── */
.erp-login-modern {
	position: relative;
	overflow: hidden;
	background: transparent !important;
}

.erp-login-modern .bg-overlay {
	display: none;
}

.erp-login-modern__bg {
	position: fixed;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(ellipse 70% 50% at 15% 20%, rgba(10, 179, 156, 0.35) 0%, transparent 55%),
		radial-gradient(ellipse 60% 45% at 85% 80%, rgba(64, 81, 137, 0.45) 0%, transparent 50%),
		linear-gradient(135deg, #1a2744 0%, #2d3a66 35%, #405189 65%, #0ab39c 100%);
}

.erp-login-modern__bg--3sg {
	background:
		radial-gradient(ellipse 55% 40% at 90% 10%, rgba(230, 126, 34, 0.3) 0%, transparent 55%),
		linear-gradient(135deg, #1e2a3a 0%, #2d4a3e 45%, #1a5c4a 75%, #0d9488 100%);
}

.erp-login-modern__orb {
	position: fixed;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.35;
	pointer-events: none;
	z-index: 0;
}

.erp-login-modern__orb--1 {
	width: 320px;
	height: 320px;
	top: -80px;
	right: 10%;
	background: rgba(255, 255, 255, 0.2);
}

.erp-login-modern__orb--2 {
	width: 240px;
	height: 240px;
	bottom: -60px;
	left: 5%;
	background: rgba(10, 179, 156, 0.45);
}

.erp-login-modern .auth-page-content,
.erp-login-modern .erp-login-footer {
	position: relative;
	z-index: 1;
}

.erp-login-card {
	border-radius: 20px !important;
	box-shadow: 0 24px 64px rgba(15, 23, 42, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

.erp-login-brand {
	min-height: 480px;
	overflow: hidden;
}

.erp-login-brand__gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, rgba(45, 58, 102, 0.95) 0%, rgba(64, 81, 137, 0.88) 50%, rgba(10, 179, 156, 0.75) 100%);
}

.erp-login-brand--3sg .erp-login-brand__gradient {
	background: linear-gradient(145deg, rgba(30, 58, 50, 0.95) 0%, rgba(13, 92, 74, 0.9) 55%, rgba(13, 148, 136, 0.8) 100%);
}

.erp-login-brand__logo {
	max-height: 130px;
	max-width: 280px;
	object-fit: contain;
	filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.2));
}

.erp-login-brand__logo--sm {
	max-height: 72px;
}

.erp-login-carousel-dots [data-bs-target] {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
	border: none;
}

.erp-login-form-wrap {
	background: #fff;
}

.erp-login-form-head__eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #405189;
	font-weight: 600;
	margin: 0;
}

.erp-login-form-head__title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #1e293b;
	letter-spacing: -0.02em;
}

.erp-login-label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #475569;
}

.erp-login-field {
	position: relative;
}

.erp-login-field__icon {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.1rem;
	color: #94a3b8;
	z-index: 2;
	pointer-events: none;
}

.erp-login-input {
	padding-left: 2.65rem !important;
	border-radius: 12px !important;
	border: 1px solid #e2e8f0 !important;
	min-height: 46px;
	font-size: 0.9375rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.erp-login-input:focus {
	border-color: #405189 !important;
	box-shadow: 0 0 0 3px rgba(64, 81, 137, 0.12) !important;
}

.erp-login-field__toggle {
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	color: #94a3b8 !important;
}

.erp-login-btn {
	min-height: 48px;
	border-radius: 12px;
	font-weight: 700;
	font-size: 0.95rem;
	color: #fff;
	border: none;
	background: linear-gradient(135deg, #405189 0%, #4f6bb5 45%, #0ab39c 100%);
	box-shadow: 0 8px 24px rgba(64, 81, 137, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.erp-login-btn:hover,
.erp-login-btn:focus {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(64, 81, 137, 0.4);
}

.erp-login-btn:disabled {
	opacity: 0.85;
	transform: none;
}

.erp-login-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.7rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: #64748b;
	background: #f1f5f9;
	border-radius: 999px;
	border: 1px solid #e2e8f0;
}

.erp-login-lang-btn {
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	padding: 0.35rem 0.65rem;
}

.erp-login-form-wrap,
.erp-login-card .col-lg-6:last-child {
	overflow: visible;
}

.erp-login-form-wrap .dropdown-menu {
	z-index: 1055;
}

.erp-page-login #mahome_tachycentre .alert {
	border-radius: 12px;
	font-size: 0.875rem;
}

@media (max-width: 991.98px) {
	.erp-login-form-wrap {
		border-radius: 0 0 20px 20px;
	}

	.erp-login-card {
		border-radius: 16px !important;
	}
}

