/* =========================================================
   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}
}
