/* =========================================================
   MEP AUTH V2 — entrée produit simple, cohérente, mobile-first
   ========================================================= */

.mep-login-page,
.mep-register-page,
.mep-auth-recovery,
.mep-auth-reset,
.onboarding-cv-section {
  --auth-green:#1d735d;
  --auth-green-dark:#145542;
  --auth-green-soft:#e9f4f0;
  --auth-ink:#17233a;
  --auth-text:#66746f;
  --auth-line:#dce6e2;
  --auth-bg:#f4f7f5;
  --auth-card:#ffffff;
}

/* Connexion et inscription : un seul point focal. */
.mep-login-page,
.mep-register-page {
  width:100%!important;
  padding:42px 18px 64px!important;
  background:linear-gradient(180deg,#f7faf8 0%,#f2f6f4 100%)!important;
}

.mep-login-shell,
.mep-register-shell {
  display:block!important;
  width:min(520px,100%)!important;
  min-height:0!important;
  margin:0 auto!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.mep-login-intro,
.mep-register-intro { display:none!important; }

.mep-login-panel,
.mep-register-panel {
  display:block!important;
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
}

.mep-login-panel-inner,
.mep-register-panel-inner {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:34px!important;
  border:1px solid var(--auth-line)!important;
  border-radius:24px!important;
  background:var(--auth-card)!important;
  box-shadow:0 18px 50px rgba(23,35,58,.08)!important;
}

.mep-login-heading,
.mep-register-heading { margin:0 0 26px!important; text-align:left!important; }
.mep-login-eyebrow,
.mep-register-eyebrow {
  display:inline-flex!important;
  margin:0 0 10px!important;
  color:var(--auth-green)!important;
  font-size:.74rem!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.mep-login-heading h1,
.mep-register-heading h1 {
  margin:0 0 9px!important;
  color:var(--auth-ink)!important;
  font-size:clamp(1.75rem,5vw,2.15rem)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.mep-login-heading p,
.mep-register-heading p {
  margin:0!important;
  color:var(--auth-text)!important;
  font-size:.96rem!important;
  line-height:1.55!important;
}

.mep-login-form,
.mep-register-form { display:grid!important; gap:16px!important; }
.mep-register-password-grid { display:grid!important; grid-template-columns:1fr!important; gap:16px!important; }
.mep-login-field,
.mep-register-field { margin:0!important; }
.mep-login-field label,
.mep-register-field label,
.mep-login-label-row label {
  display:block!important;
  margin:0 0 7px!important;
  color:var(--auth-ink)!important;
  font-size:.86rem!important;
  font-weight:800!important;
}
.mep-login-label-row { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important; }
.mep-login-label-row a { color:var(--auth-green)!important; font-size:.8rem!important; font-weight:750!important; text-decoration:none!important; }

.mep-login-input-wrap,
.mep-register-input-wrap { position:relative!important; display:block!important; }
.mep-login-input-wrap input,
.mep-register-input-wrap input {
  width:100%!important;
  min-height:50px!important;
  padding:0 48px 0 46px!important;
  border:1px solid #cedbd6!important;
  border-radius:13px!important;
  outline:0!important;
  background:#fbfcfc!important;
  color:var(--auth-ink)!important;
  font-size:.95rem!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.mep-login-input-wrap input:focus,
.mep-register-input-wrap input:focus {
  border-color:var(--auth-green)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(29,115,93,.10)!important;
}
.mep-login-input-icon,
.mep-register-input-icon {
  position:absolute!important;
  z-index:2!important;
  left:15px!important;
  top:50%!important;
  width:19px!important;
  height:19px!important;
  transform:translateY(-50%)!important;
  color:#80908a!important;
}
.mep-login-input-icon svg,
.mep-register-input-icon svg { width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important; }
.mep-login-password-toggle,
.mep-register-password-toggle {
  position:absolute!important;z-index:3!important;right:9px!important;top:50%!important;transform:translateY(-50%)!important;
  display:grid!important;place-items:center!important;width:36px!important;height:36px!important;padding:0!important;
  border:0!important;border-radius:9px!important;background:transparent!important;color:#71807b!important;cursor:pointer!important;
}
.mep-login-password-toggle svg,
.mep-register-password-toggle svg { width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important; }
.mep-login-password-toggle[aria-pressed="false"] .mep-login-eye-closed,
.mep-register-password-toggle[aria-pressed="false"] .mep-register-eye-closed {display:none!important}
.mep-login-password-toggle[aria-pressed="true"] .mep-login-eye-open,
.mep-register-password-toggle[aria-pressed="true"] .mep-register-eye-open {display:none!important}

.mep-login-submit,
.mep-register-submit {
  display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  width:100%!important;min-height:50px!important;margin:2px 0 0!important;padding:0 18px!important;
  border:0!important;border-radius:13px!important;background:var(--auth-green)!important;color:#fff!important;
  font-size:.91rem!important;font-weight:850!important;text-decoration:none!important;cursor:pointer!important;
  box-shadow:0 9px 20px rgba(29,115,93,.18)!important;
}
.mep-login-submit:hover,
.mep-register-submit:hover { background:var(--auth-green-dark)!important; }
.mep-login-submit svg,
.mep-register-submit svg { width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important; }

.mep-login-separator,
.mep-register-separator { display:flex!important;align-items:center!important;gap:12px!important;margin:22px 0 16px!important;color:#8a9691!important;font-size:.76rem!important; }
.mep-login-separator:before,.mep-login-separator:after,
.mep-register-separator:before,.mep-register-separator:after {content:""!important;flex:1!important;height:1px!important;background:var(--auth-line)!important}
.mep-login-separator span,.mep-register-separator span {white-space:nowrap!important}

.mep-login-google-block,
.mep-register-google-block { margin:0!important; }
.mep-login-google,
.mep-register-google { width:100%!important;min-height:44px!important; }
.mep-login-google > div,
.mep-register-google > div { margin:0 auto!important; }
.mep-login-google-message,
.mep-register-google-message { margin:8px 0 0!important;color:#a43a3a!important;font-size:.8rem!important;text-align:center!important; }

.mep-login-register,
.mep-register-login-link {
  margin:24px 0 0!important;padding:18px 0 0!important;border-top:1px solid var(--auth-line)!important;text-align:center!important;
}
.mep-login-register p,
.mep-register-login-link p { margin:0 0 7px!important;color:var(--auth-text)!important;font-size:.84rem!important; }
.mep-login-register a,
.mep-register-login-link a {display:inline-flex!important;align-items:center!important;gap:6px!important;color:var(--auth-green)!important;font-size:.88rem!important;font-weight:850!important;text-decoration:none!important;}
.mep-login-register svg {width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}
.mep-login-privacy {margin:18px 0 0!important;color:#8a9691!important;font-size:.73rem!important;text-align:center!important;}

.mep-login-alert,
.mep-register-alert { display:flex!important;gap:10px!important;margin:0 0 18px!important;padding:12px 14px!important;border:1px solid #f0caca!important;border-radius:12px!important;background:#fff7f7!important;color:#9a3434!important;font-size:.84rem!important; }
.mep-login-alert p,.mep-register-alert p {margin:0!important}.mep-login-alert svg,.mep-register-alert svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}

.mep-register-consent,
.mep-register-google-consent {display:flex!important;align-items:flex-start!important;gap:9px!important;color:var(--auth-text)!important;font-size:.78rem!important;line-height:1.45!important;}
.mep-register-consent input,
.mep-register-google-consent input {margin-top:2px!important;accent-color:var(--auth-green)!important;}
.mep-register-legal-link {padding:0!important;border:0!important;background:none!important;color:var(--auth-green)!important;font:inherit!important;font-weight:750!important;text-decoration:underline!important;cursor:pointer!important;}
.mep-register-trap {position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* Récupération / nouveau mot de passe : même langage visuel. */
.mep-auth-recovery,
.mep-auth-reset {
  width:min(520px,calc(100% - 36px))!important;
  margin:42px auto 64px!important;
  padding:32px!important;
  border:1px solid var(--auth-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(23,35,58,.08)!important;
}
.mep-auth-recovery .section-title,
.mep-auth-reset .section-title {margin:0 0 22px!important;text-align:left!important;}
.mep-auth-recovery .section-title h1,
.mep-auth-reset .section-title h1 {margin:0 0 9px!important;color:var(--auth-ink)!important;font-size:2rem!important;letter-spacing:-.03em!important;}
.mep-auth-recovery .section-title p:not(.home-eyebrow),
.mep-auth-reset .section-title p:not(.home-eyebrow) {color:var(--auth-text)!important;}
.mep-auth-recovery .home-card,
.mep-auth-reset .home-card {padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.mep-auth-recovery .home-card h2,
.mep-auth-reset .home-card h2 {display:none!important;}
.mep-auth-recovery .home-card > p,
.mep-auth-reset .home-card > p {display:none!important;}
.mep-auth-recovery .form-group,
.mep-auth-reset .form-group {margin:0 0 15px!important;}
.mep-auth-recovery .form-group label,
.mep-auth-reset .form-group label {display:block!important;margin:0 0 7px!important;color:var(--auth-ink)!important;font-size:.86rem!important;font-weight:800!important;}
.mep-auth-recovery .form-group input,
.mep-auth-reset .form-group input {width:100%!important;min-height:50px!important;padding:0 14px!important;border:1px solid #cedbd6!important;border-radius:13px!important;background:#fbfcfc!important;color:var(--auth-ink)!important;}
.mep-auth-recovery .button,
.mep-auth-reset .button {min-height:48px!important;border-radius:12px!important;font-weight:800!important;}
.mep-auth-recovery .button-primary,
.mep-auth-reset .button-primary {width:100%!important;background:var(--auth-green)!important;border-color:var(--auth-green)!important;color:#fff!important;}
.mep-auth-recovery .password-reset-return,
.mep-auth-reset .password-reset-return {margin:18px 0 0!important;text-align:center!important;}
.mep-auth-recovery .password-reset-return .button,
.mep-auth-reset .password-reset-return .button {width:auto!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;color:var(--auth-green)!important;box-shadow:none!important;}

/* Onboarding : MEP n'impose plus le CV comme point de départ. */
.onboarding-cv-section .onboarding-cv-title h1 {letter-spacing:-.035em!important;}
.onboarding-cv-section .onboarding-cv-card-main > .onboarding-cv-icon {background:var(--auth-green-soft)!important;color:var(--auth-green)!important;}

@media (max-width:640px){
  .mep-login-page,.mep-register-page{padding:20px 12px 36px!important}
  .mep-login-panel-inner,.mep-register-panel-inner{padding:24px 18px!important;border-radius:19px!important}
  .mep-login-heading h1,.mep-register-heading h1{font-size:1.72rem!important}
  .mep-login-label-row{align-items:flex-end!important}
  .mep-auth-recovery,.mep-auth-reset{width:calc(100% - 24px)!important;margin:20px auto 36px!important;padding:24px 18px!important;border-radius:19px!important}
}

/* Déconnexion : confirmation courte, propre et cohérente avec l'entrée MEP. */
.mep-logout-page {
  --auth-green:#1d735d;
  --auth-green-dark:#145542;
  --auth-green-soft:#e9f4f0;
  --auth-ink:#17233a;
  --auth-text:#66746f;
  --auth-line:#dce6e2;
  width:100%!important;
  padding:56px 18px 72px!important;
  background:linear-gradient(180deg,#f7faf8 0%,#f2f6f4 100%)!important;
}
.mep-logout-card {
  width:min(500px,100%)!important;
  margin:0 auto!important;
  padding:38px 34px!important;
  border:1px solid var(--auth-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  text-align:center!important;
  box-shadow:0 18px 50px rgba(23,35,58,.08)!important;
}
.mep-logout-icon {
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  margin:0 auto 18px!important;
  border-radius:18px!important;
  background:var(--auth-green-soft)!important;
  color:var(--auth-green)!important;
}
.mep-logout-icon svg {width:27px!important;height:27px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;}
.mep-logout-eyebrow {
  margin:0 0 8px!important;
  color:var(--auth-green)!important;
  font-size:.74rem!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.mep-logout-card h1 {
  margin:0 0 10px!important;
  color:var(--auth-ink)!important;
  font-size:clamp(1.8rem,5vw,2.2rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.mep-logout-card > p:not(.mep-logout-eyebrow) {
  max-width:370px!important;
  margin:0 auto 24px!important;
  color:var(--auth-text)!important;
  font-size:.95rem!important;
  line-height:1.55!important;
}
.mep-logout-actions {display:grid!important;gap:10px!important;}
.mep-logout-primary,
.mep-logout-secondary {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:13px!important;
  font-size:.9rem!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.mep-logout-primary {background:var(--auth-green)!important;color:#fff!important;box-shadow:0 9px 20px rgba(29,115,93,.16)!important;}
.mep-logout-primary:hover {background:var(--auth-green-dark)!important;color:#fff!important;}
.mep-logout-secondary {border:1px solid var(--auth-line)!important;background:#fff!important;color:var(--auth-ink)!important;}
.mep-logout-note {margin:16px 0 0!important;color:#8a9691!important;font-size:.75rem!important;}
@media (max-width:640px){
  .mep-logout-page{padding:24px 12px 42px!important}
  .mep-logout-card{padding:30px 20px!important;border-radius:19px!important}
}
