/*
 * Mon Expérience Pro — feuille de style consolidée
 * Générée à partir des feuilles globales historiques dans leur ordre exact.
 * Objectif : réduire les requêtes HTTP et stabiliser la cascade sans modifier le rendu.
 */


/* ===== SOURCE: style.css ===== */

:root {
	--primary: #2563eb;
	--primary-dark: #1d4ed8;
	--primary-light: #eff6ff;
	--dark: #172033;
	--text: #536074;
	--muted: #7a8799;
	--white: #ffffff;
	--page: #f3f6fb;
	--light: #f8fafc;
	--border: #e2e8f0;
	--border-strong: #cbd5e1;
	--success: #15803d;
	--success-light: #f0fdf4;
	--danger: #b91c1c;
	--danger-light: #fef2f2;
	--radius-sm: 10px;
	--radius: 18px;
	--radius-lg: 28px;
	--shadow-sm: 0 10px 30px rgba(15, 23, 42, 0.06);
	--shadow: 0 22px 55px rgba(15, 23, 42, 0.10);
	--focus: 0 0 0 4px rgba(37, 99, 235, 0.14);
}

/* =========================================================
   BASE
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-height: 100vh;
	color: var(--dark);
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, 0.06), transparent 32%),
		var(--page);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--primary);
	text-decoration: none;
	transition: 0.2s ease;
}

a:hover {
	color: var(--primary-dark);
}

h1,
h2,
h3,
h4 {
	margin-top: 0;
	color: var(--dark);
	font-weight: 800;
	letter-spacing: -0.02em;
}

h1 {
	margin-bottom: 18px;
	padding: 0;
	border: 0;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.08;
}

h2 {
	margin-bottom: 16px;
	border: 0;
	font-size: clamp(25px, 3vw, 36px);
	line-height: 1.2;
}

h3 {
	margin-bottom: 12px;
	font-size: 21px;
	line-height: 1.3;
}

p {
	margin-top: 0;
}

::selection {
	color: #ffffff;
	background: var(--primary);
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* =========================================================
   STRUCTURE GÉNÉRALE
   ========================================================= */

.container {
	width: min(1180px, calc(100% - 36px));
	margin: 32px auto;
	padding: 32px;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-sm);
}

.main {
	padding: 0;
	border: 0;
}

#contour,
#contour1 {
	padding: 24px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-sm);
}

#contour1 {
	background: var(--light);
}

#contour img {
	margin: auto;
	border-radius: 14px;
}
/* =========================================================
   FORMULAIRES
   ========================================================= */

form {
	width: 100%;
}

label {
	display: inline-block;
	margin-bottom: 7px;
	color: var(--dark);
	font-weight: 700;
}

input,
textarea,
select,
button {
	font: inherit;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="search"],
input[type="url"],
input[type="file"],
textarea,
select {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid var(--border-strong);
	border-radius: 10px;
	outline: none;
	color: var(--dark);
	background: var(--white);
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
	transition: 0.2s ease;
}

textarea {
	min-height: 130px;
	resize: vertical;
	line-height: 1.6;
}

input:hover,
textarea:hover,
select:hover {
	border-color: #94a3b8;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--primary);
	box-shadow: var(--focus);
}

input::placeholder,
textarea::placeholder {
	color: #94a3b8;
}

input[type="file"] {
	padding: 8px;
}

input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 9px 14px;
	border: 0;
	border-radius: 8px;
	color: #ffffff;
	background: var(--primary);
	font-weight: 700;
	cursor: pointer;
}

.error,
.success {
	margin: 18px 0;
	padding: 16px 18px;
	border: 1px solid transparent;
	border-radius: 12px;
	font-weight: 700;
}

.error {
	color: var(--danger);
	border-color: #fecaca;
	background: var(--danger-light);
}

.success {
	color: var(--success);
	border-color: #bbf7d0;
	background: var(--success-light);
}

/* =========================================================
   BOUTONS
   ========================================================= */

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 12px 23px;
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: 0.2s ease;
}

.button:hover {
	transform: translateY(-2px);
	text-decoration: none;
}

.button-primary {
	color: #ffffff;
	background: linear-gradient(135deg, var(--primary), var(--primary-dark));
	box-shadow: 0 10px 24px rgba(37, 99, 235, 0.22);
}

.button-primary:hover {
	color: #ffffff;
	background: linear-gradient(135deg, var(--primary-dark), #173ea5);
}

.button-secondary {
	color: var(--dark);
	background: var(--white);
	border-color: var(--border-strong);
}

.button-secondary:hover {
	color: var(--primary);
	border-color: var(--primary);
	background: var(--primary-light);
}

.button-light {
	color: var(--primary-dark);
	background: var(--white);
}

.button-outline-light {
	color: #ffffff;
	background: transparent;
	border-color: rgba(255, 255, 255, 0.55);
}

.button-outline-light:hover {
	color: var(--primary-dark);
	background: var(--white);
	border-color: var(--white);
}

/* =========================================================
   PAGE D’ACCUEIL
   ========================================================= */

.home-section,
.home-hero,
.home-final-cta {
	width: 100%;
}

.home-section {
	max-width: 1180px;
	margin: 0 auto;
	padding: 76px 24px;
}

.home-section p,
.home-hero p {
	color: var(--text);
}

.home-eyebrow {
	display: inline-block;
	margin: 0 0 12px;
	color: var(--primary);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.home-eyebrow-light {
	color: #bfdbfe;
}

.home-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	gap: 65px;
	align-items: center;
	max-width: 1240px;
	margin: 24px auto 0;
	padding: 78px 50px;
	border: 1px solid #e8eef7;
	border-radius: var(--radius-lg);
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, 0.12), transparent 42%),
		linear-gradient(135deg, #f8fbff 0%, #ffffff 65%);
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}

.home-hero h1 {
	max-width: 720px;
	margin-bottom: 22px;
	font-size: clamp(42px, 5.5vw, 72px);
	line-height: 1.02;
	letter-spacing: -2.6px;
}

.home-introduction {
	max-width: 660px;
	margin-bottom: 30px;
	font-size: 19px;
	line-height: 1.75;
}

.home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.home-reassurance {
	margin-top: 18px;
	color: var(--muted) !important;
	font-size: 14px;
}

.home-hero-visual img {
	width: 100%;
	max-height: 570px;
	object-fit: contain;
	margin: auto;
	padding: 10px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--white);
	box-shadow: var(--shadow);
	transform: rotate(1.5deg);
}

.section-title {
	max-width: 760px;
	margin: 0 auto 48px;
	text-align: center;
}

.section-title h2 {
	font-size: clamp(31px, 4vw, 48px);
	line-height: 1.15;
	letter-spacing: -1.4px;
}

.section-title > p:not(.home-eyebrow) {
	margin: 0;
	font-size: 17px;
	line-height: 1.7;
}

.section-title-inline {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 30px;
	max-width: none;
	text-align: left;
}

.home-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.home-card {
	padding: 32px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	transition: 0.2s ease;
}

.home-card:hover {
	transform: translateY(-4px);
	border-color: #bfdbfe;
	box-shadow: var(--shadow);
}

form .home-card:hover {
	transform: none;
}

.home-card-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 52px;
	padding: 0 12px;
	margin-bottom: 22px;
	border-radius: 14px;
	color: var(--primary);
	background: var(--primary-light);
	font-size: 16px;
	font-weight: 800;
}

.home-card h2 {
	font-size: clamp(24px, 3vw, 34px);
}

.home-card p {
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
}

.home-steps {
	max-width: 1130px;
	border-radius: var(--radius-lg);
	background: var(--light);
}

.steps-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
}

.step-card {
	display: flex;
	align-items: flex-start;
	gap: 17px;
	padding: 26px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
}

.step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	color: #ffffff;
	background: var(--primary);
	font-weight: 800;
}

.home-preview {
	display: grid;
	grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
	gap: 65px;
	align-items: center;
}

.home-preview-image img {
	width: 100%;
	max-height: 550px;
	object-fit: contain;
	padding: 9px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--white);
	box-shadow: var(--shadow);
}

.home-feature-list {
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}

.home-feature-list li {
	position: relative;
	margin-bottom: 13px;
	padding-left: 32px;
	color: var(--text);
}

.home-feature-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: -1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	color: var(--primary);
	background: var(--primary-light);
	font-size: 13px;
	font-weight: 900;
}

.home-final-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 45px;
	max-width: 1180px;
	margin: 20px auto 70px;
	padding: 52px;
	border-radius: var(--radius-lg);
	background:
		radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 35%),
		linear-gradient(135deg, #172554, #1d4ed8);
	box-shadow: var(--shadow);
}

.home-final-cta h2 {
	max-width: 720px;
	margin-bottom: 14px;
	color: #ffffff;
	font-size: clamp(30px, 4vw, 45px);
}

.home-final-cta p:not(.home-eyebrow) {
	max-width: 720px;
	margin: 0;
	color: #dbeafe;
	font-size: 17px;
}

.home-final-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
}

/* =========================================================
   ARTICLES
   ========================================================= */

.articles-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.article-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 210px;
	padding: 28px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	transition: 0.2s ease;
}

.article-card:hover {
	transform: translateY(-4px);
	border-color: #bfdbfe;
	box-shadow: var(--shadow);
}

.article-category {
	margin: 0 0 12px !important;
	color: var(--primary) !important;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.article-card h2,
.article-card h3 {
	margin-bottom: 18px;
	font-size: 20px;
}

.article-card h2 a,
.article-card h3 a {
	color: var(--dark);
}

.article-card h2 a:hover,
.article-card h3 a:hover {
	color: var(--primary);
}

.article-date {
	margin: 0 0 14px !important;
	color: var(--muted) !important;
	font-size: 13px !important;
}

.article-excerpt {
	margin-bottom: 24px !important;
	color: var(--text);
	font-size: 15px;
	line-height: 1.75;
}

.article-read-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	color: var(--primary);
	font-size: 14px;
	font-weight: 800;
}

.article-read-link::after {
	content: "→";
	transition: transform 0.2s ease;
}

.article-read-link:hover::after {
	transform: translateX(4px);
}

.article-page {
	max-width: 980px;
}

.article-page-header {
	max-width: 820px;
	margin: 0 auto 45px;
	text-align: center;
}

.article-page-header h1 {
	margin-bottom: 22px;
	font-size: clamp(36px, 5vw, 58px);
	line-height: 1.1;
}

.article-page-introduction {
	max-width: 720px;
	margin: 0 auto;
	color: var(--text);
	font-size: 18px;
	line-height: 1.7;
}

.article-page-content {
	padding: 45px;
}

.article-page-content h2 {
	margin-top: 42px;
	margin-bottom: 18px;
	font-size: 29px;
}

.article-page-content h3 {
	margin-top: 32px;
	margin-bottom: 14px;
	font-size: 22px;
}

.article-page-content p {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.85;
}

.article-page-content ul,
.article-page-content ol {
	margin: 20px 0;
	padding-left: 25px;
}

.article-page-content li {
	margin-bottom: 10px;
	color: var(--text);
	line-height: 1.7;
}

.article-page-content img {
	margin: 30px auto;
	border-radius: 16px;
	box-shadow: var(--shadow-sm);
}

.related-articles {
	margin-top: 70px;
}

.article-card,
.article-card h2,
.article-card h2 a,
.article-card h3,
.article-card h3 a,
.article-excerpt,
.article-page-content {
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
}

/* =========================================================
   PAGINATION
   ========================================================= */

.articles-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: 100%;
	margin: 50px 0 0;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-sm);
}

.pagination-current {
	color: var(--dark);
	font-weight: 800;
}

.pagination-disabled {
	cursor: not-allowed;
	opacity: 0.45;
	pointer-events: none;
}

/* =========================================================
   EXPÉRIENCES
   ========================================================= */

.experiences-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	width: 100%;
	align-items: stretch;
}

.experience-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.experience-column .home-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.experience-header {
	margin: -32px -32px 28px;
	padding: 28px 32px;
	border-radius: 18px 18px 0 0;
	background: linear-gradient(135deg, #172554, #2563eb);
}

.experience-header .home-eyebrow {
	color: #bfdbfe;
}

.experience-header h2 {
	margin-bottom: 8px;
	color: #ffffff;
	font-size: 25px;
}

.experience-header h3 {
	margin: 0;
	color: #dbeafe;
	font-size: 17px;
	font-weight: 600;
}

.experience-data {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}

.experience-data-item {
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--light);
}

.experience-data-item strong {
	display: block;
	margin-bottom: 6px;
	color: var(--muted);
	font-size: 12px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.experience-description {
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid var(--border);
}

.experience-action {
	margin-top: auto;
	padding-top: 26px;
}

.experience-summary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 24px;
}

.experience-summary-item {
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--light);
}

.contract-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.contract-badge,
.contract-item {
	display: inline-flex;
	align-items: center;
	padding: 9px 14px;
	border-radius: 999px;
	color: var(--primary);
	background: var(--primary-light);
	font-weight: 700;
}

/* =========================================================
   FAQ
   ========================================================= */

.faq-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.faq-item {
	padding: 30px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.faq-item:hover {
	transform: translateY(-4px);
	border-color: #bfdbfe;
	box-shadow: var(--shadow);
}

.faq-item h2 {
	margin-bottom: 16px;
	font-size: 22px;
	line-height: 1.35;
}

.faq-item p {
	margin-bottom: 14px;
	color: var(--text);
	font-size: 15px;
	line-height: 1.75;
}

.faq-item p:last-child {
	margin-bottom: 0;
}

.faq-item .button {
	margin-top: 8px;
}

/* =========================================================
   INSCRIPTION
   ========================================================= */

.registration-card {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
}

.form-group {
	margin-bottom: 24px;
}

.form-group label {
	display: block;
	margin-bottom: 8px;
}

.form-group small {
	display: block;
	margin-top: 8px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.5;
}

.registration-passwords {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.registration-consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--light);
	cursor: pointer;
}

.registration-consent input {
	flex: 0 0 auto;
	width: 18px;
	min-height: 18px;
	margin-top: 3px;
}

.registration-consent span {
	color: var(--text);
	line-height: 1.6;
}

.registration-trap {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* =========================================================
   CV
   ========================================================= */

#cv {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	width: min(900px, calc(100% - 32px));
	min-height: 1000px;
	margin: 32px auto;
	border-radius: 18px;
	background: var(--white);
	box-shadow: var(--shadow);
	overflow: hidden;
	column-count: initial;
}

#cvgauche {
	width: auto;
	min-height: 100%;
	padding: 34px 28px;
	border: 0;
	color: #e2e8f0;
	background: linear-gradient(180deg, #172554, #1e3a8a);
}

#cvgauche h1,
#cvgauche h2,
#cvgauche h3 {
	color: #ffffff;
}

#cvdroite {
	min-height: 100%;
	margin-left: 0;
	padding: 44px 42px;
	background: var(--white);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 1050px) {
	.home-hero {
		grid-template-columns: 1fr;
		padding: 65px 35px;
	}

	.home-hero-text {
		text-align: center;
	}

	.home-actions {
		justify-content: center;
	}

	.home-hero-visual {
		max-width: 650px;
		margin: auto;
	}

	.home-hero-visual img {
		transform: none;
	}

	.home-benefits,
	.steps-list,
	.articles-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-preview {
		gap: 40px;
	}

	.home-final-cta {
		align-items: flex-start;
		flex-direction: column;
		margin-right: 24px;
		margin-left: 24px;
	}

	.home-final-actions {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 980px) {
	.main-header-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
	}

	.main-header-login {
		justify-content: flex-start;
		flex-wrap: wrap;
		width: 100%;
	}

	.main-header-field {
		flex: 1 1 180px;
	}

	.main-header-field input {
		width: 100%;
	}

	.main-header-account {
		justify-content: space-between;
		width: 100%;
	}
}

@media screen and (max-width: 900px) {
	.experiences-grid {
		grid-template-columns: 1fr;
	}

	#cv {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 760px) {
	.container {
		width: calc(100% - 24px);
		margin: 16px auto;
		padding: 20px;
	}

	.home-section {
		padding: 58px 18px;
	}

	.home-hero {
		padding: 52px 22px;
	}

	.home-hero h1 {
		font-size: 42px;
	}

	.home-actions {
		flex-direction: column;
	}

	.home-actions .button {
		width: 100%;
	}

	.home-benefits,
	.steps-list,
	.articles-list,
	.home-preview {
		grid-template-columns: 1fr;
	}

	.home-preview-image {
		order: 2;
	}

	.home-preview-text {
		order: 1;
	}

	.section-title-inline {
		align-items: flex-start;
		flex-direction: column;
	}

	.home-final-cta {
		margin: 10px 18px 50px;
		padding: 38px 24px;
	}

	.home-final-actions {
		width: 100%;
		flex-direction: column;
	}

	.home-final-actions .button {
		width: 100%;
	}

	.experience-summary-grid {
		grid-template-columns: 1fr;
	}

	.article-page-content {
		padding: 28px 22px;
	}

	.article-page-header h1 {
		font-size: 38px;
	}

	.article-page-content h2 {
		font-size: 25px;
	}

	.articles-pagination {
		flex-direction: column;
	}

	.articles-pagination .button {
		width: 100%;
	}

	.faq-list {
		grid-template-columns: 1fr;
	}

	.faq-item {
		padding: 24px;
	}

	footer {
		column-count: 1;
		padding: 38px 24px;
	}
}

@media screen and (max-width: 680px) {
	.registration-passwords {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

@media screen and (max-width: 620px) {
	.main-header-inner,
	.main-member-navigation-inner {
		width: calc(100% - 28px);
	}

	.main-header-inner {
		min-height: auto;
		padding: 15px 0;
	}

	.main-header-logo {
		font-size: 21px;
	}

	.main-header-login {
		align-items: stretch;
		flex-direction: column;
	}

	.main-header-field {
		flex: none;
		width: 100%;
	}

	.main-header-login-button,
	.main-header-register {
		width: 100%;
	}

	.main-header-account {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.main-header-welcome {
		justify-content: center;
	}

	.main-header-logout {
		width: 100%;
	}

	.main-member-navigation-inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 7px;
		padding: 12px 0;
	}

	.main-member-navigation a {
		width: 100%;
		border-color: rgba(255, 255, 255, 0.10);
		background: rgba(255, 255, 255, 0.05);
	}
}

@media screen and (max-width: 520px) {
	.experience-data {
		grid-template-columns: 1fr;
	}

	.experience-header {
		margin: -23px -23px 24px;
		padding: 23px;
	}

	#cv {
		width: calc(100% - 16px);
		margin: 8px auto;
	}

	#cvgauche,
	#cvdroite {
		padding: 26px 20px;
	}
}

@media screen and (max-width: 480px) {
	.home-hero h1 {
		font-size: 36px;
	}

	.home-card,
	.step-card,
	.article-card {
		padding: 23px;
	}

	.section-title h2 {
		font-size: 31px;
	}

	.home-final-cta h2 {
		font-size: 30px;
	}

	.button {
		width: 100%;
	}
}
/* =========================================================
   PAGE MON COMPTE
   ========================================================= */

.account-page {
	max-width: 1020px;
}

.account-form {
	display: grid;
	gap: 28px;
}

.account-card {
	overflow: hidden;
}

.account-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 22px;
}

.account-grid-full {
	grid-column: 1 / -1;
}

.account-photo-layout {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	margin-top: 26px;
}

.account-photo-preview {
	width: 180px;
	height: 180px;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--light);
	box-shadow: var(--shadow-sm);
}

.account-photo-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.account-photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 180px;
	padding: 20px;
	border: 1px dashed var(--border-strong);
	border-radius: 18px;
	background: var(--light);
	color: var(--muted);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.account-photo-field {
	margin-bottom: 0;
}

.account-submit {
	width: 100%;
	margin: 0;
}

@media screen and (max-width: 700px) {

	.account-grid {
		grid-template-columns: 1fr;
	}

	.account-grid-full {
		grid-column: auto;
	}

	.account-photo-layout {
		grid-template-columns: 1fr;
	}

	.account-photo-preview,
	.account-photo-placeholder {
		width: 150px;
		height: 150px;
	}

}
/* =========================================================
   PAGE MES EXPÉRIENCES
   ========================================================= */

.experiences-page {
	max-width: 1180px;
}

.experience-overview {
	margin-bottom: 70px;
}

.experience-list-heading {
	margin-bottom: 38px;
}

.experience-contract-summary {
	margin-top: 30px;
	padding-top: 26px;
	border-top: 1px solid var(--border);
}

.experience-summary-note {
	margin: 24px 0 0 !important;
	color: var(--muted) !important;
	font-size: 13px !important;
}

.experience-card {
	position: relative;
	overflow: hidden;
}

.experience-current-badge {
	display: inline-flex;
	align-items: center;
	margin-top: 16px;
	padding: 6px 11px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.12);
	font-size: 12px;
	font-weight: 800;
}

.experience-salary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 4px;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--primary-light);
}

.experience-salary strong {
	color: var(--dark);
}

.experience-salary span {
	color: var(--primary);
	font-weight: 800;
	overflow-wrap: anywhere;
}

.experience-note {
	color: var(--text);
	line-height: 1.75;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.experience-note p:last-child {
	margin-bottom: 0;
}

.experience-empty {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.experience-empty .button {
	margin-top: 18px;
}

@media screen and (max-width: 620px) {

	.experience-salary {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

}
/* =========================================================
   AJOUT D’UNE EXPÉRIENCE
   ========================================================= */

.add-experience-page {
	max-width: 1020px;
}

.add-experience-form {
	display: grid;
	gap: 28px;
}

.experience-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 22px;
}

.experience-form-full {
	grid-column: 1 / -1;
}

.experience-current-checkbox {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--light);
	cursor: pointer;
}

.experience-current-checkbox input {
	flex: 0 0 auto;
	width: 19px;
	min-height: 19px;
	margin: 0;
}

.experience-current-checkbox span {
	color: var(--dark);
	font-weight: 700;
}

.experience-success-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 28px;
}

.experience-submit {
	width: 100%;
	margin: 0;
}

@media screen and (max-width: 700px) {

	.experience-form-grid {
		grid-template-columns: 1fr;
	}

	.experience-form-full {
		grid-column: auto;
	}

	.experience-success-actions {
		flex-direction: column;
	}

	.experience-success-actions .button {
		width: 100%;
	}

}
/* =========================================================
   MODIFICATION D’UNE EXPÉRIENCE
   ========================================================= */

.edit-experience-page {
	max-width: 1020px;
}

.edit-experience-form {
	display: grid;
	gap: 28px;
}

.edit-experience-submit {
	width: 100%;
	margin: 0;
}

.danger-zone {
	margin-top: 42px;
	border-color: #fecaca;
	background: #fffafa;
}

.danger-eyebrow {
	color: var(--danger);
}

.danger-button {
	color: #ffffff;
	background: var(--danger);
	border-color: var(--danger);
}

.danger-button:hover {
	color: #ffffff;
	background: #991b1b;
	border-color: #991b1b;
}

.experience-deleted {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.experience-deleted .button {
	margin-top: 18px;
}
/* =========================================================
   PAGE MES CV
   ========================================================= */

.cv-page {
	max-width: 1100px;
}

.cv-create-card,
.cv-profile-reminder,
.cv-export-card {
	margin-bottom: 30px;
}

.cv-create-content {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(320px, 1.2fr);
	gap: 45px;
	align-items: center;
}

.cv-create-form {
	padding: 24px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: var(--light);
}

.cv-create-form .form-group {
	margin-bottom: 18px;
}

.cv-profile-reminder {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
}

.cv-profile-reminder p:last-child {
	margin-bottom: 0;
}

.cv-list-heading {
	margin-top: 65px;
	margin-bottom: 35px;
}

.cv-list {
	display: grid;
	gap: 28px;
}

.cv-card {
	overflow: hidden;
}

.cv-card-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 25px;
	margin: -32px -32px 28px;
	padding: 28px 32px;
	border-bottom: 1px solid var(--border);
	background:
		linear-gradient(
			135deg,
			var(--primary-light),
			#ffffff
		);
}

.cv-card-header h2 {
	margin-bottom: 0;
	font-size: 28px;
	overflow-wrap: anywhere;
}

.cv-experience-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 40px;
	padding: 8px 14px;
	border-radius: 999px;
	color: var(--primary);
	background: var(--white);
	border: 1px solid #bfdbfe;
	font-size: 13px;
	font-weight: 800;
}

.cv-experience-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.cv-experience-item {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 17px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--light);
	overflow-wrap: anywhere;
}

.cv-experience-item strong {
	color: var(--dark);
}

.cv-experience-item span {
	color: var(--text);
}

.cv-experience-item small {
	margin-top: 7px;
	color: var(--muted);
}

.cv-empty-experiences {
	padding: 20px;
	border: 1px dashed var(--border-strong);
	border-radius: 12px;
	color: var(--muted);
	background: var(--light);
	text-align: center;
}

.cv-card-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--border);
}

.cv-delete-form {
	width: auto;
	margin-left: auto;
}

.cv-delete-button {
	color: var(--danger);
	border-color: #fecaca;
	background: var(--danger-light);
}

.cv-delete-button:hover {
	color: #ffffff;
	border-color: var(--danger);
	background: var(--danger);
}

.cv-empty {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.cv-empty .button {
	margin-top: 18px;
}

.cv-export-card {
	margin-top: 55px;
}

.cv-final-cta {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}

@media screen and (max-width: 760px) {

	.cv-create-content {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.cv-profile-reminder {
		align-items: flex-start;
		flex-direction: column;
	}

	.cv-profile-reminder .button {
		width: 100%;
	}

	.cv-experience-list {
		grid-template-columns: 1fr;
	}

	.cv-card-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.cv-card-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cv-card-actions .button,
	.cv-delete-form {
		width: 100%;
	}

	.cv-delete-form {
		margin-left: 0;
	}

}
/* =========================================================
   PERSONNALISATION D’UN CV
   ========================================================= */

.cv-customization-page {
	max-width: 1100px;
}

.cv-customization-error {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.cv-skills-card {
	margin-bottom: 65px;
}

.cv-associated-heading {
	margin-bottom: 34px;
}

.cv-available-heading {
	margin-top: 70px;
	margin-bottom: 34px;
}

.cv-customization-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.cv-customization-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.cv-customization-card h3 {
	margin-bottom: 22px;
	font-size: 23px;
	overflow-wrap: anywhere;
}

.cv-customization-card p {
	overflow-wrap: anywhere;
}

.cv-experience-action {
	width: 100%;
	margin-top: auto;
	padding-top: 20px;
}

.cv-experience-action .button {
	width: 100%;
}

.cv-remove-button {
	color: var(--danger);
	border-color: #fecaca;
	background: var(--danger-light);
}

.cv-remove-button:hover {
	color: #ffffff;
	border-color: var(--danger);
	background: var(--danger);
}

.cv-customization-empty {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.cv-customization-empty .button {
	margin-top: 18px;
}

.cv-customization-final {
	width: 100%;
	margin-top: 70px;
	margin-right: 0;
	margin-left: 0;
}

@media screen and (max-width: 760px) {

	.cv-customization-grid {
		grid-template-columns: 1fr;
	}

}
/* =========================================================
   RENOMMAGE D’UN CV
   ========================================================= */

.cv-rename-box {
	margin: 0 0 26px;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--light);
}

.cv-rename-box summary {
	position: relative;
	padding: 15px 48px 15px 18px;
	color: var(--primary);
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}

.cv-rename-box summary::-webkit-details-marker {
	display: none;
}

.cv-rename-box summary::after {
	position: absolute;
	top: 50%;
	right: 18px;
	content: "+";
	font-size: 22px;
	line-height: 1;
	transform: translateY(-50%);
}

.cv-rename-box[open] summary::after {
	content: "−";
}

.cv-rename-box[open] summary {
	border-bottom: 1px solid var(--border);
}

.cv-rename-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: end;
	padding: 20px;
}

.cv-rename-form .form-group {
	margin: 0;
}

.cv-rename-form small {
	display: block;
	margin-top: 6px;
}

@media screen and (max-width: 700px) {

	.cv-rename-form {
		grid-template-columns: 1fr;
	}

	.cv-rename-form .button {
		width: 100%;
	}

}
/* =========================================================
   ORDRE DES EXPÉRIENCES DANS LE CV
   ========================================================= */

.cv-order-list {
	display: grid;
	gap: 20px;
}

.cv-order-card {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 22px;
	align-items: center;
}

.cv-order-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	color: #ffffff;
	background: var(--primary);
	font-size: 17px;
	font-weight: 800;
}

.cv-order-content {
	min-width: 0;
}

.cv-order-content h3 {
	margin-bottom: 16px;
	overflow-wrap: anywhere;
}

.cv-order-content p:last-child {
	margin-bottom: 0;
}

.cv-order-actions {
	display: flex;
	align-items: stretch;
	flex-direction: column;
	gap: 9px;
	min-width: 145px;
}

.cv-order-actions form {
	width: 100%;
	margin: 0;
}

.cv-order-actions .button {
	width: 100%;
}

.cv-order-button {
	color: var(--primary);
	border-color: #bfdbfe;
	background: var(--primary-light);
}

.cv-order-button:hover {
	color: #ffffff;
	border-color: var(--primary);
	background: var(--primary);
}

@media screen and (max-width: 760px) {

	.cv-order-card {
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: start;
	}

	.cv-order-number {
		width: 40px;
		height: 40px;
	}

	.cv-order-actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-width: 0;
	}

	.cv-order-actions form:last-child {
		grid-column: 1 / -1;
	}

}

@media screen and (max-width: 480px) {

	.cv-order-actions {
		grid-template-columns: 1fr;
	}

	.cv-order-actions form:last-child {
		grid-column: auto;
	}

}
/* =========================================================
   GESTION DES FORMATIONS
   ========================================================= */

.formations-page {
	max-width: 1080px;
}

.formation-form-card {
	margin-bottom: 65px;
}

.formation-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 22px;
}

.formation-form-full {
	grid-column: 1 / -1;
}

.formation-current-checkbox {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--light);
	cursor: pointer;
}

.formation-current-checkbox input {
	flex: 0 0 auto;
	width: 19px;
	min-height: 19px;
	margin: 0;
}

.formation-current-checkbox span {
	color: var(--dark);
	font-weight: 700;
}

.formation-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.formations-list-title {
	margin-bottom: 32px;
}

.formations-list {
	display: grid;
	gap: 22px;
}

.formation-card {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 22px;
	align-items: center;
}

.formation-position {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	color: #ffffff;
	background: var(--primary);
	font-size: 17px;
	font-weight: 800;
}

.formation-card-content {
	min-width: 0;
}

.formation-card-content h3 {
	margin-bottom: 14px;
	overflow-wrap: anywhere;
}

.formation-card-content p:last-child {
	margin-bottom: 0;
}

.formation-card-actions {
	display: flex;
	flex-direction: column;
	gap: 9px;
	min-width: 145px;
}

.formation-card-actions form {
	width: 100%;
	margin: 0;
}

.formation-card-actions .button {
	width: 100%;
}

.formation-order-button {
	color: var(--primary);
	border-color: #bfdbfe;
	background: var(--primary-light);
}

.formation-order-button:hover {
	color: #ffffff;
	border-color: var(--primary);
	background: var(--primary);
}

.formation-delete-button {
	color: var(--danger);
	border-color: #fecaca;
	background: var(--danger-light);
}

.formation-delete-button:hover {
	color: #ffffff;
	border-color: var(--danger);
	background: var(--danger);
}

.formations-empty {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.formations-final {
	width: 100%;
	margin: 70px 0 0;
}

@media screen and (max-width: 760px) {

	.formation-form-grid {
		grid-template-columns: 1fr;
	}

	.formation-form-full {
		grid-column: auto;
	}

	.formation-card {
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: start;
	}

	.formation-position {
		width: 40px;
		height: 40px;
	}

	.formation-card-actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-width: 0;
	}

}

@media screen and (max-width: 480px) {

	.formation-card-actions {
		grid-template-columns: 1fr;
	}

	.formation-form-actions {
		flex-direction: column;
	}

	.formation-form-actions .button {
		width: 100%;
	}

}
/* =========================================================
   FORMATIONS DEPUIS MON COMPTE
   ========================================================= */

.account-formations-card {
	margin-top: 34px;
}

.account-formations-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
}

.account-formations-content p:last-child {
	margin-bottom: 0;
}

.account-formations-summary {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 10px;
	padding: 14px 18px;
	border: 1px solid var(--border);
	border-radius: 14px;
	color: var(--muted);
	background: var(--light);
	font-size: 14px;
	font-weight: 700;
}

.account-formations-count {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: #ffffff;
	background: var(--primary);
	font-size: 17px;
	font-weight: 800;
}

.account-formations-actions {
	margin-top: 24px;
}

.account-legacy-notice {
	margin-top: 24px;
	padding: 18px;
	border: 1px solid #fde68a;
	border-radius: 12px;
	color: #854d0e;
	background: #fffbeb;
}

.account-legacy-notice strong {
	display: block;
	margin-bottom: 7px;
	color: #713f12;
}

.account-legacy-notice p {
	margin: 0;
}

@media screen and (max-width: 700px) {

	.account-formations-content {
		align-items: flex-start;
		flex-direction: column;
	}

	.account-formations-summary {
		width: 100%;
	}

	.account-formations-actions .button {
		width: 100%;
	}

}
/* =========================================================
   FORMATIONS STRUCTURÉES DANS LE CV
   ========================================================= */

.cv-formations-list {
	display: grid;
	gap: 20px;
}

.cv-formation-item {
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	break-inside: avoid;
	page-break-inside: avoid;
}

.cv-formation-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.cv-formation-item h3 {
	margin: 0 0 5px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.cv-formation-item p {
	margin: 0 0 4px;
}

.cv-formation-school {
	color: #e2e8f0;
	font-weight: 700;
}

.cv-formation-period {
	color: #bfdbfe;
	font-size: 12px;
	font-weight: 700;
}

.cv-formation-location {
	color: #cbd5e1;
	font-size: 12px;
}

.cv-formation-diploma {
	margin-top: 6px !important;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
}

.cv-formation-description {
	margin-top: 7px;
	color: #dbe4f0;
	font-size: 12px;
}

.cv-formation-description p {
	margin: 0 0 5px;
}

.cv-formation-description p:last-child {
	margin-bottom: 0;
}

@media print {

	.cv-formations-list {
		gap: 4mm;
	}

	.cv-formation-item {
		padding-bottom: 3mm;
	}

	.cv-formation-item h3 {
		font-size: 10px;
	}

	.cv-formation-period,
	.cv-formation-location,
	.cv-formation-diploma,
	.cv-formation-description {
		font-size: 8.5px;
	}

}
/* =========================================================
   GESTION DES LANGUES
   ========================================================= */

.languages-page {
	max-width: 1080px;
}

.language-form-card {
	margin-bottom: 65px;
}

.language-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 22px;
}

.language-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.languages-list-title {
	margin-bottom: 32px;
}

.languages-list {
	display: grid;
	gap: 22px;
}

.language-card {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 22px;
	align-items: center;
}

.language-position {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	color: #ffffff;
	background: var(--primary);
	font-size: 17px;
	font-weight: 800;
}

.language-card-content {
	min-width: 0;
}

.language-card-content h3 {
	margin: 0 0 6px;
	overflow-wrap: anywhere;
}

.language-level {
	margin: 0;
	color: var(--muted);
	font-weight: 700;
}

.language-card-actions {
	display: flex;
	flex-direction: column;
	gap: 9px;
	min-width: 145px;
}

.language-card-actions form {
	width: 100%;
	margin: 0;
}

.language-card-actions .button {
	width: 100%;
}

.language-order-button {
	color: var(--primary);
	border-color: #bfdbfe;
	background: var(--primary-light);
}

.language-order-button:hover {
	color: #ffffff;
	border-color: var(--primary);
	background: var(--primary);
}

.language-delete-button {
	color: var(--danger);
	border-color: #fecaca;
	background: var(--danger-light);
}

.language-delete-button:hover {
	color: #ffffff;
	border-color: var(--danger);
	background: var(--danger);
}

.languages-empty {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.languages-final {
	width: 100%;
	margin: 70px 0 0;
}

@media screen and (max-width: 760px) {

	.language-form-grid {
		grid-template-columns: 1fr;
	}

	.language-card {
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: start;
	}

	.language-position {
		width: 40px;
		height: 40px;
	}

	.language-card-actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-width: 0;
	}

}

@media screen and (max-width: 480px) {

	.language-card-actions {
		grid-template-columns: 1fr;
	}

	.language-form-actions {
		flex-direction: column;
	}

	.language-form-actions .button {
		width: 100%;
	}

}
/* =========================================================
   PERSONNALISATION DU CV EN DEUX COLONNES
   ========================================================= */

.cv-experience-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	margin-top: 40px;
}

.cv-experience-column {
	min-width: 0;
}

.cv-associated-column,
.cv-available-column {
	padding: 0;
}

.cv-associated-heading,
.cv-available-heading {
	margin-bottom: 24px;
}

.cv-associated-heading .button {
	flex: 0 0 auto;
}

.cv-order-list,
.cv-customization-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.cv-order-card,
.cv-customization-card {
	min-width: 0;
}

.cv-order-card {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: start;
	cursor: default;
	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease,
		opacity 0.18s ease;
}

.cv-order-card-tools {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.cv-drag-handle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 10px;
	color: var(--muted);
	background: var(--light);
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	cursor: grab;
	user-select: none;
}

.cv-drag-handle:hover,
.cv-drag-handle:focus-visible {
	color: var(--primary);
	border-color: #bfdbfe;
	background: var(--primary-light);
	outline: none;
}

.cv-drag-handle:active {
	cursor: grabbing;
}

.cv-order-card.cv-dragging {
	opacity: 0.45;
	box-shadow: 0 18px 35px rgba(15, 23, 42, 0.18);
	transform: scale(1.015);
}

.cv-sort-status {
	min-height: 24px;
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 700;
}

.cv-sort-status-attente {
	color: var(--muted);
}

.cv-sort-status-succes {
	color: #166534;
}

.cv-sort-status-erreur {
	color: var(--danger);
}

.cv-order-actions {
	min-width: 132px;
}

.cv-order-actions .cv-order-button {
	font-size: 12px;
}

.cv-available-column .cv-customization-card {
	height: 100%;
}

@media screen and (max-width: 1050px) {

	.cv-experience-columns {
		grid-template-columns: 1fr;
	}

	.cv-associated-column,
	.cv-available-column {
		min-width: 0;
	}

}

@media screen and (max-width: 760px) {

	.cv-order-card {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.cv-order-actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-width: 0;
	}

	.cv-order-actions form {
		width: 100%;
	}

	.cv-order-actions .button {
		width: 100%;
	}

}

@media screen and (max-width: 480px) {

	.cv-order-actions {
		grid-template-columns: 1fr;
	}

}
/* =========================================================
   SÉPARATION DES DEUX COLONNES D’EXPÉRIENCES
   ========================================================= */

.cv-associated-column {
	padding-right: 28px;
	border-right: 2px solid #dbeafe;
}

.cv-available-column {
	padding-left: 4px;
}

@media screen and (max-width: 1050px) {

	.cv-associated-column {
		padding-right: 0;
		padding-bottom: 34px;
		border-right: 0;
		border-bottom: 2px solid #dbeafe;
	}

	.cv-available-column {
		padding-top: 34px;
		padding-left: 0;
	}

}
/* =========================================================
   EN-TÊTE DES EXPÉRIENCES ASSOCIÉES
   ========================================================= */

.cv-associated-heading {
	display: block;
	margin-bottom: 28px;
}

.cv-associated-heading > div {
	width: 100%;
}

.cv-associated-heading h2 {
	max-width: none;
	margin: 8px 0 14px;
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.05;
}

.cv-associated-heading p {
	max-width: 460px;
	margin-bottom: 20px;
}

.cv-associated-heading > .button {
	display: inline-flex;
	width: auto;
	margin: 0;
}

@media screen and (max-width: 600px) {

	.cv-associated-heading h2 {
		font-size: 34px;
	}

	.cv-associated-heading > .button {
		width: 100%;
	}

}
/* =========================================================
   AIDE POUR LA PERSONNALISATION DU CV
   ========================================================= */

.cv-help-card {
	margin-bottom: 28px;
}

.cv-help-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 22px;
}

.cv-help-item {
	padding: 18px;
	border: 1px solid #dbeafe;
	border-radius: 14px;
	background: #f8fbff;
}

.cv-help-item strong {
	display: block;
	margin-bottom: 8px;
	color: #17243b;
	font-size: 15px;
}

.cv-help-item p {
	margin: 0;
	color: #475569;
	line-height: 1.55;
}

.cv-remove-experience-form button:disabled {
	opacity: 0.65;
	cursor: wait;
}

@media screen and (max-width: 900px) {

	.cv-help-grid {
		grid-template-columns: 1fr;
	}

}
/* =========================================================
   PERSONNALISATION CACHÉE DE CHAQUE CV
   ========================================================= */

.cv-personalization-panel {
	width: 100%;
	margin-top: 6px;
}

.cv-personalization-panel > summary {
	display: inline-flex;
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.cv-personalization-panel > summary::-webkit-details-marker {
	display: none;
}

.cv-personalization-panel[open] > summary {
	color: #ffffff;
	border-color: var(--primary);
	background: var(--primary);
}

.cv-personalization-content {
	margin-top: 18px;
	padding: 22px;
	border: 1px solid #dbeafe;
	border-radius: 16px;
	background: #f8fbff;
}

.cv-personalization-content h3 {
	margin-bottom: 10px;
}

.cv-personalization-form {
	margin-top: 22px;
}

.cv-personalization-form textarea {
	min-height: 170px;
	resize: vertical;
}

.cv-personalization-form .button {
	margin-top: 6px;
}

@media screen and (max-width: 600px) {

	.cv-personalization-panel > summary,
	.cv-personalization-form .button {
		width: 100%;
	}

	.cv-personalization-content {
		padding: 18px;
	}

}
/* =========================================================
   PAGE EMPLOI — ANNUAIRE DE LIENS
   ========================================================= */

.employment-directory-page {
	padding-top: 30px;
	padding-bottom: 58px;
}

.employment-directory-hero {
	max-width: 840px;
	margin-bottom: 26px;
}

.employment-directory-hero h1 {
	max-width: 780px;
	margin-bottom: 14px;
}

.employment-directory-hero p {
	max-width: 760px;
}

.employment-directory-navigation {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 28px;
}

.employment-directory-navigation a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 15px;
	border: 1px solid #dbeafe;
	border-radius: 999px;
	color: #1e3a5f;
	background: #f8fbff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition:
		transform 160ms ease,
		border-color 160ms ease,
		background 160ms ease;
}

.employment-directory-navigation a:hover {
	border-color: #93c5fd;
	background: #eff6ff;
	transform: translateY(-1px);
}

.employment-quick-card {
	margin-bottom: 40px;
}

.employment-section-heading {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

.employment-section-heading h2 {
	margin-bottom: 8px;
}

.employment-section-heading p {
	max-width: 720px;
}

.employment-quick-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.employment-quick-link {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 18px;
	border: 1px solid #dbeafe;
	border-radius: 14px;
	color: inherit;
	background: #f8fbff;
	text-decoration: none;
	transition:
		transform 160ms ease,
		border-color 160ms ease,
		box-shadow 160ms ease;
}

.employment-quick-link:hover {
	border-color: #93c5fd;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(30, 58, 95, 0.09);
}

.employment-quick-link strong {
	color: #17243b;
	font-size: 16px;
}

.employment-quick-link span {
	color: #475569;
	line-height: 1.5;
}

.employment-quick-link small {
	margin-top: 3px;
	color: #2563eb;
	font-weight: 700;
}

.employment-directory-section {
	margin-bottom: 44px;
	scroll-margin-top: 110px;
}

.employment-site-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.employment-site-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.employment-site-header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
}

.employment-site-initials {
	display: grid;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	place-items: center;
	border: 1px solid #bfdbfe;
	border-radius: 14px;
	color: #1d4ed8;
	background: #eff6ff;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.employment-site-card h3 {
	margin: 2px 0 7px;
	font-size: 19px;
}

.employment-site-card p {
	margin: 0;
	color: #475569;
	line-height: 1.55;
}

.employment-site-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 20px;
}

.employment-site-tags span {
	padding: 5px 9px;
	border-radius: 999px;
	color: #334155;
	background: #f1f5f9;
	font-size: 12px;
	font-weight: 700;
}

.employment-site-card .button {
	width: 100%;
	margin-top: auto;
}

.employment-directory-note {
	border-left: 4px solid #93c5fd;
}

.employment-directory-note h2 {
	margin-bottom: 9px;
}

.employment-directory-note p {
	max-width: 860px;
	margin-bottom: 0;
}

@media screen and (max-width: 1000px) {

	.employment-site-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 700px) {

	.employment-quick-grid,
	.employment-site-grid {
		grid-template-columns: 1fr;
	}

	.employment-directory-navigation {
		flex-direction: column;
		align-items: stretch;
	}

	.employment-directory-navigation a {
		justify-content: center;
		text-align: center;
	}

	.employment-site-card {
		min-height: auto;
	}

}
/* =========================================================
   MODIFICATION DIRECTE DES EXPÉRIENCES
   ========================================================= */

.experience-feedback {
	margin-bottom: 24px;
	font-weight: 700;
}

.experience-feedback-success {
	color: #166534;
	border-color: #bbf7d0;
	background: #f0fdf4;
}

.experience-feedback-error {
	color: #991b1b;
	border-color: #fecaca;
	background: #fef2f2;
}

.experience-edit-panel {
	width: 100%;
}

.experience-edit-panel > summary {
	display: inline-flex;
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.experience-edit-panel > summary::-webkit-details-marker {
	display: none;
}

.experience-edit-panel[open] > summary {
	color: #ffffff;
	border-color: #2563eb;
	background: #2563eb;
}

.experience-edit-form {
	margin-top: 20px;
	padding-top: 22px;
	border-top: 1px solid #dbeafe;
}

.experience-edit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.experience-edit-form .form-group {
	margin-bottom: 16px;
}

.experience-edit-form textarea {
	min-height: 180px;
	resize: vertical;
}

.experience-edit-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 8px;
}

@media screen and (max-width: 700px) {

	.experience-edit-grid {
		grid-template-columns: 1fr;
	}

	.experience-edit-panel > summary,
	.experience-edit-actions .button {
		width: 100%;
	}

}
/* =========================================================
   MODALE JURIDIQUE PROFESSIONNELLE
   ========================================================= */

.registration-legal-link {
	display: inline;
	padding: 0;
	border: 0;
	color: #2563eb;
	background: transparent;
	font: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.registration-legal-link:hover {
	color: #1d4ed8;
}

.registration-legal-link:focus-visible {
	outline: 3px solid rgba(37, 99, 235, 0.24);
	outline-offset: 3px;
	border-radius: 4px;
}

.registration-legal-modal {
	width: min(980px, calc(100% - 36px));
	max-width: none;
	height: min(820px, calc(100vh - 48px));
	padding: 0;
	border: 0;
	border-radius: 22px;
	background: transparent;
	box-shadow: 0 30px 90px rgba(15, 23, 42, 0.32);
	overflow: hidden;
}

.registration-legal-modal::backdrop {
	background: rgba(15, 23, 42, 0.7);
	backdrop-filter: blur(5px);
}

.registration-legal-shell {
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr) auto;
	height: 100%;
	background: #ffffff;
}

.registration-legal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
	padding: 28px 30px 22px;
	border-bottom: 1px solid #e2e8f0;
}

.registration-legal-header h2 {
	max-width: 720px;
	margin: 0 0 8px;
	font-size: 27px;
	line-height: 1.2;
}

.registration-legal-header p:last-child {
	max-width: 700px;
	margin: 0;
	color: #64748b;
}

.registration-legal-close {
	display: grid;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 1px solid #dbeafe;
	border-radius: 12px;
	color: #334155;
	background: #f8fafc;
	font-size: 27px;
	line-height: 1;
	cursor: pointer;
	transition:
		background 150ms ease,
		border-color 150ms ease,
		transform 150ms ease;
}

.registration-legal-close:hover {
	border-color: #93c5fd;
	background: #eff6ff;
	transform: translateY(-1px);
}

.registration-legal-tabs {
	display: flex;
	gap: 8px;
	padding: 14px 30px 0;
	border-bottom: 1px solid #e2e8f0;
	background: #ffffff;
}

.registration-legal-tab {
	position: relative;
	padding: 12px 16px 14px;
	border: 0;
	color: #64748b;
	background: transparent;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.registration-legal-tab::after {
	position: absolute;
	right: 12px;
	bottom: -1px;
	left: 12px;
	height: 3px;
	border-radius: 999px 999px 0 0;
	background: transparent;
	content: "";
}

.registration-legal-tab:hover {
	color: #1e3a5f;
}

.registration-legal-tab.is-active {
	color: #1d4ed8;
}

.registration-legal-tab.is-active::after {
	background: #2563eb;
}

.registration-legal-content {
	min-height: 0;
	background: #f8fafc;
}

.registration-legal-panel {
	height: 100%;
	padding: 28px 30px 34px;
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.registration-legal-panel[hidden] {
	display: none;
}

.legal-introduction {
	margin-bottom: 24px;
	padding: 20px 22px;
	border: 1px solid #dbeafe;
	border-radius: 16px;
	background: #eff6ff;
}

.legal-introduction p {
	margin: 0;
	color: #334155;
	line-height: 1.7;
}

.legal-article {
	padding: 24px 0;
	border-bottom: 1px solid #e2e8f0;
}

.legal-article:first-of-type {
	padding-top: 0;
}

.legal-article:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.legal-article h3 {
	margin: 0 0 13px;
	color: #17243b;
	font-size: 18px;
	line-height: 1.35;
}

.legal-article-body {
	color: #475569;
	font-size: 15px;
	line-height: 1.72;
}

.legal-article-body p {
	margin: 0;
}

.legal-article-body p + p {
	margin-top: 13px;
}

.legal-article-body a {
	color: #2563eb;
	font-weight: 700;
}

.registration-legal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 30px;
	border-top: 1px solid #e2e8f0;
	background: #ffffff;
}

.registration-legal-footer p {
	margin: 0;
	color: #64748b;
	font-size: 14px;
}

@media screen and (max-width: 700px) {

	.registration-legal-modal {
		width: calc(100% - 18px);
		height: calc(100vh - 18px);
		border-radius: 16px;
	}

	.registration-legal-header {
		padding: 20px 18px 16px;
	}

	.registration-legal-header h2 {
		font-size: 22px;
	}

	.registration-legal-tabs {
		padding: 10px 10px 0;
		overflow-x: auto;
	}

	.registration-legal-tab {
		flex: 0 0 auto;
		padding-right: 12px;
		padding-left: 12px;
		font-size: 14px;
	}

	.registration-legal-panel {
		padding: 22px 18px 28px;
	}

	.registration-legal-footer {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
		padding: 14px 18px;
	}

	.registration-legal-footer .button {
		width: 100%;
	}

}
/* =========================================================
   CONDITIONS GÉNÉRALES — PRÉSENTATION TYPE FAQ
   ========================================================= */

.legal-page-introduction {
	max-width: 820px;
	margin-top: 18px;
	color: var(--text);
	font-size: 16px;
	line-height: 1.75;
}

.legal-page-introduction p {
	margin-bottom: 14px;
}

.legal-page-introduction p:last-child {
	margin-bottom: 0;
}

.legal-faq-list {
	align-items: start;
}

.legal-faq-item {
	height: 100%;
}

.legal-faq-item h2 {
	position: relative;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--border);
	color: var(--title);
	font-size: 20px;
}

.legal-faq-item h2::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 56px;
	height: 3px;
	border-radius: 999px;
	background: var(--primary);
	content: "";
}

.legal-faq-content {
	color: var(--text);
	font-size: 15px;
	line-height: 1.75;
}

.legal-faq-content p {
	margin-bottom: 14px;
}

.legal-faq-content p:last-child {
	margin-bottom: 0;
}

.legal-faq-content a {
	color: var(--primary);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.legal-faq-content a:hover {
	color: #1d4ed8;
}

@media screen and (max-width: 760px) {

	.legal-page-introduction {
		font-size: 15px;
	}

	.legal-faq-item h2 {
		font-size: 19px;
	}

}
/* =========================================================
   MOT DE PASSE OUBLIÉ / RÉINITIALISATION
   ========================================================= */

.password-reset-card {
	max-width: 720px;
}

.password-reset-card form {
	margin-top: 24px;
}

.password-reset-card .button {
	margin-top: 4px;
}

.password-reset-return {
	margin-top: 22px;
}

.password-reset-invalid {
	max-width: 720px;
	border-left: 4px solid #93c5fd;
}

.password-reset-invalid h2 {
	margin-bottom: 10px;
}

.password-reset-invalid .button {
	margin-top: 10px;
}

@media screen and (max-width: 600px) {

	.password-reset-card .button,
	.password-reset-return .button,
	.password-reset-invalid .button {
		width: 100%;
	}

}
/* =========================================================
   FOOTER PRINCIPAL — TON BLEU NUIT
   ========================================================= */

/*
 * Le footer HTML est déjà présent dans index.php.
 * Ces règles remplacent l’ancien affichage en colonnes CSS.
 */

body > footer {
	margin-top: 60px;
	padding: 0;
	color: #cbd5e1;
	background: #111827;
	column-count: initial;
	column-gap: normal;
}

.main-footer {
	width: 100%;
	background:
		linear-gradient(
			135deg,
			#111827 0%,
			#172554 58%,
			#1e3a8a 100%
		);
}

.main-footer-inner {
	display: grid;
	grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(150px, 1fr));
	gap: 42px;
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 58px 0 48px;
}

.main-footer-brand {
	max-width: 350px;
}

.main-footer-logo {
	display: inline-flex !important;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 18px;
	padding: 0 !important;
	border: 0 !important;
	color: #ffffff !important;
	font-size: 25px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.main-footer-logo strong {
	display: inline !important;
	padding: 0 !important;
	color: #60a5fa !important;
	background: transparent !important;
	font-weight: 900;
}

.main-footer-brand p {
	margin: 0;
	color: #bfdbfe;
	font-size: 15px;
	line-height: 1.7;
}

.main-footer-column {
	min-width: 0;
}

.main-footer-column h2 {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.main-footer-column nav {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 3px;
	width: auto;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.main-footer-column a {
	display: inline-flex !important;
	align-items: center;
	min-height: 0 !important;
	padding: 7px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #cbd5e1 !important;
	background: transparent !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	text-decoration: none;
	white-space: normal !important;
	transition:
		color 150ms ease,
		transform 150ms ease;
}

.main-footer-column a::before {
	width: 0;
	height: 1px;
	margin-right: 0;
	background: #60a5fa;
	content: "";
	transition:
		width 150ms ease,
		margin-right 150ms ease;
}

.main-footer-column a:hover,
.main-footer-column a:focus-visible {
	color: #ffffff !important;
	transform: translateX(2px);
}

.main-footer-column a:hover::before,
.main-footer-column a:focus-visible::before {
	width: 12px;
	margin-right: 7px;
}

.main-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(15, 23, 42, 0.28);
}

.main-footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 20px 0;
}

.main-footer-bottom p {
	margin: 0;
	color: #94a3b8;
	font-size: 13px;
	line-height: 1.5;
}

.main-footer-bottom p:last-child {
	text-align: right;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 950px) {

	.main-footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.main-footer-brand {
		max-width: none;
	}

}

@media screen and (max-width: 620px) {

	body > footer {
		margin-top: 42px;
	}

	.main-footer-inner,
	.main-footer-bottom-inner {
		width: calc(100% - 28px);
	}

	.main-footer-inner {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 42px 0 34px;
	}

	.main-footer-bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		padding: 18px 0;
	}

	.main-footer-bottom p:last-child {
		text-align: left;
	}

}
/* =========================================================
   HEADER PREMIUM — HARMONISÉ AVEC LE FOOTER
   À placer tout à la fin de style.css
   ========================================================= */

.main-header {
	position: relative;
	z-index: 50;
	width: 100%;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8fbff 100%
		);
	box-shadow:
		0 10px 32px rgba(15, 23, 42, 0.07);
}

.main-header::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	background:
		linear-gradient(
			90deg,
			#172554 0%,
			#2563eb 55%,
			#60a5fa 100%
		);
	content: "";
}

.main-header-top {
	border-bottom: 1px solid #dbeafe;
	background: transparent;
}

.main-header .main-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 22px 0 18px;
}
/* =========================================================
   HEADER — VARIANTE HARMONISÉE AVEC LE FOOTER
   À placer tout à la fin de style.css
   ========================================================= */

.main-header {
	position: relative;
	z-index: 50;
	width: 100%;
	background:
		linear-gradient(
			135deg,
			#111827 0%,
			#172554 58%,
			#1e3a8a 100%
		);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
}

.main-header-top {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: transparent;
}

.main-header .main-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 20px 0;
}


/* =========================================================
   LOGO
   ========================================================= */

.main-header .main-header-logo {
	display: inline-flex !important;
	align-items: baseline;
	gap: 6px;
	flex: 0 0 auto;
	margin: 0;
	color: #ffffff !important;
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.main-header .main-header-logo-text {
	display: inline !important;
	color: #ffffff !important;
}

.main-header .main-header-logo-accent {
	display: inline !important;
	color: #60a5fa !important;
	font-weight: 900;
}


/* =========================================================
   CONNEXION
   ========================================================= */

.main-header .main-header-auth {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 14px;
	flex: 1 1 auto;
}

.main-header .main-header-login {
	display: grid;
	grid-template-columns: 180px 180px auto;
	grid-template-rows: auto auto;
	grid-template-areas:
		"pseudo password submit"
		". forgot .";
	align-items: start;
	column-gap: 10px;
	row-gap: 5px;
	margin: 0;
}

.main-header .main-header-login > .main-header-field:first-child {
	grid-area: pseudo;
}

.main-header .main-header-password-group {
	display: contents;
}

.main-header .main-header-password-group .main-header-field {
	grid-area: password;
}

.main-header .main-header-field {
	min-width: 0;
}

.main-header .main-header-field input {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 10px 13px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 10px;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.09);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(4px);
}

.main-header .main-header-field input::placeholder {
	color: #cbd5e1;
}

.main-header .main-header-field input:focus {
	border-color: #60a5fa;
	outline: 3px solid rgba(96, 165, 250, 0.16);
	background: rgba(255, 255, 255, 0.13);
}

.main-header .main-header-forgotten-password {
	grid-area: forgot;
	justify-self: start;
	margin: 0;
	color: #bfdbfe;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
	white-space: nowrap;
}

.main-header .main-header-forgotten-password:hover {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.main-header .main-header-login-button {
	grid-area: submit;
	min-height: 44px;
	margin: 0;
	padding-inline: 22px;
	border-color: #60a5fa;
	background: #2563eb;
	white-space: nowrap;
}

.main-header .main-header-login-button:hover {
	background: #1d4ed8;
}

.main-header .main-header-register {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding-inline: 20px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.06);
	white-space: nowrap;
}

.main-header .main-header-register:hover {
	border-color: rgba(255, 255, 255, 0.38);
	background: rgba(255, 255, 255, 0.11);
}


/* =========================================================
   UTILISATEUR CONNECTÉ
   ========================================================= */

.main-header .main-header-account {
	display: flex;
	align-items: center;
	gap: 16px;
}

.main-header .main-header-user {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
}

.main-header .main-header-user-label {
	color: #bfdbfe;
	font-size: 12px;
	line-height: 1;
}

.main-header .main-header-user-name {
	color: #ffffff;
	font-size: 15px;
	line-height: 1.2;
}

.main-header .main-header-logout {
	min-height: 44px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.06);
	white-space: nowrap;
}

.main-header .main-header-logout:hover {
	background: rgba(255, 255, 255, 0.11);
}


/* =========================================================
   ERREUR
   ========================================================= */

.main-header-error {
	border-bottom: 1px solid #fecaca;
	color: #991b1b;
	background: #fef2f2;
	font-weight: 700;
}

.main-header-error .main-header-inner {
	padding-top: 11px;
	padding-bottom: 11px;
}


/* =========================================================
   NAVIGATION MEMBRE
   ========================================================= */

.main-member-navigation {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background: rgba(15, 23, 42, 0.26);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.main-member-navigation-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 10px 0;
	overflow-x: auto;
	scrollbar-width: thin;
}

.main-member-navigation a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 14px;
	border-radius: 10px;
	color: #cbd5e1;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition:
		color 150ms ease,
		background 150ms ease,
		transform 150ms ease;
}

.main-member-navigation a:hover,
.main-member-navigation a:focus-visible {
	color: #ffffff;
	background: rgba(255, 255, 255, 0.09);
	transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 1050px) {

	.main-header .main-header-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
	}

	.main-header .main-header-auth {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.main-header .main-header-login {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(0, 1fr)
			auto;
		width: 100%;
	}

	.main-header .main-header-register {
		width: 100%;
	}

	.main-header .main-header-account {
		justify-content: space-between;
		width: 100%;
	}

	.main-header .main-header-user {
		align-items: flex-start;
	}

}

@media screen and (max-width: 700px) {

	.main-header .main-header-inner,
	.main-member-navigation-inner {
		width: min(100% - 24px, 1180px);
	}

	.main-header .main-header-logo {
		font-size: 21px;
	}

	.main-header .main-header-login {
		grid-template-columns: 1fr;
		grid-template-areas:
			"pseudo"
			"password"
			"forgot"
			"submit";
		width: 100%;
	}

	.main-header .main-header-login-button,
	.main-header .main-header-register,
	.main-header .main-header-logout {
		width: 100%;
	}

	.main-header .main-header-account {
		align-items: stretch;
		flex-direction: column;
	}

	.main-member-navigation-inner {
		justify-content: flex-start;
	}

}
/* =========================================================
   HEADER V5 — SUPPRESSION DU FOND ARRONDI
   À placer tout à la fin de style.css
   ========================================================= */

/*
 * Retire l’ancien panneau gris autour
 * du formulaire de connexion.
 */

.main-header .main-header-login {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}


/*
 * Retire également l’ancien panneau éventuel
 * autour du compte connecté.
 */

.main-header .main-header-account {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}
/* =========================================================
   MON COMPTE — MISE EN PAGE EN DEUX COLONNES
   ========================================================= */

.account-page {
	max-width: 1180px;
}

.account-two-columns {
	display: grid;
	grid-template-columns:
		minmax(0, 1.45fr)
		minmax(320px, 0.85fr);
	gap: 34px;
	align-items: start;
}

.account-profile-column,
.account-path-column {
	min-width: 0;
}

.account-column-heading {
	margin-bottom: 26px;
	padding: 0 4px;
}

.account-column-heading h2 {
	margin-bottom: 10px;
	font-size: clamp(28px, 3vw, 38px);
}

.account-column-heading p:last-child {
	margin-bottom: 0;
	color: var(--text);
}

.account-profile-column .account-form {
	display: grid;
	gap: 24px;
}

.account-path-column {
	position: sticky;
	top: 24px;
}

.account-path-column > .home-card {
	margin-bottom: 24px;
}

.account-path-column > .home-card:last-child {
	margin-bottom: 0;
}

.account-path-column .account-formations-card {
	margin-top: 0;
}

.account-path-column .account-formations-content {
	align-items: flex-start;
	flex-direction: column;
	gap: 20px;
}

.account-path-column .account-formations-summary {
	width: 100%;
	justify-content: flex-start;
}

.account-path-column .account-formations-actions {
	margin-top: 20px;
}

.account-path-column .account-formations-actions .button {
	width: 100%;
}

.account-path-help .button {
	width: 100%;
	margin-top: 16px;
}

.account-profile-column .account-photo-layout {
	grid-template-columns: 150px minmax(0, 1fr);
}

.account-profile-column .account-photo-preview,
.account-profile-column .account-photo-placeholder {
	width: 150px;
	height: 150px;
}

.account-profile-column .home-final-cta {
	margin: 0;
	padding: 36px;
}

.account-profile-column .home-final-cta h2 {
	font-size: clamp(27px, 3vw, 36px);
}

@media screen and (max-width: 980px) {

	.account-two-columns {
		grid-template-columns: 1fr;
	}

	.account-path-column {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.account-path-column .account-column-heading {
		grid-column: 1 / -1;
	}

	.account-path-column > .home-card {
		margin-bottom: 0;
	}

	.account-path-help {
		grid-column: 1 / -1;
	}

}

@media screen and (max-width: 700px) {

	.account-path-column {
		grid-template-columns: 1fr;
	}

	.account-path-column .account-column-heading,
	.account-path-help {
		grid-column: auto;
	}

	.account-profile-column .account-photo-layout {
		grid-template-columns: 1fr;
	}

	.account-profile-column .account-photo-preview,
	.account-profile-column .account-photo-placeholder {
		width: 140px;
		height: 140px;
	}

	.account-profile-column .home-final-cta {
		padding: 30px 22px;
	}

}
/* =========================================================
   MON COMPTE — CORRECTION DE LA COLONNE PARCOURS
   À placer tout à la fin de style.css
   ========================================================= */

/*
 * La colonne de droite ne reste plus bloquée en position sticky.
 * Les cartes "Formations" et "Langues" suivent désormais
 * naturellement le défilement de la page.
 */

.account-path-column {
	position: static;
	top: auto;
}


/*
 * Légère réduction des espacements pour rendre
 * les deux cartes visibles plus rapidement.
 */

.account-path-column > .home-card {
	margin-bottom: 18px;
	padding: 26px;
}

.account-path-column .account-formations-content {
	gap: 16px;
}

.account-path-column .account-formations-actions {
	margin-top: 16px;
}

.account-path-column .account-formations-card h2 {
	font-size: clamp(25px, 2.4vw, 34px);
}

.account-path-column .account-formations-card p {
	line-height: 1.6;
}


/*
 * Sur les écrans suffisamment larges, la colonne parcours
 * dispose d’un peu plus de place.
 */

@media screen and (min-width: 981px) {

	.account-two-columns {
		grid-template-columns:
			minmax(0, 1.35fr)
			minmax(360px, 0.95fr);
	}

}
/* =========================================================
   MON COMPTE — COLONNE PARCOURS STICKY ET ACCESSIBLE
   À placer tout à la fin de style.css
   ========================================================= */

/*
 * La colonne de droite suit de nouveau le défilement.
 * Lorsqu’elle est plus haute que l’écran, elle dispose
 * de son propre défilement afin que "Mes langues"
 * reste toujours accessible.
 */

@media screen and (min-width: 981px) {

	.account-path-column {
		position: sticky;
		top: 24px;
		max-height: calc(100vh - 48px);
		padding-right: 8px;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: #cbd5e1 transparent;
	}

	.account-path-column::-webkit-scrollbar {
		width: 7px;
	}

	.account-path-column::-webkit-scrollbar-track {
		background: transparent;
	}

	.account-path-column::-webkit-scrollbar-thumb {
		border-radius: 999px;
		background: #cbd5e1;
	}

	.account-path-column::-webkit-scrollbar-thumb:hover {
		background: #94a3b8;
	}

}


/*
 * Sur tablette et mobile, retour au défilement normal
 * pour éviter une zone scrollable trop étroite.
 */

@media screen and (max-width: 980px) {

	.account-path-column {
		position: static;
		top: auto;
		max-height: none;
		padding-right: 0;
		overflow: visible;
	}

}
/* =========================================================
   CONSENTEMENT AUX COOKIES
   ========================================================= */

.cookie-consent[hidden],
.cookie-consent-reopen[hidden],
.cookie-consent-preferences[hidden],
.cookie-consent-button[hidden] {
	display: none !important;
}

.cookie-consent {
	position: fixed;
	z-index: 10000;
	inset: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 22px;
	background: rgba(15, 23, 42, 0.5);
	backdrop-filter: blur(3px);
}

.cookie-consent-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 26px 36px;
	width: min(1040px, 100%);
	max-height: calc(100vh - 44px);
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 20px;
	color: #cbd5e1;
	background:
		linear-gradient(
			135deg,
			#111827 0%,
			#172554 58%,
			#1e3a8a 100%
		);
	box-shadow: 0 28px 75px rgba(15, 23, 42, 0.35);
	overflow-y: auto;
}

.cookie-consent-copy {
	max-width: 660px;
}

.cookie-consent-eyebrow {
	margin: 0 0 7px;
	color: #93c5fd;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cookie-consent h2 {
	margin: 0 0 10px;
	color: #ffffff;
	font-size: clamp(25px, 3vw, 34px);
}

.cookie-consent p {
	margin-bottom: 10px;
	color: #cbd5e1;
	line-height: 1.65;
}

.cookie-consent-policy-link {
	color: #93c5fd;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cookie-consent-policy-link:hover {
	color: #ffffff;
}

.cookie-consent-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	gap: 10px;
	align-self: center;
}

.cookie-consent-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 17px;
	border: 1px solid transparent;
	border-radius: 10px;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
	transition: 0.18s ease;
}

.cookie-consent-button:hover {
	transform: translateY(-1px);
}

.cookie-consent-button-primary {
	border-color: #2563eb;
	color: #ffffff;
	background: #2563eb;
}

.cookie-consent-button-primary:hover {
	background: #1d4ed8;
}

.cookie-consent-button-secondary {
	border-color: rgba(255, 255, 255, 0.24);
	color: #ffffff;
	background: rgba(255, 255, 255, 0.06);
}

.cookie-consent-button-secondary:hover {
	background: rgba(255, 255, 255, 0.12);
}

.cookie-consent-preferences {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.cookie-consent-choice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 13px;
	background: rgba(255, 255, 255, 0.05);
	cursor: pointer;
}

.cookie-consent-choice-required {
	cursor: default;
	opacity: 0.82;
}

.cookie-consent-choice span {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.cookie-consent-choice strong {
	color: #ffffff;
	font-size: 14px;
}

.cookie-consent-choice small {
	color: #cbd5e1;
	line-height: 1.45;
}

.cookie-consent-choice input {
	flex: 0 0 auto;
	width: 20px;
	min-height: 20px;
	margin: 0;
	accent-color: #2563eb;
}

.cookie-consent-reopen {
	position: fixed;
	z-index: 9000;
	right: 18px;
	bottom: 18px;
	min-height: 40px;
	padding: 8px 13px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	color: #17243b;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.cookie-consent-reopen:hover {
	color: #2563eb;
	border-color: #2563eb;
}

body.cookie-consent-open {
	overflow: hidden;
}

@media screen and (max-width: 800px) {

	.cookie-consent {
		padding: 12px;
	}

	.cookie-consent-panel {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 23px;
	}

	.cookie-consent-actions {
		grid-template-columns: 1fr 1fr;
		width: 100%;
	}

	.cookie-consent-preferences {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 480px) {

	.cookie-consent-actions {
		grid-template-columns: 1fr;
	}

	.cookie-consent-reopen {
		right: 10px;
		bottom: 10px;
	}

}
/* =========================================================
   EMPLOI — RECHERCHES DYNAMIQUES SELON LE CV
   ========================================================= */

.employment-cv-selector {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 22px;
	margin-bottom: 26px;
	padding: 20px;
	border: 1px solid #dbeafe;
	border-radius: 14px;
	background: #f8fbff;
}

.employment-cv-selector .form-group {
	flex: 1 1 420px;
	margin: 0;
}

.employment-profile-location {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 12px 15px;
	border: 1px solid #bfdbfe;
	border-radius: 999px;
	color: #475569;
	background: #ffffff;
	font-size: 13px;
}

.employment-profile-location strong {
	color: #1d4ed8;
}

.employment-search-source {
	display: inline-flex;
	align-self: flex-start;
	padding: 5px 9px;
	border-radius: 999px;
	color: #1d4ed8 !important;
	background: #dbeafe;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.employment-personalization-empty {
	padding: 28px;
	border: 1px dashed #bfdbfe;
	border-radius: 14px;
	background: #f8fbff;
	text-align: center;
}

.employment-personalization-empty h3 {
	margin-bottom: 10px;
}

.employment-personalization-empty p {
	max-width: 620px;
	margin: 0 auto 20px;
	color: #475569;
}

@media screen and (max-width: 760px) {

	.employment-cv-selector {
		align-items: stretch;
		flex-direction: column;
	}

	.employment-profile-location {
		width: 100%;
		border-radius: 12px;
	}

}
/* =========================================================
   EMPLOI — LIEU DE RECHERCHE LIBRE
   ========================================================= */

.employment-cv-selector {
	display: block;
}

.employment-cv-selector-grid {
	display: grid;
	grid-template-columns:
		minmax(220px, 0.9fr)
		minmax(260px, 1.1fr)
		auto;
	gap: 16px;
	align-items: end;
}

.employment-cv-selector-grid .form-group {
	margin: 0;
}

.employment-cv-selector-grid small {
	display: block;
	margin-top: 7px;
	color: var(--muted);
	font-size: 12px;
	line-height: 1.45;
}

.employment-search-submit {
	min-height: 50px;
	white-space: nowrap;
}

.employment-profile-location {
	margin-top: 16px;
}

@media screen and (max-width: 900px) {

	.employment-cv-selector-grid {
		grid-template-columns: 1fr 1fr;
	}

	.employment-search-submit {
		grid-column: 1 / -1;
		width: 100%;
	}

}

@media screen and (max-width: 620px) {

	.employment-cv-selector-grid {
		grid-template-columns: 1fr;
	}

	.employment-search-submit {
		grid-column: auto;
	}

}
/* =========================================================
   EMPLOI — RECHERCHE PERSONNALISÉE PLUS ÉLÉGANTE
   À placer tout à la fin de style.css
   ========================================================= */

.employment-cv-selector {
	margin-bottom: 28px;
	padding: 26px;
	border: 1px solid #dbeafe;
	border-radius: 18px;
	background:
		linear-gradient(
			135deg,
			#f8fbff 0%,
			#ffffff 100%
		);
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.employment-cv-selector-grid {
	display: grid;
	grid-template-columns:
		minmax(220px, 0.9fr)
		minmax(280px, 1.1fr)
		auto;
	gap: 18px;
	align-items: end;
}

.employment-cv-selector-grid .form-group {
	margin: 0;
}

.employment-cv-selector-grid label {
	display: block;
	margin-bottom: 8px;
	color: #17243b;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.employment-cv-selector-grid select,
.employment-cv-selector-grid input {
	min-height: 52px;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.employment-cv-selector-grid select:focus,
.employment-cv-selector-grid input:focus {
	border-color: #2563eb;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.employment-cv-selector-grid small {
	display: block;
	margin-top: 7px;
	color: #64748b;
	font-size: 12px;
	line-height: 1.45;
}

.employment-cv-selector-grid small strong {
	color: #2563eb;
}

.employment-search-submit {
	min-height: 52px;
	padding-inline: 24px;
	border-radius: 12px;
	white-space: nowrap;
	box-shadow: 0 12px 24px rgba(37, 99, 235, 0.2);
}

.employment-profile-location {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	width: auto;
	max-width: 100%;
	margin: 18px 0 0;
	padding: 9px 13px;
	border: 1px solid #dbeafe;
	border-radius: 10px;
	color: #64748b;
	background: #ffffff;
	font-size: 12px;
	box-shadow: none;
}

.employment-profile-location span {
	color: #64748b;
}

.employment-profile-location strong {
	color: #1d4ed8;
	font-size: 13px;
}

@media screen and (max-width: 900px) {

	.employment-cv-selector-grid {
		grid-template-columns: 1fr 1fr;
	}

	.employment-search-submit {
		grid-column: 1 / -1;
		width: 100%;
	}

}

@media screen and (max-width: 620px) {

	.employment-cv-selector {
		padding: 20px;
	}

	.employment-cv-selector-grid {
		grid-template-columns: 1fr;
	}

	.employment-search-submit {
		grid-column: auto;
	}

	.employment-profile-location {
		width: 100%;
	}

}
/* =========================================================
   EMPLOI — ALIGNEMENT FINAL DU BLOC DE RECHERCHE
   À placer tout à la fin de style.css
   ========================================================= */

/*
 * Deux champs côte à côte.
 * Le bouton passe sur une ligne complète en dessous,
 * ce qui évite tout débordement horizontal.
 */

.employment-cv-selector {
	width: 100%;
	padding: 26px;
	overflow: hidden;
}

.employment-cv-selector-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
	align-items: start;
	width: 100%;
}

.employment-cv-selector-grid .form-group {
	min-width: 0;
	margin: 0;
}

.employment-cv-selector-grid select,
.employment-cv-selector-grid input {
	width: 100%;
	min-width: 0;
}

.employment-search-submit {
	grid-column: 1 / -1;
	justify-self: stretch;
	width: 100%;
	min-height: 52px;
	margin: 0;
}


/*
 * La zone utilisée apparaît sous tout le formulaire,
 * et non sous le premier champ uniquement.
 */

.employment-profile-location {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	margin: 16px 0 0;
	padding: 10px 14px;
	border-radius: 10px;
	text-align: center;
}


/*
 * Mobile : tous les éléments sur une seule colonne.
 */

@media screen and (max-width: 680px) {

	.employment-cv-selector {
		padding: 20px;
	}

	.employment-cv-selector-grid {
		grid-template-columns: 1fr;
	}

	.employment-search-submit {
		grid-column: auto;
	}

}
/* =========================================================
   EMPLOI — MÉTIER LIBRE AVEC SUGGESTIONS
   ========================================================= */

.employment-cv-selector-grid {
	grid-template-columns:
		minmax(220px, 1fr)
		minmax(220px, 0.9fr)
		minmax(260px, 1.1fr);
}

.employment-search-submit {
	grid-column: 1 / -1;
	width: 100%;
}

.employment-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.employment-active-filters .employment-profile-location {
	margin: 0;
	width: auto;
}

@media screen and (max-width: 980px) {

	.employment-cv-selector-grid {
		grid-template-columns: 1fr 1fr;
	}

	.employment-cv-selector-grid .form-group:first-child {
		grid-column: 1 / -1;
	}

}

@media screen and (max-width: 680px) {

	.employment-cv-selector-grid {
		grid-template-columns: 1fr;
	}

	.employment-cv-selector-grid .form-group:first-child,
	.employment-search-submit {
		grid-column: auto;
	}

	.employment-active-filters {
		flex-direction: column;
	}

	.employment-active-filters .employment-profile-location {
		width: 100%;
	}

}
/* =========================================================
   ARTICLE INDIVIDUEL — SEO ET LISIBILITÉ
   ========================================================= */

.article-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 34px;
	color: var(--muted);
	font-size: 13px;
}

.article-breadcrumb a {
	font-weight: 700;
}

.article-breadcrumb [aria-current="page"] {
	max-width: 520px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.article-publication-date {
	margin: -4px 0 18px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 700;
}

.article-bottom-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.article-not-found {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.article-not-found .button {
	margin-top: 18px;
}

@media screen and (max-width: 620px) {

	.article-bottom-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.article-bottom-actions .button {
		width: 100%;
	}

}
/* =========================================================
   ACCUEIL — ARTICLES VALORISÉS EN COLONNES
   ========================================================= */

.home-articles-featured {
	position: relative;
}

.home-articles-featured .section-title-inline {
	align-items: flex-end;
	margin-bottom: 30px;
}

.home-articles-featured .section-title-inline > div {
	max-width: 720px;
}

.home-articles-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
	gap: 24px;
	align-items: stretch;
}

.home-article-main {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 120px;
	min-height: 100%;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 28px;
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.98),
			rgba(246, 248, 252, 0.96)
		);
	box-shadow: var(--shadow-soft);
}

.home-article-main-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 42px;
}

.home-article-main h3 {
	max-width: 720px;
	margin: 12px 0 18px;
	font-size: clamp(28px, 3.3vw, 46px);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.home-article-main h3 a {
	color: inherit;
	text-decoration: none;
}

.home-article-main h3 a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.home-article-main-excerpt {
	max-width: 680px;
	margin: 0 0 30px;
	color: var(--muted);
	font-size: 17px;
	line-height: 1.75;
}

.home-article-main .button {
	margin-top: auto;
}

.home-article-main-decoration {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 26px 18px;
	background:
		linear-gradient(
			180deg,
			rgba(20, 31, 53, 0.02),
			rgba(20, 31, 53, 0.09)
		);
}

.home-article-main-decoration span {
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	color: rgba(20, 31, 53, 0.1);
	font-size: 86px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.08em;
}

.home-article-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.home-article-date {
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}

.home-articles-column {
	display: grid;
	gap: 14px;
}

.home-article-secondary {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 18px;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--surface);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		border-color 0.2s ease;
}

.home-article-secondary:hover {
	transform: translateY(-2px);
	border-color: rgba(20, 31, 53, 0.18);
	box-shadow: var(--shadow-soft);
}

.home-article-secondary-number {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 2px;
	color: rgba(20, 31, 53, 0.18);
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.06em;
}

.home-article-secondary-content {
	min-width: 0;
}

.home-article-secondary h3 {
	margin: 8px 0 10px;
	font-size: 19px;
	line-height: 1.25;
}

.home-article-secondary h3 a {
	color: inherit;
	text-decoration: none;
}

.home-article-secondary h3 a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.home-article-secondary p {
	margin: 0 0 12px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.55;
}

.home-articles-featured .admin-action {
	margin-top: 24px;
}

@media screen and (max-width: 980px) {

	.home-articles-layout {
		grid-template-columns: 1fr;
	}

	.home-article-main {
		min-height: 460px;
	}

	.home-articles-column {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 720px) {

	.home-articles-featured .section-title-inline {
		align-items: flex-start;
	}

	.home-article-main {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.home-article-main-content {
		padding: 30px;
	}

	.home-article-main-decoration {
		display: none;
	}

	.home-articles-column {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 480px) {

	.home-article-main-content {
		padding: 24px;
	}

	.home-article-main h3 {
		font-size: 29px;
	}

	.home-article-secondary {
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 18px;
	}

	.home-article-secondary-number {
		font-size: 23px;
	}

}
/* =========================================================
   ACCUEIL — 3 SECTIONS + COLONNE D’ARTICLES
   ========================================================= */

.home-main-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 34px;
	align-items: start;
}

.home-main-content {
	min-width: 0;
}

.home-main-content > .home-section:first-child {
	margin-top: 0;
}

.home-articles-sidebar {
	min-width: 0;
}

.home-articles-sidebar-inner {
	position: sticky;
	top: 110px;
	padding: 26px;
	border: 1px solid var(--border);
	border-radius: 24px;
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}

.home-articles-sidebar-header {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border);
}

.home-articles-sidebar-header h2 {
	margin: 7px 0 10px;
	font-size: 30px;
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.home-articles-sidebar-header p:last-child {
	margin-bottom: 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.55;
}

.home-articles-sidebar-list {
	display: grid;
	gap: 0;
}

.home-sidebar-article {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	padding: 21px 0;
	border-bottom: 1px solid var(--border);
}

.home-sidebar-article-number {
	padding-top: 2px;
	color: rgba(20, 31, 53, 0.2);
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
}

.home-sidebar-article-content {
	min-width: 0;
}

.home-sidebar-article-date {
	margin: 0 0 6px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 700;
}

.home-sidebar-article h3 {
	margin: 0 0 8px;
	font-size: 17px;
	line-height: 1.28;
}

.home-sidebar-article h3 a {
	color: inherit;
	text-decoration: none;
}

.home-sidebar-article h3 a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.home-sidebar-article-excerpt {
	margin: 0 0 9px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.5;
}

.home-sidebar-all-articles {
	width: 100%;
	margin-top: 22px;
}

.home-articles-sidebar .admin-action {
	margin-top: 16px;
}

@media screen and (max-width: 1180px) {

	.home-main-layout {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 24px;
	}

	.home-articles-sidebar-inner {
		padding: 22px;
	}

}

@media screen and (max-width: 980px) {

	.home-main-layout {
		grid-template-columns: 1fr;
	}

	.home-articles-sidebar {
		order: -1;
	}

	.home-articles-sidebar-inner {
		position: static;
	}

	.home-articles-sidebar-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 24px;
	}

	.home-sidebar-article:nth-child(odd) {
		padding-right: 12px;
	}

	.home-sidebar-article:nth-child(even) {
		padding-left: 12px;
	}

}

@media screen and (max-width: 640px) {

	.home-articles-sidebar-list {
		grid-template-columns: 1fr;
	}

	.home-sidebar-article:nth-child(odd),
	.home-sidebar-article:nth-child(even) {
		padding-left: 0;
		padding-right: 0;
	}

}
/* =========================================================
   ONBOARDING — MON COMPTE
   ========================================================= */

.account-onboarding {
	margin: 28px 0 34px;
	padding: 30px;
	border-radius: 26px;
	background:
		linear-gradient(
			135deg,
			#17243d 0%,
			#21365c 100%
		);
	color: #ffffff;
	box-shadow: var(--shadow-soft);
}

.account-onboarding-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
}

.account-onboarding-heading > div:first-child {
	max-width: 760px;
}

.account-onboarding h2 {
	margin: 8px 0 12px;
	color: #ffffff;
	font-size: clamp(25px, 3vw, 38px);
	line-height: 1.12;
}

.account-onboarding-heading p:last-child {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.78);
}

.account-onboarding-score {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 112px;
	height: 112px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	text-align: center;
}

.account-onboarding-score strong {
	font-size: 27px;
	line-height: 1;
}

.account-onboarding-score span {
	margin-top: 7px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 11px;
	font-weight: 700;
}

.account-progress {
	height: 9px;
	margin: 26px 0;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.account-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #ffffff;
	transition: width 0.35s ease;
}

.account-onboarding-steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.account-onboarding-step {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 64px;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.88);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.account-onboarding-step:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.account-onboarding-step.is-complete {
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
}

.account-onboarding-step-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.13);
}

.account-onboarding-step.is-complete
.account-onboarding-step-icon {
	background: #ffffff;
	color: #17243d;
}

.account-onboarding-action {
	margin-top: 24px;
}

.account-path-count {
	margin: 16px 0;
	color: var(--muted);
}

.account-path-count strong {
	margin-right: 5px;
	color: var(--text);
	font-size: 25px;
}

@media screen and (max-width: 1050px) {

	.account-onboarding-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 620px) {

	.account-onboarding {
		padding: 24px;
	}

	.account-onboarding-heading {
		flex-direction: column;
	}

	.account-onboarding-score {
		width: 92px;
		height: 92px;
	}

	.account-onboarding-steps {
		grid-template-columns: 1fr;
	}

	.account-onboarding-action .button {
		width: 100%;
	}

}
/* =========================================================
   TABLEAU DE BORD CONNECTÉ
   ========================================================= */

.dashboard-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 34px;
	align-items: center;
	margin: 20px 0 28px;
	padding: 38px;
	border-radius: 28px;
	background:
		linear-gradient(
			135deg,
			#17243d 0%,
			#243b65 100%
		);
	color: #ffffff;
}

.dashboard-hero h1 {
	margin: 8px 0 12px;
	color: #ffffff;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.04;
	letter-spacing: -0.045em;
}

.dashboard-hero > div:first-child > p:last-child {
	max-width: 720px;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 17px;
}

.dashboard-progress-card {
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.08);
}

.dashboard-progress-card > span {
	display: block;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 700;
}

.dashboard-progress-card strong {
	display: block;
	margin: 8px 0 14px;
	font-size: 35px;
	line-height: 1;
}

.dashboard-progress-card a {
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
}

.dashboard-progress-bar {
	height: 8px;
	margin-bottom: 14px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.dashboard-progress-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #ffffff;
}

.dashboard-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 32px;
}

.dashboard-stat-card {
	display: flex;
	flex-direction: column;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--surface);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--shadow-soft);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.dashboard-stat-card:hover {
	transform: translateY(-2px);
}

.dashboard-stat-card > span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.dashboard-stat-card strong {
	margin: 8px 0 4px;
	font-size: 34px;
	line-height: 1;
}

.dashboard-stat-card small {
	color: var(--muted);
}

.dashboard-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 28px;
	align-items: start;
}

.dashboard-main {
	min-width: 0;
}

.dashboard-sidebar {
	display: grid;
	gap: 18px;
	position: sticky;
	top: 110px;
}

.dashboard-next-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 26px;
	padding: 28px;
	border-radius: 22px;
	background:
		linear-gradient(
			135deg,
			#1f355a 0%,
			#2a4778 100%
		);
	color: #ffffff;
}

.dashboard-next-action h2 {
	margin: 7px 0 9px;
	color: #ffffff;
}

.dashboard-next-action p:last-child {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.76);
}

.dashboard-section {
	padding-top: 34px;
	padding-bottom: 34px;
}

.dashboard-list {
	display: grid;
	gap: 14px;
}

.dashboard-list-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--surface);
}

.dashboard-list-item h3 {
	margin: 4px 0 5px;
}

.dashboard-list-item p {
	margin: 0;
}

.dashboard-item-kicker {
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.dashboard-item-meta {
	display: grid;
	gap: 5px;
	text-align: right;
	color: var(--muted);
	font-size: 13px;
}

.dashboard-cv-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.dashboard-cv-card h3 {
	margin-top: 8px;
}

.dashboard-shortcuts nav {
	display: grid;
	gap: 8px;
	margin-top: 18px;
}

.dashboard-shortcuts nav a {
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(20, 31, 53, 0.05);
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.dashboard-shortcuts nav a:hover {
	background: rgba(20, 31, 53, 0.09);
}

.dashboard-advice h2 {
	margin-top: 8px;
	font-size: 22px;
}

@media screen and (max-width: 1080px) {

	.dashboard-layout {
		grid-template-columns: 1fr;
	}

	.dashboard-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 860px) {

	.dashboard-hero {
		grid-template-columns: 1fr;
	}

	.dashboard-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dashboard-cv-grid {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 620px) {

	.dashboard-hero {
		padding: 28px 22px;
	}

	.dashboard-stats,
	.dashboard-sidebar {
		grid-template-columns: 1fr;
	}

	.dashboard-next-action,
	.dashboard-list-item {
		align-items: stretch;
		flex-direction: column;
	}

	.dashboard-next-action .button {
		width: 100%;
	}

	.dashboard-item-meta {
		text-align: left;
	}

}
/* =========================================================
   TABLEAU DE BORD CONNECTÉ
   ========================================================= */

.dashboard-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 34px;
	align-items: center;
	margin: 20px 0 28px;
	padding: 38px;
	border-radius: 28px;
	background:
		linear-gradient(
			135deg,
			#17243d 0%,
			#243b65 100%
		);
	color: #ffffff;
}

.dashboard-hero h1 {
	margin: 8px 0 12px;
	color: #ffffff;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.04;
	letter-spacing: -0.045em;
}

.dashboard-hero > div:first-child > p:last-child {
	max-width: 720px;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 17px;
}

.dashboard-progress-card {
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.08);
}

.dashboard-progress-card > span {
	display: block;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 700;
}

.dashboard-progress-card strong {
	display: block;
	margin: 8px 0 14px;
	font-size: 35px;
	line-height: 1;
}

.dashboard-progress-card a {
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
}

.dashboard-progress-bar {
	height: 8px;
	margin-bottom: 14px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.dashboard-progress-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #ffffff;
}

.dashboard-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 32px;
}

.dashboard-stat-card {
	display: flex;
	flex-direction: column;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--surface);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--shadow-soft);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.dashboard-stat-card:hover {
	transform: translateY(-2px);
}

.dashboard-stat-card > span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.dashboard-stat-card strong {
	margin: 8px 0 4px;
	font-size: 34px;
	line-height: 1;
}

.dashboard-stat-card small {
	color: var(--muted);
}

.dashboard-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 28px;
	align-items: start;
}

.dashboard-main {
	min-width: 0;
}

.dashboard-sidebar {
	display: grid;
	gap: 18px;
	position: sticky;
	top: 110px;
}

.dashboard-next-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 26px;
	padding: 28px;
	border-radius: 22px;
	background:
		linear-gradient(
			135deg,
			#1f355a 0%,
			#2a4778 100%
		);
	color: #ffffff;
}

.dashboard-next-action h2 {
	margin: 7px 0 9px;
	color: #ffffff;
}

.dashboard-next-action p:last-child {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.76);
}

.dashboard-section {
	padding-top: 34px;
	padding-bottom: 34px;
}

.dashboard-list {
	display: grid;
	gap: 14px;
}

.dashboard-list-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--surface);
}

.dashboard-list-item h3 {
	margin: 4px 0 5px;
}

.dashboard-list-item p {
	margin: 0;
}

.dashboard-item-kicker {
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.dashboard-item-meta {
	display: grid;
	gap: 5px;
	text-align: right;
	color: var(--muted);
	font-size: 13px;
}

.dashboard-cv-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.dashboard-cv-card h3 {
	margin-top: 8px;
}

.dashboard-shortcuts nav {
	display: grid;
	gap: 8px;
	margin-top: 18px;
}

.dashboard-shortcuts nav a {
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(20, 31, 53, 0.05);
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.dashboard-shortcuts nav a:hover {
	background: rgba(20, 31, 53, 0.09);
}

.dashboard-advice h2 {
	margin-top: 8px;
	font-size: 22px;
}

@media screen and (max-width: 1080px) {

	.dashboard-layout {
		grid-template-columns: 1fr;
	}

	.dashboard-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 860px) {

	.dashboard-hero {
		grid-template-columns: 1fr;
	}

	.dashboard-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dashboard-cv-grid {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 620px) {

	.dashboard-hero {
		padding: 28px 22px;
	}

	.dashboard-stats,
	.dashboard-sidebar {
		grid-template-columns: 1fr;
	}

	.dashboard-next-action,
	.dashboard-list-item {
		align-items: stretch;
		flex-direction: column;
	}

	.dashboard-next-action .button {
		width: 100%;
	}

	.dashboard-item-meta {
		text-align: left;
	}

}


/* =========================================================
   TABLEAU DE BORD — ARTICLES
   ========================================================= */

.dashboard-articles-card {
	padding: 22px;
}

.dashboard-articles-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border);
}

.dashboard-articles-heading h2 {
	margin: 7px 0 0;
	font-size: 24px;
}

.dashboard-articles-list {
	display: grid;
	gap: 0;
}

.dashboard-article-item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	padding: 18px 0;
	border-bottom: 1px solid var(--border);
}

.dashboard-article-item:last-child {
	border-bottom: 0;
}

.dashboard-article-number {
	padding-top: 3px;
	color: rgba(20, 31, 53, 0.2);
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
}

.dashboard-article-date {
	margin: 0 0 6px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 700;
}

.dashboard-article-item h3 {
	margin: 0 0 8px;
	font-size: 17px;
	line-height: 1.28;
}

.dashboard-article-item h3 a {
	color: inherit;
	text-decoration: none;
}

.dashboard-article-item h3 a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.dashboard-article-item p {
	margin: 0 0 9px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.5;
}

@media screen and (max-width: 1080px) {

	.dashboard-articles-card {
		grid-column: 1 / -1;
	}

}
/* =========================================================
   TABLEAU DE BORD CONNECTÉ
   ========================================================= */

.dashboard-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 34px;
	align-items: center;
	margin: 20px 0 28px;
	padding: 38px;
	border-radius: 28px;
	background:
		linear-gradient(
			135deg,
			#17243d 0%,
			#243b65 100%
		);
	color: #ffffff;
}

.dashboard-hero h1 {
	margin: 8px 0 12px;
	color: #ffffff;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.04;
	letter-spacing: -0.045em;
}

.dashboard-hero > div:first-child > p:last-child {
	max-width: 720px;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 17px;
}

.dashboard-progress-card {
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.08);
}

.dashboard-progress-card > span {
	display: block;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 700;
}

.dashboard-progress-card strong {
	display: block;
	margin: 8px 0 14px;
	font-size: 35px;
	line-height: 1;
}

.dashboard-progress-card a {
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
}

.dashboard-progress-bar {
	height: 8px;
	margin-bottom: 14px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.dashboard-progress-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #ffffff;
}

.dashboard-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 32px;
}

.dashboard-stat-card {
	display: flex;
	flex-direction: column;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--surface);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--shadow-soft);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.dashboard-stat-card:hover {
	transform: translateY(-2px);
}

.dashboard-stat-card > span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.dashboard-stat-card strong {
	margin: 8px 0 4px;
	font-size: 34px;
	line-height: 1;
}

.dashboard-stat-card small {
	color: var(--muted);
}

.dashboard-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 28px;
	align-items: start;
}

.dashboard-main {
	min-width: 0;
}

.dashboard-sidebar {
	display: grid;
	gap: 18px;
	position: sticky;
	top: 110px;
}

.dashboard-next-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 26px;
	padding: 28px;
	border-radius: 22px;
	background:
		linear-gradient(
			135deg,
			#1f355a 0%,
			#2a4778 100%
		);
	color: #ffffff;
}

.dashboard-next-action h2 {
	margin: 7px 0 9px;
	color: #ffffff;
}

.dashboard-next-action p:last-child {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.76);
}

.dashboard-section {
	padding-top: 34px;
	padding-bottom: 34px;
}

.dashboard-list {
	display: grid;
	gap: 14px;
}

.dashboard-list-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--surface);
}

.dashboard-list-item h3 {
	margin: 4px 0 5px;
}

.dashboard-list-item p {
	margin: 0;
}

.dashboard-item-kicker {
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.dashboard-item-meta {
	display: grid;
	gap: 5px;
	text-align: right;
	color: var(--muted);
	font-size: 13px;
}

.dashboard-cv-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.dashboard-cv-card h3 {
	margin-top: 8px;
}

.dashboard-shortcuts nav {
	display: grid;
	gap: 8px;
	margin-top: 18px;
}

.dashboard-shortcuts nav a {
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(20, 31, 53, 0.05);
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.dashboard-shortcuts nav a:hover {
	background: rgba(20, 31, 53, 0.09);
}

.dashboard-advice h2 {
	margin-top: 8px;
	font-size: 22px;
}

@media screen and (max-width: 1080px) {

	.dashboard-layout {
		grid-template-columns: 1fr;
	}

	.dashboard-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 860px) {

	.dashboard-hero {
		grid-template-columns: 1fr;
	}

	.dashboard-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dashboard-cv-grid {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 620px) {

	.dashboard-hero {
		padding: 28px 22px;
	}

	.dashboard-stats,
	.dashboard-sidebar {
		grid-template-columns: 1fr;
	}

	.dashboard-next-action,
	.dashboard-list-item {
		align-items: stretch;
		flex-direction: column;
	}

	.dashboard-next-action .button {
		width: 100%;
	}

	.dashboard-item-meta {
		text-align: left;
	}

}


/* =========================================================
   TABLEAU DE BORD — ARTICLES
   ========================================================= */

.dashboard-articles-card {
	padding: 22px;
}

.dashboard-articles-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border);
}

.dashboard-articles-heading h2 {
	margin: 7px 0 0;
	font-size: 24px;
}

.dashboard-articles-list {
	display: grid;
	gap: 0;
}

.dashboard-article-item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	padding: 18px 0;
	border-bottom: 1px solid var(--border);
}

.dashboard-article-item:last-child {
	border-bottom: 0;
}

.dashboard-article-number {
	padding-top: 3px;
	color: rgba(20, 31, 53, 0.2);
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
}

.dashboard-article-date {
	margin: 0 0 6px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 700;
}

.dashboard-article-item h3 {
	margin: 0 0 8px;
	font-size: 17px;
	line-height: 1.28;
}

.dashboard-article-item h3 a {
	color: inherit;
	text-decoration: none;
}

.dashboard-article-item h3 a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.dashboard-article-item p {
	margin: 0 0 9px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.5;
}

@media screen and (max-width: 1080px) {

	.dashboard-articles-card {
		grid-column: 1 / -1;
	}

}


/* =========================================================
   TABLEAU DE BORD — PROFIL À 100 %
   ========================================================= */

.dashboard-complete-card {
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.08);
}

.dashboard-complete-card > p {
	margin: 0 0 8px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.dashboard-complete-card > strong {
	display: block;
	margin-bottom: 18px;
	color: #ffffff;
	font-size: 21px;
	line-height: 1.25;
}

.dashboard-complete-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.dashboard-complete-summary span {
	padding: 12px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.09);
	color: rgba(255, 255, 255, 0.8);
	font-size: 12px;
}

.dashboard-complete-summary b {
	display: block;
	margin-bottom: 3px;
	color: #ffffff;
	font-size: 22px;
}

.dashboard-complete-actions {
	display: grid;
	gap: 8px;
}

.dashboard-complete-actions a {
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.dashboard-complete-actions a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.dashboard-complete-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 26px;
	padding: 28px;
	border-radius: 22px;
	background:
		linear-gradient(
			135deg,
			#1f355a 0%,
			#2a4778 100%
		);
	color: #ffffff;
}

.dashboard-complete-banner h2 {
	margin: 7px 0 9px;
	color: #ffffff;
}

.dashboard-complete-banner p:last-child {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.76);
}

.dashboard-complete-banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

@media screen and (max-width: 760px) {

	.dashboard-complete-banner {
		align-items: stretch;
		flex-direction: column;
	}

	.dashboard-complete-banner-actions {
		flex-direction: column;
	}

	.dashboard-complete-banner-actions .button {
		width: 100%;
	}

}
/* =========================================================
   CANDIDATURES — AJOUT ET SUIVI
   ========================================================= */

.application-form {
	display: grid;
	gap: 24px;
}

.application-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.application-success-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 18px 0 26px;
}

.application-stats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0;
}

.application-stat-card {
	display: flex;
	flex-direction: column;
	padding: 18px;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--surface);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--shadow-soft);
}

.application-stat-card:hover {
	transform: translateY(-2px);
}

.application-stat-card > span {
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.application-stat-card strong {
	margin: 7px 0 4px;
	font-size: 30px;
	line-height: 1;
}

.application-stat-card small {
	color: var(--muted);
}

.application-stat-card.is-highlighted {
	background: #17243d;
	color: #ffffff;
}

.application-stat-card.is-highlighted > span,
.application-stat-card.is-highlighted small {
	color: rgba(255, 255, 255, 0.72);
}

.application-toolbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 30px 0;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--surface);
}

.application-filter {
	min-width: 260px;
}

.application-filter .form-group {
	margin: 0;
}

.applications-list {
	display: grid;
	gap: 18px;
}

.application-card {
	padding: 24px;
	border: 1px solid var(--border);
	border-radius: 22px;
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}

.application-card-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.application-card-date {
	margin: 0 0 7px;
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}

.application-card h2 {
	margin: 0 0 5px;
}

.application-card-position {
	margin: 0;
	color: var(--muted);
}

.application-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.application-status.is-positive {
	background: rgba(30, 145, 85, 0.12);
	color: #197348;
}

.application-status.is-negative {
	background: rgba(190, 55, 55, 0.12);
	color: #a82f2f;
}

.application-status.is-pending {
	background: rgba(218, 144, 27, 0.14);
	color: #9b620d;
}

.application-status.is-no-response {
	background: rgba(92, 102, 121, 0.12);
	color: #4e586b;
}

.application-card-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 22px 0;
}

.application-card-details > div {
	padding: 14px;
	border-radius: 14px;
	background: rgba(20, 31, 53, 0.045);
}

.application-card-details span {
	display: block;
	margin-bottom: 4px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.application-card-details strong {
	font-size: 14px;
}

.application-alert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 16px 0;
	padding: 14px 16px;
	border-radius: 14px;
}

.application-alert.is-interview {
	background: rgba(39, 100, 180, 0.11);
	color: #245b9e;
}

.application-alert.is-reminder {
	background: rgba(218, 144, 27, 0.13);
	color: #8d5b0f;
}

.application-card-note,
.application-card-notes {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 14px;
}

.application-card-note p {
	margin: 7px 0 0;
}

.application-card-notes summary {
	cursor: pointer;
	font-weight: 800;
}

.application-card-notes > div {
	margin-top: 12px;
}

.application-card-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

.application-empty {
	text-align: center;
}

@media screen and (max-width: 1080px) {

	.application-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

}

@media screen and (max-width: 720px) {

	.application-form-grid,
	.application-card-details {
		grid-template-columns: 1fr;
	}

	.application-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.application-toolbar,
	.application-card-header,
	.application-alert {
		align-items: stretch;
		flex-direction: column;
	}

	.application-filter {
		min-width: 0;
	}

	.application-toolbar .button,
	.application-card-actions .button {
		width: 100%;
	}

}

@media screen and (max-width: 460px) {

	.application-stats {
		grid-template-columns: 1fr;
	}

}
/* =========================================================
   TABLEAU DE BORD — CANDIDATURES COMPACTES
   ========================================================= */

.dashboard-stats {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-complete-summary {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-applications-card {
	padding: 22px;
}

.dashboard-applications-card-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border);
}

.dashboard-applications-card-header h2 {
	margin: 7px 0 0;
	font-size: 24px;
}

.dashboard-applications-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 18px 0;
}

.dashboard-applications-summary > div {
	padding: 12px 8px;
	border-radius: 13px;
	background: rgba(20, 31, 53, 0.05);
	text-align: center;
}

.dashboard-applications-summary strong {
	display: block;
	font-size: 24px;
	line-height: 1;
}

.dashboard-applications-summary span {
	display: block;
	margin-top: 5px;
	color: var(--muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.dashboard-latest-application {
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 15px;
	background: rgba(20, 31, 53, 0.025);
}

.dashboard-latest-application > p {
	margin: 0 0 6px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.dashboard-latest-application h3 {
	margin: 0 0 4px;
	font-size: 18px;
}

.dashboard-latest-application > span {
	color: var(--muted);
	font-size: 13px;
}

.dashboard-latest-application-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
}

.dashboard-application-add {
	width: 100%;
	margin-top: 16px;
}

@media screen and (max-width: 1080px) {

	.dashboard-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

}

@media screen and (max-width: 760px) {

	.dashboard-stats,
	.dashboard-complete-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 460px) {

	.dashboard-stats,
	.dashboard-complete-summary,
	.dashboard-applications-summary {
		grid-template-columns: 1fr;
	}

}
/* =========================================================
   CANDIDATURES — AJOUT ET SUIVI
   ========================================================= */

.application-form {
	display: grid;
	gap: 24px;
}

.application-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.application-success-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 18px 0 26px;
}

.application-stats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0;
}

.application-stat-card {
	display: flex;
	flex-direction: column;
	padding: 18px;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--surface);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--shadow-soft);
}

.application-stat-card:hover {
	transform: translateY(-2px);
}

.application-stat-card > span {
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.application-stat-card strong {
	margin: 7px 0 4px;
	font-size: 30px;
	line-height: 1;
}

.application-stat-card small {
	color: var(--muted);
}

.application-stat-card.is-highlighted {
	background: #17243d;
	color: #ffffff;
}

.application-stat-card.is-highlighted > span,
.application-stat-card.is-highlighted small {
	color: rgba(255, 255, 255, 0.72);
}

.application-toolbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 30px 0;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--surface);
}

.application-filter {
	min-width: 260px;
}

.application-filter .form-group {
	margin: 0;
}

.applications-list {
	display: grid;
	gap: 18px;
}

.application-card {
	padding: 24px;
	border: 1px solid var(--border);
	border-radius: 22px;
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}

.application-card-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.application-card-date {
	margin: 0 0 7px;
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}

.application-card h2 {
	margin: 0 0 5px;
}

.application-card-position {
	margin: 0;
	color: var(--muted);
}

.application-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.application-status.is-positive {
	background: rgba(30, 145, 85, 0.12);
	color: #197348;
}

.application-status.is-negative {
	background: rgba(190, 55, 55, 0.12);
	color: #a82f2f;
}

.application-status.is-pending {
	background: rgba(218, 144, 27, 0.14);
	color: #9b620d;
}

.application-status.is-no-response {
	background: rgba(92, 102, 121, 0.12);
	color: #4e586b;
}

.application-card-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 22px 0;
}

.application-card-details > div {
	padding: 14px;
	border-radius: 14px;
	background: rgba(20, 31, 53, 0.045);
}

.application-card-details span {
	display: block;
	margin-bottom: 4px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.application-card-details strong {
	font-size: 14px;
}

.application-alert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 16px 0;
	padding: 14px 16px;
	border-radius: 14px;
}

.application-alert.is-interview {
	background: rgba(39, 100, 180, 0.11);
	color: #245b9e;
}

.application-alert.is-reminder {
	background: rgba(218, 144, 27, 0.13);
	color: #8d5b0f;
}

.application-card-note,
.application-card-notes {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 14px;
}

.application-card-note p {
	margin: 7px 0 0;
}

.application-card-notes summary {
	cursor: pointer;
	font-weight: 800;
}

.application-card-notes > div {
	margin-top: 12px;
}

.application-card-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

.application-empty {
	text-align: center;
}

@media screen and (max-width: 1080px) {

	.application-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

}

@media screen and (max-width: 720px) {

	.application-form-grid,
	.application-card-details {
		grid-template-columns: 1fr;
	}

	.application-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.application-toolbar,
	.application-card-header,
	.application-alert {
		align-items: stretch;
		flex-direction: column;
	}

	.application-filter {
		min-width: 0;
	}

	.application-toolbar .button,
	.application-card-actions .button {
		width: 100%;
	}

}

@media screen and (max-width: 460px) {

	.application-stats {
		grid-template-columns: 1fr;
	}

}
/* =========================================================
   MODIFICATION D’UNE CANDIDATURE
   Complément du fichier candidatures_pro.css
   ========================================================= */

.application-update-page {
	max-width: 1100px;
	margin-inline: auto;
}

.application-update-overview {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 24px 0;
	padding: 24px;
	border: 1px solid var(--border);
	border-radius: 22px;
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}

.application-update-overview h2 {
	margin: 7px 0 5px;
}

.application-update-overview p {
	margin-bottom: 0;
}

.application-update-status {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 9px;
	text-align: right;
}

.application-update-status small {
	color: var(--muted);
}

.application-update-page .success,
.application-update-page .error {
	margin: 20px 0;
}

.application-update-page .form-group small {
	display: block;
	margin: 6px 0 10px;
	color: var(--muted);
	line-height: 1.45;
}

@media screen and (max-width: 720px) {

	.application-update-overview {
		align-items: flex-start;
		flex-direction: column;
	}

	.application-update-status {
		align-items: flex-start;
		text-align: left;
	}

}
/* =========================================================
   GESTION DU COMPTE ET DES DONNÉES
   ========================================================= */

.account-security-email {
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(20, 31, 53, 0.05);
	word-break: break-word;
}

.account-management-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 350px;
	gap: 24px;
	align-items: start;
	margin-top: 28px;
}

.account-management-main,
.account-management-sidebar {
	display: grid;
	gap: 20px;
}

.account-management-sidebar {
	position: sticky;
	top: 110px;
}

.account-management-card {
	padding: 24px;
}

.account-management-card form {
	display: grid;
	gap: 16px;
	margin-top: 20px;
}

.account-management-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.account-management-photo {
	display: block;
	width: 150px;
	height: 150px;
	margin: 18px auto;
	border-radius: 20px;
	object-fit: cover;
}

.account-danger-zone {
	border-color: rgba(180, 40, 40, 0.28);
	background: rgba(180, 40, 40, 0.035);
}

.account-danger-zone details {
	margin-top: 18px;
}

.account-danger-zone summary {
	cursor: pointer;
	font-weight: 800;
}

.account-danger-button {
	background: #a92f2f;
	color: #ffffff;
}

.account-danger-button:hover {
	background: #8f2525;
}

@media screen and (max-width: 960px) {

	.account-management-grid {
		grid-template-columns: 1fr;
	}

	.account-management-sidebar {
		position: static;
	}

}

@media screen and (max-width: 620px) {

	.account-management-fields {
		grid-template-columns: 1fr;
	}

}
/* =========================================================
   NAVIGATION — PAGE ACTIVE
   ========================================================= */

.main-member-navigation a.is-active,
.main-member-navigation a[aria-current="page"] {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.main-member-navigation a.is-active:hover,
.main-member-navigation a[aria-current="page"]:hover {
	background: rgba(255, 255, 255, 0.18);
}
/* =========================================================
   PAGE CONTACT
   ========================================================= */

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 24px;
	align-items: start;
	margin-top: 28px;
}

.contact-main {
	min-width: 0;
}

.contact-sidebar {
	display: grid;
	gap: 18px;
	position: sticky;
	top: 110px;
}

.contact-form {
	padding: 28px;
}

.contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 24px 0;
}

.contact-form-full {
	grid-column: 1 / -1;
}

.contact-antispam {
	max-width: 240px;
}

.contact-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.contact-page .success,
.contact-page .error {
	margin: 22px 0;
}

@media screen and (max-width: 900px) {

	.contact-layout {
		grid-template-columns: 1fr;
	}

	.contact-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-account-card {
		grid-column: 1 / -1;
	}

}

@media screen and (max-width: 620px) {

	.contact-form-grid,
	.contact-sidebar {
		grid-template-columns: 1fr;
	}

	.contact-form {
		padding: 22px;
	}

	.contact-antispam {
		max-width: none;
	}

}
/* =========================================================
   PAGE CV — AMÉLIORATIONS
   ========================================================= */

.cv-profile-warning {
	border-color: rgba(218, 144, 27, 0.28);
	background: rgba(218, 144, 27, 0.045);
}

.cv-profile-ready {
	border-color: rgba(30, 145, 85, 0.22);
	background: rgba(30, 145, 85, 0.035);
}

.cv-card-statuses {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.cv-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}

.cv-status-badge.is-incomplete {
	background: rgba(218, 144, 27, 0.14);
	color: #915c0d;
}

.cv-status-badge.is-ready {
	background: rgba(30, 145, 85, 0.12);
	color: #197348;
}

.cv-duplicate-form,
.cv-delete-form {
	margin: 0;
}

@media screen and (max-width: 700px) {

	.cv-card-statuses {
		justify-content: flex-start;
	}

}
/* =========================================================
   PERSONNALISATION DU CV — ACCESSIBILITÉ ET MOBILE
   ========================================================= */

.cv-order-mobile-controls {
	display: none;
	gap: 8px;
	flex-wrap: wrap;
}

.cv-order-mobile-controls form {
	margin: 0;
}

.cv-order-move-button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

@media screen and (max-width: 900px), (pointer: coarse) {

	.cv-order-mobile-controls {
		display: flex;
	}

	.cv-drag-handle {
		display: none;
	}

	.cv-order-actions {
		gap: 12px;
		flex-wrap: wrap;
	}

}

@media screen and (max-width: 560px) {

	.cv-order-mobile-controls {
		width: 100%;
	}

	.cv-order-mobile-controls form,
	.cv-order-mobile-controls .button {
		flex: 1 1 120px;
	}

}
/* =========================================================
   PAGE CV — ALIGNEMENT DES ACTIONS
   ========================================================= */

.cv-card-actions-row {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;
	width: 100%;
	overflow-x: auto;
	padding-bottom: 4px;
}

.cv-card-actions-row > a,
.cv-card-actions-row > details,
.cv-card-actions-row > form {
	flex: 0 0 auto;
	margin: 0;
}

.cv-card-actions-row .button,
.cv-card-actions-row summary.button {
	white-space: nowrap;
}

@media screen and (max-width: 760px) {

	.cv-card-actions-row {
		flex-wrap: wrap;
		overflow-x: visible;
	}

}
/* =========================================================
   PAGE CV — ACTIONS MODERNES
   ========================================================= */

.cv-card-actions {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #e2e8f0;
}

.cv-card-primary-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.cv-action-main {
	margin-right: 2px;
}

.cv-card-secondary-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.cv-card-secondary-actions form {
	margin: 0;
}

.cv-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	color: #334155;
	background: #ffffff;
	font-size: 23px;
	line-height: 1;
	cursor: pointer;
	transition:
		transform 0.18s ease,
		border-color 0.18s ease,
		background-color 0.18s ease,
		color 0.18s ease;
}

.cv-icon-button:hover {
	transform: translateY(-1px);
	border-color: #94a3b8;
	background: #f8fafc;
}

.cv-icon-button-danger {
	color: #b42318;
}

.cv-icon-button-danger:hover {
	border-color: #f1a7a0;
	background: #fff5f4;
	color: #8f1b13;
}


/* =========================================================
   PANNEAU DE PERSONNALISATION
   ========================================================= */

.cv-personalization-panel-modern {
	margin-top: 18px;
	padding: 24px;
	border: 1px solid #dbe5f1;
	border-radius: 16px;
	background: #f8fafc;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
	animation: cvPanelOpen 0.2s ease-out;
}

.cv-personalization-panel-modern[hidden] {
	display: none;
}

@keyframes cvPanelOpen {

	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}

}

.cv-personalization-panel-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid #dbe5f1;
}

.cv-personalization-panel-header h3 {
	margin: 0;
}

.cv-personalization-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 9px;
	color: #64748b;
	background: transparent;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
}

.cv-personalization-close:hover {
	color: #0f172a;
	background: #e9eef5;
}

.cv-personalization-grid {
	display: grid;
	grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
	gap: 20px;
}

.cv-personalization-form-modern textarea {
	min-height: 150px;
	resize: vertical;
}

.cv-personalization-footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid #dbe5f1;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 760px) {

	.cv-card-primary-actions {
		align-items: stretch;
	}

	.cv-card-primary-actions > .button {
		flex: 1 1 calc(50% - 8px);
		text-align: center;
	}

	.cv-card-secondary-actions {
		width: 100%;
		margin-left: 0;
		justify-content: flex-end;
	}

	.cv-personalization-grid {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 520px) {

	.cv-card-primary-actions > .button {
		flex-basis: 100%;
	}

	.cv-personalization-panel-modern {
		padding: 18px;
	}

	.cv-personalization-footer {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.cv-personalization-footer .button {
		width: 100%;
	}

}
/* =========================================================
   SUIVI DES CANDIDATURES — MODIFICATION SANS RECHARGEMENT
   ========================================================= */

.application-inline-edit {
	margin-top: 18px;
	padding: 22px;
	border: 1px solid #dbe5f1;
	border-radius: 16px;
	background: #f8fafc;
	animation: applicationEditOpen 0.2s ease-out;
}

.application-inline-edit[hidden] {
	display: none;
}

@keyframes applicationEditOpen {

	from {
		opacity: 0;
		transform: translateY(-5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}

}

.application-inline-edit-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid #dbe5f1;
}

.application-inline-edit-header h3 {
	margin: 0;
}

.application-inline-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 9px;
	color: #64748b;
	background: transparent;
	font-size: 25px;
	cursor: pointer;
}

.application-inline-close:hover {
	color: #0f172a;
	background: #e9eef5;
}

.application-inline-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.application-inline-full {
	grid-column: 1 / -1;
}

.application-inline-feedback {
	min-height: 24px;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 700;
}

.application-inline-feedback.is-loading {
	color: #475569;
}

.application-inline-feedback.is-success {
	color: #18784a;
}

.application-inline-feedback.is-error {
	color: #b42318;
}

.application-inline-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #dbe5f1;
}

@media screen and (max-width: 640px) {

	.application-inline-grid {
		grid-template-columns: 1fr;
	}

	.application-inline-full {
		grid-column: auto;
	}

	.application-inline-actions {
		flex-direction: column-reverse;
	}

	.application-inline-actions .button {
		width: 100%;
	}

}
/* =========================================================
   PAGE CV — APERÇU EN FENÊTRE MODALE
   ========================================================= */

body.cv-preview-opened {
	overflow: hidden;
}

.cv-preview-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 24px;
}

.cv-preview-modal[hidden] {
	display: none;
}

.cv-preview-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.72);
	backdrop-filter: blur(4px);
}

.cv-preview-dialog {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: min(1180px, 96vw);
	height: min(900px, 94vh);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 28px 80px rgba(15, 23, 42, 0.35);
	animation: cvPreviewOpen 0.2s ease-out;
}

@keyframes cvPreviewOpen {

	from {
		opacity: 0;
		transform: translateY(10px) scale(0.985);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

}

.cv-preview-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 22px;
	border-bottom: 1px solid #e2e8f0;
	background: #ffffff;
}

.cv-preview-header h2 {
	margin: 0;
	font-size: 21px;
}

.cv-preview-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	color: #475569;
	background: #f1f5f9;
	font-size: 27px;
	line-height: 1;
	cursor: pointer;
}

.cv-preview-close:hover {
	color: #0f172a;
	background: #e2e8f0;
}

.cv-preview-body {
	position: relative;
	flex: 1;
	min-height: 0;
	background: #e9eef5;
}

.cv-preview-frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #ffffff;
}

.cv-preview-loading {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: grid;
	place-items: center;
	color: #475569;
	background: #f8fafc;
	font-weight: 700;
}

.cv-preview-loading[hidden] {
	display: none;
}

@media screen and (max-width: 760px) {

	.cv-preview-modal {
		padding: 0;
	}

	.cv-preview-dialog {
		width: 100vw;
		height: 100vh;
		border: 0;
		border-radius: 0;
	}

}
/* =========================================================
   VIEW CV — UNE PAGE A4 + ACTIONS À DROITE
   VERSION CORRIGÉE
   ========================================================= */

:root {
	--cv-page-width: 210mm;
	--cv-page-height: 297mm;
}

html,
body {
	min-height: 100%;
}

body {
	margin: 0;
	background: #eef2f7;
}

.cv-workspace {
	display: grid;
	grid-template-columns: var(--cv-page-width) 250px;
	justify-content: center;
	align-items: start;
	gap: 28px;
	padding: 28px;
}

.cv-page-shell {
	width: var(--cv-page-width);
	height: var(--cv-page-height);
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 18px 55px rgba(15, 23, 42, 0.16);
}

.cv-document {
	display: block !important;
	width: var(--cv-page-width) !important;
	height: var(--cv-page-height) !important;
	min-height: var(--cv-page-height) !important;
	margin: 0 !important;
	overflow: hidden !important;
	background: #ffffff;
	box-shadow: none !important;
}

/*
 * Le wrapper ajouté pour la réduction doit reprendre
 * la grille du CV. Sans cela, la colonne principale
 * passe sous la colonne latérale.
 */
.cv-document-scale {
	display: grid;
	grid-template-columns: 31% 69%;
	align-items: stretch;
	width: 100%;
	min-height: var(--cv-page-height);
	transform-origin: top left;
	will-change: transform;
}

.cv-document-scale > .cv-sidebar {
	grid-column: 1;
	min-width: 0;
	height: auto;
}

.cv-document-scale > .cv-main {
	grid-column: 2;
	min-width: 0;
	height: auto;
}

/* =========================================================
   ACTIONS À DROITE
   ========================================================= */

.cv-side-actions {
	position: sticky;
	top: 24px;
	display: grid;
	gap: 16px;
	width: 250px;
}

.cv-side-actions-card,
.cv-side-info {
	padding: 20px;
	border: 1px solid #dbe4ef;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.cv-side-actions-eyebrow {
	margin: 0 0 6px;
	color: #2563eb;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cv-side-actions-card h2 {
	margin: 0 0 18px;
	color: #0f172a;
	font-size: 22px;
}

.cv-side-actions-card .cv-action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 0 10px;
	box-sizing: border-box;
	text-align: center;
}

.cv-side-actions-card .cv-action:last-child {
	margin-bottom: 0;
}

.cv-side-info strong {
	display: block;
	margin-bottom: 6px;
	color: #0f172a;
}

.cv-side-info p {
	margin: 0 0 8px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.45;
}

.cv-fit-status {
	color: #2563eb !important;
	font-weight: 700;
}

/* =========================================================
   PROTECTION DES BLOCS
   ========================================================= */

.cv-document .cv-sidebar-section,
.cv-document .cv-profile,
.cv-document .cv-experience,
.cv-document .cv-company-role {
	break-inside: avoid;
	page-break-inside: avoid;
}

.cv-document .cv-rich-text p:last-child {
	margin-bottom: 0;
}

/* =========================================================
   RESPONSIVE ÉCRAN
   ========================================================= */

@media screen and (max-width: 1120px) {

	.cv-workspace {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.cv-side-actions {
		position: static;
		grid-row: 1;
		width: min(100%, var(--cv-page-width));
		grid-template-columns: 1fr;
	}

	.cv-side-actions-card {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.cv-side-actions-card h2,
	.cv-side-actions-eyebrow {
		grid-column: 1 / -1;
	}

	.cv-side-actions-card .cv-action {
		margin: 0;
	}

}

@media screen and (max-width: 760px) {

	.cv-workspace {
		display: block;
		padding: 12px;
		overflow-x: auto;
	}

	.cv-side-actions {
		width: 100%;
		min-width: 320px;
		margin-bottom: 14px;
	}

	.cv-side-actions-card {
		grid-template-columns: 1fr;
	}

}

/* =========================================================
   IMPRESSION
   ========================================================= */

@page {
	size: A4 portrait;
	margin: 0;
}

@media print {

	html,
	body {
		width: 210mm;
		height: 297mm;
		margin: 0 !important;
		padding: 0 !important;
		background: #ffffff !important;
		overflow: hidden !important;
	}

	.cv-workspace {
		display: block !important;
		width: 210mm !important;
		height: 297mm !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.cv-side-actions {
		display: none !important;
	}

	.cv-page-shell,
	.cv-document {
		width: 210mm !important;
		height: 297mm !important;
		min-height: 297mm !important;
		margin: 0 !important;
		box-shadow: none !important;
		overflow: hidden !important;
	}

	.cv-document-scale {
		display: grid !important;
		grid-template-columns: 31% 69% !important;
		transform-origin: top left !important;
		transform:
			scale(var(--cv-scale, 1))
			!important;
		width:
			calc(
				100% / var(--cv-scale, 1)
			)
			!important;
	}

}


/* =========================================================
   CONTRÔLE DE RÉDUCTION
   ========================================================= */

.cv-scale-mode {
	margin-top: 16px;
}

.cv-scale-auto {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #0f172a;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.cv-scale-auto input {
	width: auto;
	margin: 0;
}

.cv-scale-control {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #e2e8f0;
}

.cv-scale-control-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.cv-scale-control-heading label {
	color: #334155;
	font-size: 13px;
	font-weight: 700;
}

.cv-scale-control-heading output {
	color: #2563eb;
	font-size: 14px;
	font-weight: 800;
}

#cv-scale-range {
	width: 100%;
	margin: 0;
	accent-color: #2563eb;
}

#cv-scale-range:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}


@media print {

	.cv-scale-mode,
	.cv-scale-control {
		display: none !important;
	}

}


.cv-scale-control {
	margin-top: 14px;
}

.cv-scale-control-heading {
	margin-bottom: 12px;
}

#cv-scale-range {
	cursor: pointer;
}

#cv-scale-range:disabled {
	cursor: not-allowed;
}
/* =========================================================
   PAGE 404
   À ajouter à la fin de style.css si nécessaire
   ========================================================= */

.error-404-page {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 58vh;
}

.error-404-card {
	width: min(100%, 720px);
	text-align: center;
	padding: clamp(32px, 7vw, 72px);
}

.error-404-card h1 {
	margin-bottom: 18px;
	font-size: clamp(2.4rem, 8vw, 5rem);
}

.error-404-message {
	max-width: 520px;
	margin: 0 auto;
	font-size: clamp(1.05rem, 2.5vw, 1.3rem);
	line-height: 1.7;
}

.error-404-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 32px;
}
/* =========================================================
   FOIRE AUX QUESTIONS
   À ajouter à la fin de style.css
   ========================================================= */

.faq-page {
	width: min(100% - 32px, 960px);
	margin: 0 auto;
	padding: 48px 0 72px;
}

.faq-hero {
	max-width: 760px;
	margin: 0 auto 34px;
	text-align: center;
}

.faq-eyebrow {
	margin: 0 0 10px;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2563eb;
}

.faq-hero h1 {
	margin: 0 0 16px;
	font-size: clamp(2.1rem, 6vw, 3.7rem);
	line-height: 1.05;
	color: #0f172a;
}

.faq-intro {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.75;
	color: #64748b;
}

.faq-list {
	display: grid;
	gap: 14px;
}

.faq-item {
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.faq-item summary {
	position: relative;
	padding: 20px 58px 20px 22px;
	font-weight: 800;
	line-height: 1.4;
	color: #0f172a;
	cursor: pointer;
	list-style: none;
}

.faq-item summary::-webkit-details-marker {
	display: none;
}

.faq-item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 22px;
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #eff6ff;
	color: #2563eb;
	font-size: 1.25rem;
	transform: translateY(-50%);
}

.faq-item[open] summary::after {
	content: "−";
}

.faq-item[open] summary {
	border-bottom: 1px solid #e2e8f0;
}

.faq-answer {
	padding: 18px 22px 22px;
	color: #475569;
	line-height: 1.75;
}

.faq-answer p {
	margin: 0;
}

.faq-answer p + p {
	margin-top: 12px;
}

.faq-answer a {
	color: #2563eb;
	font-weight: 700;
	text-decoration: none;
}

.faq-answer a:hover {
	text-decoration: underline;
}

@media (max-width: 640px) {

	.faq-page {
		width: min(100% - 22px, 960px);
		padding-top: 30px;
	}

	.faq-item summary {
		padding: 17px 52px 17px 17px;
	}

	.faq-answer {
		padding: 16px 17px 19px;
	}

}
/* =========================================================
   MENTIONS LÉGALES, CGU ET CONFIDENTIALITÉ
   À ajouter à la fin de style.css
   ========================================================= */

.legal-page {
	width: min(100% - 32px, 1040px);
	margin: 0 auto;
	padding: 48px 0 80px;
}

.legal-hero {
	max-width: 850px;
	margin: 0 auto 30px;
	text-align: center;
}

.legal-eyebrow {
	margin: 0 0 10px;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2563eb;
}

.legal-hero h1 {
	margin: 0 0 18px;
	font-size: clamp(2rem, 5.5vw, 3.6rem);
	line-height: 1.08;
	color: #0f172a;
}

.legal-intro {
	max-width: 760px;
	margin: 0 auto;
	font-size: 1.05rem;
	line-height: 1.75;
	color: #64748b;
}

.legal-update {
	margin: 16px 0 0;
	font-size: 0.9rem;
	font-weight: 700;
	color: #64748b;
}

.legal-summary {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 0 30px;
	padding: 16px;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 12px 35px rgba(15, 23, 42, 0.06);
}

.legal-summary a {
	padding: 9px 13px;
	border-radius: 999px;
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none;
}

.legal-summary a:hover {
	background: #dbeafe;
}

.legal-content {
	display: grid;
	gap: 22px;
}

.legal-card {
	position: relative;
	padding: clamp(24px, 5vw, 44px);
	border: 1px solid #e2e8f0;
	border-radius: 22px;
	background: #ffffff;
	box-shadow: 0 16px 45px rgba(15, 23, 42, 0.07);
	scroll-margin-top: 24px;
}

.legal-section-number {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.16em;
	color: #2563eb;
}

.legal-card h2 {
	margin: 0 0 24px;
	font-size: clamp(1.6rem, 4vw, 2.3rem);
	line-height: 1.15;
	color: #0f172a;
}

.legal-card h3 {
	margin: 28px 0 10px;
	font-size: 1.1rem;
	color: #0f172a;
}

.legal-card p,
.legal-card li,
.legal-address {
	color: #475569;
	line-height: 1.75;
}

.legal-card p {
	margin: 0;
}

.legal-card p + p {
	margin-top: 12px;
}

.legal-card ul {
	margin: 12px 0 0;
	padding-left: 22px;
}

.legal-card li + li {
	margin-top: 8px;
}

.legal-card a {
	color: #2563eb;
	font-weight: 700;
}

.legal-address {
	margin: 14px 0 0;
	padding: 16px 18px;
	border-left: 4px solid #2563eb;
	border-radius: 0 12px 12px 0;
	background: #f8fafc;
	font-style: normal;
}

.legal-table-wrapper {
	margin-top: 16px;
	overflow-x: auto;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
}

.legal-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 580px;
}

.legal-table th,
.legal-table td {
	padding: 14px 16px;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
	vertical-align: top;
	line-height: 1.55;
}

.legal-table th {
	background: #f8fafc;
	color: #0f172a;
	font-size: 0.92rem;
}

.legal-table td {
	color: #475569;
}

.legal-table tr:last-child td {
	border-bottom: 0;
}

.legal-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px !important;
}

.legal-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 18px;
	border-radius: 12px;
	text-decoration: none;
}

.legal-button-primary {
	background: #2563eb;
	color: #ffffff !important;
}

.legal-button-primary:hover {
	background: #1d4ed8;
}

.legal-button-secondary {
	border: 1px solid #cbd5e1;
	background: #ffffff;
	color: #0f172a !important;
}

@media (max-width: 640px) {

	.legal-page {
		width: min(100% - 22px, 1040px);
		padding-top: 30px;
	}

	.legal-summary {
		justify-content: flex-start;
	}

	.legal-card {
		padding: 22px 18px;
		border-radius: 18px;
	}

}
/* =========================================================
   PAGE D’AJOUT D’ARTICLE
   À ajouter à la fin de style.css
   ========================================================= */

.article-editor-page {
	width: min(100% - 32px, 1040px);
	margin: 0 auto;
	padding: 46px 0 76px;
}

.article-editor-hero {
	max-width: 760px;
	margin: 0 auto 32px;
	text-align: center;
}

.article-editor-eyebrow,
.article-editor-section-number {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2563eb;
}

.article-editor-hero h1 {
	margin: 0 0 14px;
	font-size: clamp(2.1rem, 6vw, 3.7rem);
	line-height: 1.05;
	color: #0f172a;
}

.article-editor-hero p {
	margin: 0;
	font-size: 1.04rem;
	line-height: 1.7;
	color: #64748b;
}

.article-editor-alert {
	margin: 0 0 20px;
	padding: 16px 18px;
	border-radius: 14px;
}

.article-editor-alert strong {
	display: block;
	margin-bottom: 4px;
}

.article-editor-alert p {
	margin: 0;
	line-height: 1.6;
}

.article-editor-alert-success {
	border: 1px solid #bbf7d0;
	background: #f0fdf4;
	color: #166534;
}

.article-editor-alert-error {
	border: 1px solid #fecaca;
	background: #fef2f2;
	color: #991b1b;
}

.article-editor-form {
	display: grid;
	gap: 22px;
}

.article-editor-card {
	padding: clamp(22px, 5vw, 38px);
	border: 1px solid #e2e8f0;
	border-radius: 22px;
	background: #ffffff;
	box-shadow: 0 16px 45px rgba(15, 23, 42, 0.07);
}

.article-editor-section-heading {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 26px;
}

.article-editor-section-heading h2 {
	margin: 0 0 6px;
	font-size: clamp(1.4rem, 4vw, 2rem);
	color: #0f172a;
}

.article-editor-section-heading p {
	margin: 0;
	color: #64748b;
	line-height: 1.6;
}

.article-editor-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
	gap: 18px;
}

.article-editor-field {
	display: grid;
	gap: 8px;
}

.article-editor-field label {
	font-weight: 800;
	color: #0f172a;
}

.article-editor-field input,
.article-editor-field textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	background: #ffffff;
	color: #0f172a;
	font: inherit;
}

.article-editor-field input {
	min-height: 48px;
	padding: 11px 14px;
}

.article-editor-field textarea {
	min-height: 420px;
	padding: 16px;
	line-height: 1.65;
	resize: vertical;
}

.article-editor-field input:focus,
.article-editor-field textarea:focus {
	outline: 3px solid rgba(37, 99, 235, 0.17);
	border-color: #2563eb;
}

.article-editor-field small {
	color: #64748b;
	line-height: 1.5;
}

.article-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 18px;
	padding: 12px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #f8fafc;
}

.article-editor-toolbar button {
	min-height: 38px;
	padding: 7px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 9px;
	background: #ffffff;
	color: #0f172a;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.article-editor-toolbar button:hover {
	border-color: #2563eb;
	color: #2563eb;
}

.article-editor-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
}

@media (max-width: 760px) {

	.article-editor-grid {
		grid-template-columns: 1fr;
	}

	.article-editor-actions {
		justify-content: stretch;
	}

	.article-editor-actions .button {
		flex: 1 1 100%;
	}

}

@media (max-width: 520px) {

	.article-editor-page {
		width: min(100% - 22px, 1040px);
		padding-top: 30px;
	}

	.article-editor-card {
		padding: 20px 16px;
		border-radius: 18px;
	}

	.article-editor-section-heading {
		display: block;
	}

	.article-editor-section-number {
		margin-bottom: 10px;
	}

}
.actions form {
    display: inline-flex;
    margin: 0;
}

.actions .action-supprimer {
    border-color: #efc1c7;
    color: #a23443;
}

.actions .action-supprimer:hover {
    border-color: #a23443;
    background: #fff0f2;
    color: #a23443;
}
.actions form {
    display: inline-flex;
    margin: 0;
}

.actions .action-supprimer {
    border-color: #efc1c7;
    color: #a23443;
}

.actions .action-supprimer:hover {
    border-color: #a23443;
    background: #fff0f2;
    color: #a23443;
}

.message-admin {
    padding: 14px 17px;
    margin-bottom: 20px;
    border-radius: 10px;
}

.message-admin-succes {
    border: 1px solid #b7e7cd;
    background: #e9f9f0;
    color: #176b40;
}
/* =========================================================
   ADMINISTRATION DES ARTICLES
   ========================================================= */

.admin-articles {
    width: min(1400px, calc(100% - 40px));
    margin: 40px auto 80px;
}

.admin-articles *,
.admin-articles *::before,
.admin-articles *::after {
    box-sizing: border-box;
}

/* =========================================================
   EN-TÊTE
   ========================================================= */

.admin-entete {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.admin-entete h1 {
    margin: 0;
    color: #18243a;
    font-size: 32px;
    line-height: 1.2;
}

.admin-entete p {
    max-width: 720px;
    margin: 8px 0 0;
    color: #687386;
    line-height: 1.6;
}

/* =========================================================
   BOUTONS PRINCIPAUX
   ========================================================= */

.bouton-principal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid #1e5eff;
    border-radius: 10px;
    background: #1e5eff;
    color: #ffffff;
    font: inherit;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.bouton-principal:hover {
    border-color: #164bd1;
    background: #164bd1;
    color: #ffffff;
    transform: translateY(-1px);
}

/* =========================================================
   MESSAGES
   ========================================================= */

.message-admin {
    padding: 14px 17px;
    margin-bottom: 20px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.message-admin-succes {
    border: 1px solid #b7e7cd;
    background: #e9f9f0;
    color: #176b40;
}

.message-admin-erreur {
    border: 1px solid #efc1c7;
    background: #fff0f2;
    color: #963342;
}

/* =========================================================
   STATISTIQUES
   ========================================================= */

.statistiques-articles {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.statistique-article {
    display: flex;
    min-height: 105px;
    padding: 18px;
    border: 1px solid #e1e6ef;
    border-radius: 14px;
    background: #ffffff;
    color: #35425a;
    text-decoration: none;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(35, 51, 78, 0.05);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.statistique-article:hover {
    border-color: #9bb4ff;
    box-shadow: 0 12px 28px rgba(35, 51, 78, 0.09);
    transform: translateY(-2px);
}

.statistique-active {
    border-color: #1e5eff;
    box-shadow: 0 0 0 3px rgba(30, 94, 255, 0.08);
}

.statistique-nombre {
    display: block;
    margin-bottom: 5px;
    color: #18243a;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.statistique-libelle {
    color: #6b7689;
    font-size: 13px;
    font-weight: 650;
}

/* =========================================================
   FILTRES
   ========================================================= */

.filtres-articles {
    display: grid;
    grid-template-columns:
        minmax(240px, 1.5fr)
        minmax(150px, 0.7fr)
        minmax(190px, 0.9fr)
        minmax(190px, 0.9fr)
        auto;
    gap: 12px;
    padding: 18px;
    margin-bottom: 20px;
    border: 1px solid #e1e6ef;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(35, 51, 78, 0.05);
}

.filtres-articles input,
.filtres-articles select {
    width: 100%;
    height: 44px;
    padding: 0 13px;
    border: 1px solid #d8deea;
    border-radius: 9px;
    background: #ffffff;
    color: #263248;
    font: inherit;
}

.filtres-articles input::placeholder {
    color: #8a94a5;
}

.filtres-articles input:focus,
.filtres-articles select:focus {
    outline: none;
    border-color: #1e5eff;
    box-shadow: 0 0 0 3px rgba(30, 94, 255, 0.12);
}

.bouton-filtrer {
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 9px;
    background: #18243a;
    color: #ffffff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    transition: background 0.2s ease;
}

.bouton-filtrer:hover {
    background: #263957;
}

/* =========================================================
   RÉSUMÉ DES RÉSULTATS
   ========================================================= */

.resume-articles {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 12px;
    color: #687386;
    font-size: 14px;
}

.reinitialiser-filtres {
    color: #1e5eff;
    font-weight: 650;
    text-decoration: none;
}

.reinitialiser-filtres:hover {
    text-decoration: underline;
}

/* =========================================================
   TABLEAU
   ========================================================= */

.tableau-conteneur {
    overflow-x: auto;
    border: 1px solid #e1e6ef;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(35, 51, 78, 0.05);
}

.tableau-articles {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
}

.tableau-articles th {
    padding: 14px 16px;
    border-bottom: 1px solid #e1e6ef;
    background: #f5f7fb;
    color: #58657a;
    font-size: 12px;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tableau-articles td {
    padding: 16px;
    border-bottom: 1px solid #edf0f5;
    color: #364258;
    vertical-align: middle;
}

.tableau-articles tbody tr:last-child td {
    border-bottom: 0;
}

.tableau-articles tbody tr:hover {
    background: #fafbfe;
}

/* =========================================================
   INFORMATIONS DE L’ARTICLE
   ========================================================= */

.article-titre {
    max-width: 360px;
}

.article-titre strong {
    display: block;
    margin-bottom: 6px;
    color: #18243a;
    font-size: 15px;
    line-height: 1.4;
}

.article-accroche {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 6px;
    color: #6e798c;
    font-size: 12px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.article-slug {
    display: block;
    overflow: hidden;
    max-width: 340px;
    color: #929bac;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nom-dossier {
    display: block;
    max-width: 210px;
    color: #35425a;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
}

.numero-chapitre,
.temps-lecture {
    display: block;
    margin-top: 5px;
    color: #8791a2;
    font-size: 11px;
}

.date-publication {
    display: block;
    color: #35425a;
    font-size: 13px;
    white-space: nowrap;
}

.valeur-vide {
    color: #939cad;
    font-size: 13px;
}

/* =========================================================
   CATÉGORIES
   ========================================================= */

.categorie {
    display: inline-flex;
    max-width: 180px;
    padding: 5px 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2ff;
    color: #36539c;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* =========================================================
   STATUTS
   ========================================================= */

.statut {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.statut-brouillon {
    background: #f1f3f6;
    color: #596274;
}

.statut-programme {
    background: #fff3d6;
    color: #956300;
}

.statut-publie {
    background: #ddf8e9;
    color: #187344;
}

.statut-archive {
    background: #f8e4e7;
    color: #9b3341;
}

/* =========================================================
   ACTIONS
   ========================================================= */

.actions {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    min-width: 310px;
}

.actions form {
    display: inline-flex;
    margin: 0;
}

.actions a,
.actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid #dce2ec;
    border-radius: 8px;
    background: #ffffff;
    color: #35425a;
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.actions a:hover,
.actions button:hover {
    border-color: #1e5eff;
    color: #1e5eff;
}

.actions .action-modifier {
    border-color: #1e5eff;
    background: #1e5eff;
    color: #ffffff;
}

.actions .action-modifier:hover {
    border-color: #164bd1;
    background: #164bd1;
    color: #ffffff;
}

.actions .action-publier {
    border-color: #b7e7cd;
    color: #176b40;
}

.actions .action-publier:hover {
    border-color: #176b40;
    background: #e9f9f0;
    color: #176b40;
}

.actions .action-supprimer {
    border-color: #efc1c7;
    color: #a23443;
}

.actions .action-supprimer:hover {
    border-color: #a23443;
    background: #fff0f2;
    color: #a23443;
}

/* =========================================================
   AUCUN ARTICLE
   ========================================================= */

.aucun-article {
    padding: 65px 20px;
    text-align: center;
}

.aucun-article h2 {
    margin: 0 0 10px;
    color: #18243a;
}

.aucun-article p {
    margin: 0 0 22px;
    color: #687386;
}

/* =========================================================
   ACCESSIBILITÉ
   ========================================================= */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 1200px) {
    .statistiques-articles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .filtres-articles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bouton-filtrer {
        grid-column: 1 / -1;
    }
}

@media screen and (max-width: 750px) {
    .admin-articles {
        width: min(100% - 24px, 1400px);
        margin-top: 24px;
    }

    .admin-entete {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-entete h1 {
        font-size: 27px;
    }

    .admin-entete .bouton-principal {
        width: 100%;
    }

    .statistiques-articles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filtres-articles {
        grid-template-columns: 1fr;
    }

    .bouton-filtrer {
        grid-column: auto;
    }

    .resume-articles {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media screen and (max-width: 480px) {
    .statistiques-articles {
        grid-template-columns: 1fr;
    }

    .statistique-article {
        min-height: 82px;
    }
}
.page-articles {
    width: min(1200px, calc(100% - 40px));
    margin: 32px auto 70px;
}

.entete-page-articles {
    margin-bottom: 30px;
}

.grille-articles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.carte-article {
    padding: 22px;
    border: 1px solid #dfe5ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(25, 40, 70, 0.06);
}

.carte-article h2 {
    margin: 0 0 12px;
    font-size: 22px;
    line-height: 1.35;
}

.carte-article h2 a {
    color: #18243a;
    text-decoration: none;
}

.carte-article h2 a:hover {
    color: #2f5cff;
}

.carte-article-accroche {
    margin: 0 0 16px;
    color: #687386;
    line-height: 1.6;
}

.carte-article-informations {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    color: #8791a2;
    font-size: 13px;
}

.lien-lire-article {
    display: inline-block;
    margin-top: 16px;
    color: #2f5cff;
    font-weight: 700;
    text-decoration: none;
}

@media screen and (max-width: 900px) {
    .grille-articles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 650px) {
    .grille-articles {
        grid-template-columns: 1fr;
    }
}
.article-public {
	width: min(900px, calc(100% - 40px));
	margin: 40px auto 80px;
}

.article-preview-message {
	padding: 12px 16px;
	margin-bottom: 20px;
	border-radius: 10px;
	background: #fff3d6;
	color: #8a5a00;
	font-weight: 700;
}

.article-fil-ariane {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
	color: #7a8598;
	font-size: 13px;
	flex-wrap: wrap;
}

.article-fil-ariane a {
	color: #2f5cff;
	text-decoration: none;
}

.article-public-entete {
	margin-bottom: 30px;
}

.article-public-categorie {
	margin: 0 0 12px;
	color: #2f5cff;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.article-public-entete h1 {
	margin: 0;
	color: #18243a;
	font-size: clamp(34px, 6vw, 56px);
	line-height: 1.15;
}

.article-public-accroche {
	margin: 18px 0 0;
	color: #687386;
	font-size: 18px;
	line-height: 1.7;
}

.article-public-informations {
	display: flex;
	gap: 12px;
	margin-top: 20px;
	color: #8791a2;
	font-size: 13px;
	flex-wrap: wrap;
}

.article-public-informations span + span::before {
	margin-right: 12px;
	content: "•";
}

.article-public-image {
	margin: 0 0 32px;
}

.article-public-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}

.article-public-dossier {
	padding: 18px;
	margin-bottom: 30px;
	border-left: 4px solid #2f5cff;
	border-radius: 8px;
	background: #f2f5ff;
}

.article-public-dossier p {
	margin: 0 0 5px;
	color: #687386;
}

.article-public-dossier a {
	color: #2f5cff;
	font-weight: 700;
	text-decoration: none;
}

.article-public-contenu {
	color: #29364c;
	font-size: 17px;
	line-height: 1.8;
}

.article-public-contenu h2 {
	margin: 42px 0 14px;
	color: #18243a;
	font-size: 30px;
}

.article-public-contenu h3 {
	margin: 30px 0 12px;
	color: #18243a;
	font-size: 23px;
}

.article-public-contenu p {
	margin: 0 0 20px;
}

.article-public-contenu ul,
.article-public-contenu ol {
	margin: 0 0 22px;
	padding-left: 25px;
}

.article-public-conclusion {
	padding: 24px;
	margin-top: 40px;
	border-radius: 14px;
	background: #f2f5ff;
}

.article-public-conclusion h2 {
	margin: 0 0 12px;
	color: #18243a;
}

.article-public-conclusion p {
	margin: 0;
	line-height: 1.7;
}

.article-public-footer {
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid #e1e6ef;
}

.article-retour {
	color: #2f5cff;
	font-weight: 700;
	text-decoration: none;
}

.article-introuvable {
	width: min(700px, calc(100% - 40px));
	margin: 60px auto;
	text-align: center;
}

@media screen and (max-width: 650px) {

	.article-public {
		width: min(100% - 24px, 900px);
		margin-top: 25px;
	}

	.article-public-entete h1 {
		font-size: 34px;
	}

	.article-public-accroche {
		font-size: 16px;
	}

}
.articles-actions-admin {
	display: flex;
	gap: 12px;
	margin-top: 22px;
	flex-wrap: wrap;
}

.carte-article-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 18px;
	flex-wrap: wrap;
}

.carte-article-actions .lien-lire-article {
	margin-top: 0;
}

.lien-modifier-article {
	display: inline-flex;
	align-items: center;
	padding: 7px 11px;
	border: 1px solid #d8deea;
	border-radius: 8px;
	background: #ffffff;
	color: #35425a;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.lien-modifier-article:hover {
	border-color: #2f5cff;
	color: #2f5cff;
}

.article-actions-admin {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

@media screen and (max-width: 650px) {

	.articles-actions-admin,
	.article-actions-admin {
		flex-direction: column;
	}

	.articles-actions-admin .button,
	.article-actions-admin .button {
		width: 100%;
	}

}
/* =========================================================
   SUIVI DES RELANCES
   À ajouter à la fin de la feuille CSS des candidatures
   ========================================================= */

.application-alert.is-late {
	border-color: #dc2626;
	background: rgba(220, 38, 38, 0.08);
}

.application-alert.is-upcoming {
	border-color: #2563eb;
	background: rgba(37, 99, 235, 0.08);
}

.application-relance-summary {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-height: 46px;
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba(148, 163, 184, 0.35);
	border-radius: 10px;
	background: rgba(148, 163, 184, 0.08);
}

.application-relance-summary strong {
	font-size: 1rem;
}

.application-relance-summary span {
	font-size: 0.88rem;
	opacity: 0.78;
}

.application-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	justify-content: flex-end;
}

@media (max-width: 720px) {
	.application-inline-actions .button {
		width: 100%;
	}
}
/* =========================================================
   ACCUEIL CONNECTÉ — CARTE DE PRIORITÉS
   À ajouter à la fin de la feuille CSS de l’accueil
   ========================================================= */

.dashboard-priority-card {
	width: min(100%, 290px);
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(4px);
}

.dashboard-priority-kicker {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.dashboard-priority-title {
	display: block;
	margin-bottom: 18px;
	font-size: 1.35rem;
	line-height: 1.25;
	color: #fff;
}

.dashboard-priority-list {
	display: grid;
	gap: 10px;
	margin-bottom: 18px;
}

.dashboard-priority-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 14px;
	border-radius: 13px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	text-decoration: none;
	transition:
		transform 0.2s ease,
		background 0.2s ease;
}

.dashboard-priority-list a:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.16);
}

.dashboard-priority-list span {
	font-size: 0.9rem;
	line-height: 1.25;
}

.dashboard-priority-list b {
	flex: 0 0 auto;
	font-size: 1.25rem;
}

.dashboard-priority-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.dashboard-priority-actions a {
	color: #fff;
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

.dashboard-priority-actions a:hover {
	text-decoration: underline;
}

@media (max-width: 760px) {
	.dashboard-priority-card {
		width: 100%;
	}
}
/* =========================================================
   FORMATIONS DANS LA COLONNE GAUCHE — VERSION COMPACTE
   Remplace l'ancien bloc CSS des formations
   ========================================================= */

.cv-sidebar-formations {
	margin-top: 16px;
}

.cv-sidebar-formations-list {
	display: grid;
	gap: 8px;
}

.cv-sidebar-formation-item {
	padding: 0 0 8px;
	margin: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.cv-sidebar-formation-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.cv-sidebar-formation-date {
	margin: 0 0 2px;
	font-size: 0.68rem;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: 0.03em;
	opacity: 0.72;
}

.cv-sidebar-formation-item h3 {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.15;
	color: inherit;
}

.cv-sidebar-formation-item p {
	margin: 2px 0 0;
	font-size: 0.73rem;
	line-height: 1.18;
}

.cv-sidebar-formation-diploma {
	margin-top: 1px !important;
	font-style: normal;
	opacity: 0.82;
}

/* Évite que le BBCode ou les règles globales ajoutent de grands espacements */
.cv-sidebar-formations p,
.cv-sidebar-formations h3 {
	padding: 0;
}

/* Compactage supplémentaire à l'impression / export PDF */
@media print {
	.cv-sidebar-formations {
		margin-top: 12px;
	}

	.cv-sidebar-formations-list {
		gap: 6px;
	}

	.cv-sidebar-formation-item {
		padding-bottom: 6px;
	}

	.cv-sidebar-formation-item h3 {
		line-height: 1.1;
	}

	.cv-sidebar-formation-item p {
		line-height: 1.12;
	}
}
/* =========================================================
   ACCUEIL — MISE EN PAGE PUBLIQUE ET TABLEAU DE BORD
   À ajouter à la fin de style.css
   ========================================================= */


/* ---------------------------------------------------------
   IMPORT DE CV
   --------------------------------------------------------- */

.home-import-section {
	margin-top: 38px;
}

.home-import-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.home-import-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.home-import-card .button,
.home-import-card .article-read-link {
	margin-top: auto;
}

.home-import-card.is-primary {
	border-color: #2563eb;
	box-shadow: 0 18px 45px rgba(37, 99, 235, 0.10);
}


/* ---------------------------------------------------------
   ACCUEIL CONNECTÉ
   --------------------------------------------------------- */

.dashboard-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 34px;
	align-items: start;
	margin-top: 0;
	padding-top: 0;
}

.dashboard-main,
.dashboard-sidebar {
	min-width: 0;
}

.dashboard-main {
	margin-top: 0;
	padding-top: 0;
}

.dashboard-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	align-content: start;
	margin-top: 0;
	padding-top: 0;
	position: static;
	top: auto;
	transform: none;
}


/* Bloc d'import connecté */

.accueil-import-cv {
	margin-top: 0;
	margin-bottom: 20px;
	padding: 24px;
	border: 1px solid #dbe4ef;
	border-radius: 20px;
	background: #f8fafc;
}

.dashboard-import-actions {
	display: flex;
	flex-wrap: wrap;
	column-gap: 16px;
	row-gap: 10px;
}


/* Articles connectés, toujours en haut à droite */

.accueil-articles-droite {
	order: 1;
	position: static;
	top: auto;
	transform: none;
	margin-top: 0;
	width: 100%;
	box-sizing: border-box;
}

.dashboard-shortcuts {
	order: 2;
}

.dashboard-applications-card {
	order: 3;
}

.dashboard-articles-list {
	display: grid;
	gap: 0;
}

.dashboard-article-item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid #e2e8f0;
}

.dashboard-article-item:last-child {
	border-bottom: 0;
}

.dashboard-article-number {
	font-weight: 800;
	color: #cbd5e1;
}

.dashboard-article-date {
	margin: 0 0 5px;
	font-size: 12px;
	color: #64748b;
}

.dashboard-article-item h3 {
	margin: 3px 0 7px;
	font-size: 17px;
	line-height: 1.3;
}

.dashboard-article-item p {
	margin-top: 0;
}


/* Accès rapide */

.dashboard-shortcuts nav {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}

.dashboard-shortcuts nav a {
	display: block;
	padding: 12px 14px;
	border-radius: 12px;
	background: #f8fafc;
}


/* Suivi des candidatures */

.dashboard-applications-summary {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* ---------------------------------------------------------
   ACCUEIL PUBLIC : ARTICLES À DROITE
   --------------------------------------------------------- */

.home-main-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 370px;
	gap: 34px;
	align-items: start;
}

.home-main-content,
.home-articles-sidebar {
	min-width: 0;
}

.home-articles-sidebar-inner {
	position: static;
	top: auto;
	padding: 24px;
	border: 1px solid #dbe4ef;
	border-radius: 20px;
	background: #ffffff;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.home-sidebar-article {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 12px;
	padding: 18px 0;
	border-bottom: 1px solid #e2e8f0;
}

.home-sidebar-article:last-child {
	border-bottom: 0;
}

.home-sidebar-article-number {
	font-weight: 800;
	color: #cbd5e1;
}

.home-sidebar-article-date {
	margin: 0 0 5px;
	font-size: 12px;
	color: #64748b;
}

.home-sidebar-article-content h3 {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.3;
}

.home-sidebar-article-excerpt {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.5;
	color: #64748b;
}

.home-sidebar-all-articles {
	width: 100%;
	margin-top: 16px;
}


/* ---------------------------------------------------------
   TABLETTE
   --------------------------------------------------------- */

@media (max-width: 1050px) and (min-width: 761px) {

	.dashboard-layout {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 24px;
	}

	.home-main-layout {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 24px;
	}

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 760px) {

	/* Masquer les sections trop lourdes sur mobile */
	.accueil-mobile-masquer {
		display: none;
	}

	/* Une seule colonne */
	.dashboard-layout,
	.home-main-layout,
	.home-import-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dashboard-sidebar {
		margin-top: 16px;
	}

	/* Import */
	.accueil-import-cv {
		margin-top: 0;
		margin-bottom: 16px;
		padding: 18px;
	}

	.dashboard-import-actions {
		flex-direction: column;
		gap: 10px;
	}

	.dashboard-import-actions .button {
		width: 100%;
		box-sizing: border-box;
	}

	/* Statistiques sur une seule ligne défilante */
	.accueil-stats-mobile {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 8px;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		margin: 16px 0;
		padding: 0 0 8px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.accueil-stats-mobile > .dashboard-stat-card {
		flex: 0 0 108px;
		width: 108px;
		min-width: 108px;
		max-width: 108px;
		padding: 12px 10px;
		box-sizing: border-box;
		scroll-snap-align: start;
	}

	.accueil-stats-mobile > .dashboard-stat-card span {
		display: block;
		font-size: 11px;
		line-height: 1.2;
	}

	.accueil-stats-mobile > .dashboard-stat-card strong {
		display: block;
		margin: 4px 0 0;
		font-size: 22px;
		line-height: 1;
	}

	.accueil-stats-mobile > .dashboard-stat-card small {
		display: none;
	}

	/* Les articles passent sous le contenu sans rester fixes */
	.accueil-articles-droite,
	.home-articles-sidebar-inner {
		position: static;
		top: auto;
		transform: none;
	}

}
/* =========================================================
   GESTION DU COMPTE — RÉINITIALISATION DU PROFIL
   À ajouter à la fin de style.css
   ========================================================= */

.account-reset-zone {
	border-color: #f5d38a;
	background:
		linear-gradient(
			180deg,
			#fffdf7 0%,
			#ffffff 100%
		);
}

.account-reset-zone details {
	margin-top: 18px;
}

.account-reset-zone summary {
	cursor: pointer;
	font-weight: 700;
	color: #92400e;
}

.account-reset-zone form {
	display: grid;
	gap: 16px;
	margin-top: 18px;
}

.account-reset-button {
	border: 1px solid #b45309;
	background: #b45309;
	color: #ffffff;
}

.account-reset-button:hover,
.account-reset-button:focus {
	border-color: #92400e;
	background: #92400e;
	color: #ffffff;
}

@media (max-width: 760px) {
	.account-reset-button {
		width: 100%;
	}
}
/* =========================================================
   DOSSIERS PUBLICS ET ACCÈS DEPUIS L’ACCUEIL
   ========================================================= */

.page-dossiers,
.dossier-public {
	width: min(1120px, 100%);
	margin: 0 auto;
}

.entete-page-dossiers {
	max-width: 820px;
	margin: 0 auto 46px;
	text-align: center;
}

.entete-page-dossiers h1 {
	margin-bottom: 18px;
	font-size: clamp(36px, 5vw, 58px);
}

.entete-page-dossiers > p {
	max-width: 720px;
	margin: 0 auto;
	color: var(--text);
	font-size: 18px;
	line-height: 1.75;
}

.dossiers-actions-admin,
.dossier-actions-admin {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

.grille-dossiers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.carte-dossier {
	--couleur-dossier: var(--primary);
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 22px;
	background: var(--white);
	box-shadow: var(--shadow-sm);
	transition:
		transform 0.22s ease,
		border-color 0.22s ease,
		box-shadow 0.22s ease;
}

.carte-dossier::before {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	content: "";
	background: var(--couleur-dossier);
}

.carte-dossier:hover {
	transform: translateY(-5px);
	border-color: #bfdbfe;
	box-shadow: var(--shadow);
}

.carte-dossier-image {
	display: block;
	aspect-ratio: 16 / 8.5;
	overflow: hidden;
	background: var(--light);
}

.carte-dossier-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.carte-dossier:hover .carte-dossier-image img {
	transform: scale(1.035);
}

.carte-dossier-contenu {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 28px;
}

.carte-dossier-categorie {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 15px;
	padding: 6px 11px;
	border-radius: 999px;
	color: var(--couleur-dossier);
	background: color-mix(
		in srgb,
		var(--couleur-dossier) 10%,
		white
	);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}

.carte-dossier h2 {
	margin-bottom: 14px;
	font-size: clamp(23px, 3vw, 29px);
	line-height: 1.22;
}

.carte-dossier h2 a {
	color: var(--dark);
}

.carte-dossier h2 a:hover {
	color: var(--couleur-dossier);
}

.carte-dossier-accroche {
	margin-bottom: 22px;
	color: var(--text);
	font-size: 15px;
	line-height: 1.75;
}

.carte-dossier-informations {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid var(--border);
}

.carte-dossier-informations span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 10px;
	border-radius: 999px;
	color: var(--muted);
	background: var(--light);
	font-size: 12px;
	font-weight: 700;
}

.carte-dossier-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.lien-voir-dossier,
.home-dossier-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--couleur-dossier);
	font-weight: 800;
}

.lien-voir-dossier::after,
.home-dossier-link::after {
	content: "→";
	transition: transform 0.2s ease;
}

.lien-voir-dossier:hover::after,
.home-dossier-link:hover::after {
	transform: translateX(4px);
}

.lien-modifier-dossier {
	display: inline-flex;
	align-items: center;
	padding: 7px 11px;
	border: 1px solid var(--border);
	border-radius: 8px;
	color: var(--text);
	background: var(--white);
	font-size: 13px;
	font-weight: 700;
}

.dossier-preview-message {
	margin-bottom: 20px;
	padding: 14px 17px;
	border: 1px solid #f6d365;
	border-radius: 12px;
	color: #854d0e;
	background: #fffbeb;
	font-weight: 700;
}

.dossier-actions-admin {
	justify-content: flex-end;
	margin: 0 0 24px;
}

.dossier-fil-ariane {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 28px;
	color: var(--muted);
	font-size: 14px;
}

.dossier-fil-ariane a {
	font-weight: 700;
}

.dossier-public-entete {
	position: relative;
	overflow: hidden;
	margin-bottom: 34px;
	padding: clamp(32px, 6vw, 62px);
	border: 1px solid var(--border);
	border-radius: 26px;
	background:
		radial-gradient(
			circle at top right,
			color-mix(
				in srgb,
				var(--couleur-dossier, var(--primary)) 16%,
				transparent
			),
			transparent 40%
		),
		linear-gradient(135deg, #f8fbff, #ffffff);
	box-shadow: var(--shadow-sm);
}

.dossier-public-entete::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 7px;
	height: 100%;
	content: "";
	background: var(--couleur-dossier, var(--primary));
}

.dossier-public-categorie {
	display: inline-flex;
	margin-bottom: 16px;
	padding: 7px 12px;
	border-radius: 999px;
	color: var(--couleur-dossier, var(--primary));
	background: color-mix(
		in srgb,
		var(--couleur-dossier, var(--primary)) 10%,
		white
	);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

.dossier-public-entete h1 {
	max-width: 880px;
	margin-bottom: 18px;
	font-size: clamp(38px, 6vw, 64px);
}

.dossier-public-sous-titre {
	max-width: 780px;
	margin-bottom: 24px;
	color: var(--text);
	font-size: clamp(17px, 2.4vw, 21px);
	line-height: 1.7;
}

.dossier-public-informations {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dossier-public-informations span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 6px 12px;
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--text);
	background: rgba(255, 255, 255, 0.88);
	font-size: 13px;
	font-weight: 700;
}

.dossier-public-image {
	margin: 0 0 34px;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 22px;
	background: var(--light);
	box-shadow: var(--shadow-sm);
}

.dossier-public-image img {
	width: 100%;
	max-height: 520px;
	object-fit: cover;
}

.dossier-public-description {
	margin-bottom: 46px;
	padding: clamp(25px, 4vw, 38px);
	border: 1px solid var(--border);
	border-radius: 20px;
	color: var(--text);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	font-size: 16px;
	line-height: 1.85;
}

.dossier-public-description > *:last-child {
	margin-bottom: 0;
}

.dossier-public-articles {
	margin-top: 34px;
}

.dossier-public-articles-entete {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border);
}

.dossier-public-articles-entete h2 {
	margin-bottom: 0;
	font-size: clamp(28px, 4vw, 40px);
}

.dossier-public-articles-entete p {
	max-width: 460px;
	margin: 0;
	color: var(--text);
}

.liste-articles-dossier {
	position: relative;
	display: grid;
	gap: 20px;
}

.liste-articles-dossier::before {
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: 29px;
	width: 2px;
	content: "";
	background: linear-gradient(
		var(--couleur-dossier, var(--primary)),
		var(--border)
	);
}

.carte-article-dossier {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 60px 190px minmax(0, 1fr);
	gap: 22px;
	align-items: stretch;
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--white);
	box-shadow: var(--shadow-sm);
	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.carte-article-dossier:hover {
	transform: translateX(4px);
	border-color: #bfdbfe;
	box-shadow: var(--shadow);
}

.carte-article-dossier-numero {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	width: 58px;
	height: 58px;
	border: 5px solid var(--white);
	border-radius: 50%;
	color: #ffffff;
	background: var(--couleur-dossier, var(--primary));
	box-shadow: 0 0 0 1px var(--border);
	font-size: 18px;
	font-weight: 900;
}

.carte-article-dossier-image {
	min-height: 135px;
	overflow: hidden;
	border-radius: 13px;
	background: var(--light);
}

.carte-article-dossier-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.carte-article-dossier-contenu {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 5px 4px;
}

.carte-article-dossier-chapitre {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 8px;
	color: var(--couleur-dossier, var(--primary));
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

.carte-article-dossier h3 {
	margin-bottom: 10px;
	font-size: clamp(20px, 2.6vw, 25px);
}

.carte-article-dossier h3 a {
	color: var(--dark);
}

.carte-article-dossier h3 a:hover {
	color: var(--couleur-dossier, var(--primary));
}

.carte-article-dossier-contenu > p {
	margin-bottom: 14px;
	color: var(--text);
	line-height: 1.7;
}

.carte-article-dossier-informations {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
}

.carte-article-dossier-informations span {
	padding: 5px 9px;
	border-radius: 999px;
	color: var(--muted);
	background: var(--light);
	font-size: 12px;
	font-weight: 700;
}

.carte-article-dossier-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 16px;
}

.carte-article-dossier-actions a {
	font-size: 14px;
	font-weight: 800;
}

.dossier-public-footer {
	margin-top: 42px;
	padding-top: 26px;
	border-top: 1px solid var(--border);
}

.dossier-retour {
	font-weight: 800;
}

.dossier-introuvable,
.aucun-contenu-public {
	max-width: 760px;
	margin: 30px auto;
	padding: 34px;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--white);
	text-align: center;
	box-shadow: var(--shadow-sm);
}


/* Accueil : dossiers mis en avant */

.home-dossiers-section {
	padding-top: 54px;
	padding-bottom: 54px;
}

.home-dossiers-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.home-dossier-card {
	--couleur-dossier: var(--primary);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--border);
	border-top: 5px solid var(--couleur-dossier);
	border-radius: 19px;
	background: var(--white);
	box-shadow: var(--shadow-sm);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease;
}

.home-dossier-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow);
}

.home-dossier-image {
	aspect-ratio: 16 / 8;
	overflow: hidden;
	background: var(--light);
}

.home-dossier-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.home-dossier-card:hover .home-dossier-image img {
	transform: scale(1.04);
}

.home-dossier-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 25px;
}

.home-dossier-topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 15px;
}

.home-dossier-category {
	color: var(--couleur-dossier);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

.home-dossier-count {
	padding: 5px 9px;
	border-radius: 999px;
	color: var(--muted);
	background: var(--light);
	font-size: 11px;
	font-weight: 800;
}

.home-dossier-card h3 {
	margin-bottom: 13px;
	font-size: 22px;
}

.home-dossier-card h3 a {
	color: var(--dark);
}

.home-dossier-card h3 a:hover {
	color: var(--couleur-dossier);
}

.home-dossier-card p {
	margin-bottom: 20px;
	color: var(--text);
	line-height: 1.7;
}

.home-dossier-link {
	margin-top: auto;
}

.home-dossiers-empty {
	padding: 30px;
	border: 1px dashed var(--border-strong);
	border-radius: 17px;
	background: var(--light);
	text-align: center;
}

.home-dossiers-empty p {
	margin-bottom: 18px;
}


/* Responsive dossiers */

@media screen and (max-width: 980px) {

	.home-dossiers-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.carte-article-dossier {
		grid-template-columns: 60px minmax(0, 1fr);
	}

	.carte-article-dossier-image {
		grid-column: 2;
		max-height: 240px;
	}

	.carte-article-dossier-contenu {
		grid-column: 2;
	}

}

@media screen and (max-width: 760px) {

	.grille-dossiers,
	.home-dossiers-grid {
		grid-template-columns: 1fr;
	}

	.entete-page-dossiers {
		margin-bottom: 30px;
		text-align: left;
	}

	.entete-page-dossiers > p {
		margin-left: 0;
	}

	.dossiers-actions-admin,
	.dossier-actions-admin {
		align-items: stretch;
		flex-direction: column;
	}

	.dossiers-actions-admin .button,
	.dossier-actions-admin .button {
		width: 100%;
	}

	.carte-dossier-contenu,
	.home-dossier-content {
		padding: 22px;
	}

	.dossier-public-entete {
		padding: 30px 24px;
	}

	.dossier-public-entete h1 {
		font-size: 36px;
	}

	.dossier-public-articles-entete {
		align-items: flex-start;
		flex-direction: column;
	}

	.liste-articles-dossier::before {
		left: 22px;
	}

	.carte-article-dossier {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 14px;
		padding: 16px;
	}

	.carte-article-dossier-numero {
		width: 44px;
		height: 44px;
		border-width: 4px;
		font-size: 15px;
	}

	.carte-article-dossier-image,
	.carte-article-dossier-contenu {
		grid-column: 2;
	}

	.carte-article-dossier-image {
		min-height: 170px;
	}

}

@media screen and (max-width: 480px) {

	.carte-dossier-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.lien-modifier-dossier {
		justify-content: center;
	}

	.dossier-public-description {
		padding: 22px;
	}

	.carte-article-dossier {
		grid-template-columns: 40px minmax(0, 1fr);
		gap: 11px;
		padding: 13px;
	}

	.carte-article-dossier-numero {
		width: 38px;
		height: 38px;
		font-size: 13px;
	}

	.liste-articles-dossier::before {
		left: 19px;
	}

	.carte-article-dossier-image,
	.carte-article-dossier-contenu {
		grid-column: 2;
	}

	.carte-article-dossier-actions {
		flex-direction: column;
		gap: 9px;
	}

}
/* Articles à l’intérieur d’un dossier */

.liste-articles-dossier {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
}

.liste-articles-dossier::before {
	display: none;
}

.carte-article-dossier {
	grid-template-columns: 52px minmax(0, 1fr);
	height: 100%;
}

.carte-article-dossier-image {
	grid-column: 1 / -1;
	min-height: 190px;
	max-height: 230px;
}

.carte-article-dossier-contenu {
	grid-column: 2;
}

.carte-article-dossier-numero {
	align-self: flex-start;
}

@media screen and (max-width: 850px) {
	.liste-articles-dossier {
		grid-template-columns: 1fr;
	}

	.carte-article-dossier {
		grid-template-columns: 50px minmax(0, 1fr);
	}

	.carte-article-dossier-image {
		grid-column: 2;
	}
}

@media screen and (max-width: 520px) {
	.carte-article-dossier {
		grid-template-columns: 40px minmax(0, 1fr);
		gap: 12px;
		padding: 14px;
	}

	.carte-article-dossier-image {
		grid-column: 1 / -1;
		min-height: 170px;
	}

	.carte-article-dossier-contenu {
		grid-column: 1 / -1;
	}
}

/* =========================================================
   MEP V3 — ESPACE CV PROFESSIONNEL
   ========================================================= */
.cv-workspace-v3 .section-title > p:last-child { max-width: 760px; }
.cv-pilot-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}
.cv-pilot-card {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 104px;
    padding: 18px;
    border: 1px solid #dce5e7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(24, 50, 57, .055);
}
.cv-pilot-icon {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #eaf7f5;
    color: #0b7b72;
    font-size: 1.1rem;
    font-weight: 900;
}
.cv-pilot-card.is-ready .cv-pilot-icon { background: #e7f8ed; color: #16804c; }
.cv-pilot-card.is-warning .cv-pilot-icon { background: #fff3da; color: #a56700; }
.cv-pilot-card div { display: grid; gap: 2px; }
.cv-pilot-card strong { color: #152630; font-size: 1.65rem; line-height: 1; }
.cv-pilot-card small { color: #6f7d84; font-size: .76rem; }

.cv-adaptation-assistant {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
    gap: 28px;
    align-items: center;
    margin: 22px 0 30px;
    padding: 25px;
    border-color: #cfe5e2;
    background: linear-gradient(135deg, #f5fbfa 0%, #ffffff 70%);
}
.cv-adaptation-copy h2 { margin: 5px 0 8px; }
.cv-adaptation-copy p:last-child { margin-bottom: 0; color: #67767d; }
.cv-adaptation-form { display: grid; gap: 9px; }
.cv-adaptation-form label { color: #243740; font-size: .78rem; font-weight: 850; }
.cv-adaptation-form textarea {
    width: 100%;
    min-height: 92px;
    resize: vertical;
    padding: 13px 14px;
    border: 1px solid #ccdadd;
    border-radius: 14px;
    background: #fff;
    color: #182831;
    font: inherit;
    line-height: 1.45;
}
.cv-adaptation-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cv-adaptation-result { min-height: 20px; margin: 2px 0 0; color: #0b746b; font-size: .76rem; font-weight: 750; }

.cv-library-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding: 12px;
    border: 1px solid #dce5e7;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(24, 50, 57, .045);
}
.cv-search-field {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 220px;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid #d7e1e3;
    border-radius: 13px;
    background: #f8fafb;
}
.cv-search-field span { margin-right: 9px; color: #74848b; font-size: 1.1rem; }
.cv-search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: #1b2b34; font: inherit; }
.cv-library-filters { display: flex; gap: 6px; }
.cv-library-filters button {
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid #dbe4e6;
    border-radius: 11px;
    background: #fff;
    color: #64737a;
    font: inherit;
    font-size: .74rem;
    font-weight: 800;
    cursor: pointer;
}
.cv-library-filters button.is-active { border-color: #127f75; background: #127f75; color: #fff; }
.cv-library-count { margin-left: auto; color: #7b898f; font-size: .72rem; white-space: nowrap; }

.cv-card[hidden] { display: none !important; }
.cv-card.is-keyword-match {
    border-color: #1ca598 !important;
    box-shadow: 0 0 0 3px rgba(28, 165, 152, .12), 0 16px 35px rgba(20, 83, 78, .1) !important;
}
.cv-quality-row { display: grid; gap: 7px; margin: 4px 0 18px; }
.cv-quality-row > div { display: flex; justify-content: space-between; gap: 12px; color: #68777e; font-size: .72rem; }
.cv-quality-row > div strong { color: #2a3b43; }
.cv-quality-row > div span { color: #0b786f; font-weight: 900; }
.cv-quality-row > i { display: block; height: 7px; overflow: hidden; border-radius: 999px; background: #e8eef0; }
.cv-quality-row > i > b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #16a092, #52c7bb); }

@media (max-width: 980px) {
    .cv-pilot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cv-adaptation-assistant { grid-template-columns: 1fr; }
    .cv-library-toolbar { align-items: stretch; flex-wrap: wrap; }
    .cv-search-field { flex-basis: 100%; }
    .cv-library-count { align-self: center; }
}

@media (max-width: 640px) {
    .cv-pilot-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .cv-pilot-card { min-height: 88px; padding: 13px; border-radius: 15px; }
    .cv-pilot-icon { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
    .cv-pilot-card strong { font-size: 1.3rem; }
    .cv-pilot-card small { font-size: .66rem; }
    .cv-adaptation-assistant { padding: 18px; border-radius: 18px; }
    .cv-adaptation-actions .button { flex: 1; min-width: 130px; }
    .cv-library-filters { width: 100%; overflow-x: auto; padding-bottom: 2px; }
    .cv-library-filters button { flex: 1 0 auto; }
    .cv-library-count { width: 100%; margin-left: 0; text-align: right; }
}


/* =========================================================
   MEP V4 — PILOTAGE ÉDITORIAL ET BIBLIOTHÈQUE DE CONTENUS
   ========================================================= */
.editorial-cockpit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.editorial-cockpit article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:start;padding:18px;border:1px solid #dde5e9;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(20,42,58,.05)}.editorial-cockpit-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e8f5f3;color:#127c73;font-size:1.2rem;font-weight:900}.editorial-cockpit small{display:block;color:#72808b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.editorial-cockpit strong{display:block;margin-top:4px;color:#152633;font-size:1.35rem;line-height:1.15}.editorial-cockpit p{margin:5px 0 0;color:#74818c;font-size:.78rem;line-height:1.45}.editorial-next-publication{grid-column:span 1}.editorial-next-publication strong{font-size:.95rem}.editorial-next-publication a{display:inline-flex;margin-top:8px;color:#0b756d;font-size:.75rem;font-weight:900;text-decoration:none}.editorial-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}.editorial-shortcuts a{display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 11px;align-items:center;padding:14px 16px;border:1px solid #dfe6ea;border-radius:15px;background:#f9fbfb;color:#18303d;text-decoration:none;transition:.18s ease}.editorial-shortcuts a:hover{transform:translateY(-1px);border-color:#8ccbc5;background:#f0faf8}.editorial-shortcuts a>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:#0d8177;font-size:1.1rem}.editorial-shortcuts strong{font-size:.86rem}.editorial-shortcuts small{color:#7b8790;font-size:.7rem}
.articles-public-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}.articles-public-stats span{display:inline-flex;align-items:center;gap:5px;padding:9px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.76);color:#37505c;font-size:.78rem}.articles-public-stats strong{color:#0e7c74}.articles-library-tools{display:grid;gap:14px;margin:26px 0 22px;padding:18px;border:1px solid #dce6e8;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(24,50,63,.05)}.articles-search-box{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:0 14px;border:1px solid #d8e2e5;border-radius:14px;background:#f9fbfb}.articles-search-box span{color:#71828b;font-size:1.15rem}.articles-search-box input{width:100%;min-height:48px;border:0;outline:0;background:transparent;color:#20343f;font:inherit}.articles-category-filter{display:flex;flex-wrap:wrap;gap:8px}.articles-category-filter button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid #dbe4e6;border-radius:999px;background:#fff;color:#5d6e77;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}.articles-category-filter button b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef3f4;font-size:.66rem}.articles-category-filter button.is-active{border-color:#198d83;background:#198d83;color:#fff}.articles-category-filter button.is-active b{background:rgba(255,255,255,.2)}.articles-filter-result{margin:0;color:#7a8790;font-size:.75rem}.carte-article[hidden]{display:none!important}
@media(max-width:1050px){.editorial-cockpit{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-shortcuts{grid-template-columns:1fr}}
@media(max-width:700px){.editorial-cockpit{grid-template-columns:1fr}.editorial-cockpit article{padding:15px}.articles-library-tools{padding:14px;border-radius:16px}.articles-category-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.articles-category-filter button{flex:0 0 auto}.articles-public-stats{justify-content:flex-start}.articles-public-stats span{font-size:.7rem}}


/* =========================================================
   VISIBILITÉ ADMINISTRATEUR DES CONTENUS NON PUBLIÉS
   ========================================================= */
.admin-contenu-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0 0 .65rem;
    padding: .28rem .65rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
    border: 1px solid currentColor;
}
.admin-statut-brouillon { color: #6b7280; background: #f3f4f6; }
.admin-statut-programme { color: #8a5a00; background: #fff4cf; }
.admin-statut-publie { color: #17633a; background: #dcfce7; }
.admin-statut-archive { color: #8b2c2c; background: #fee2e2; }
.article-preview-message,
.dossier-preview-message {
    margin: 1rem auto 1.25rem;
    padding: .9rem 1rem;
    max-width: 1100px;
    border: 1px solid #d69e2e;
    border-radius: 12px;
    background: #fff8dc;
    color: #5d4200;
    font-weight: 700;
}



/* ===== SOURCE: mep-design-system.css ===== */

:root{
  --mep-ink:#17212b;--mep-muted:#697682;--mep-line:#e2e7eb;--mep-bg:#f5f7f8;--mep-card:#fff;
  --mep-primary:#1f6b57;--mep-primary-dark:#155244;--mep-soft:#e9f4f0;--mep-accent:#d9a928;
  --mep-radius-sm:12px;--mep-radius:18px;--mep-radius-lg:28px;--mep-shadow:0 16px 42px rgba(24,39,53,.08);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mep-bg);color:var(--mep-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}body>header,body>footer{display:block}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(1240px,calc(100% - 40px));margin:0 auto}#contenu-principal{min-height:60vh;padding:34px 0 72px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.mep-shell-header{position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(226,231,235,.9);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}.mep-shell-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;width:min(1320px,calc(100% - 40px));min-height:78px;margin:auto}.mep-shell-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.mep-shell-brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--mep-primary);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.05em}.mep-shell-brand>span:last-child{display:grid;line-height:1.15}.mep-shell-brand strong{font-size:1rem}.mep-shell-brand small{margin-top:4px;color:var(--mep-muted);font-size:.7rem}.mep-shell-navigation{display:flex;justify-content:center;gap:5px}.mep-shell-navigation>a{padding:10px 13px;border-radius:10px;color:#4c5965;font-size:.84rem;font-weight:750;text-decoration:none}.mep-shell-navigation>a:hover,.mep-shell-navigation>a.is-active{background:var(--mep-soft);color:var(--mep-primary-dark)}.mep-shell-actions{display:flex;align-items:center;gap:8px}.mep-shell-login,.mep-shell-register{padding:10px 14px;border-radius:10px;font-size:.8rem;font-weight:800;text-decoration:none}.mep-shell-login{color:var(--mep-primary-dark)}.mep-shell-register{background:var(--mep-primary);color:#fff}.mep-shell-account{position:relative}.mep-shell-account summary{display:flex;align-items:center;gap:8px;padding:6px 9px 6px 6px;border:1px solid var(--mep-line);border-radius:12px;background:#fff;cursor:pointer;list-style:none}.mep-shell-account summary::-webkit-details-marker{display:none}.mep-shell-account summary span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--mep-soft);color:var(--mep-primary-dark);font-weight:900}.mep-shell-account summary b{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.mep-shell-account>div{position:absolute;top:calc(100% + 8px);right:0;display:grid;min-width:190px;padding:8px;border:1px solid var(--mep-line);border-radius:14px;background:#fff;box-shadow:var(--mep-shadow)}.mep-shell-account>div a{padding:10px;border-radius:9px;font-size:.78rem;font-weight:700;text-decoration:none}.mep-shell-account>div a:hover{background:var(--mep-bg)}.mep-shell-menu-toggle{display:none}.mep-mobile-navigation{display:none}

/* Footer */
.mep-shell-footer{margin-top:60px;border-top:1px solid var(--mep-line);background:#fff}.mep-shell-footer-inner{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:44px;width:min(1240px,calc(100% - 40px));margin:auto;padding:54px 0}.mep-shell-footer-brand a{font-size:1.1rem;font-weight:900;text-decoration:none}.mep-shell-footer-brand p{max-width:390px;margin:12px 0 0;color:var(--mep-muted);font-size:.86rem}.mep-shell-footer nav{display:grid;align-content:start;gap:9px}.mep-shell-footer nav strong{margin-bottom:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.mep-shell-footer nav a{color:var(--mep-muted);font-size:.8rem;text-decoration:none}.mep-shell-footer nav a:hover{color:var(--mep-primary)}.mep-shell-footer-bottom{display:flex;justify-content:space-between;gap:20px;width:min(1240px,calc(100% - 40px));margin:auto;padding:18px 0;border-top:1px solid var(--mep-line);color:#89939b;font-size:.7rem}

/* Common UI */
.button,.mep-button,button[type=submit],input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border:1px solid transparent;border-radius:11px;font:inherit;font-size:.82rem;font-weight:800;text-decoration:none;cursor:pointer}.button-primary,.mep-button-primary{background:var(--mep-primary)!important;color:#fff!important}.button-primary:hover,.mep-button-primary:hover{background:var(--mep-primary-dark)!important}.button-secondary,.button-ghost,.mep-button-secondary{border-color:var(--mep-line)!important;background:#fff!important;color:var(--mep-ink)!important}.mep-button-light{background:#fff;color:var(--mep-primary-dark)}input,select,textarea{max-width:100%;border:1px solid #d9e0e5;border-radius:11px;background:#fff;color:var(--mep-ink);font:inherit}input,select{min-height:44px;padding:0 12px}textarea{padding:12px}input:focus,select:focus,textarea:focus{outline:3px solid rgba(31,107,87,.12);border-color:var(--mep-primary)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px;border-bottom:1px solid var(--mep-line);text-align:left}th{color:var(--mep-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}

/* Public home */
.mep-public-home{display:grid;gap:78px}.mep-public-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:54px;align-items:center;padding:58px 0 26px}.mep-kicker{margin:0 0 12px;color:var(--mep-primary);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.mep-public-hero h1{max-width:780px;margin:0;font-size:clamp(2.55rem,5vw,4.7rem);line-height:1.01;letter-spacing:-.055em}.mep-lead{max-width:720px;margin:24px 0 0;color:var(--mep-muted);font-size:1.05rem}.mep-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.mep-trust-list{display:flex;flex-wrap:wrap;gap:18px;margin:22px 0 0;padding:0;list-style:none;color:var(--mep-muted);font-size:.74rem}.mep-trust-list li::before{content:"✓";margin-right:6px;color:var(--mep-primary);font-weight:900}.mep-public-hero-panel{display:grid;gap:12px;padding:18px;border:1px solid var(--mep-line);border-radius:var(--mep-radius-lg);background:#fff;box-shadow:var(--mep-shadow)}.mep-public-hero-panel article{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px;border-radius:18px;background:var(--mep-bg)}.mep-public-hero-panel article:nth-child(2){background:var(--mep-soft)}.mep-public-hero-panel span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:var(--mep-primary);font-size:.72rem;font-weight:900}.mep-public-hero-panel strong{font-size:.94rem}.mep-public-hero-panel p{margin:4px 0 0;color:var(--mep-muted);font-size:.78rem}.mep-section{display:grid;gap:28px}.mep-section-heading{max-width:760px}.mep-section-heading h2,.mep-import-copy h2,.mep-final-cta h2{margin:0;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.08;letter-spacing:-.035em}.mep-section-heading>p:last-child,.mep-import-copy>p:last-child{margin:12px 0 0;color:var(--mep-muted)}.mep-section-heading-inline{display:flex;justify-content:space-between;align-items:end;max-width:none}.mep-section-heading-inline>a{color:var(--mep-primary);font-size:.8rem;font-weight:850;text-decoration:none}.mep-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mep-feature-grid article{padding:28px;border:1px solid var(--mep-line);border-radius:var(--mep-radius);background:#fff}.mep-feature-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--mep-soft);color:var(--mep-primary);font-size:1.25rem}.mep-feature-grid h3{margin:20px 0 7px;font-size:1.05rem}.mep-feature-grid p{margin:0;color:var(--mep-muted);font-size:.84rem}.mep-import-section{grid-template-columns:1fr auto;align-items:center;padding:42px;border-radius:var(--mep-radius-lg);background:#162a24;color:#fff}.mep-import-copy{max-width:650px}.mep-import-copy .mep-kicker{color:#94c5b7}.mep-import-copy>p:last-child{color:#b7c8c2}.mep-import-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mep-import-options article{display:grid;gap:4px;padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07)}.mep-import-options strong{color:#a9d6c9;font-size:.68rem;letter-spacing:.09em}.mep-import-options span{font-size:.84rem;font-weight:750}.mep-resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.mep-resource-card{display:block;padding:26px;border:1px solid var(--mep-line);border-radius:var(--mep-radius);background:#fff;text-decoration:none;transition:.18s ease}.mep-resource-card:hover{transform:translateY(-2px);box-shadow:var(--mep-shadow)}.mep-resource-card-featured{background:var(--mep-soft)}.mep-resource-card small{color:var(--mep-primary);font-weight:800}.mep-resource-card h3{margin:10px 0 8px}.mep-resource-card p{margin:0 0 16px;color:var(--mep-muted);font-size:.82rem}.mep-resource-card span{font-size:.78rem;font-weight:900}.mep-final-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:42px;border-radius:var(--mep-radius-lg);background:var(--mep-primary);color:#fff}.mep-final-cta .mep-kicker{color:#b8ded3}.mep-final-cta h2{max-width:760px}

/* Connected home harmonization */
.mep-home-clean{display:grid;gap:22px}.mep-clean-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;border:1px solid var(--mep-line);border-radius:var(--mep-radius-lg);background:#fff}.mep-clean-hero h1{margin:2px 0 6px;font-size:clamp(1.8rem,3vw,2.7rem)}.mep-clean-hero p:last-child{margin:0;color:var(--mep-muted)}.home-eyebrow{margin:0;color:var(--mep-primary);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.mep-clean-main-action{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;border-radius:var(--mep-radius);background:#172a25;color:#fff}.mep-clean-main-action span{color:#9bcabc;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.mep-clean-main-action h2{margin:5px 0}.mep-clean-main-action p{margin:0;color:#bac9c4}.mep-clean-main-action>a{color:#fff;font-weight:850;text-decoration:none}.mep-clean-spaces{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mep-clean-spaces>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:22px;border:1px solid var(--mep-line);border-radius:var(--mep-radius);background:#fff;text-decoration:none}.mep-clean-spaces>a>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--mep-soft);color:var(--mep-primary);font-size:.68rem;font-weight:900}.mep-clean-spaces div{display:grid}.mep-clean-spaces small{margin-top:3px;color:var(--mep-muted)}.mep-clean-status{padding:26px;border:1px solid var(--mep-line);border-radius:var(--mep-radius);background:#fff}.mep-clean-status-heading{display:flex;justify-content:space-between;align-items:end}.mep-clean-status-heading h2{margin:2px 0 0}.mep-clean-status-heading>a{color:var(--mep-primary);font-size:.78rem;font-weight:850;text-decoration:none}.mep-clean-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.mep-clean-status-grid article{display:grid;padding:18px;border-radius:14px;background:var(--mep-bg)}.mep-clean-status-grid strong{font-size:1.55rem}.mep-clean-status-grid span{color:var(--mep-muted);font-size:.75rem}.mep-clean-empty{margin:16px 0 0;color:var(--mep-muted)}.mep-clean-agenda{display:grid;gap:8px;margin-top:16px}.mep-clean-agenda>a{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:14px;padding:13px;border:1px solid var(--mep-line);border-radius:12px;text-decoration:none}.mep-clean-agenda>a>span{color:var(--mep-primary);font-size:.7rem;font-weight:900}.mep-clean-agenda div{display:grid}.mep-clean-agenda small{color:var(--mep-muted)}

/* Broad harmonization for legacy modules */
main>section:not(.mep-public-home):not(.mep-home-clean),main>div:not(.mep-public-home):not(.mep-home-clean){max-width:100%}.page-header,.content-header,.section-title,.dashboard-header,.career-hero,.applications-hero,.documents-hero,.parcours-hero{border-radius:var(--mep-radius)!important}.card,.panel,.box,.content-card,.dashboard-card,.application-card,.cv-card,.letter-card,.article-card,.dossier-card{border-color:var(--mep-line)!important;border-radius:var(--mep-radius)!important;background:#fff!important;box-shadow:none!important}

@media(max-width:980px){.mep-shell-header-inner{grid-template-columns:auto auto;justify-content:space-between;min-height:68px}.mep-shell-menu-toggle{display:grid;gap:4px;width:42px;height:42px;padding:11px;border:1px solid var(--mep-line);border-radius:11px;background:#fff}.mep-shell-menu-toggle span{display:block;height:2px;border-radius:2px;background:var(--mep-ink)}.mep-shell-navigation{position:absolute;top:68px;left:16px;right:16px;display:none;padding:10px;border:1px solid var(--mep-line);border-radius:16px;background:#fff;box-shadow:var(--mep-shadow)}.mep-shell-navigation.is-open,.mep-shell-navigation[data-open="true"]{display:grid}.mep-shell-navigation>a{padding:12px}.mep-shell-actions{display:none}.mep-public-hero{grid-template-columns:1fr}.mep-public-hero-panel{max-width:760px}.mep-feature-grid{grid-template-columns:1fr}.mep-import-section{grid-template-columns:1fr}.mep-import-options{grid-template-columns:1fr}.mep-shell-footer-inner{grid-template-columns:1.4fr 1fr 1fr}.mep-shell-footer-inner nav:last-child{grid-column:2/-1}.mep-clean-spaces{grid-template-columns:1fr}.mep-mobile-navigation{position:fixed;z-index:1200;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid rgba(226,231,235,.9);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(24,39,53,.16);backdrop-filter:blur(14px)}.mep-mobile-navigation a{display:grid;justify-items:center;gap:2px;padding:6px 3px;border-radius:11px;color:#66737d;text-decoration:none}.mep-mobile-navigation a.is-active{background:var(--mep-soft);color:var(--mep-primary-dark)}.mep-mobile-navigation span{font-size:1rem}.mep-mobile-navigation small{font-size:.58rem;font-weight:800}body{padding-bottom:76px}}
@media(max-width:680px){.container,.mep-shell-header-inner,.mep-shell-footer-inner,.mep-shell-footer-bottom{width:min(100% - 24px,1240px)}#contenu-principal{padding-top:20px}.mep-shell-brand small{display:none}.mep-public-home{gap:48px}.mep-public-hero{padding:28px 0 0}.mep-public-hero h1{font-size:clamp(2.2rem,12vw,3.45rem)}.mep-hero-actions,.mep-hero-actions .mep-button{width:100%}.mep-public-hero-panel{padding:10px;border-radius:20px}.mep-public-hero-panel article{padding:14px}.mep-section-heading-inline,.mep-final-cta,.mep-clean-hero,.mep-clean-main-action,.mep-clean-status-heading{align-items:flex-start;flex-direction:column}.mep-resource-grid{grid-template-columns:1fr}.mep-import-section,.mep-final-cta{padding:26px}.mep-final-cta .mep-button{width:100%}.mep-clean-hero{padding:22px}.mep-clean-main-action{padding:22px}.mep-clean-status-grid{grid-template-columns:1fr}.mep-clean-agenda>a{grid-template-columns:68px 1fr}.mep-clean-agenda time{grid-column:2}.mep-shell-footer-inner{grid-template-columns:1fr;gap:26px;padding:38px 0}.mep-shell-footer-inner nav:last-child{grid-column:auto}.mep-shell-footer-bottom{flex-direction:column;gap:4px}.mep-shell-footer{margin-top:36px}}



/* ===== SOURCE: mep-final-polish.css ===== */

/* MON EXPÉRIENCE PRO — FINITION VISUELLE STABLE */
:root{
  --mep-bg:#f4f6f5;
  --mep-surface:#ffffff;
  --mep-surface-soft:#f8faf9;
  --mep-line:#dbe4e0;
  --mep-text:#17233a;
  --mep-muted:#667286;
  --mep-green:#1f6d59;
  --mep-green-dark:#174f42;
  --mep-green-soft:#e9f3ef;
  --mep-green-pale:#f2f8f5;
  --mep-navy:#182942;
  --mep-blue:#315f98;
  --mep-danger:#b54242;
  --mep-shadow:0 12px 32px rgba(23,35,58,.07);
}
html,body{background:var(--mep-bg)!important;color:var(--mep-text)!important}
body>.container,body>header+.container{width:min(1240px,calc(100% - 40px))!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#contenu-principal{min-height:58vh!important;padding:24px 0 64px!important;background:transparent!important;border:0!important;box-shadow:none!important}
#contenu-principal>:first-child{margin-top:0!important}

/* Header */
.mep-shell-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--mep-line)!important;box-shadow:0 4px 18px rgba(23,35,58,.035)!important}
.mep-shell-header-inner{min-height:64px!important}
.mep-shell-brand-mark{background:var(--mep-green)!important}
.mep-shell-brand strong{color:var(--mep-green-dark)!important}
.mep-shell-brand small{color:var(--mep-muted)!important}
.mep-shell-navigation>a{color:#4d596b!important}
.mep-shell-navigation>a:hover,.mep-shell-navigation>a.is-active,.mep-shell-navigation>a[aria-current=page]{background:var(--mep-green-soft)!important;color:var(--mep-green-dark)!important}
.mep-shell-account summary{border-color:var(--mep-line)!important;background:#fff!important}
.mep-shell-account summary span{background:var(--mep-green-soft)!important;color:var(--mep-green-dark)!important}

/* Base */
h1,h2,h3,h4,h5,h6{color:var(--mep-text)!important}
p,small{color:var(--mep-muted)}
.button,.btn,a.button,button,input[type=submit]{border-radius:11px!important;box-shadow:none!important}
.button-primary,.btn-primary,.mep-button-primary,button[type=submit]:not(.button-secondary):not(.button-ghost),input[type=submit]{border-color:var(--mep-green)!important;background:var(--mep-green)!important;color:#fff!important}
.button-primary:hover,.btn-primary:hover,.mep-button-primary:hover,button[type=submit]:hover,input[type=submit]:hover{border-color:var(--mep-green-dark)!important;background:var(--mep-green-dark)!important}
.button-secondary,.button-ghost,.btn-secondary{border-color:var(--mep-line)!important;background:#fff!important;color:var(--mep-text)!important}
input,select,textarea{border-color:#d5dfdb!important;background:#fff!important;color:var(--mep-text)!important}
input:focus,select:focus,textarea:focus{border-color:var(--mep-green)!important;outline:3px solid rgba(31,109,89,.12)!important}

/* Cartes */
.card,.panel,.box,#contour,#contour1,.mep-path-section,.documents-library,.applications-final-card,.account-card,.faq-item,.dossier-card,.article-card{border-color:var(--mep-line)!important;background:var(--mep-surface)!important;box-shadow:0 7px 24px rgba(23,35,58,.045)!important}

/* Parcours */
.mep-path-page{padding-top:0!important}
.mep-path-hero{border-color:var(--mep-line)!important;background:linear-gradient(135deg,#fff,var(--mep-green-pale))!important;box-shadow:var(--mep-shadow)!important}
.mep-path-kicker,.mep-path-next>div>span,.mep-path-section>header span,.mep-path-after>div>span{color:var(--mep-green)!important}
.mep-path-progress{background:var(--mep-green-dark)!important;color:#fff!important}
.mep-path-progress strong,.mep-path-progress span{color:#fff!important}
.mep-path-progress i{background:rgba(255,255,255,.2)!important}.mep-path-progress i>b{background:#8bc8b4!important}
.mep-path-next{border:1px solid #d4e4de!important;background:var(--mep-green-soft)!important}
.mep-path-next>a{background:var(--mep-green)!important;color:#fff!important}
.mep-path-steps>article.is-started{border-color:#b9d7cc!important;background:linear-gradient(145deg,#f6fbf8,#fff)!important}
.mep-path-steps footer a,.mep-path-section>header>a,.mep-path-list a{color:var(--mep-green-dark)!important}
.mep-path-list article{background:#f5f8f7!important}.mep-path-list article>span{background:var(--mep-green-soft)!important;color:var(--mep-green-dark)!important}
.mep-path-after{background:var(--mep-navy)!important;color:#fff!important}
.mep-path-after h2{color:#fff!important}.mep-path-after p{color:#d7e0ea!important}.mep-path-after>a{background:#fff!important;color:var(--mep-navy)!important}

/* Candidatures */
.applications-final{margin-top:0!important}
.applications-final-hero{align-items:center!important;padding:28px 30px!important;border-radius:22px!important;background:linear-gradient(135deg,var(--mep-green-dark),#255f50)!important;color:#fff!important;box-shadow:0 14px 32px rgba(23,79,66,.14)!important}
.applications-final-hero h1,.applications-final-hero .home-eyebrow{color:#fff!important}.applications-final-hero p{max-width:700px;color:#dcebe5!important}
.applications-final-hero .button-primary{min-width:205px!important;border-color:#fff!important;background:#fff!important;color:var(--mep-green-dark)!important;text-align:center!important}
.applications-final-tabs a{border-color:var(--mep-line)!important;background:#fff!important}.applications-final-tabs a.is-active{border-color:#b9d7cc!important;background:var(--mep-green-soft)!important;color:var(--mep-green-dark)!important}
.applications-final-search button{background:var(--mep-green-dark)!important;color:#fff!important}

/* Documents */
.documents-page-header{margin-top:0!important}.documents-main-actions .is-primary,.document-row-actions a:last-child{background:var(--mep-green-dark)!important;border-color:var(--mep-green-dark)!important;color:#fff!important}
.document-icon{background:var(--mep-green-soft)!important;color:var(--mep-green-dark)!important}
.document-row-actions a:first-child{background:#f1f4f3!important;color:var(--mep-text)!important}

/* Anciennes pastilles et chapitres bleus */
.chapter-number,.dossier-chapter-number,[class*="chapter-number"],[class*="numero-chapitre"],.mep-path-steps header>span{background:var(--mep-green-soft)!important;color:var(--mep-green-dark)!important;border-color:#b9d7cc!important}
[class*="chapter"] a,[class*="article"] a:not(.button){color:var(--mep-green-dark)}

/* FAQ */
.faq-item summary::after{color:var(--mep-green)!important}.faq-item[open]{border-color:#b9d7cc!important}

/* Footer */
.mep-shell-footer{margin-top:48px!important;background:var(--mep-navy)!important;color:#fff!important}
.mep-shell-footer-brand a,.mep-shell-footer nav strong{color:#fff!important}.mep-shell-footer-brand p,.mep-shell-footer nav a{color:#cbd5e1!important}.mep-shell-footer nav a:hover{color:#fff!important}.mep-shell-footer-bottom{border-top-color:rgba(255,255,255,.12)!important;color:#9fb0c3!important}

/* Administration : réutilise le même header sans affichage brut */
body:not(.mep-admin-body)>header{display:block!important}
.admin-page,.admin-shell,.admin-conteneur,.admin-dossiers-page,.admin-articles-page{color:var(--mep-text)!important}
.admin-hero,.admin-entete,.dossier-admin-hero{border-color:var(--mep-line)!important;background:linear-gradient(135deg,#fff,var(--mep-green-pale))!important}
.admin-button-primary,.admin-action-primary{background:var(--mep-green)!important;color:#fff!important}

@media(max-width:980px){
  .mep-shell-navigation{top:64px!important}
  .applications-final-hero{align-items:stretch!important;flex-direction:column!important}
  .applications-final-hero .button-primary{width:100%!important;min-width:0!important}
}
@media(max-width:680px){
  body>.container,body>header+.container{width:min(100% - 24px,1240px)!important}
  #contenu-principal{padding:18px 0 88px!important}
  .applications-final-hero{padding:22px!important}
  .mep-shell-footer{margin-top:34px!important}
}


/* =========================================================
   CORRECTIF CIBLÉ — 3 EN-TÊTES RESTANTS
   Accueil / Projet pro / Conseils
   ========================================================= */

:root{
  --mep-hero-bg-1:#ffffff;
  --mep-hero-bg-2:#f3faf7;
  --mep-hero-border:#d9e5df;
  --mep-hero-title:#10213f;
  --mep-hero-text:#5f7085;
  --mep-hero-accent:#08745f;
  --mep-hero-shadow:0 16px 45px rgba(16,33,61,.07);
}

/* Bloc général identique */
.mep-home-clean .mep-clean-hero,
.career-page .career-hero,
.page-dossiers .entete-page-dossiers{
  position:relative!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:30px!important;
  width:100%!important;
  min-height:218px!important;
  margin:0 0 22px!important;
  padding:30px!important;
  overflow:hidden!important;
  border:1px solid var(--mep-hero-border)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,var(--mep-hero-bg-1) 0%,var(--mep-hero-bg-2) 100%)!important;
  color:var(--mep-hero-title)!important;
  box-shadow:var(--mep-hero-shadow)!important;
  text-align:left!important;
}

/* neutralise les anciens décors trop visibles */
.mep-home-clean .mep-clean-hero::before,
.mep-home-clean .mep-clean-hero::after,
.career-page .career-hero::before,
.career-page .career-hero::after,
.page-dossiers .entete-page-dossiers::before,
.page-dossiers .entete-page-dossiers::after{
  display:none!important;
  content:none!important;
}

/* Conseils reste en colonne */
.page-dossiers .entete-page-dossiers{
  align-items:flex-start!important;
  flex-direction:column!important;
}

/* Accueil + Projet : texte à gauche / action ou score à droite */
.mep-home-clean .mep-clean-hero,
.career-page .career-hero{
  align-items:center!important;
}

.mep-home-clean .mep-clean-hero > div:first-child,
.career-page .career-hero > div:first-child,
.page-dossiers .entete-page-dossiers > :is(.sur-titre,h1,p,.dossiers-actions-admin){
  position:relative!important;
  z-index:1!important;
  max-width:830px!important;
}

/* Surtitres */
.mep-home-clean .mep-clean-hero .home-eyebrow,
.career-page .career-hero .career-eyebrow,
.page-dossiers .entete-page-dossiers .sur-titre{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--mep-hero-accent)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.3!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

/* Titres */
.mep-home-clean .mep-clean-hero h1,
.career-page .career-hero h1,
.page-dossiers .entete-page-dossiers h1{
  margin:0!important;
  max-width:830px!important;
  color:var(--mep-hero-title)!important;
  font-size:clamp(30px,4vw,52px)!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  text-align:left!important;
  text-shadow:none!important;
}

/* Descriptions */
.mep-home-clean .mep-clean-hero > div:first-child > p:last-child,
.career-page .career-hero > div:first-child > p:last-child,
.page-dossiers .entete-page-dossiers > p{
  margin:14px 0 0!important;
  max-width:760px!important;
  color:var(--mep-hero-text)!important;
  font-size:17px!important;
  line-height:1.65!important;
  text-align:left!important;
}

/* Bouton accueil */
.mep-home-clean .mep-clean-hero > a,
.mep-home-clean .mep-clean-hero .button,
.mep-home-clean .mep-clean-hero .button-primary{
  position:relative!important;
  z-index:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 18px!important;
  border:1px solid var(--mep-hero-border)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  color:var(--mep-hero-accent)!important;
  font-weight:850!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.mep-home-clean .mep-clean-hero > a:hover,
.mep-home-clean .mep-clean-hero .button:hover,
.mep-home-clean .mep-clean-hero .button-primary:hover{
  border-color:#a9c9bd!important;
  background:#edf7f3!important;
  color:#075c4d!important;
}

/* Carte score projet pro */
.career-page .career-hero .career-score{
  flex:0 0 260px!important;
  width:260px!important;
  min-width:260px!important;
  padding:20px!important;
  border:1px solid var(--mep-hero-border)!important;
  border-radius:18px!important;
  background:#ffffff!important;
  color:var(--mep-hero-title)!important;
  box-shadow:none!important;
}
.career-page .career-hero .career-score :is(span,small){
  color:var(--mep-hero-text)!important;
  font-size:13px!important;
}
.career-page .career-hero .career-score strong{
  display:block!important;
  margin:3px 0 10px!important;
  color:var(--mep-hero-title)!important;
  font-size:34px!important;
  line-height:1.15!important;
}
.career-page .career-hero .career-score i{
  display:block!important;
  height:8px!important;
  overflow:hidden!important;
  border-radius:99px!important;
  background:#e8eef3!important;
}
.career-page .career-hero .career-score i b{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:var(--mep-hero-accent)!important;
}

/* Boutons Conseils */
.page-dossiers .entete-page-dossiers .dossiers-actions-admin{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:20px!important;
}
.page-dossiers .entete-page-dossiers .dossiers-actions-admin a{
  min-height:46px!important;
  padding:0 18px!important;
  border-radius:12px!important;
}
.page-dossiers .entete-page-dossiers .dossiers-actions-admin a.button-primary{
  background:var(--mep-hero-accent)!important;
  border-color:var(--mep-hero-accent)!important;
  color:#fff!important;
}
.page-dossiers .entete-page-dossiers .dossiers-actions-admin a:not(.button-primary){
  border:1px solid var(--mep-hero-border)!important;
  background:#fff!important;
  color:var(--mep-hero-title)!important;
}

/* Mobile */
@media(max-width:900px){
  .mep-home-clean .mep-clean-hero,
  .career-page .career-hero,
  .page-dossiers .entete-page-dossiers{
    min-height:0!important;
    padding:24px!important;
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .career-page .career-hero .career-score{
    width:100%!important;
    min-width:0!important;
    flex-basis:auto!important;
  }
  .mep-home-clean .mep-clean-hero > a,
  .mep-home-clean .mep-clean-hero .button,
  .mep-home-clean .mep-clean-hero .button-primary{
    width:100%!important;
  }
}

@media(max-width:560px){
  .mep-home-clean .mep-clean-hero,
  .career-page .career-hero,
  .page-dossiers .entete-page-dossiers{
    padding:21px!important;
    border-radius:20px!important;
  }
  .mep-home-clean .mep-clean-hero h1,
  .career-page .career-hero h1,
  .page-dossiers .entete-page-dossiers h1{
    font-size:clamp(30px,10vw,42px)!important;
  }
}



/* ===== SOURCE: mep-pages-refresh.css ===== */

/* =========================================================
   MEP — ACCUEIL, COMPTE ET PAGES LÉGALES
   Finition ciblée, chargée après tous les styles historiques.
   ========================================================= */
:root{
  --mpr-ink:#17233a;
  --mpr-ink-soft:#334155;
  --mpr-muted:#667085;
  --mpr-green:#1f6f5c;
  --mpr-green-dark:#174f43;
  --mpr-green-soft:#eaf4f0;
  --mpr-line:#dce5e1;
  --mpr-bg:#f6f8f7;
  --mpr-white:#fff;
  --mpr-shadow:0 18px 46px rgba(23,35,58,.08);
}

/* Base des trois pages */
.mep-home-clean,
.account-page,
.legal-page{
  width:min(1180px,calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:30px 0 72px!important;
}

/* =========================================================
   ACCUEIL CONNECTÉ
   ========================================================= */
.mep-home-clean{
  gap:20px!important;
}
.mep-clean-hero{
  position:relative;
  overflow:hidden;
  align-items:center!important;
  min-height:210px;
  padding:38px 40px!important;
  border:1px solid rgba(31,111,92,.18)!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 90% 12%,rgba(255,255,255,.14),transparent 34%),
    linear-gradient(135deg,#183d34 0%,#1f6f5c 100%)!important;
  box-shadow:var(--mpr-shadow)!important;
}
.mep-clean-hero::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-110px;
  width:300px;
  height:300px;
  border:48px solid rgba(255,255,255,.06);
  border-radius:50%;
  pointer-events:none;
}
.mep-clean-hero>div,
.mep-clean-hero>a{position:relative;z-index:1}
.mep-clean-hero .home-eyebrow{
  color:#bfe3d8!important;
}
.mep-clean-hero h1{
  margin:8px 0 10px!important;
  color:#fff!important;
  font-size:clamp(2rem,4vw,3.25rem)!important;
  line-height:1.02!important;
}
.mep-clean-hero p:last-child{
  max-width:650px!important;
  color:#d7e8e2!important;
  font-size:1rem!important;
}
.mep-clean-hero .button,
.mep-clean-hero .button-primary{
  min-height:48px!important;
  padding:0 22px!important;
  border:1px solid rgba(255,255,255,.25)!important;
  background:#fff!important;
  color:var(--mpr-green-dark)!important;
  box-shadow:none!important;
}

.mep-clean-main-action{
  padding:24px 28px!important;
  border:1px solid var(--mpr-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  color:var(--mpr-ink)!important;
  box-shadow:none!important;
}
.mep-clean-main-action span{color:var(--mpr-green)!important}
.mep-clean-main-action h2{color:var(--mpr-ink)!important}
.mep-clean-main-action p{color:var(--mpr-muted)!important}
.mep-clean-main-action>a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  background:var(--mpr-green)!important;
  color:#fff!important;
}

.mep-clean-spaces>a{
  min-height:112px;
  border-color:var(--mpr-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.mep-clean-spaces>a:hover{
  transform:translateY(-2px);
  border-color:#a9cabe!important;
  box-shadow:0 14px 32px rgba(23,35,58,.07)!important;
}
.mep-clean-spaces>a>span{
  background:var(--mpr-green-soft)!important;
  color:var(--mpr-green-dark)!important;
}
.mep-clean-spaces strong{color:var(--mpr-ink)!important}
.mep-clean-spaces small{color:var(--mpr-muted)!important}
.mep-clean-spaces b{color:var(--mpr-green)!important}

.mep-clean-status{
  border-color:var(--mpr-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.mep-clean-status-heading h2{color:var(--mpr-ink)!important}
.mep-clean-status-heading>a{color:var(--mpr-green)!important}
.mep-clean-status-grid article{
  border:1px solid #e5ece9;
  background:var(--mpr-bg)!important;
}
.mep-clean-status-grid strong{color:var(--mpr-green-dark)!important}
.mep-clean-status-grid span{color:var(--mpr-muted)!important}
.mep-clean-agenda>a{
  border:1px solid #e3ebe7!important;
  background:#fbfcfc!important;
}
.mep-clean-agenda>a:hover{background:var(--mpr-green-soft)!important}
.mep-clean-agenda>a>span{color:var(--mpr-green)!important}

/* =========================================================
   MON COMPTE
   ========================================================= */
.account-page>.section-title{
  margin:0 0 26px!important;
  padding:34px 36px!important;
  border:1px solid var(--mpr-line)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#fff 0%,#f1f7f4 100%)!important;
  text-align:left!important;
}
.account-page>.section-title .home-eyebrow{color:var(--mpr-green)!important}
.account-page>.section-title h1{
  margin:5px 0 8px!important;
  color:var(--mpr-ink)!important;
  font-size:clamp(2rem,4vw,3.2rem)!important;
}
.account-page>.section-title p:last-child{
  max-width:720px;
  margin:0!important;
  color:var(--mpr-muted)!important;
}
.account-two-columns{
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)!important;
  gap:22px!important;
}
.account-profile-column,
.account-path-column{
  display:grid!important;
  gap:18px!important;
  position:static!important;
  top:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
.account-card,
.account-page .home-card,
.account-path-help,
.account-formations-card,
.account-onboarding{
  margin:0!important;
  padding:26px!important;
  border:1px solid var(--mpr-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.account-onboarding{
  background:linear-gradient(135deg,#183d34,#1f6f5c)!important;
  color:#fff!important;
}
.account-onboarding h2,
.account-onboarding p,
.account-onboarding strong,
.account-onboarding span{color:#fff!important}
.account-onboarding .home-eyebrow{color:#bfe3d8!important}
.account-progress{background:rgba(255,255,255,.18)!important}
.account-progress span{background:#a8ddcc!important}
.account-onboarding-step{
  border-color:rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.account-onboarding-step.is-complete{background:rgba(255,255,255,.16)!important}
.account-column-heading{
  margin:0!important;
  padding:4px 4px 2px!important;
}
.account-column-heading h2{color:var(--mpr-ink)!important}
.account-column-heading p{color:var(--mpr-muted)!important}
.account-page .home-eyebrow{color:var(--mpr-green)!important}
.account-page :is(h2,h3,strong,label){color:var(--mpr-ink)!important}
.account-page p,.account-page small{color:var(--mpr-muted)!important}
.account-security-card{
  background:var(--mpr-green-soft)!important;
}
.account-security-email{
  padding:14px!important;
  border:1px solid #d9e7e1!important;
  border-radius:14px!important;
  background:#fff!important;
}
.account-photo-layout{
  grid-template-columns:145px minmax(0,1fr)!important;
  gap:22px!important;
}
.account-photo-preview,
.account-photo-placeholder{
  width:145px!important;
  height:145px!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.account-page input,
.account-page select,
.account-page textarea{
  border-color:#d7e1dd!important;
  border-radius:12px!important;
  background:#fff!important;
}
.account-page input:focus,
.account-page select:focus,
.account-page textarea:focus{
  border-color:#72a997!important;
  box-shadow:0 0 0 3px rgba(31,111,92,.10)!important;
}
.account-page .button-primary,
.account-page button[type="submit"]{
  background:var(--mpr-green)!important;
  color:#fff!important;
}
.account-page .button-secondary{
  border-color:#b9d0c8!important;
  background:#fff!important;
  color:var(--mpr-green-dark)!important;
}

/* =========================================================
   MENTIONS LÉGALES / CONFIDENTIALITÉ
   ========================================================= */
.legal-page{
  display:grid;
  gap:22px;
}
.legal-hero{
  padding:42px 48px!important;
  border:1px solid var(--mpr-line)!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#f2f7f5 0%,#fff 72%)!important;
  text-align:left!important;
  box-shadow:none!important;
}
.legal-eyebrow{color:var(--mpr-green)!important}
.legal-hero h1{
  max-width:920px!important;
  margin:8px 0 16px!important;
  color:var(--mpr-ink)!important;
  font-size:clamp(2rem,5vw,4rem)!important;
  line-height:1.02!important;
  text-align:left!important;
}
.legal-intro{
  max-width:800px!important;
  margin:0!important;
  color:var(--mpr-muted)!important;
  font-size:1rem!important;
  line-height:1.75!important;
  text-align:left!important;
}
.legal-update{
  display:inline-flex!important;
  margin:20px 0 0!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--mpr-green-dark)!important;
  font-size:.78rem!important;
}
.legal-summary{
  position:sticky;
  z-index:20;
  top:76px;
  display:flex!important;
  gap:8px!important;
  padding:10px!important;
  overflow-x:auto!important;
  border:1px solid var(--mpr-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 10px 30px rgba(23,35,58,.06)!important;
  backdrop-filter:blur(12px);
}
.legal-summary a{
  flex:0 0 auto;
  padding:10px 14px!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--mpr-ink-soft)!important;
  font-size:.78rem!important;
  text-decoration:none!important;
}
.legal-summary a:hover{
  background:var(--mpr-green-soft)!important;
  color:var(--mpr-green-dark)!important;
}
.legal-content{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}
.legal-card{
  scroll-margin-top:150px;
  padding:34px 38px!important;
  border:1px solid var(--mpr-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.legal-section-number{
  color:var(--mpr-green)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.legal-card h2{color:var(--mpr-ink)!important}
.legal-card h3{color:var(--mpr-green-dark)!important}
.legal-card p,.legal-card li,.legal-card address{color:var(--mpr-ink-soft)!important}
.legal-card a{color:var(--mpr-green)!important}
.legal-address{
  padding:16px 18px!important;
  border-left:4px solid var(--mpr-green)!important;
  border-radius:0 12px 12px 0!important;
  background:var(--mpr-green-soft)!important;
}

@media(max-width:900px){
  .account-two-columns{grid-template-columns:1fr!important}
  .legal-summary{top:68px}
}
@media(max-width:680px){
  .mep-home-clean,.account-page,.legal-page{
    width:min(100% - 24px,1180px)!important;
    padding-top:18px!important;
  }
  .mep-clean-hero{min-height:0;padding:28px 24px!important}
  .mep-clean-hero .button{width:100%!important}
  .mep-clean-main-action{align-items:stretch!important}
  .mep-clean-main-action>a{justify-content:center;width:100%}
  .account-page>.section-title,
  .legal-hero{padding:26px 22px!important}
  .account-card,
  .account-page .home-card,
  .account-path-help,
  .account-formations-card,
  .account-onboarding,
  .legal-card{padding:22px!important}
  .account-photo-layout{grid-template-columns:1fr!important}
  .legal-summary{top:64px;border-radius:14px!important}
  .legal-hero h1{font-size:clamp(2rem,11vw,3.2rem)!important}
}



/* ===== SOURCE: mep-account-experiences.css ===== */

/* Mon compte + expériences professionnelles — finition dédiée */
.account-page,
.experiences-page {
  --mep-green-900:#123b32;
  --mep-green-800:#185243;
  --mep-green-700:#1f6d59;
  --mep-green-100:#e9f4ef;
  --mep-green-050:#f5faf7;
  --mep-ink:#1f2933;
  --mep-muted:#6d7780;
  --mep-line:#dce6e1;
  --mep-card:#ffffff;
}

.account-page .section-title,
.experiences-page .section-title {
  margin-bottom:24px;
}

.account-page-heading,
.experiences-page-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:28px 30px;
  border:1px solid var(--mep-line);
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f4faf7 100%);
  box-shadow:0 18px 46px rgba(26,67,55,.08);
}

.account-page-heading > div:first-child,
.experiences-page-heading > div:first-child { max-width:760px; }
.account-page-heading h1,
.experiences-page-heading h1 { margin:4px 0 8px; color:var(--mep-green-900); }
.account-page-heading p:last-child,
.experiences-page-heading p:last-child { margin:0; color:var(--mep-muted); line-height:1.65; }
.account-page-heading-actions,
.experiences-page-heading-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }

/* COMPTE */
.account-page .account-onboarding {
  margin-bottom:24px;
  padding:26px 28px;
  border:0;
  border-radius:24px;
  background:linear-gradient(135deg,var(--mep-green-900),var(--mep-green-700));
  color:#fff;
  box-shadow:0 20px 48px rgba(18,59,50,.2);
}
.account-page .account-onboarding :where(h2,p,span,strong){color:inherit}
.account-page .account-onboarding-heading { align-items:center; }
.account-page .account-onboarding-score {
  min-width:112px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:18px;
  background:rgba(255,255,255,.1);
  text-align:center;
}
.account-page .account-progress { height:9px; margin:20px 0; background:rgba(255,255,255,.16); }
.account-page .account-progress span { background:#fff; }
.account-page .account-onboarding-steps { grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.account-page .account-onboarding-step {
  min-height:74px;
  padding:12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.account-page .account-onboarding-step.is-complete { background:rgba(255,255,255,.16); }

.account-page .account-two-columns {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);
  gap:24px;
  align-items:start;
}
.account-page .account-profile-column,
.account-page .account-path-column { min-width:0; }
.account-page .account-profile-column { display:grid; gap:18px; }
.account-page .account-path-column { display:grid; gap:16px; position:sticky; top:96px; }
.account-page .account-column-heading {
  padding:0 4px;
}
.account-page .account-column-heading h2 { margin:3px 0 6px; color:var(--mep-green-900); }
.account-page .account-column-heading p:last-child { margin:0; color:var(--mep-muted); }
.account-page .account-form { display:grid; gap:16px; }
.account-page .account-card,
.account-page .account-path-help,
.account-page .account-formations-card {
  margin:0;
  padding:22px;
  border:1px solid var(--mep-line);
  border-radius:20px;
  background:var(--mep-card);
  box-shadow:0 12px 30px rgba(31,52,45,.055);
}
.account-page .account-card h2,
.account-page .account-path-help h2,
.account-page .account-formations-card h2 { color:var(--mep-green-900); }
.account-page .account-grid { gap:15px; }
.account-page .form-group label { color:#34433d; font-weight:750; }
.account-page :where(input,select,textarea) {
  border-color:#d5e1db;
  background:#fbfdfc;
}
.account-page :where(input,select,textarea):focus {
  border-color:var(--mep-green-700);
  box-shadow:0 0 0 4px rgba(31,109,89,.11);
}
.account-page .account-photo-layout {
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:22px;
  align-items:center;
}
.account-page .account-photo-preview,
.account-page .account-photo-placeholder {
  width:132px;
  height:132px;
  border-radius:24px;
  overflow:hidden;
  border:4px solid #fff;
  box-shadow:0 10px 30px rgba(20,62,51,.15);
}
.account-page .account-photo-preview img { width:100%;height:100%;object-fit:cover; }
.account-page .account-security-card {
  background:linear-gradient(150deg,#f7fbf9,#edf6f1);
}
.account-page .account-formations-content { align-items:center; }
.account-page .account-formations-count,
.account-page .account-path-count strong {
  color:var(--mep-green-700);
}
.account-page .account-submit {
  position:sticky;
  bottom:18px;
  z-index:8;
  padding:14px;
  border:1px solid var(--mep-line);
  border-radius:18px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(12px);
  box-shadow:0 16px 34px rgba(20,55,46,.12);
}
.account-page .account-submit .button { width:100%; }

/* EXPÉRIENCES */
.experiences-page > .home-card:first-of-type {
  padding:22px 24px;
  border:1px solid var(--mep-line);
  border-radius:22px;
  background:#fff;
}
.experiences-page .experience-summary-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.experiences-page .experience-summary-item {
  padding:18px;
  border:1px solid #dfe9e4;
  border-radius:17px;
  background:var(--mep-green-050);
}
.experiences-page .experience-summary-item h3 { margin:0 0 8px; color:var(--mep-muted); font-size:.82rem; }
.experiences-page .experience-summary-item p { margin:0; color:var(--mep-green-900); }
.experiences-page .experience-summary-item strong { font-size:1.55rem; }
.experiences-page .contract-list { display:flex; flex-wrap:wrap; gap:8px; }
.experiences-page .contract-badge {
  min-height:38px;
  padding:0 13px;
  border:1px solid #d9e5df;
  border-radius:999px;
  background:#fff;
  color:#50605a;
}
.experiences-page .contract-badge.is-active,
.experiences-page .contract-badge:hover {
  border-color:var(--mep-green-700);
  background:var(--mep-green-100);
  color:var(--mep-green-900);
}
.experiences-page .experience-column { margin-top:18px; }
.experiences-page .experience-column > .home-card {
  position:relative;
  overflow:hidden;
  padding:0;
  border:1px solid var(--mep-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(30,61,51,.07);
}
.experiences-page .experience-column > .home-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--mep-green-700),#7bb59f);
}
.experiences-page .experience-header {
  padding:22px 24px 16px 28px;
  border-bottom:1px solid #edf2ef;
  background:linear-gradient(135deg,#fff,#f7fbf9);
}
.experiences-page .experience-header h2 { margin:4px 0; color:var(--mep-green-900); }
.experiences-page .experience-header h3 { margin:0; color:#53605b; font-weight:650; }
.experiences-page .experience-data {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  padding:0 24px 0 28px;
  border-bottom:1px solid #edf2ef;
}
.experiences-page .experience-data-item {
  padding:17px 14px;
  border-right:1px solid #edf2ef;
  color:#34433d;
}
.experiences-page .experience-data-item:last-child { border-right:0; }
.experiences-page .experience-data-item strong { display:block; margin-bottom:5px; color:var(--mep-muted); font-size:.73rem; text-transform:uppercase; letter-spacing:.04em; }
.experiences-page .experience-column > .home-card > p,
.experiences-page .experience-description,
.experiences-page .experience-action { margin-left:28px; margin-right:24px; }
.experiences-page .experience-description {
  margin-top:20px;
  padding:18px;
  border-radius:16px;
  background:#f8fbf9;
}
.experiences-page .experience-description h3 { margin:0 0 10px; color:var(--mep-green-900); }
.experiences-page .experience-action { padding:18px 0 22px; }
.experiences-page .experience-actions-row { align-items:flex-start; }
.experiences-page .experience-edit-panel { flex:1; }
.experiences-page .experience-edit-panel > summary { list-style:none; }
.experiences-page .experience-edit-panel > summary::-webkit-details-marker { display:none; }
.experiences-page .experience-edit-panel[open] > summary { margin-bottom:14px; }
.experiences-page .experience-edit-form {
  padding:20px;
  border:1px solid var(--mep-line);
  border-radius:18px;
  background:#f8fbf9;
}
.experiences-page .experience-edit-grid { gap:14px; }
.experiences-page .experience-delete-form .button { border-color:#efc9c7; color:#a83b35; background:#fff7f6; }

@media (max-width: 980px) {
  .account-page .account-two-columns { grid-template-columns:1fr; }
  .account-page .account-path-column { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-page .account-column-heading { grid-column:1/-1; }
  .account-page .account-onboarding-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .experiences-page .experience-data { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .experiences-page .experience-data-item:nth-child(2) { border-right:0; }
  .experiences-page .experience-data-item:nth-child(-n+2) { border-bottom:1px solid #edf2ef; }
}

@media (max-width: 700px) {
  .account-page-heading,
  .experiences-page-heading { align-items:flex-start; flex-direction:column; padding:22px; }
  .account-page-heading-actions,
  .experiences-page-heading-actions { width:100%; justify-content:stretch; }
  .account-page-heading-actions .button,
  .experiences-page-heading-actions .button { flex:1; }
  .account-page .account-onboarding { padding:22px; }
  .account-page .account-onboarding-heading { align-items:flex-start; flex-direction:column; }
  .account-page .account-onboarding-score { width:100%; }
  .account-page .account-onboarding-steps { grid-template-columns:1fr; }
  .account-page .account-path-column { grid-template-columns:1fr; }
  .account-page .account-photo-layout { grid-template-columns:1fr; }
  .account-page .account-photo-preview,
  .account-page .account-photo-placeholder { width:112px;height:112px; }
  .account-page .account-card,
  .account-page .account-path-help,
  .account-page .account-formations-card { padding:18px; }
  .experiences-page .experience-summary-grid { grid-template-columns:1fr; }
  .experiences-page .experience-data { grid-template-columns:1fr; padding:0 18px 0 22px; }
  .experiences-page .experience-data-item { border-right:0; border-bottom:1px solid #edf2ef; }
  .experiences-page .experience-data-item:last-child { border-bottom:0; }
  .experiences-page .experience-header { padding:20px 18px 15px 22px; }
  .experiences-page .experience-column > .home-card > p,
  .experiences-page .experience-description,
  .experiences-page .experience-action { margin-left:22px; margin-right:18px; }
  .experiences-page .experience-actions-row { flex-direction:column; }
  .experiences-page .experience-actions-row > * { width:100%; }
}


/* =========================================================
   Correctif de mise en page — compte et expériences
   ========================================================= */

/* Empêche les anciens gabarits de limiter ou décaler ces pages. */
.account-page,
.experiences-page {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  overflow: visible;
}

.account-page-heading,
.experiences-page-heading {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

/* MON COMPTE : aucune zone collante ne doit masquer le formulaire. */
.account-page .account-submit {
  position: static;
  inset: auto;
  z-index: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border: 1px solid var(--mep-line);
  border-radius: 20px;
  background: linear-gradient(135deg, #f4faf7, #ffffff);
  box-shadow: 0 12px 28px rgba(20,55,46,.07);
  backdrop-filter: none;
}

.account-page .account-submit :where(h2,p) {
  color: var(--mep-green-900);
}

.account-page .account-submit .home-eyebrow {
  color: var(--mep-green-700);
}

.account-page .account-submit .button {
  width: auto;
  min-width: 230px;
  background: var(--mep-green-700);
  color: #fff;
  border-color: var(--mep-green-700);
}

.account-page .account-submit .button:hover {
  background: var(--mep-green-800);
  border-color: var(--mep-green-800);
}

/* La colonne latérale ne devient jamais une bande étroite. */
@media (max-width: 1180px) {
  .account-page .account-two-columns {
    grid-template-columns: 1fr;
  }

  .account-page .account-path-column {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-page .account-path-column > .account-column-heading {
    grid-column: 1 / -1;
  }
}

/* EXPÉRIENCES : une liste verticale lisible, sans cartes compressées. */
.experiences-page-heading {
  align-items: center;
  padding: 24px 28px;
}

.experiences-page-heading h1 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.02;
}

.experiences-page-heading > div:first-child {
  max-width: 720px;
}

.experiences-page .experiences-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  width: 100%;
  align-items: start;
}

.experiences-page .experience-column {
  display: block;
  min-width: 0;
  margin-top: 0;
}

/* Respecte le filtrage JavaScript par type de contrat. */
.experiences-page .experience-column[hidden] {
  display: none !important;
}

.experiences-page .experience-column > .home-card {
  width: 100%;
  height: auto;
  margin: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.experiences-page .experience-header {
  margin: 0;
  padding: 22px 26px 18px 30px;
  border-radius: 0;
  background: linear-gradient(135deg, #ffffff, #f4faf7);
}

.experiences-page .experience-header h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.experiences-page .experience-header h3 {
  font-size: 1rem;
}

.experiences-page .experience-data {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  margin: 0;
  padding: 18px 24px 4px 30px;
  border-bottom: 0;
}

.experiences-page .experience-data-item {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid #dfe9e4;
  border-radius: 14px;
  background: #f8fbf9;
  overflow-wrap: anywhere;
}

.experiences-page .experience-data-item,
.experiences-page .experience-data-item:nth-child(n) {
  border-right: 1px solid #dfe9e4;
  border-bottom: 1px solid #dfe9e4;
}

.experiences-page .experience-column > .home-card > p,
.experiences-page .experience-description,
.experiences-page .experience-action {
  margin-left: 30px;
  margin-right: 24px;
}

.experiences-page .experience-description {
  margin-top: 18px;
  padding: 20px;
  border: 1px solid #e5ede9;
  background: #f8fbf9;
}

.experiences-page .experience-description p {
  white-space: pre-line;
  line-height: 1.55;
}

.experiences-page .experience-action {
  margin-top: 0;
  padding-top: 18px;
}

@media (max-width: 900px) {
  .experiences-page .experience-data {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .experiences-page-heading {
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .account-page .account-path-column {
    grid-template-columns: 1fr;
  }

  .account-page .account-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .account-page .account-submit .button {
    width: 100%;
    min-width: 0;
  }

  .experiences-page .experience-data {
    grid-template-columns: 1fr;
    padding: 14px 18px 2px 22px;
  }

  .experiences-page .experience-header {
    padding: 20px 18px 16px 22px;
  }

  .experiences-page .experience-column > .home-card > p,
  .experiences-page .experience-description,
  .experiences-page .experience-action {
    margin-left: 22px;
    margin-right: 18px;
  }
}



/* ===== SOURCE: mep-functional-v2.css ===== */

:root{--mep-primary:#174c3c;--mep-primary-2:#23745d;--mep-soft:#eaf4f0;--mep-ink:#152238;--mep-muted:#667085;--mep-line:#dbe5e1;--mep-bg:#f6f8f7;--mep-danger:#b42318}
.mep-module-command{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:16px 18px;border:1px solid var(--mep-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(23,76,60,.05)}
.mep-module-command>div{display:grid;gap:3px}.mep-module-command>div>span,.mep-module-search span{color:var(--mep-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.mep-module-command>div>strong{color:var(--mep-ink)}
.mep-module-command nav{display:flex;flex-wrap:wrap;gap:8px}.mep-module-command a,.mep-module-command button,.documents-offer-helper button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border:1px solid var(--mep-line);border-radius:11px;background:#fff;color:var(--mep-primary);font:inherit;font-size:.78rem;font-weight:850;text-decoration:none;cursor:pointer}.mep-module-command nav a:last-child,.applications-command nav a,.documents-offer-helper button{border-color:var(--mep-primary);background:var(--mep-primary);color:#fff}
.mep-skill-cloud{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.mep-skill-cloud span{padding:8px 11px;border-radius:999px;background:var(--mep-soft);color:var(--mep-primary);font-size:.78rem;font-weight:750}
.documents-command{align-items:end}.mep-module-search{display:grid;gap:6px;flex:1}.mep-module-search input,.documents-offer-helper textarea,.mep-content-tools input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--mep-line);border-radius:12px;background:#fff;color:var(--mep-ink);font:inherit}.documents-command-stats{display:flex!important;grid-auto-flow:column;gap:8px!important}.documents-command-stats span{padding:8px 12px;border-radius:11px;background:var(--mep-soft);color:var(--mep-primary);font-size:.78rem}.documents-offer-helper{margin:0 0 18px;border:1px solid var(--mep-line);border-radius:17px;background:#fff}.documents-offer-helper summary{display:flex;justify-content:space-between;gap:15px;padding:15px 18px;cursor:pointer;font-weight:850}.documents-offer-helper summary b{color:var(--mep-primary);font-size:.76rem}.documents-offer-helper>div{display:grid;gap:10px;padding:0 18px 18px}.documents-offer-helper p,.documents-offer-helper small{margin:0;color:var(--mep-muted)}.document-row.is-hidden,.carte-dossier.is-hidden{display:none!important}.document-row.is-match{outline:2px solid #7bc5ac;background:#f0faf6}
.mep-content-tools{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 20px;padding:15px;border:1px solid var(--mep-line);border-radius:16px;background:#fff}.mep-content-tools label{display:grid;gap:6px;flex:1}.mep-content-tools label span{font-size:.73rem;font-weight:800;text-transform:uppercase;color:var(--mep-muted)}.mep-content-tools>a{padding:11px 14px;border-radius:11px;background:var(--mep-soft);color:var(--mep-primary);font-weight:850;text-decoration:none}
.mep-admin-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.mep-admin-quick-grid a{display:grid;gap:5px;padding:17px;border:1px solid #dfe7e4;border-radius:16px;background:#fff;color:#17243a;text-decoration:none;box-shadow:0 8px 22px rgba(23,76,60,.04)}.mep-admin-quick-grid a:hover{border-color:#8bb9aa;transform:translateY(-1px)}.mep-admin-quick-grid span{color:#23745d;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.mep-admin-quick-grid small{color:#6d7788}
@media(max-width:900px){.mep-module-command,.mep-content-tools{align-items:stretch;flex-direction:column}.mep-module-command nav{display:grid;grid-template-columns:1fr 1fr}.mep-admin-quick-grid{grid-template-columns:1fr 1fr}.documents-command-stats{display:flex!important}.mep-content-tools>a{text-align:center}}
@media(max-width:600px){.mep-module-command nav,.mep-admin-quick-grid{grid-template-columns:1fr}.documents-command-stats{width:100%;justify-content:space-between}.documents-command-stats span{flex:1;text-align:center}}



/* ===== SOURCE: mep-release-fix.css ===== */

/* Correctif final ciblé — chargé après tous les styles historiques. */
:root{
  --mep-release-green:#1f765f;
  --mep-release-green-dark:#155746;
  --mep-release-green-soft:#e9f4f0;
  --mep-release-ink:#17243a;
  --mep-release-muted:#657287;
  --mep-release-line:#d9e3df;
  --mep-release-bg:#f5f8f7;
}

/* Les blocs fonctionnels ajoutés à l'étape 2 doivent rester de vrais composants. */
.mep-module-command{
  box-sizing:border-box;
  width:100%;
  margin:18px 0 22px;
}
.mep-module-command > div{min-width:0}
.mep-module-command > div > strong{display:block;line-height:1.4}
.mep-module-command nav{align-items:center}
.mep-module-command nav :is(a,button){white-space:nowrap}

/* CV & lettres */
.documents-command{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  align-items:end;
}
.documents-command .mep-module-search{min-width:0}
.documents-command-stats{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.documents-command-stats span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 13px;
}
.documents-offer-helper{
  overflow:hidden;
  box-shadow:0 10px 26px rgba(23,76,60,.05);
}
.documents-offer-helper summary{align-items:center}

/* Candidatures */
.applications-command{
  display:flex;
  align-items:center;
}
.applications-command > div{flex:1}
.applications-command nav{justify-content:flex-end}
.applications-command nav button,
.applications-command nav a{
  min-height:42px;
  border-radius:12px;
}

/* Parcours */
.parcours-page .mep-module-command,
.mep-module-command[aria-label="Actions rapides du parcours"]{
  align-items:center;
  padding:18px 20px;
}
.mep-module-command[aria-label="Actions rapides du parcours"] nav a{
  min-width:118px;
}

/* Projet professionnel : contraste garanti, même avec les anciennes règles. */
.career-page .career-hero,
.career-page .career-hero *{box-sizing:border-box}
.career-page .career-hero h1{
  color:#fff!important;
  text-shadow:none!important;
}
.career-page .career-hero > div > p:not(.career-eyebrow){color:#e7f0f4!important}
.career-page .career-hero .career-score :is(span,strong){color:#fff!important}

/* Mon compte : aucun badge bleu hérité. */
.account-page .account-formations-summary{
  border-color:var(--mep-release-line)!important;
  background:#f7faf9!important;
}
.account-page .account-formations-count{
  display:grid!important;
  place-items:center;
  flex:0 0 46px;
  width:46px!important;
  height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--mep-release-green)!important;
  color:#fff!important;
  font-weight:900!important;
}
.account-page .account-formations-summary > span:not(.account-formations-count),
.account-page .account-formations-summary > strong{
  color:var(--mep-release-muted)!important;
}
.account-page .account-path-count strong{color:var(--mep-release-green-dark)!important}

/* Article : vraie surface de lecture, sans toucher au contenu éditorial. */
.article-public{
  box-sizing:border-box;
  width:min(980px,calc(100% - 40px))!important;
  margin:34px auto 80px!important;
  padding:clamp(28px,5vw,58px)!important;
  border:1px solid var(--mep-release-line)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 20px 55px rgba(21,55,46,.08)!important;
}
.article-actions-admin{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin:0 0 28px;
  flex-wrap:wrap;
}
.article-fil-ariane{margin-bottom:28px!important}
.article-fil-ariane a,
.article-public-categorie,
.article-public-dossier a,
.article-retour{color:var(--mep-release-green)!important}
.article-public-entete h1{
  max-width:860px;
  color:var(--mep-release-ink)!important;
  font-size:clamp(2.25rem,5vw,4rem)!important;
  line-height:1.04!important;
}
.article-public-accroche{
  max-width:820px;
  color:var(--mep-release-muted)!important;
}
.article-public-dossier{
  border-left-color:var(--mep-release-green)!important;
  background:var(--mep-release-green-soft)!important;
}
.article-public-contenu{
  color:#334155!important;
  font-size:1.075rem!important;
  line-height:1.85!important;
}
.article-public-contenu :is(h2,h3){color:var(--mep-release-ink)!important}
.article-public-conclusion{background:var(--mep-release-green-soft)!important}

@media(max-width:900px){
  .documents-command{grid-template-columns:1fr}
  .documents-command-stats{justify-content:flex-start}
  .applications-command{align-items:stretch;flex-direction:column}
  .applications-command nav{justify-content:flex-start}
}
@media(max-width:650px){
  .article-public{
    width:calc(100% - 20px)!important;
    margin:18px auto 60px!important;
    padding:24px 18px!important;
    border-radius:20px!important;
  }
  .article-actions-admin{justify-content:stretch}
  .article-actions-admin .button{width:100%;text-align:center}
  .mep-module-command nav{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .mep-module-command nav :is(a,button){width:100%}
  .documents-command-stats{width:100%}
  .documents-command-stats span{flex:1;justify-content:center}
}

/* =========================================================
   CORRECTION FINALE — 3 PAGES RESTANTES
   - Candidatures : retirer le fond vert
   - CV & lettres : ajouter la bordure / vraie bannière
   - Conseils / articles : bannière largeur cohérente
   ========================================================= */

:root{
  --mep-shared-header-bg: linear-gradient(135deg,#ffffff 0%,#f4faf8 100%);
  --mep-shared-header-border:#d8e5df;
  --mep-shared-header-shadow:0 16px 42px rgba(16,33,61,.07);
}

/* 1) CANDIDATURES : même style clair que le reste */
.applications-final-hero{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  width:100%!important;
  min-height:218px!important;
  margin:0 0 22px!important;
  padding:30px!important;
  border:1px solid var(--mep-shared-header-border)!important;
  border-radius:24px!important;
  background:var(--mep-shared-header-bg)!important;
  color:var(--mep-release-ink)!important;
  box-shadow:var(--mep-shared-header-shadow)!important;
}
.applications-final-hero > div:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
}
.applications-final-hero .home-eyebrow{
  color:var(--mep-release-green)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.applications-final-hero h1{
  margin:6px 0 10px!important;
  color:var(--mep-release-ink)!important;
  font-size:clamp(30px,4vw,52px)!important;
  line-height:1.05!important;
  text-shadow:none!important;
}
.applications-final-hero p{
  max-width:760px!important;
  color:var(--mep-release-muted)!important;
}
.applications-final-hero .button-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:220px!important;
  min-height:48px!important;
  padding:0 18px!important;
  border:1px solid var(--mep-release-green)!important;
  border-radius:12px!important;
  background:var(--mep-release-green)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* 2) CV & LETTRES : vraie bannière avec bordure */
.documents-page-header{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  width:100%!important;
  min-height:218px!important;
  margin:0 0 24px!important;
  padding:30px!important;
  border:1px solid var(--mep-shared-header-border)!important;
  border-radius:24px!important;
  background:var(--mep-shared-header-bg)!important;
  color:var(--mep-release-ink)!important;
  box-shadow:var(--mep-shared-header-shadow)!important;
}
.documents-page-header > div:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:800px!important;
}
.documents-page-header > div:first-child > p:first-child{
  color:var(--mep-release-green)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.documents-page-header h1{
  color:var(--mep-release-ink)!important;
  font-size:clamp(30px,4vw,52px)!important;
  line-height:1.05!important;
}
.documents-page-header > div:first-child > span{
  max-width:720px!important;
  color:var(--mep-release-muted)!important;
  font-size:17px!important;
  line-height:1.65!important;
}
.documents-main-actions{
  flex:0 0 360px!important;
  width:360px!important;
  justify-content:flex-start!important;
}

/* 3) CONSEILS / DOSSIERS / ARTICLES : largeur cohérente */
.page-dossiers,
.page-articles{
  width:min(1180px,calc(100% - 32px))!important;
  margin:28px auto 80px!important;
}
.page-dossiers .entete-page-dossiers,
.page-articles .entete-page-articles{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:30px!important;
  border:1px solid var(--mep-shared-header-border)!important;
  border-radius:24px!important;
  background:var(--mep-shared-header-bg)!important;
  box-shadow:var(--mep-shared-header-shadow)!important;
  text-align:left!important;
}
.page-dossiers .entete-page-dossiers .sur-titre,
.page-articles .entete-page-articles .sur-titre{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--mep-release-green)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.page-dossiers .entete-page-dossiers h1,
.page-articles .entete-page-articles h1{
  margin:0!important;
  color:var(--mep-release-ink)!important;
  font-size:clamp(30px,4vw,52px)!important;
  line-height:1.05!important;
}
.page-dossiers .entete-page-dossiers > p,
.page-articles .entete-page-articles > p{
  max-width:760px!important;
  margin:14px 0 0!important;
  color:var(--mep-release-muted)!important;
  font-size:17px!important;
  line-height:1.65!important;
}
.page-dossiers .dossiers-actions-admin,
.page-articles .articles-actions-admin,
.page-articles .articles-public-stats{
  justify-content:flex-start!important;
}

@media(max-width:900px){
  .applications-final-hero,
  .documents-page-header{
    align-items:stretch!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  .documents-main-actions,
  .applications-final-hero .button-primary{
    width:100%!important;
    min-width:0!important;
  }
}

@media(max-width:650px){
  .applications-final-hero,
  .documents-page-header,
  .page-dossiers .entete-page-dossiers,
  .page-articles .entete-page-articles{
    padding:22px!important;
    border-radius:20px!important;
  }
  .page-dossiers,
  .page-articles{
    width:calc(100% - 20px)!important;
    margin:18px auto 60px!important;
  }
  .documents-main-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   PROJET PROFESSIONNEL — TITRE ET SCORE VISIBLES
   ========================================================= */
.career-page .career-hero{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:30px!important;
  width:100%!important;
  min-height:218px!important;
  padding:30px!important;
  border:1px solid #d8e5df!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f4faf8 100%)!important;
  color:#10213f!important;
  box-shadow:0 16px 42px rgba(16,33,61,.07)!important;
}
.career-page .career-hero > div:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:830px!important;
}
.career-page .career-hero .career-eyebrow{
  color:#08745f!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.career-page .career-hero h1,
.career-page .career-hero > div:first-child h1{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:6px 0 10px!important;
  color:#10213f!important;
  font-size:clamp(30px,4vw,52px)!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#10213f!important;
}
.career-page .career-hero > div:first-child > p:not(.career-eyebrow){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  max-width:760px!important;
  margin:14px 0 0!important;
  color:#5f7085!important;
  font-size:17px!important;
  line-height:1.65!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#5f7085!important;
}
.career-page .career-hero .career-score{
  display:grid!important;
  flex:0 0 260px!important;
  width:260px!important;
  min-width:260px!important;
  gap:7px!important;
  padding:20px!important;
  border:1px solid #d8e5df!important;
  border-radius:18px!important;
  background:#ffffff!important;
  color:#10213f!important;
  box-shadow:none!important;
}
.career-page .career-hero .career-score span{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#5f7085!important;
  font-size:13px!important;
  -webkit-text-fill-color:#5f7085!important;
}
.career-page .career-hero .career-score strong{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:3px 0 10px!important;
  color:#10213f!important;
  font-size:34px!important;
  line-height:1.15!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#10213f!important;
}
.career-page .career-hero .career-score i{
  display:block!important;
  height:8px!important;
  overflow:hidden!important;
  border-radius:99px!important;
  background:#e8eef3!important;
}
.career-page .career-hero .career-score i b{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:#08745f!important;
}
@media(max-width:900px){
  .career-page .career-hero{
    min-height:0!important;
    align-items:stretch!important;
    flex-direction:column!important;
    padding:24px!important;
  }
  .career-page .career-hero .career-score{
    width:100%!important;
    min-width:0!important;
    flex-basis:auto!important;
  }
}


/* Lien de déconnexion dans le menu mobile */
.mep-shell-navigation .mep-mobile-logout{
  display:none!important;
}

@media(max-width:980px){
  .mep-shell-navigation .mep-mobile-logout{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:6px!important;
    border:1px solid #efc5c5!important;
    background:#fff4f4!important;
    color:#a52f2f!important;
    font-weight:900!important;
  }
  .mep-shell-navigation .mep-mobile-logout:hover{
    border-color:#d99b9b!important;
    background:#ffeaea!important;
    color:#8d2020!important;
  }
}



/* ===== SOURCE: mep-content-admin-and-chapters.css ===== */


/* Ajustements admin contenu + navigation articles */
.page-articles .carte-article.carte-admin,
.page-dossiers .carte-dossier.carte-admin{
    position: relative;
    overflow: hidden;
}

.page-articles .carte-article.carte-admin::before,
.page-dossiers .carte-dossier.carte-admin::before{
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: #9fb6cc;
    z-index: 1;
}

.page-articles .carte-article.carte-statut-brouillon::before,
.page-dossiers .carte-dossier.carte-statut-brouillon::before{ background:#94a3b8; }
.page-articles .carte-article.carte-statut-programme::before,
.page-dossiers .carte-dossier.carte-statut-programme::before{ background:#d4a017; }
.page-articles .carte-article.carte-statut-publie::before,
.page-dossiers .carte-dossier.carte-statut-publie::before{ background:#2b8f61; }
.page-articles .carte-article.carte-statut-archive::before,
.page-dossiers .carte-dossier.carte-statut-archive::before{ background:#c45a5a; }

.admin-carte-entete{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin:0 0 18px;
    padding:18px 20px 0;
    position:relative;
    z-index:2;
}
.admin-contenu-badge{
    margin:0;
    padding:.42rem .9rem;
    border-radius:999px;
    border:1px solid currentColor;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.06em;
}
.admin-carte-meta{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:.35rem .75rem;
    border-radius:999px;
    background:#f4f7f9;
    color:#566273;
    font-size:.78rem;
    font-weight:700;
}
.page-articles .carte-article .carte-article-contenu,
.page-dossiers .carte-dossier .carte-dossier-contenu{
    padding-top: 0;
}

.article-navigation-chapitres{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:16px;
    margin: 38px 0 26px;
}
.article-nav-link{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-height:110px;
    padding:18px 20px;
    border:1px solid #dbe4e8;
    border-radius:18px;
    background:#f9fbfc;
    color:#1d2f42;
    text-decoration:none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.article-nav-link small{
    color:#5d7a74;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.article-nav-link strong{
    font-size:1rem;
    line-height:1.45;
}
.article-nav-link strong span{
    color:#1f6d59;
}
.article-nav-link:hover{
    transform:translateY(-2px);
    border-color:#a9cdbd;
    box-shadow:0 10px 24px rgba(25,50,70,.06);
}
.article-nav-dossier{
    justify-content:center;
    text-align:center;
    background:#eef7f3;
}
.article-nav-placeholder{
    visibility:hidden;
}
@media (max-width: 900px){
    .article-navigation-chapitres{ grid-template-columns:1fr; }
    .article-nav-placeholder{ display:none; }
}


/* Suivi des lectures sur l'accueil connecté */
.mep-reading-dashboard{
    margin:22px 0;
    padding:24px;
    border:1px solid #dce7e3;
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 30px rgba(30,58,48,.05);
}
.mep-reading-dashboard-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.mep-reading-dashboard-header h2{margin:4px 0 7px;font-size:1.45rem}
.mep-reading-dashboard-header p:last-child{margin:0;color:#75817d}
.mep-reading-dashboard-header>a{color:#1f6d59;font-weight:800;text-decoration:none;white-space:nowrap}
.mep-reading-summary{display:grid;grid-template-columns:150px 170px minmax(0,1fr);gap:12px;margin-bottom:20px}
.mep-reading-summary article{display:grid;align-content:center;gap:3px;min-height:92px;padding:16px;border-radius:16px;background:#f5f8f7}
.mep-reading-summary strong{font-size:1.65rem;color:#20352f}
.mep-reading-summary span{font-size:.75rem;color:#74827d;font-weight:750}
.mep-reading-summary .mep-reading-last{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.mep-reading-last>span,.mep-reading-last>strong{grid-column:1}
.mep-reading-last>strong{font-size:1rem;line-height:1.35}
.mep-reading-last>a{grid-column:2;grid-row:1/3;color:#1f6d59;font-weight:850;text-decoration:none}
.mep-reading-recommendations-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.mep-reading-recommendations-title h3{margin:0;font-size:1rem}
.mep-reading-recommendations-title span{color:#84908c;font-size:.75rem;font-weight:750}
.mep-reading-recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mep-reading-card{display:grid;gap:8px;min-width:0;padding:15px;border:1px solid #e1e9e6;border-radius:15px;color:#20352f;text-decoration:none;background:#fbfcfc}
.mep-reading-card small{color:#648078;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.mep-reading-card strong{line-height:1.35}
.mep-reading-card span{color:#1f6d59;font-size:.75rem;font-weight:850}
.mep-reading-card:hover{border-color:#9fcbb9;transform:translateY(-1px)}
@media(max-width:850px){
    .mep-reading-summary{grid-template-columns:1fr 1fr}
    .mep-reading-summary .mep-reading-last{grid-column:1/-1}
    .mep-reading-recommendation-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
    .mep-reading-dashboard{padding:18px}
    .mep-reading-dashboard-header{flex-direction:column}
    .mep-reading-summary{grid-template-columns:1fr}
    .mep-reading-summary .mep-reading-last{grid-column:auto;grid-template-columns:1fr}
    .mep-reading-last>a{grid-column:1;grid-row:auto;margin-top:7px}
}


/* Accueil connecté : contenu principal + colonne de lectures */
.mep-home-dashboard-layout{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);
    gap:22px;
    align-items:start;
    margin-top:22px;
}
.mep-home-dashboard-main{
    display:grid;
    gap:22px;
    min-width:0;
}
.mep-home-dashboard-main .mep-clean-spaces,
.mep-home-dashboard-main .mep-clean-status{
    margin:0;
}
.mep-home-dashboard-sidebar{
    display:grid;
    gap:18px;
    min-width:0;
    position:sticky;
    top:96px;
}
.mep-home-latest-articles,
.mep-home-reading-compact{
    padding:20px;
    border:1px solid #dce7e3;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(30,58,48,.05);
}
.mep-home-latest-articles>header,
.mep-home-reading-compact>header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}
.mep-home-latest-articles h2,
.mep-home-reading-compact h2{
    margin:3px 0 0;
    font-size:1.15rem;
}
.mep-home-latest-articles>header>a,
.mep-home-reading-compact>header>a{
    color:#1f6d59;
    font-size:.76rem;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
}
.mep-home-latest-list,
.mep-home-reading-suggestions{
    display:grid;
    gap:9px;
}
.mep-home-latest-card,
.mep-home-reading-suggestion{
    display:grid;
    gap:5px;
    padding:13px 14px;
    border:1px solid #e2eae7;
    border-radius:14px;
    background:#fbfcfc;
    color:#20352f;
    text-decoration:none;
    transition:border-color .18s ease, transform .18s ease;
}
.mep-home-latest-card:hover,
.mep-home-reading-suggestion:hover{
    border-color:#a4cbbb;
    transform:translateY(-1px);
}
.mep-home-latest-card small,
.mep-home-reading-suggestion small{
    color:#648078;
    font-size:.66rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.mep-home-latest-card strong,
.mep-home-reading-suggestion strong{
    font-size:.9rem;
    line-height:1.35;
}
.mep-home-latest-card span{
    color:#89948f;
    font-size:.7rem;
    font-weight:700;
}
.mep-home-reading-suggestion span{
    color:#1f6d59;
    font-size:.72rem;
    font-weight:850;
}
.mep-home-reading-resume{
    display:grid;
    gap:7px;
    padding:15px;
    margin-bottom:10px;
    border-radius:15px;
    background:#edf6f2;
}
.mep-home-reading-resume>span{
    color:#648078;
    font-size:.7rem;
    font-weight:850;
    text-transform:uppercase;
}
.mep-home-reading-resume>strong{
    line-height:1.4;
    color:#20352f;
}
.mep-home-reading-resume>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.mep-home-reading-resume small{
    color:#71817b;
    font-weight:750;
}
.mep-home-reading-resume a{
    color:#1f6d59;
    font-size:.78rem;
    font-weight:850;
    text-decoration:none;
}
@media(max-width:980px){
    .mep-home-dashboard-layout{
        grid-template-columns:1fr;
    }
    .mep-home-dashboard-sidebar{
        position:static;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:680px){
    .mep-home-dashboard-sidebar{
        grid-template-columns:1fr;
    }
    .mep-home-latest-articles,
    .mep-home-reading-compact{
        padding:17px;
    }
}


/* Accueil : entête et action principale intégrés à la colonne gauche */
.mep-home-dashboard-main .mep-clean-hero,
.mep-home-dashboard-main .mep-clean-main-action{
    margin:0;
}
.mep-home-dashboard-main .mep-clean-hero{
    min-height:auto;
}
.mep-clean-hero-left{
    display:block;
}


/* Accueil : alignement sous le header et blocs plus compacts */
.mep-home-clean{
    padding-top:0 !important;
}

.mep-home-dashboard-layout{
    margin-top:0 !important;
}

.mep-home-dashboard-main{
    gap:16px !important;
}

.mep-home-dashboard-main .mep-clean-hero{
    min-height:0 !important;
    padding:20px 24px !important;
    border-radius:20px !important;
}

.mep-home-dashboard-main .mep-clean-hero h1{
    margin:2px 0 5px !important;
    font-size:clamp(1.8rem,3vw,2.45rem) !important;
    line-height:1.05 !important;
}

.mep-home-dashboard-main .mep-clean-hero p:last-child{
    font-size:.95rem !important;
    line-height:1.45 !important;
}

.mep-home-dashboard-main .mep-clean-main-action{
    min-height:0 !important;
    padding:17px 22px !important;
    border-radius:18px !important;
}

.mep-home-dashboard-main .mep-clean-main-action h2{
    margin:3px 0 2px !important;
    font-size:clamp(1.35rem,2.4vw,1.8rem) !important;
    line-height:1.15 !important;
}

.mep-home-dashboard-main .mep-clean-main-action p{
    font-size:.9rem !important;
    line-height:1.4 !important;
}

.mep-home-dashboard-main .mep-clean-main-action>a{
    min-height:40px !important;
    padding:0 16px !important;
}

/* Reprise de lecture : pourcentage visible et bloc masqué si terminé */
.mep-home-reading-resume{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px 12px !important;
}

.mep-home-reading-resume-head{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.mep-home-reading-resume-head>span{
    color:#648078;
    font-size:.7rem;
    font-weight:850;
    text-transform:uppercase;
}

.mep-home-reading-resume-head>b{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:0 9px;
    border-radius:999px;
    background:#d8ebe4;
    color:#17664f;
    font-size:.72rem;
    font-weight:900;
    white-space:nowrap;
}

.mep-home-reading-resume>strong{
    grid-column:1;
}

.mep-home-reading-resume>a{
    grid-column:2;
    align-self:end;
}

@media(max-width:680px){
    .mep-home-dashboard-main .mep-clean-hero{
        padding:18px !important;
    }

    .mep-home-dashboard-main .mep-clean-main-action{
        padding:16px 18px !important;
    }

    .mep-home-reading-resume{
        grid-template-columns:1fr !important;
    }

    .mep-home-reading-resume>a{
        grid-column:1;
    }
}

/* Accueil connecté : finition écrans intermédiaires et tablette */
@media (min-width:981px) and (max-width:1200px){
    .mep-home-dashboard-layout{
        grid-template-columns:minmax(0,1.5fr) minmax(285px,.72fr);
        gap:16px;
    }
    .mep-home-dashboard-sidebar{
        gap:14px;
        top:82px;
    }
    .mep-home-latest-articles,
    .mep-home-reading-compact{
        padding:16px;
        border-radius:17px;
    }
    .mep-home-latest-articles>header,
    .mep-home-reading-compact>header{
        display:grid;
        gap:6px;
    }
    .mep-home-latest-articles>header>a,
    .mep-home-reading-compact>header>a{
        white-space:normal;
    }
    .mep-home-latest-card,
    .mep-home-reading-suggestion{
        padding:11px 12px;
    }
    .mep-home-latest-card strong,
    .mep-home-reading-suggestion strong,
    .mep-home-reading-resume>strong{
        overflow-wrap:anywhere;
        word-break:normal;
    }
    .mep-clean-spaces{
        grid-template-columns:1fr;
    }
}

@media (min-width:681px) and (max-width:980px){
    .mep-home-dashboard-sidebar{
        align-items:start;
    }
    .mep-home-latest-articles,
    .mep-home-reading-compact{
        height:100%;
    }
    .mep-home-latest-card strong,
    .mep-home-reading-suggestion strong,
    .mep-home-reading-resume>strong{
        overflow-wrap:anywhere;
    }
}

@media (max-width:760px){
    .mep-clean-status-heading{
        align-items:flex-start;
        flex-direction:column;
    }
    .mep-clean-status-heading>a{
        white-space:normal;
    }
}



/* ===== SOURCE: mep-footer-final.css ===== */

/* Footer final — compact, lisible et cohérent avec l'identité MEP. */
body > footer{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.mep-shell-footer{display:none!important}
.mep-footer-final,
.mep-footer-final *{box-sizing:border-box}
.mep-footer-final{
  position:relative;
  margin-top:44px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,#162a3f 0%,#183447 58%,#17463d 100%);
  color:#fff;
}
.mep-footer-final::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#27856e,#76b8a3 55%,transparent);
}
.mep-footer-final__inner{
  display:grid;
  grid-template-columns:minmax(280px,1.55fr) repeat(3,minmax(135px,.75fr));
  gap:clamp(28px,4vw,64px);
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:38px 0 30px;
}
.mep-footer-final__brand{min-width:0}
.mep-footer-final__identity{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#fff!important;
  text-decoration:none!important;
}
.mep-footer-final__logo{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:14px;
  background:#247a67;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.04em;
}
.mep-footer-final__identity strong{
  display:block;
  color:#fff!important;
  font-size:1rem;
  line-height:1.2;
}
.mep-footer-final__identity small{
  display:block;
  margin-top:3px;
  color:#9fb7c6;
  font-size:.7rem;
}
.mep-footer-final__brand p{
  max-width:390px;
  margin:17px 0 0;
  color:#c8d5de;
  font-size:.84rem;
  line-height:1.65;
}
.mep-footer-final__column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.mep-footer-final__column strong{
  margin-bottom:4px;
  color:#fff!important;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mep-footer-final__column a{
  position:relative;
  color:#cbd7df!important;
  font-size:.79rem;
  line-height:1.4;
  text-decoration:none!important;
  transition:color .18s ease,transform .18s ease;
}
.mep-footer-final__column a:hover,
.mep-footer-final__column a:focus-visible{
  color:#fff!important;
  transform:translateX(3px);
}
.mep-footer-final__column a:focus-visible{
  outline:2px solid #8ac9b5;
  outline-offset:4px;
  border-radius:4px;
}
.mep-footer-final__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:15px 0 17px;
  border-top:1px solid rgba(255,255,255,.11);
  color:#9fb0bd;
  font-size:.69rem;
}
@media(max-width:900px){
  .mep-footer-final__inner{
    grid-template-columns:1.4fr 1fr 1fr;
  }
  .mep-footer-final__column:last-child{grid-column:2/-1}
}
@media(max-width:650px){
  .mep-footer-final{margin-top:32px}
  .mep-footer-final__inner,
  .mep-footer-final__bottom{width:calc(100% - 28px)}
  .mep-footer-final__inner{
    grid-template-columns:1fr 1fr;
    gap:26px 22px;
    padding:32px 0 25px;
  }
  .mep-footer-final__brand{grid-column:1/-1}
  .mep-footer-final__column:last-child{grid-column:1/-1}
  .mep-footer-final__bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}
@media(max-width:420px){
  .mep-footer-final__inner{grid-template-columns:1fr}
  .mep-footer-final__brand,
  .mep-footer-final__column:last-child{grid-column:auto}
}



/* ===== SOURCE: mep-last-ui-fixes.css ===== */

/* =========================================================
   MON EXPÉRIENCE PRO — DERNIERS AJUSTEMENTS VISUELS
   Chargé en dernier afin de neutraliser les anciennes couches CSS.
   ========================================================= */

:root {
  --mep-fix-navy: #182b46;
  --mep-fix-navy-deep: #12233a;
  --mep-fix-green: #1f755f;
  --mep-fix-green-dark: #155846;
  --mep-fix-green-soft: #e8f3ef;
  --mep-fix-mint: #82c9b4;
  --mep-fix-white: #ffffff;
  --mep-fix-text-soft: #dce8e5;
  --mep-fix-line: #d7e2df;
}

/* ---------------------------------------------------------
   CV — appel final
   --------------------------------------------------------- */

.home-final-cta.cv-final-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 36px !important;
  margin-top: 30px !important;
  padding: clamp(30px, 4vw, 48px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 24px !important;
  color: var(--mep-fix-white) !important;
  background: linear-gradient(135deg, var(--mep-fix-navy-deep) 0%, #194b43 100%) !important;
  box-shadow: 0 20px 45px rgba(18, 35, 58, 0.14) !important;
}

.home-final-cta.cv-final-cta > div:first-child {
  min-width: 0 !important;
  max-width: 760px !important;
}

.home-final-cta.cv-final-cta .home-eyebrow,
.home-final-cta.cv-final-cta .home-eyebrow-light {
  margin: 0 0 10px !important;
  color: #9dd8c5 !important;
}

.home-final-cta.cv-final-cta h2,
.home-final-cta.cv-final-cta h2 * {
  margin: 0 !important;
  color: var(--mep-fix-white) !important;
  font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

.home-final-cta.cv-final-cta p:not(.home-eyebrow) {
  max-width: 680px !important;
  margin: 18px 0 0 !important;
  color: var(--mep-fix-text-soft) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.home-final-cta.cv-final-cta .home-final-actions {
  flex: 0 0 auto !important;
}

.home-final-cta.cv-final-cta .button,
.home-final-cta.cv-final-cta .button-light {
  min-height: 48px !important;
  padding: 13px 20px !important;
  border: 1px solid var(--mep-fix-white) !important;
  border-radius: 12px !important;
  color: var(--mep-fix-green-dark) !important;
  background: var(--mep-fix-white) !important;
  box-shadow: none !important;
  font-weight: 850 !important;
}

.home-final-cta.cv-final-cta .button:hover,
.home-final-cta.cv-final-cta .button-light:hover {
  color: var(--mep-fix-navy-deep) !important;
  background: #f0f7f5 !important;
  transform: translateY(-1px) !important;
}

/* ---------------------------------------------------------
   PARCOURS — cartes et appel final
   --------------------------------------------------------- */

.mep-path-steps {
  align-items: stretch !important;
}

.mep-path-steps > article {
  min-height: 210px !important;
  padding: 20px 22px !important;
}

.mep-path-step-meta {
  margin-top: 22px !important;
}

.mep-path-steps footer {
  padding-top: 14px !important;
}

.mep-path-after {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  min-height: 148px !important;
  margin-top: 24px !important;
  padding: 27px 30px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px !important;
  color: var(--mep-fix-white) !important;
  background: var(--mep-fix-navy) !important;
  box-shadow: 0 14px 32px rgba(18, 35, 58, 0.1) !important;
}

.mep-path-after > div {
  min-width: 0 !important;
}

.mep-path-after > div > span {
  margin-bottom: 8px !important;
  color: #74c8ae !important;
}

.mep-path-after h2,
.mep-path-after h2 * {
  margin: 0 !important;
  color: var(--mep-fix-white) !important;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

.mep-path-after p {
  margin: 9px 0 0 !important;
  color: var(--mep-fix-text-soft) !important;
  line-height: 1.55 !important;
}

.mep-path-after > a {
  flex: 0 0 auto !important;
  min-height: 48px !important;
  padding: 13px 20px !important;
  border: 1px solid var(--mep-fix-white) !important;
  border-radius: 12px !important;
  color: var(--mep-fix-navy-deep) !important;
  background: var(--mep-fix-white) !important;
  box-shadow: none !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

.mep-path-after > a:hover {
  color: var(--mep-fix-green-dark) !important;
  background: #edf6f3 !important;
}

/* ---------------------------------------------------------
   COOKIES — modal harmonisé
   --------------------------------------------------------- */

.cookie-consent {
  align-items: center !important;
  padding: 20px !important;
  background: rgba(11, 25, 35, 0.68) !important;
  backdrop-filter: blur(5px) !important;
}

.cookie-consent-panel {
  grid-template-columns: 1fr !important;
  gap: 22px !important;
  width: min(1040px, 100%) !important;
  max-height: calc(100vh - 40px) !important;
  padding: clamp(25px, 3.5vw, 36px) !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 22px !important;
  color: var(--mep-fix-text-soft) !important;
  background: linear-gradient(135deg, var(--mep-fix-navy-deep) 0%, #174d43 100%) !important;
  box-shadow: 0 28px 80px rgba(5, 18, 29, 0.42) !important;
}

.cookie-consent-copy {
  max-width: 820px !important;
}

.cookie-consent-eyebrow {
  color: #9dd8c5 !important;
}

.cookie-consent h2,
.cookie-consent h2 * {
  color: var(--mep-fix-white) !important;
}

.cookie-consent p,
.cookie-consent-choice small {
  color: var(--mep-fix-text-soft) !important;
}

.cookie-consent-policy-link {
  color: #a9dfcf !important;
}

.cookie-consent-policy-link:hover {
  color: var(--mep-fix-white) !important;
}

.cookie-consent-preferences {
  grid-column: auto !important;
  gap: 12px !important;
}

.cookie-consent-choice {
  min-height: 96px !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.055) !important;
}

.cookie-consent-choice:hover {
  border-color: rgba(157, 216, 197, 0.42) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.cookie-consent-choice strong {
  color: var(--mep-fix-white) !important;
}

.cookie-consent-choice input {
  accent-color: var(--mep-fix-green) !important;
}

.cookie-consent-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

.cookie-consent-button {
  min-height: 48px !important;
  border-radius: 11px !important;
}

.cookie-consent-button-primary {
  border-color: var(--mep-fix-green) !important;
  color: var(--mep-fix-white) !important;
  background: var(--mep-fix-green) !important;
}

.cookie-consent-button-primary:hover {
  border-color: var(--mep-fix-green-dark) !important;
  background: var(--mep-fix-green-dark) !important;
}

.cookie-consent-button-secondary {
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: var(--mep-fix-white) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.cookie-consent-button-secondary:hover {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.cookie-consent-reopen {
  border-color: #c9dbd5 !important;
  color: var(--mep-fix-green-dark) !important;
  background: var(--mep-fix-white) !important;
}

.cookie-consent-reopen:hover {
  border-color: var(--mep-fix-green) !important;
  color: var(--mep-fix-white) !important;
  background: var(--mep-fix-green) !important;
}

@media (max-width: 900px) {
  .home-final-cta.cv-final-cta,
  .mep-path-after {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .home-final-cta.cv-final-cta .home-final-actions,
  .home-final-cta.cv-final-cta .button,
  .home-final-cta.cv-final-cta .button-light,
  .mep-path-after > a {
    width: 100% !important;
    text-align: center !important;
  }

  .cookie-consent-actions {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 620px) {
  .mep-path-steps > article {
    min-height: 0 !important;
  }

  .home-final-cta.cv-final-cta,
  .mep-path-after {
    padding: 24px !important;
  }

  .cookie-consent {
    padding: 10px !important;
  }

  .cookie-consent-panel {
    gap: 18px !important;
    max-height: calc(100vh - 20px) !important;
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  .cookie-consent-preferences,
  .cookie-consent-actions {
    grid-template-columns: 1fr !important;
  }

  .cookie-consent-choice {
    min-height: 0 !important;
    padding: 14px !important;
  }
}


/* ---------------------------------------------------------
   ESPACEMENT UNIFORME SOUS LE HEADER
   Toutes les pages principales commencent à la même hauteur.
   --------------------------------------------------------- */

#contenu-principal {
  padding-top: 34px !important;
}

#contenu-principal > :first-child {
  margin-top: 0 !important;
}

/*
 * Plusieurs modules possédaient leur propre marge ou leur propre
 * padding supérieur, qui s'ajoutait à celui du contenu principal.
 */
#contenu-principal > :is(
  .mep-home-clean,
  .mep-path-page,
  .parcours-page,
  .career-page,
  .skills-assessment-page,
  .applications-final,
  .applications-page,
  .documents-page-simple,
  .page-dossiers,
  .page-articles,
  .account-page,
  .article-public
) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/*
 * Les pages centrées qui définissent leur marge avec la forme
 * « 32px auto » conservent leur centrage horizontal.
 */
#contenu-principal > :is(
  .page-dossiers,
  .page-articles,
  .article-public
) {
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (max-width: 680px) {
  #contenu-principal {
    padding-top: 20px !important;
  }
}



/* ===== SOURCE: mep-app.css ===== */

:root{--mep-app-safe-top:env(safe-area-inset-top,0px);--mep-app-safe-right:env(safe-area-inset-right,0px);--mep-app-safe-bottom:env(safe-area-inset-bottom,0px);--mep-app-safe-left:env(safe-area-inset-left,0px)}
html{min-height:100%;background:#f4f7f5;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{touch-action:manipulation}input,select,textarea{font-size:16px}
body.mep-is-standalone .mep-shell-header{padding-top:var(--mep-app-safe-top)}
.mep-mobile-navigation svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mep-install-action{width:100%;padding:10px;border:0;border-radius:9px;background:#e8f3ee;color:#174c3c;font:800 .78rem/1.2 inherit;text-align:left;cursor:pointer}
.mep-app-install{position:fixed;z-index:1600;right:max(16px,var(--mep-app-safe-right));bottom:max(18px,var(--mep-app-safe-bottom));left:max(16px,var(--mep-app-safe-left));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(560px,calc(100% - 32px));margin-left:auto;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:19px;background:#172b46;color:#fff;box-shadow:0 22px 60px rgba(11,30,45,.28)}.mep-app-install[hidden]{display:none}.mep-app-install__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#1f6d59;font-size:.7rem;font-weight:900}.mep-app-install strong,.mep-app-install small{display:block}.mep-app-install small{margin-top:3px;color:#d7e1e8;font-size:.74rem}.mep-app-install__actions{display:flex;gap:7px}.mep-app-install button{min-height:40px;padding:0 13px;border:0;border-radius:11px;font-weight:850;cursor:pointer}.mep-app-install [data-install-confirm]{background:#fff;color:#174c3c}.mep-app-install [data-install-close]{width:40px;padding:0;background:rgba(255,255,255,.1);color:#fff}
.mep-app-toast{position:fixed;z-index:1700;right:max(16px,var(--mep-app-safe-right));bottom:max(18px,var(--mep-app-safe-bottom));display:flex;align-items:center;gap:12px;max-width:min(430px,calc(100% - 32px));padding:13px 14px;border-radius:15px;background:#172b46;color:#fff;box-shadow:0 18px 50px rgba(11,30,45,.28);font-size:.84rem}.mep-app-toast button{min-height:36px;padding:0 11px;border:0;border-radius:9px;background:#fff;color:#174c3c;font-weight:850}.mep-app-toast.is-warning{background:#7b5312}
@media(max-width:980px){body{padding-bottom:calc(82px + var(--mep-app-safe-bottom))!important}.mep-mobile-navigation{right:0!important;bottom:0!important;left:0!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:7px max(7px,var(--mep-app-safe-right)) calc(7px + var(--mep-app-safe-bottom)) max(7px,var(--mep-app-safe-left))!important;border-width:1px 0 0!important;border-radius:0!important;background:rgba(255,255,255,.97)!important;box-shadow:0 -10px 28px rgba(20,39,51,.1)!important}.mep-mobile-navigation a{min-height:52px;align-content:center}.mep-mobile-navigation small{font-size:.61rem!important}.mep-app-install{bottom:calc(78px + var(--mep-app-safe-bottom));grid-template-columns:auto 1fr}.mep-app-install__actions{grid-column:1/-1}.mep-app-install__actions button:first-child{flex:1}.mep-app-toast{right:12px;bottom:calc(78px + var(--mep-app-safe-bottom));left:12px;max-width:none}}
@media(display-mode:standalone){.mep-app-install{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Correctif de coexistence entre la proposition d'installation et le bouton cookies. */
@media (min-width: 981px) {
  .mep-app-install {
    right: auto;
    left: max(24px, var(--mep-app-safe-left));
    margin-left: 0;
  }
}

body.mep-install-visible .cookie-consent-reopen {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Mobile : le raccourci cookies ne doit jamais recouvrir la navigation de l'application. */
@media (max-width: 980px) {
  .cookie-consent-reopen {
    position: fixed !important;
    z-index: 1450 !important;
    right: max(12px, var(--mep-app-safe-right)) !important;
    bottom: calc(76px + var(--mep-app-safe-bottom) + 12px) !important;
    left: auto !important;
    width: auto !important;
    max-width: min(156px, calc(100vw - 24px)) !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    border-radius: 13px !important;
    font-size: .72rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    box-shadow: 0 10px 28px rgba(20, 39, 51, .16) !important;
  }

  body.mep-install-visible .cookie-consent-reopen {
    display: none !important;
  }
}



/* ===== SOURCE: mep-vnext.css ===== */

:root{--v-bg:#f4f7f6;--v-surface:#fff;--v-text:#17211e;--v-muted:#66736e;--v-line:#dfe7e3;--v-green:#176b55;--v-green-dark:#0f4f3e;--v-soft:#eaf4f0;--v-warn:#9a6b15;--v-danger:#a5413c;--v-radius:20px;--v-shadow:0 10px 35px rgba(24,54,45,.07)}
body{background:var(--v-bg)!important;color:var(--v-text)}
.container{max-width:1240px!important;width:calc(100% - 32px)!important;margin:0 auto!important}
header{position:relative;z-index:5000;overflow:visible}.mep-vnext-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--v-line);position:sticky;top:0;z-index:5000;overflow:visible;backdrop-filter:blur(15px)}
.mep-vnext-header-inner{max-width:1320px;margin:auto;min-height:72px;padding:0 24px;display:flex;align-items:center;gap:28px}.mep-vnext-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--v-text);white-space:nowrap}.mep-vnext-logo{width:42px;height:42px;border-radius:13px;background:var(--v-green);color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px;letter-spacing:.04em}.mep-vnext-brand-copy{display:grid;line-height:1.05}.mep-vnext-brand-copy strong{font-size:15px}.mep-vnext-brand-copy small{margin-top:5px;color:var(--v-muted);font-size:11px}.mep-vnext-navigation{display:flex;align-items:center;gap:4px;flex:1}.mep-vnext-navigation a{padding:10px 11px;border-radius:11px;text-decoration:none;color:#44504c;font-weight:700;font-size:14px;transition:.15s}.mep-vnext-navigation a:hover,.mep-vnext-navigation a.is-active{background:var(--v-soft);color:var(--v-green-dark)}.mep-vnext-navigation a.is-secondary{margin-left:auto}.mep-vnext-actions{display:flex;align-items:center;gap:8px}.mep-vnext-login,.mep-vnext-register{font-size:14px;font-weight:800;text-decoration:none;border-radius:12px;padding:10px 14px}.mep-vnext-login{color:var(--v-green-dark)}.mep-vnext-register{background:var(--v-green);color:#fff}.mep-vnext-account{position:relative;z-index:5100}.mep-vnext-account summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:13px}.mep-vnext-account summary::-webkit-details-marker{display:none}.mep-vnext-account summary span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--v-green);color:#fff;font-weight:900}.mep-vnext-account summary b{font-size:13px}.mep-vnext-account>div{position:absolute;right:0;top:52px;z-index:5200;width:245px;background:#fff;border:1px solid var(--v-line);border-radius:15px;padding:8px;box-shadow:var(--v-shadow)}.mep-vnext-account>div a,.mep-vnext-account>div button{display:block;width:100%;box-sizing:border-box;border:0;background:none;text-align:left;padding:10px 11px;border-radius:9px;color:var(--v-text);text-decoration:none;font:inherit;font-size:13px}.mep-vnext-account>div a:hover,.mep-vnext-account>div button:hover{background:var(--v-soft)}.mep-vnext-menu-toggle{display:none}.mep-vnext-mobile-nav{display:none}
.mep-vnext-dashboard{padding:34px 0 56px}.vnext-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.vnext-eyebrow{margin:0 0 7px;color:var(--v-green);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:900}.vnext-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:-.035em;margin:0 0 9px}.vnext-hero p{margin:0;color:var(--v-muted);max-width:680px}.vnext-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.vnext-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 16px;border-radius:12px;font-weight:850;font-size:14px;text-decoration:none;border:1px solid var(--v-line);background:#fff;color:var(--v-text)}.vnext-btn.is-primary{background:var(--v-green);border-color:var(--v-green);color:#fff}.vnext-btn.is-soft{background:var(--v-soft);border-color:transparent;color:var(--v-green-dark)}
.vnext-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.vnext-kpi{background:#fff;border:1px solid var(--v-line);border-radius:17px;padding:17px 18px;box-shadow:0 4px 16px rgba(30,59,50,.025)}.vnext-kpi small{color:var(--v-muted);font-weight:750}.vnext-kpi strong{display:block;font-size:29px;line-height:1;margin:8px 0 5px;letter-spacing:-.03em}.vnext-kpi span{font-size:12px;color:var(--v-muted)}.vnext-kpi.is-alert strong{color:var(--v-danger)}
.vnext-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:18px}.vnext-stack{display:grid;gap:18px}.vnext-card{background:#fff;border:1px solid var(--v-line);border-radius:var(--v-radius);padding:20px;box-shadow:var(--v-shadow)}.vnext-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px}.vnext-card-head h2{font-size:18px;letter-spacing:-.02em;margin:2px 0 0}.vnext-card-head a{font-size:12px;font-weight:800;color:var(--v-green);text-decoration:none}.vnext-priority-list{display:grid;gap:9px}.vnext-priority{display:grid;grid-template-columns:37px 1fr auto;gap:12px;align-items:center;padding:12px;background:#f8faf9;border:1px solid #edf1ef;border-radius:14px;text-decoration:none;color:var(--v-text)}.vnext-priority-icon{width:37px;height:37px;border-radius:11px;background:var(--v-soft);color:var(--v-green);display:grid;place-items:center;font-weight:900}.vnext-priority strong{font-size:13px}.vnext-priority small{display:block;color:var(--v-muted);font-size:11px;margin-top:3px}.vnext-priority time{font-size:11px;color:var(--v-muted);white-space:nowrap}.vnext-empty{padding:20px;background:#f8faf9;border:1px dashed var(--v-line);border-radius:14px;color:var(--v-muted);font-size:13px;text-align:center}
.vnext-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.vnext-pipeline a{display:block;padding:13px;border-radius:14px;background:#f8faf9;border:1px solid #edf1ef;text-decoration:none;color:var(--v-text)}.vnext-pipeline strong{font-size:20px}.vnext-pipeline span{display:block;color:var(--v-muted);font-size:11px;margin-top:4px}.vnext-progress{height:8px;border-radius:999px;background:#e7ece9;overflow:hidden;margin:12px 0}.vnext-progress b{height:100%;display:block;background:var(--v-green);border-radius:inherit}.vnext-profile-meta{display:grid;gap:8px;margin-top:15px}.vnext-profile-meta div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.vnext-profile-meta span{color:var(--v-muted)}.vnext-profile-meta strong{text-align:right}.vnext-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vnext-quick-grid a{padding:13px;border:1px solid var(--v-line);border-radius:13px;text-decoration:none;color:var(--v-text);font-size:12px;font-weight:800;background:#fbfcfc}.vnext-quick-grid a:hover{border-color:#b9d3ca;background:var(--v-soft)}
.vnext-public{padding:56px 0 80px}.vnext-public-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;min-height:480px}.vnext-public-hero h1{font-size:clamp(40px,6vw,68px);line-height:.98;letter-spacing:-.05em;margin:10px 0 18px}.vnext-public-hero p{font-size:18px;line-height:1.6;color:var(--v-muted);max-width:680px}.vnext-public-panel{background:var(--v-text);color:#fff;border-radius:28px;padding:25px;box-shadow:var(--v-shadow)}.vnext-public-panel h3{margin:0 0 18px;font-size:16px}.vnext-demo-row{display:flex;gap:13px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:14px;margin-top:10px}.vnext-demo-row b{width:31px;height:31px;border-radius:9px;background:#2b8a6c;display:grid;place-items:center}.vnext-demo-row span{font-size:13px}.vnext-demo-row small{display:block;color:#a9b9b3;margin-top:2px}.vnext-public-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.vnext-public-features article{background:#fff;border:1px solid var(--v-line);padding:20px;border-radius:18px}.vnext-public-features h3{font-size:15px;margin:8px 0}.vnext-public-features p{font-size:13px;color:var(--v-muted);line-height:1.55;margin:0}
.tools-page-vnext{padding:34px 0 60px}.tools-vnext-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.tool-vnext-card{background:#fff;border:1px solid var(--v-line);border-radius:18px;padding:19px}.tool-vnext-card h2{font-size:16px;margin:3px 0 7px}.tool-vnext-card p{color:var(--v-muted);font-size:13px;line-height:1.5}.tool-vnext-card a{font-size:12px;font-weight:850;color:var(--v-green);text-decoration:none}.tool-live{grid-column:span 2}.tool-calc{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-top:15px}.tool-calc label{font-size:12px;font-weight:800}.tool-calc input,.tool-calc select{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid var(--v-line);border-radius:10px;padding:10px;background:#fff}.tool-result{margin-top:13px;padding:15px;border-radius:13px;background:var(--v-soft)}.tool-result strong{font-size:22px;display:block}
@media(max-width:1020px){.mep-vnext-brand-copy{display:none}.mep-vnext-navigation a{padding:9px 8px;font-size:13px}.vnext-grid{grid-template-columns:1fr}.tools-vnext-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){body{padding-bottom:72px}.container{width:calc(100% - 22px)!important}.mep-vnext-header-inner{min-height:62px;padding:0 12px}.mep-vnext-brand-copy{display:grid}.mep-vnext-navigation{display:none;position:absolute;left:10px;right:10px;top:66px;background:#fff;border:1px solid var(--v-line);border-radius:16px;padding:9px;box-shadow:var(--v-shadow)}.mep-vnext-navigation.is-open{display:grid}.mep-vnext-navigation a.is-secondary{margin-left:0}.mep-vnext-menu-toggle{display:grid;margin-left:auto;width:40px;height:40px;border:0;background:transparent;place-content:center;gap:4px}.mep-vnext-menu-toggle span{width:20px;height:2px;background:var(--v-text);display:block}.mep-vnext-actions{display:none}.mep-vnext-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.97);border-top:1px solid var(--v-line);padding:7px max(5px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));backdrop-filter:blur(16px)}.mep-vnext-mobile-nav a{text-decoration:none;color:var(--v-muted);display:grid;place-items:center;gap:2px;font-size:19px}.mep-vnext-mobile-nav a small{font-size:9px;font-weight:800}.mep-vnext-mobile-nav a.is-active{color:var(--v-green)}.vnext-hero{align-items:flex-start;flex-direction:column}.vnext-kpis{grid-template-columns:1fr 1fr}.vnext-pipeline{grid-template-columns:1fr 1fr}.vnext-public-hero{grid-template-columns:1fr;min-height:auto}.vnext-public-features{grid-template-columns:1fr}.tools-vnext-grid{grid-template-columns:1fr}.tool-live{grid-column:auto}}
@media(max-width:480px){.mep-vnext-brand-copy small{display:none}.vnext-kpis{gap:9px}.vnext-kpi{padding:14px}.vnext-kpi strong{font-size:24px}.vnext-quick-grid,.tool-calc{grid-template-columns:1fr}.vnext-public{padding-top:32px}.vnext-public-hero h1{font-size:40px}}
.mep-vnext-header.is-menu-open .mep-vnext-navigation{display:grid}

\n\n

/* ===== FIX HEADER VNEXT 2026-08-11 ===== */
/* Correctif du vrai header .mep-vnext-* + navigation tablette/mobile. */
body > header {
  position: relative !important;
  z-index: 2147480000 !important;
  overflow: visible !important;
  isolation: isolate;
}

.mep-vnext-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147480000 !important;
  overflow: visible !important;
}

.mep-vnext-header-inner,
.mep-vnext-actions,
.mep-vnext-account {
  overflow: visible !important;
}

.mep-vnext-header-inner {
  position: relative !important;
  z-index: 2147480001 !important;
}

.mep-vnext-actions {
  position: relative !important;
  z-index: 2147480002 !important;
}

.mep-vnext-account,
.mep-vnext-account[open] {
  position: relative !important;
  z-index: 2147483000 !important;
}

.mep-vnext-account > div {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  z-index: 2147483001 !important;
  isolation: isolate;
}

#contenu-principal {
  position: relative;
  z-index: 0 !important;
}

.mep-vnext-navigation .is-mobile-only {
  display: none;
}

/* On bascule dès la tablette portrait : 780px était trop tardif. */
@media (max-width: 1020px) {
  .mep-vnext-header-inner {
    min-height: 66px !important;
    padding: 0 14px !important;
  }

  .mep-vnext-brand-copy {
    display: grid !important;
  }

  .mep-vnext-navigation {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    right: 12px !important;
    left: 12px !important;
    z-index: 2147482000 !important;
    display: none !important;
    max-height: calc(100dvh - 92px);
    overflow-y: auto !important;
    padding: 10px !important;
    border: 1px solid var(--v-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(24,54,45,.16) !important;
  }

  .mep-vnext-navigation.is-open,
  .mep-vnext-navigation[data-open="true"] {
    display: grid !important;
  }

  .mep-vnext-navigation a,
  .mep-vnext-navigation a.is-secondary {
    margin-left: 0 !important;
    padding: 12px 13px !important;
  }

  .mep-vnext-navigation .is-mobile-only {
    display: block !important;
  }

  .mep-vnext-nav-separator {
    height: 1px;
    margin: 5px 3px;
    background: var(--v-line);
  }

  .mep-vnext-navigation .is-danger-link {
    color: #9b3c38 !important;
  }

  .mep-vnext-menu-toggle {
    position: relative !important;
    z-index: 2147482100 !important;
    display: grid !important;
    margin-left: auto !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid var(--v-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    place-content: center !important;
    gap: 4px !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  .mep-vnext-menu-toggle span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    border-radius: 2px;
    background: var(--v-text) !important;
  }

  /* Le compte reste accessible directement sur tablette si la place le permet. */
  .mep-vnext-actions {
    display: flex !important;
  }
}

@media (max-width: 780px) {
  .mep-vnext-header-inner {
    gap: 8px !important;
  }

  .mep-vnext-actions {
    display: none !important;
  }

  .mep-vnext-brand-copy small {
    display: none;
  }
}

@media (max-width: 480px) {
  .mep-vnext-brand-copy strong {
    font-size: 13px !important;
  }

  .mep-vnext-logo {
    width: 39px !important;
    height: 39px !important;
  }
}

/* Mobile/tablette : la barre du bas porte la navigation principale.
   Le hamburger reste volontairement secondaire pour éviter les doublons. */
@media (max-width: 1020px) {
  .mep-vnext-navigation .is-desktop-primary {
    display: none !important;
  }
  .mep-vnext-navigation {
    left: auto !important;
    right: 12px !important;
    width: min(320px, calc(100vw - 24px)) !important;
    padding: 8px !important;
  }
  .mep-vnext-navigation a.is-secondary {
    margin-left: 0 !important;
  }
}

/* ==========================================================
   MEP VNext — Dashboard V3 (Phase 3)
   Centre de commande carrière : actions, candidatures, progression.
   ========================================================== */
.dashboard-v3{position:relative}
.dashboard-v3 a{text-decoration:none}
.dashboard-v3-hero{margin-bottom:18px}
.dashboard-v3-next{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px 18px;margin-bottom:16px;border:1px solid #cfe2da;border-radius:18px;background:linear-gradient(135deg,#f3faf7,#fff);box-shadow:0 8px 24px rgba(24,54,45,.045)}
.dashboard-v3-next-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--v-green);color:#fff;font-size:21px;font-weight:900}
.dashboard-v3-next-copy{min-width:0;display:grid;gap:2px}.dashboard-v3-next-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--v-green)}.dashboard-v3-next-copy strong{font-size:15px;color:var(--v-text);overflow:hidden;text-overflow:ellipsis}.dashboard-v3-next-copy small{font-size:12px;color:var(--v-muted);white-space:normal}.dashboard-v3-next>a{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:11px;background:#fff;border:1px solid var(--v-line);color:var(--v-green-dark);font-size:12px;font-weight:900;white-space:nowrap}
.dashboard-v3-kpis .vnext-kpi{display:block;color:inherit;transition:transform .15s,border-color .15s,box-shadow .15s}.dashboard-v3-kpis .vnext-kpi:hover{transform:translateY(-2px);border-color:#bed6cd;box-shadow:0 9px 24px rgba(24,54,45,.07)}
.dashboard-v3-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.78fr);gap:18px}
.dashboard-v3 .vnext-priority{transition:border-color .15s,background .15s,transform .15s}.dashboard-v3 .vnext-priority:hover{border-color:#c8ddd5;background:#f3f9f6;transform:translateX(2px)}.dashboard-v3 .vnext-priority.is-urgent{border-color:#edcbc8;background:#fff8f7}.dashboard-v3 .vnext-priority.is-urgent .vnext-priority-icon{background:#fce9e7;color:var(--v-danger)}
.dashboard-v3-app-list{display:grid}.dashboard-v3-app{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(170px,1.45fr) auto 76px;align-items:center;gap:12px;padding:13px 3px;border-top:1px solid #edf1ef;color:var(--v-text)}.dashboard-v3-app:first-child{border-top:0}.dashboard-v3-app:hover .dashboard-v3-app-company{color:var(--v-green)}.dashboard-v3-app-company{font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-v3-app-job{font-size:12px;font-weight:750;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-v3-app-job small{display:block;margin-top:3px;color:var(--v-muted);font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.dashboard-v3-app time{font-size:10px;color:var(--v-muted);text-align:right;white-space:nowrap}
.dashboard-v3-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap;background:#f0f3f2;color:#5e6965}.dashboard-v3-status.is-positive{background:#e8f6ef;color:#146448}.dashboard-v3-status.is-negative{background:#fbeceb;color:#963f39}.dashboard-v3-status.is-waiting{background:#fff4dd;color:#8a6314}.dashboard-v3-status.is-no-reply{background:#eef1f0;color:#66736e}
.dashboard-v3-mini-stat{font-size:10px;font-weight:800;color:var(--v-muted);padding:6px 9px;background:#f7f9f8;border-radius:999px}.dashboard-v3-pipeline a{transition:background .15s,border-color .15s}.dashboard-v3-pipeline a:hover{background:var(--v-soft);border-color:#c8ddd5}
.dashboard-v3-score{font-size:24px;color:var(--v-green);line-height:1}.dashboard-v3-checklist{display:grid;margin-top:12px}.dashboard-v3-checklist a{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:9px 2px;border-top:1px solid #edf1ef;color:var(--v-text)}.dashboard-v3-checklist a:first-child{border-top:0}.dashboard-v3-checklist a>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#f0f3f2;color:#8b9692;font-size:10px;font-weight:900}.dashboard-v3-checklist a.is-done>span{background:var(--v-soft);color:var(--v-green)}.dashboard-v3-checklist b{font-size:11px}.dashboard-v3-checklist small{font-size:9px;color:var(--v-muted)}
.dashboard-v3-quick .vnext-quick-grid a{display:block}.dashboard-v3-quick .vnext-quick-grid small{display:block;color:var(--v-muted);margin-top:4px;font-size:10px;font-weight:650}
.dashboard-v3 .vnext-empty strong{color:var(--v-text)}.dashboard-v3 .vnext-empty a{color:var(--v-green);font-weight:850}
@media(max-width:1020px){.dashboard-v3-layout{grid-template-columns:1fr}.dashboard-v3-layout>aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dashboard-v3-layout>aside .dashboard-v3-quick{grid-column:1/-1}}
@media(max-width:780px){.dashboard-v3-next{grid-template-columns:42px 1fr;padding:13px}.dashboard-v3-next-icon{width:42px;height:42px}.dashboard-v3-next>a{grid-column:2;justify-self:start}.dashboard-v3-app{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px 2px}.dashboard-v3-app-job{grid-column:1}.dashboard-v3-status{grid-column:2;grid-row:1}.dashboard-v3-app time{grid-column:2;grid-row:2}.dashboard-v3-app-company{grid-column:1;grid-row:1}.dashboard-v3-layout>aside{grid-template-columns:1fr}.dashboard-v3-layout>aside .dashboard-v3-quick{grid-column:auto}}
@media(max-width:480px){.dashboard-v3-next-copy small{font-size:11px}.dashboard-v3-next>a{width:100%;box-sizing:border-box}.dashboard-v3-mini-stat{display:none}.dashboard-v3 .vnext-priority{grid-template-columns:34px minmax(0,1fr) auto;padding:10px}.dashboard-v3 .vnext-priority-icon{width:34px;height:34px}.dashboard-v3 .vnext-pipeline{grid-template-columns:1fr 1fr}}

/* ==========================================================
   MEP VNext — Dashboard V3.1
   Finition : onboarding, pipeline visuel, densité et typo.
   ========================================================== */
.dashboard-v31-hero{padding-top:28px;padding-bottom:6px;margin-bottom:12px;align-items:flex-end}
.dashboard-v31-hero h1{font-size:40px;line-height:1.02;margin:6px 0 7px;letter-spacing:-.035em}
.dashboard-v31-hero>div>p:last-child{margin:0;max-width:620px;font-size:14px;line-height:1.5;color:var(--v-muted)}
.dashboard-v31-hero .vnext-hero-actions{padding-bottom:2px}
.dashboard-v31-hero .vnext-btn{min-height:46px;padding:0 17px}

.dashboard-v3 .vnext-kpi small,.dashboard-v3 .vnext-card-head h2,.dashboard-v3 .vnext-profile-meta span,.dashboard-v3 .vnext-profile-meta strong,.dashboard-v3 .vnext-quick-grid a{letter-spacing:-.01em}
.dashboard-v3 .vnext-kpi small{font-size:11px;font-weight:800}
.dashboard-v3 .vnext-kpi strong{font-family:inherit;font-size:29px;line-height:1.05;letter-spacing:-.035em}
.dashboard-v3 .vnext-kpi span{font-size:10.5px;line-height:1.35}
.dashboard-v3 .vnext-card-head h2{font-size:17px;line-height:1.15}
.dashboard-v3 .vnext-eyebrow{font-size:9px;letter-spacing:.11em}

.dashboard-v31-onboarding{border:1px dashed #cfddd8;border-radius:15px;background:#fbfdfc;padding:15px}
.dashboard-v31-onboarding-intro{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-bottom:11px}
.dashboard-v31-onboarding-intro strong{font-size:13px;color:var(--v-text)}
.dashboard-v31-onboarding-intro span{font-size:11px;color:var(--v-muted)}
.dashboard-v31-onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.dashboard-v31-onboarding-steps a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:11px;border:1px solid #e0e8e5;border-radius:12px;background:#fff;color:var(--v-text);transition:border-color .15s,transform .15s,box-shadow .15s}
.dashboard-v31-onboarding-steps a:hover{border-color:#bcd4cb;transform:translateY(-1px);box-shadow:0 6px 16px rgba(24,54,45,.05)}
.dashboard-v31-onboarding-steps a>b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--v-soft);color:var(--v-green);font-size:11px;font-weight:900}
.dashboard-v31-onboarding-steps a.is-done>b{background:var(--v-green);color:#fff}
.dashboard-v31-onboarding-steps a span{min-width:0}
.dashboard-v31-onboarding-steps a strong{display:block;font-size:11px;line-height:1.2}
.dashboard-v31-onboarding-steps a small{display:block;margin-top:3px;color:var(--v-muted);font-size:9.5px;line-height:1.3}

.dashboard-v31-pipeline{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:9px 0 2px}
.dashboard-v31-pipeline:before{content:"";position:absolute;left:9%;right:9%;top:20px;height:2px;background:#e4ebe8}
.dashboard-v31-pipeline a{position:relative;z-index:1;display:grid;justify-items:center;gap:3px;padding:0 6px;color:var(--v-text);text-align:center}
.dashboard-v31-step-dot{width:12px;height:12px;border:4px solid #fff;border-radius:50%;background:#b8c7c2;box-shadow:0 0 0 1px #dce5e2;margin-bottom:4px}
.dashboard-v31-pipeline a:first-child .dashboard-v31-step-dot{background:var(--v-green)}
.dashboard-v31-pipeline strong{font-family:inherit;font-size:21px;line-height:1;letter-spacing:-.03em}
.dashboard-v31-pipeline small{font-size:9.5px;font-weight:750;color:var(--v-muted);white-space:nowrap}
.dashboard-v31-pipeline a:hover strong,.dashboard-v31-pipeline a:hover small{color:var(--v-green)}
.dashboard-v31-pipeline a:hover .dashboard-v31-step-dot{background:var(--v-green)}
.dashboard-v31-pipeline-note{margin:12px 0 0;padding-top:10px;border-top:1px solid #edf1ef;text-align:center;color:var(--v-muted);font-size:9.5px}

.dashboard-v3-quick .vnext-quick-grid a{min-height:60px;box-sizing:border-box}

@media(max-width:780px){
  .dashboard-v31-hero{padding-top:19px;align-items:flex-start}
  .dashboard-v31-hero h1{font-size:34px}
  .dashboard-v31-hero .vnext-hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .dashboard-v31-hero .vnext-btn{width:100%;box-sizing:border-box;text-align:center}
  .dashboard-v31-onboarding-steps{grid-template-columns:1fr}
  .dashboard-v31-pipeline{overflow-x:auto;grid-template-columns:repeat(5,minmax(92px,1fr));padding-bottom:8px;scrollbar-width:thin}
  .dashboard-v31-pipeline:before{left:46px;right:46px}
}
@media(max-width:480px){
  .dashboard-v31-hero{padding-top:14px}
  .dashboard-v31-hero h1{font-size:30px;margin-top:5px}
  .dashboard-v31-hero>div>p:last-child{font-size:12px}
  .dashboard-v31-hero .vnext-hero-actions{grid-template-columns:1fr;gap:8px}
  .dashboard-v31-onboarding{padding:12px}
  .dashboard-v31-pipeline-card{overflow:hidden}
}

/* ==========================================================
   MEP Phase 7.1/7.2 — Assistant carrière : alertes + recommandations
   ========================================================== */
.mep-smart-center{margin:22px 0;padding:22px;border:1px solid rgba(15,23,42,.08);border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(15,23,42,.06)}
.mep-smart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.mep-smart-head h2{margin:2px 0 5px;font-size:1.25rem}.mep-smart-head p:last-child{margin:0;color:#64748b;max-width:760px}.mep-smart-counts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mep-smart-counts span{padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.mep-smart-counts .is-critical{background:#fee2e2;color:#991b1b}.mep-smart-counts .is-warning{background:#fef3c7;color:#92400e}
.mep-smart-list{display:grid;gap:9px}.mep-smart-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px;border:1px solid #e8edf3;border-radius:15px;text-decoration:none;color:#0f172a;background:#fbfdff;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.mep-smart-item:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 8px 22px rgba(15,23,42,.06)}.mep-smart-dot{width:9px;height:9px;border-radius:50%;background:#64748b}.mep-smart-item.is-critical .mep-smart-dot{background:#dc2626}.mep-smart-item.is-warning .mep-smart-dot{background:#d97706}.mep-smart-item.is-info .mep-smart-dot{background:#2563eb}.mep-smart-copy{min-width:0;display:grid;gap:3px}.mep-smart-copy strong{font-size:.95rem;line-height:1.3}.mep-smart-copy small{font-size:.83rem;line-height:1.45;color:#64748b}.mep-smart-action{font-size:.8rem;font-weight:800;color:#0f766e;white-space:nowrap}.mep-smart-more{margin:12px 0 0;color:#64748b;font-size:.82rem}.mep-smart-empty{display:flex;flex-direction:column;gap:3px;padding:16px;border-radius:14px;background:#f0fdf4;color:#166534}.mep-smart-empty span{font-size:.84rem;color:#4b7560}
@media(max-width:720px){.mep-smart-center{padding:17px;border-radius:18px}.mep-smart-head{display:block}.mep-smart-counts{justify-content:flex-start;margin-top:12px}.mep-smart-item{grid-template-columns:10px minmax(0,1fr)}.mep-smart-action{grid-column:2;margin-top:2px}}


/* ==========================================================
   PHASE 10.1 + 10.2 — UX / RESPONSIVE HARDENING
   Couche finale : cohérence desktop / tablette / mobile.
   ========================================================== */
html{max-width:100%;overflow-x:clip}
body{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
#contenu-principal,.container,.mep-vnext-header-inner{min-width:0}

/* Les contenus longs ne doivent jamais forcer un débordement horizontal. */
:is(.vnext-card,.vnext-kpi,.dashboard-v3-next,.dashboard-v3-app,.mep-smart-item,.account-card,.mep-path-section,.documents-library,.applications-final-card,.skills-results-card,.tool-card) *{min-width:0}
:is(.vnext-card,.vnext-kpi,.dashboard-v3-next,.dashboard-v3-app,.mep-smart-item,.account-card,.mep-path-section,.documents-library,.applications-final-card,.skills-results-card,.tool-card) :is(p,span,strong,b,a,li){overflow-wrap:anywhere}

/* Header : le menu reste au-dessus du contenu, sans couper le dropdown. */
.mep-vnext-header{position:sticky!important;top:0!important;z-index:2147481000!important;overflow:visible!important;isolation:isolate}
.mep-vnext-header-inner{overflow:visible!important}
.mep-vnext-navigation,.mep-vnext-actions,.mep-vnext-account,.mep-vnext-account>div{overflow:visible}

@media (max-width:1020px){
  .container{width:min(100% - 28px,1180px)!important}
  .mep-vnext-header-inner{width:100%!important;grid-template-columns:auto 1fr auto!important;gap:10px!important}
  .mep-vnext-menu-toggle{grid-column:2;justify-self:end}
  .mep-vnext-actions{grid-column:3;min-width:0}
  .mep-vnext-account summary b{max-width:88px}
  .mep-vnext-navigation{max-height:min(620px,calc(100dvh - 86px))!important;overscroll-behavior:contain}
  .vnext-hero,.dashboard-v31-hero{gap:16px}
  .vnext-hero-actions{display:flex;flex-wrap:wrap;gap:9px}
  .vnext-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vnext-pipeline{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vnext-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-v31-onboarding-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:780px){
  .container{width:calc(100% - 22px)!important}
  .mep-vnext-header-inner{grid-template-columns:minmax(0,1fr) auto!important;padding:0 11px!important}
  .mep-vnext-brand{min-width:0}
  .mep-vnext-brand-copy{min-width:0}
  .mep-vnext-brand-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mep-vnext-menu-toggle{grid-column:2!important;grid-row:1!important}
  .mep-vnext-actions{display:none!important}
  .mep-vnext-navigation{top:calc(100% + 7px)!important;right:10px!important;left:auto!important;width:min(300px,calc(100vw - 20px))!important}

  :is(.vnext-hero,.dashboard-v31-hero){padding-top:20px!important;align-items:stretch!important}
  :is(.vnext-hero,.dashboard-v31-hero) h1{font-size:clamp(30px,9vw,38px)!important;line-height:1.04!important}
  .vnext-hero-actions{width:100%}
  .vnext-hero-actions .vnext-btn{flex:1 1 180px;min-width:0}

  .vnext-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .vnext-kpi{padding:15px!important}
  .vnext-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .vnext-quick-grid{grid-template-columns:1fr!important}

  .dashboard-v31-onboarding-steps{grid-template-columns:1fr!important}
  .dashboard-v31-onboarding-step{min-height:0!important}
  .dashboard-v3-checklist a{grid-template-columns:24px minmax(0,1fr)!important;gap:8px!important}
  .dashboard-v3-checklist small{grid-column:2!important;text-align:left!important}

  /* Formulaires : une seule colonne sur téléphone, sans champs compressés. */
  :is(.form-grid,.account-grid,.tool-calc,.crm-form-grid,.candidate-form-grid,.skills-form-grid,.documents-form-grid){grid-template-columns:1fr!important}
  :is(input,select,textarea){font-size:16px}

  /* Les cartes horizontales deviennent verticales si leur contenu ne tient plus. */
  .mep-smart-item{grid-template-columns:10px minmax(0,1fr)!important}
  .mep-smart-action{grid-column:2!important;justify-self:start!important}

  /* Bas de page : réserve réelle pour la navigation fixe. */
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
}

@media (max-width:480px){
  .container{width:calc(100% - 16px)!important}
  .mep-vnext-header-inner{min-height:60px!important;padding:0 8px!important}
  .mep-vnext-logo{width:38px!important;height:38px!important;border-radius:12px!important}
  .mep-vnext-brand-copy strong{font-size:13px!important}
  .mep-vnext-navigation{right:8px!important;width:calc(100vw - 16px)!important;border-radius:15px!important}

  .vnext-kpis{grid-template-columns:1fr 1fr!important}
  .vnext-kpi{padding:13px!important}
  .vnext-kpi strong{font-size:25px!important}
  .vnext-pipeline{grid-template-columns:1fr!important}
  .vnext-hero-actions{display:grid!important;grid-template-columns:1fr!important}
  .vnext-hero-actions .vnext-btn{width:100%!important}

  .dashboard-v3-next{grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important}
  .dashboard-v3-next-icon{width:38px!important;height:38px!important}
  .dashboard-v3-next>a{grid-column:1/-1!important;width:100%!important}

  .mep-vnext-mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .mep-vnext-mobile-nav a{min-width:0!important}
  .mep-vnext-mobile-nav small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* ========================================================================== */
/* MEP — PHASE 10.3 : HARMONISATION VISUELLE GLOBALE                        */
/* ========================================================================== */
:root{
  --mep-u-radius-sm:12px;
  --mep-u-radius:18px;
  --mep-u-radius-lg:24px;
  --mep-u-border:#dbe5e1;
  --mep-u-surface:#fff;
  --mep-u-soft:#f5f9f7;
  --mep-u-text:#152238;
  --mep-u-muted:#66766f;
  --mep-u-green:#19755f;
  --mep-u-green-dark:#115847;
  --mep-u-green-soft:#e9f5f0;
  --mep-u-shadow:0 10px 32px rgba(22,55,45,.055);
  --mep-u-shadow-hover:0 14px 38px rgba(22,55,45,.085);
  --mep-u-gap:20px;
}

/* Page rhythm */
:is(.mep-home-clean,.applications-final,.applications-dossier-header,.crm-dossier-v41,.mep-path-page,.documents-page-simple,.mep-tools,.skills-results-page,.mep-stats-page,.account-page){
  color:var(--mep-u-text);
}
:is(.mep-home-clean,.applications-final,.mep-path-page,.documents-page-simple,.mep-tools,.skills-results-page,.mep-stats-page,.account-page) > * + *{
  margin-top:var(--mep-u-gap);
}

/* Cards / panels */
:is(
  .home-card,
  .dashboard-v3-card,
  .dashboard-v31-card,
  .mep-smart-card,
  .applications-final-card,
  .crm-pipeline,
  .crm-smart-summary,
  .crm-smart-main,
  .crm-smart-health,
  .crm-relance-summary,
  .crm-documents-smart,
  .crm-interview-v74,
  .mep-path-section,
  .mep-profile-intelligence,
  .documents-library,
  .document-usage,
  .mep-tools-card,
  .skills-results-card,
  .skills-results-kpis > *,
  .skills-results-paths > *,
  .mep-stats-hero,
  .mep-stats-kpis > *,
  .mep-stats-grid > *,
  .mep-stats-insights,
  .account-card
){
  border:1px solid var(--mep-u-border)!important;
  border-radius:var(--mep-u-radius)!important;
  background:var(--mep-u-surface)!important;
  box-shadow:var(--mep-u-shadow)!important;
}

/* Consistent internal spacing */
:is(
  .home-card,
  .dashboard-v3-card,
  .dashboard-v31-card,
  .mep-smart-card,
  .applications-final-card,
  .crm-smart-summary,
  .crm-smart-main,
  .crm-smart-health,
  .crm-relance-summary,
  .crm-documents-smart,
  .crm-interview-v74,
  .mep-path-section,
  .mep-profile-intelligence,
  .documents-library,
  .document-usage,
  .mep-tools-card,
  .skills-results-card,
  .mep-stats-insights,
  .account-card
){
  padding:clamp(18px,2.2vw,28px)!important;
}

/* Typography hierarchy */
:is(.mep-home-clean,.applications-final,.crm-dossier-v41,.mep-path-page,.documents-page-simple,.mep-tools,.skills-results-page,.mep-stats-page,.account-page)
:is(h1,h2,h3){
  color:var(--mep-u-text);
  text-wrap:balance;
}
:is(.mep-home-clean,.applications-final,.crm-dossier-v41,.mep-path-page,.documents-page-simple,.mep-tools,.skills-results-page,.mep-stats-page,.account-page)
:is(p,li,dd,small){
  line-height:1.55;
}
:is(.home-eyebrow,.skills-results-eyebrow,.mep-stats-eyebrow,.applications-eyebrow,.crm-eyebrow){
  color:var(--mep-u-green)!important;
  font-size:.72rem!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* Buttons / actionable links */
:is(.button,.btn,.mep-button,button[type="submit"],input[type="submit"],.applications-final a.button,.crm-dossier-v41 a.button){
  min-height:42px;
  border-radius:12px!important;
  font-weight:800!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
:is(.button,.btn,.mep-button,button[type="submit"],input[type="submit"]):hover{
  transform:translateY(-1px);
}
:is(.button-primary,.btn-primary,.mep-button-primary,button[type="submit"],input[type="submit"]){
  background:var(--mep-u-green)!important;
  border-color:var(--mep-u-green)!important;
  color:#fff!important;
}
:is(.button-primary,.btn-primary,.mep-button-primary,button[type="submit"],input[type="submit"]):hover{
  background:var(--mep-u-green-dark)!important;
  border-color:var(--mep-u-green-dark)!important;
  box-shadow:0 8px 18px rgba(25,117,95,.16);
}
:is(.button-secondary,.btn-secondary){
  background:#fff!important;
  border-color:var(--mep-u-border)!important;
  color:var(--mep-u-text)!important;
}

/* Tags / statuses */
:is(.badge,.tag,.status-badge,.crm-badge,.document-badge,.skills-results-tag,.mep-smart-badge){
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:28px;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.1!important;
}

/* Empty states */
:is(.empty-state,.home-empty,.documents-empty,.applications-empty,.skills-results-empty,.mep-path-empty){
  border:1px dashed #cad9d3!important;
  border-radius:var(--mep-u-radius)!important;
  background:var(--mep-u-soft)!important;
  padding:clamp(20px,3vw,34px)!important;
  text-align:center;
}

/* Forms */
:is(.applications-final,.crm-dossier-v41,.mep-path-page,.documents-page-simple,.mep-tools,.account-page,.skills-results-page)
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  min-height:46px;
  border:1px solid #cfdcd7!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--mep-u-text)!important;
  box-shadow:none!important;
}
:is(.applications-final,.crm-dossier-v41,.mep-path-page,.documents-page-simple,.mep-tools,.account-page,.skills-results-page)
:is(input,select,textarea):focus{
  outline:none!important;
  border-color:#65a994!important;
  box-shadow:0 0 0 3px rgba(25,117,95,.10)!important;
}

/* Dashboard consistency */
.dashboard-v3-kpis,.dashboard-v31-pipeline,.dashboard-v3-checklist,.mep-smart-list{
  gap:14px!important;
}
.dashboard-v31-pipeline > *, .dashboard-v3-kpis > *{
  min-width:0;
}
.dashboard-v3-checklist > *{
  border-radius:12px!important;
}

/* CRM consistency */
.crm-pipeline{
  padding:14px 16px!important;
}
.crm-toolbar-stats{
  gap:8px!important;
}
.crm-dossier-v41 :is(section,aside){
  min-width:0;
}

/* Skills report: progressive screen remains visually calm */
.skills-results-page details{
  border:1px solid var(--mep-u-border)!important;
  border-radius:var(--mep-u-radius)!important;
  background:#fff!important;
  box-shadow:0 7px 24px rgba(22,55,45,.04)!important;
  overflow:hidden;
}
.skills-results-page details + details{margin-top:14px!important}
.skills-results-page details > summary{
  min-height:58px;
  padding:16px 18px!important;
  cursor:pointer;
  font-weight:850!important;
}
.skills-results-page details[open] > summary{
  border-bottom:1px solid var(--mep-u-border);
  background:var(--mep-u-soft);
}

/* Hover only on devices that really support it */
@media (hover:hover) and (pointer:fine){
  :is(.home-card,.applications-final-card,.mep-path-section,.documents-library,.mep-tools-card,.skills-results-card,.mep-stats-grid > *){
    transition:box-shadow .18s ease,border-color .18s ease;
  }
  :is(.home-card,.applications-final-card,.mep-path-section,.documents-library,.mep-tools-card,.skills-results-card,.mep-stats-grid > *):hover{
    box-shadow:var(--mep-u-shadow-hover)!important;
  }
}

/* Tablet */
@media (max-width:1020px){
  :root{--mep-u-gap:16px}
  :is(.home-card,.applications-final-card,.mep-path-section,.documents-library,.mep-tools-card,.skills-results-card,.mep-stats-insights,.account-card){
    padding:20px!important;
  }
}

/* Mobile */
@media (max-width:780px){
  :root{--mep-u-radius:16px;--mep-u-gap:14px}
  :is(.home-card,.dashboard-v3-card,.dashboard-v31-card,.mep-smart-card,.applications-final-card,.crm-smart-summary,.crm-smart-main,.crm-smart-health,.crm-relance-summary,.crm-documents-smart,.crm-interview-v74,.mep-path-section,.mep-profile-intelligence,.documents-library,.document-usage,.mep-tools-card,.skills-results-card,.mep-stats-insights,.account-card){
    padding:17px!important;
  }
  :is(.button,.btn,.mep-button,button[type="submit"],input[type="submit"]){
    min-height:44px;
  }
  .skills-results-page details > summary{
    min-height:54px;
    padding:15px 16px!important;
  }
}

@media (max-width:480px){
  :root{--mep-u-radius:14px}
  :is(.home-card,.applications-final-card,.mep-path-section,.documents-library,.mep-tools-card,.skills-results-card,.mep-stats-insights,.account-card){
    padding:15px!important;
  }
  :is(.badge,.tag,.status-badge,.crm-badge,.document-badge,.skills-results-tag,.mep-smart-badge){
    white-space:normal;
  }
}

/* ==========================================================================\n   MEP V2 — PROFIL PROFESSIONNEL VIVANT\n   ========================================================================== */
.mep-live-profile{
  width:min(1180px,calc(100% - 32px));
  margin:30px auto 64px;
  color:var(--mep-ink,#17232d);
}
.mep-live-profile-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:30px 32px;
  border:1px solid var(--mep-u-border,#e1e8e5);
  border-radius:22px;
  background:linear-gradient(135deg,#f4faf7 0%,#fff 72%);
  box-shadow:var(--mep-u-shadow,0 8px 28px rgba(22,55,45,.05));
}
.mep-live-profile-hero h1{margin:4px 0 8px;font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.08}
.mep-live-profile-hero p:last-child{margin:0;color:var(--mep-muted,#66737d);font-weight:650}
.mep-live-profile-score{
  flex:0 0 auto;display:grid;place-items:center;min-width:126px;min-height:94px;padding:14px 18px;
  border-radius:18px;background:#fff;border:1px solid var(--mep-u-border,#e1e8e5);text-align:center;
}
.mep-live-profile-score strong{display:block;font-size:1.8rem;color:var(--mep-primary-dark,#235e4d)}
.mep-live-profile-score span{font-size:.72rem;font-weight:800;color:var(--mep-muted,#66737d);text-transform:uppercase;letter-spacing:.04em}
.mep-live-profile-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.mep-live-profile-glance article{
  min-width:0;padding:18px;border:1px solid var(--mep-u-border,#e1e8e5);border-radius:18px;background:#fff;
  box-shadow:0 6px 20px rgba(22,55,45,.035)
}
.mep-live-profile-glance span{display:block;margin-bottom:8px;color:var(--mep-muted,#66737d);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.mep-live-profile-glance strong{display:block;font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}
.mep-live-profile-glance small{display:block;margin-top:8px;color:var(--mep-muted,#66737d);line-height:1.35}
.mep-live-profile-summary{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;margin:18px 0;padding:24px 26px;
  border-radius:20px;background:#183d33;color:#fff
}
.mep-live-profile-summary .vnext-eyebrow{color:#bfe3d8!important}
.mep-live-profile-summary h2{margin:4px 0 8px;color:#fff;font-size:1.25rem}
.mep-live-profile-summary p:last-child{margin:0;color:#e5f2ee;line-height:1.65}
.mep-live-profile-summary .vnext-btn{white-space:nowrap;background:#fff!important;color:#183d33!important;border-color:#fff!important}
.mep-live-profile-details{display:grid;gap:12px;margin-top:18px}
.mep-live-profile-details details{border:1px solid var(--mep-u-border,#e1e8e5);border-radius:18px;background:#fff;overflow:hidden}
.mep-live-profile-details summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:17px 20px;cursor:pointer;list-style:none
}
.mep-live-profile-details summary::-webkit-details-marker{display:none}
.mep-live-profile-details summary span{font-weight:850;font-size:1rem}
.mep-live-profile-details summary b{color:var(--mep-primary-dark,#235e4d);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}
.mep-live-profile-details details[open] summary{background:#f6faf8;border-bottom:1px solid var(--mep-u-border,#e1e8e5)}
.mep-live-profile-panel{padding:20px;line-height:1.6;color:#52606a}
.mep-live-profile-panel>a{display:inline-flex;margin-top:14px;font-weight:800;color:var(--mep-primary-dark,#235e4d);text-decoration:none}
.mep-live-profile-panel ul{margin:0;padding-left:20px}
.mep-live-profile-panel li+li{margin-top:6px}
.mep-live-profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mep-live-profile-stats span{padding:12px 14px;border-radius:14px;background:#f6faf8;color:#53615b;font-size:.8rem}
.mep-live-profile-stats strong{display:block;color:#183d33;font-size:1.25rem}
.mep-live-profile-experiences{display:grid;gap:8px;margin-top:14px}
.mep-live-profile-experiences div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #edf1ef}
.mep-live-profile-experiences span{color:var(--mep-muted,#66737d);text-align:right}
.mep-live-profile-warning{margin-top:16px;padding:13px 14px;border-radius:13px;background:#fff7ed;color:#835728}
.mep-live-profile-direction{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.mep-live-profile-direction p{display:grid;gap:3px;margin:0;padding:11px 0;border-bottom:1px solid #edf1ef}
.mep-live-profile-direction p strong{font-size:.76rem;color:#7a8781;text-transform:uppercase;letter-spacing:.04em}
.mep-live-profile-direction>a{grid-column:1/-1}
.mep-live-profile-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.mep-live-profile-actions a{padding:9px 12px;border-radius:10px;background:#f0f6f3;color:#235e4d;font-size:.8rem;font-weight:800;text-decoration:none}

/* Navigation V2 : le profil devient un pilier, les fonctions secondaires restent hors du menu principal. */
@media (min-width:1021px){
  .mep-vnext-navigation{gap:3px!important}
  .mep-vnext-navigation>a{padding-left:10px!important;padding-right:10px!important}
}
@media (max-width:1020px){
  .mep-live-profile{width:min(100% - 28px,860px);margin-top:20px}
  .mep-live-profile-glance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mep-live-profile-summary{grid-template-columns:1fr}
  .mep-live-profile-summary .vnext-btn{justify-self:start}
}
@media (max-width:780px){
  .mep-live-profile{width:calc(100% - 24px);margin:14px auto 92px}
  .mep-live-profile-hero{align-items:flex-start;padding:20px;border-radius:18px}
  .mep-live-profile-score{min-width:94px;min-height:76px;padding:10px}
  .mep-live-profile-score strong{font-size:1.45rem}
  .mep-live-profile-score span{font-size:.6rem}
  .mep-live-profile-glance{grid-template-columns:1fr 1fr;gap:10px}
  .mep-live-profile-glance article{padding:14px;border-radius:15px}
  .mep-live-profile-summary{padding:20px;border-radius:17px}
  .mep-live-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mep-live-profile-direction{grid-template-columns:1fr}
  .mep-live-profile-direction>a{grid-column:auto}
}
@media (max-width:480px){
  .mep-live-profile-hero{display:grid;grid-template-columns:1fr auto;gap:14px}
  .mep-live-profile-hero h1{font-size:1.45rem}
  .mep-live-profile-glance{grid-template-columns:1fr}
  .mep-live-profile-details summary{padding:15px 16px;min-height:58px}
  .mep-live-profile-panel{padding:16px}
}


/* ===== MEP V2.1 · cohérence Dashboard / Profil ===== */
.dashboard-v2-profile-snapshot{display:grid;gap:14px}
.dashboard-v2-profile-copy{margin:0;color:var(--mep-muted,#66737d);font-size:.86rem;line-height:1.55}
.dashboard-v2-profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dashboard-v2-profile-facts span{padding:11px 10px;border:1px solid #e7eeeb;border-radius:13px;background:#f8fbfa;color:#66736d;font-size:.72rem;font-weight:750;text-align:center}
.dashboard-v2-profile-facts strong{display:block;margin-bottom:2px;color:#193f34;font-size:1.08rem}
.dashboard-v2-profile-action{display:inline-flex;color:var(--mep-primary-dark,#235e4d);font-size:.8rem;font-weight:850;text-decoration:none}
.dashboard-v2-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:780px){.dashboard-v2-profile-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-v2-quick-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:430px){.dashboard-v2-profile-facts{grid-template-columns:1fr 1fr 1fr}.dashboard-v2-profile-facts span{padding:9px 5px;font-size:.65rem}.dashboard-v2-quick-grid{grid-template-columns:1fr!important}}
