/* =========================================================
   MEP Professional V2 — cohérence, confiance, lisibilité
   Couche chargée après V1 pour professionnaliser les écrans historiques.
   ========================================================= */
:root{
  --mep-v2-bg:#f6f8f9;
  --mep-v2-surface:#ffffff;
  --mep-v2-surface-soft:#f8fafb;
  --mep-v2-ink:#142632;
  --mep-v2-muted:#617482;
  --mep-v2-line:#dce5e9;
  --mep-v2-line-strong:#c8d5db;
  --mep-v2-green:#1f6d59;
  --mep-v2-green-dark:#145343;
  --mep-v2-blue:#315ed4;
  --mep-v2-amber:#9b631c;
  --mep-v2-red:#a53a49;
  --mep-v2-radius-xs:10px;
  --mep-v2-radius-sm:14px;
  --mep-v2-radius:18px;
  --mep-v2-radius-lg:26px;
  --mep-v2-shadow-sm:0 7px 22px rgba(22,47,61,.045);
  --mep-v2-shadow:0 20px 54px rgba(22,47,61,.075);
}

body.mep-app{background:var(--mep-v2-bg);color:var(--mep-v2-ink)}
body.mep-app .container{width:min(1440px,100%);padding-inline:clamp(14px,2.3vw,34px);box-sizing:border-box}
body.mep-app #contenu-principal{min-height:62vh}
body.mep-app a{ text-underline-offset:3px }
body.mep-app hr{border:0;border-top:1px solid var(--mep-v2-line)}
body.mep-app :where(input,select,textarea){font-size:16px}

/* --- socle de cartes et formulaires historiques --- */
body.mep-app :where(.home-card,.account-management-card,.contact-main,.contact-side .home-card,
.applications-final-hero,.salaried-opportunity-column,.salaried-network-list,.salaried-network-detail,
.salaried-planner-controls,.salaried-planner-agenda,.salaried-planner-form,
.documents-library,.documents-command,.documents-focus-usage,
.mep-independent-panel,.mep-crm-card,.mep-crm-form-panel,.mep-mission-card,.mep-mission-form-panel,
.mep-finance-panel,.mep-finance-payment-panel,.mep-sim-form-panel,.mep-sim-results>section){
  border-color:var(--mep-v2-line)!important;
  box-shadow:var(--mep-v2-shadow-sm);
}
body.mep-app :where(.home-card,.account-management-card,.contact-main,.contact-side .home-card,
.salaried-network-detail,.salaried-planner-form,.documents-library,.documents-command,.documents-focus-usage,
.mep-crm-form-panel,.mep-mission-form-panel,.mep-finance-panel,.mep-finance-payment-panel,
.mep-sim-form-panel,.mep-sim-results>section){background:var(--mep-v2-surface)}

body.mep-app :where(.form-group,.account-management-fields,.contact-form-grid,
.salaried-opportunity-fields,.mep-crm-fields,.mep-mission-fields,.mep-finance-fields,.mep-sim-fields) label,
body.mep-app :where(.form-group)>label{color:#304a59;font-weight:800;letter-spacing:-.01em}
body.mep-app :where(.form-group input,.form-group select,.form-group textarea,
.account-management-card input,.account-management-card select,.account-management-card textarea,
.contact-page input,.contact-page select,.contact-page textarea,
.salaried-opportunity-form input,.salaried-opportunity-form select,.salaried-opportunity-form textarea,
.salaried-network-detail input,.salaried-network-detail select,.salaried-network-detail textarea,
.salaried-planner-page input,.salaried-planner-page select,.salaried-planner-page textarea){
  border:1px solid var(--mep-v2-line-strong)!important;
  border-radius:12px!important;
  min-height:44px;
  background:#fff!important;
  color:var(--mep-v2-ink)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body.mep-app :where(.form-group input,.form-group select,.form-group textarea,
.account-management-card input,.account-management-card select,.account-management-card textarea,
.contact-page input,.contact-page select,.contact-page textarea,
.salaried-opportunity-form input,.salaried-opportunity-form select,.salaried-opportunity-form textarea,
.salaried-network-detail input,.salaried-network-detail select,.salaried-network-detail textarea,
.salaried-planner-page input,.salaried-planner-page select,.salaried-planner-page textarea):focus{
  border-color:#77a196!important;
  box-shadow:0 0 0 4px rgba(31,109,89,.09)!important;
  outline:0!important;
}
body.mep-app textarea{line-height:1.55}
body.mep-app :where(.button,.mep-work-btn,.documents-action,.documents-primary-action){font-weight:850;letter-spacing:-.01em}

/* --- hiérarchie des pages --- */
body.mep-app :where(.home-section,.applications-final,.salaried-planner-page,.documents-page-simple,.mep-live-profile,.mep-independent-foundation){
  width:min(1240px,100%);
  margin-inline:auto;
}
body.mep-app :where(.section-title,.applications-final-hero,.salaried-planner-hero,.documents-page-header,.mep-live-profile-hero,.mep-independent-hero) h1{
  letter-spacing:-.045em;
  text-wrap:balance;
}
body.mep-app :where(.section-title,.applications-final-hero,.salaried-planner-hero,.documents-page-header,.mep-live-profile-hero,.mep-independent-hero) p{
  color:var(--mep-v2-muted);
  line-height:1.65;
}
body.mep-app :where(.home-eyebrow,.mep-work-eyebrow,.mep-pro-eyebrow){letter-spacing:.115em;font-weight:900}

/* --- compte --- */
.account-management-page{padding-block:28px 70px}
.account-management-page>.section-title{
  padding:30px 32px!important;
  border:1px solid var(--mep-v2-line)!important;
  border-radius:var(--mep-v2-radius-lg)!important;
  background:linear-gradient(135deg,#f3f8f6,#fff 56%,#f1f5ff)!important;
  box-shadow:var(--mep-v2-shadow-sm);
}
.account-management-grid{gap:22px!important;align-items:start}
.account-management-card{border-radius:20px!important;padding:24px!important}
.account-management-card h2{letter-spacing:-.025em}
.account-management-card form{display:grid;gap:15px}
.account-management-card .form-group{margin:0!important;display:grid;gap:7px}
.account-management-card .button{min-height:44px;border-radius:12px!important}
.account-reset-zone{border-color:#e7d7b9!important;background:#fffdf8!important}
.account-danger-zone{border-color:#ecd0d5!important;background:#fffafb!important}
.mep-account-security-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.mep-account-security-strip article{padding:16px 17px;border:1px solid var(--mep-v2-line);border-radius:16px;background:#fff}
.mep-account-security-strip b{display:block;margin-bottom:4px;font-size:.82rem}.mep-account-security-strip span{color:var(--mep-v2-muted);font-size:.72rem;line-height:1.45}

/* --- contact --- */
.contact-page{padding-block:28px 70px}
.contact-page>.section-title{padding:30px 32px;border:1px solid var(--mep-v2-line);border-radius:var(--mep-v2-radius-lg);background:linear-gradient(135deg,#f4f9f7,#fff 58%,#f4f7fd);box-shadow:var(--mep-v2-shadow-sm)}
.contact-layout{gap:22px!important;align-items:start}
.contact-main{border-radius:22px!important;padding:26px!important}
.contact-main h2,.contact-side h2{letter-spacing:-.03em}
.contact-form-grid{gap:15px!important}
.contact-form-grid .form-group{margin:0!important;display:grid;gap:7px}
.contact-page .button{min-height:44px;border-radius:12px!important}
.contact-side{display:grid;gap:14px}
.contact-side .home-card{border-radius:18px!important;margin:0!important}

/* --- univers salariat --- */
.applications-final,.salaried-planner-page{padding-block:28px 68px}
.applications-final-hero,.salaried-planner-hero{
  border:1px solid var(--mep-v2-line)!important;
  border-radius:var(--mep-v2-radius-lg)!important;
  background:linear-gradient(135deg,#f3f9f6 0,#fff 55%,#f2f6ff 100%)!important;
  box-shadow:var(--mep-v2-shadow-sm)!important;
}
.salaried-opportunity-toolbar,.salaried-network-toolbar{border:1px solid var(--mep-v2-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--mep-v2-shadow-sm)}
.salaried-opportunity-column{border-radius:18px!important;background:#f9fbfc!important}
.salaried-opportunity-card,.salaried-network-card{border:1px solid var(--mep-v2-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.salaried-opportunity-card:hover,.salaried-network-card:hover{transform:translateY(-1px);border-color:#bccdd5!important;box-shadow:0 10px 24px rgba(22,47,61,.06)!important}
.salaried-network-detail{border-radius:20px!important}
.salaried-planner-controls{border-radius:18px!important;background:#fff!important}
.salaried-planner-day{border-color:var(--mep-v2-line)!important;background:#fff!important}
.salaried-planner-day.is-today{box-shadow:inset 0 0 0 2px rgba(31,109,89,.16)}
.salaried-planner-agenda,.salaried-planner-form{border-radius:20px!important}

/* --- documents / profil --- */
.documents-page-simple{padding-block:28px 70px}
.documents-page-header{padding:30px 32px!important;border:1px solid var(--mep-v2-line)!important;border-radius:var(--mep-v2-radius-lg)!important;background:linear-gradient(135deg,#f4f9f7,#fff 55%,#f1f5ff)!important;box-shadow:var(--mep-v2-shadow-sm)}
.documents-kpi-grid article{border-color:var(--mep-v2-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--mep-v2-shadow-sm)}
.documents-command,.documents-focus-usage,.documents-library{border-radius:20px!important}
.document-card{border-color:var(--mep-v2-line)!important;border-radius:14px!important;transition:border-color .16s ease,transform .16s ease}
.document-card:hover{border-color:#bfd0d7!important;transform:translateY(-1px)}
.mep-live-profile{padding-block:28px 70px}
.mep-live-profile-hero{border-color:var(--mep-v2-line)!important;border-radius:var(--mep-v2-radius-lg)!important;box-shadow:var(--mep-v2-shadow-sm)!important}
.mep-live-profile-panel,.mep-live-profile-clarity,.mep-live-profile-ready{border-color:var(--mep-v2-line)!important;border-radius:18px!important;box-shadow:var(--mep-v2-shadow-sm)}

/* --- univers indépendant --- */
.mep-independent-foundation{padding-bottom:70px}
.mep-independent-hero{border-color:var(--mep-v2-line)!important;box-shadow:var(--mep-v2-shadow-sm)!important}
.mep-independent-nav{scrollbar-width:thin}
.mep-independent-nav a{white-space:nowrap}
.mep-independent-dashboard-kpis article,.mep-crm-kpis article,.mep-mission-kpis article,.mep-finance-kpis article,.mep-sim-kpis article{
  border-color:var(--mep-v2-line)!important;
  box-shadow:var(--mep-v2-shadow-sm)!important;
}
.mep-crm-card,.mep-mission-card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.mep-crm-card:hover,.mep-mission-card:hover{transform:translateY(-1px);border-color:#bfd0d7!important;box-shadow:0 12px 28px rgba(22,47,61,.065)!important}
.mep-crm-form-panel,.mep-mission-form-panel,.mep-finance-payment-panel,.mep-sim-form-panel{position:relative}
.mep-sim-result-hero{border-radius:22px!important}
.mep-sim-disclaimer{border:1px solid #e5d9ba!important;border-radius:17px!important;background:#fffdf6!important}

/* --- bloc méthodologie simulateur --- */
.mep-sim-methodology{margin:16px 0 20px;padding:17px 19px;border:1px solid #cfe0d8;border-radius:17px;background:#f7fbf9;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.mep-sim-methodology>div:first-child{display:flex;gap:12px;align-items:flex-start;min-width:0}
.mep-sim-methodology-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#e7f3ed;color:var(--mep-v2-green);font-weight:950}
.mep-sim-methodology strong{display:block;font-size:.86rem}.mep-sim-methodology p{margin:4px 0 0;color:var(--mep-v2-muted);font-size:.76rem;line-height:1.55}.mep-sim-methodology a{flex:0 0 auto;color:var(--mep-v2-green-dark);font-size:.76rem;font-weight:900;text-decoration:none}
.mep-sim-formula-panel{margin:16px 0;padding:18px;border:1px solid var(--mep-v2-line);border-radius:17px;background:#fbfcfd}
.mep-sim-formula-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mep-sim-formula-panel header strong{font-size:.88rem}.mep-sim-formula-panel header span{font-size:.68rem;color:var(--mep-v2-muted)}
.mep-sim-formula{padding:13px 14px;border-radius:12px;background:#eef6f2;color:#204d40;font-size:.78rem;line-height:1.5;font-weight:800}
.mep-sim-formula-panel ul{margin:12px 0 0;padding-left:18px;color:var(--mep-v2-muted);font-size:.72rem;line-height:1.55}

/* --- page confiance --- */
.mep-trust-page{padding-top:28px}
.mep-trust-hero{align-items:center}
.mep-trust-release{display:flex;align-items:center;gap:12px;margin:18px 0;padding:14px 17px;border:1px solid #cee3d9;border-radius:16px;background:#f4fbf7;color:#215743}
.mep-trust-release>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e0f2e8;font-weight:950}.mep-trust-release strong,.mep-trust-release small{display:block}.mep-trust-release strong{font-size:.82rem}.mep-trust-release small{margin-top:3px;color:#637a70;font-size:.68rem}
.mep-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mep-trust-card{margin:0;position:relative;overflow:hidden}
.mep-trust-card-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:14px;background:#edf5f2;color:var(--mep-v2-green);font-size:1.05rem;font-weight:950}
.mep-trust-card h2{max-width:560px;margin-bottom:10px;font-size:1.35rem}.mep-trust-card>p:not(.mep-pro-eyebrow):not(.mep-trust-note){color:var(--mep-v2-muted);line-height:1.65}
.mep-trust-formula{margin:16px 0;padding:16px;border:1px solid #d4e5dd;border-radius:14px;background:#f5faf7}.mep-trust-formula span{display:block;margin-bottom:5px;color:#667c72;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.mep-trust-formula strong{font-size:.82rem;line-height:1.5}
.mep-trust-checks{display:grid;gap:9px;margin:17px 0 20px;padding:0;list-style:none}.mep-trust-checks li{position:relative;padding-left:24px;color:#526b79;font-size:.78rem;line-height:1.55}.mep-trust-checks li::before{content:'✓';position:absolute;left:0;top:0;color:var(--mep-v2-green);font-weight:950}.mep-trust-checks code{padding:2px 5px;border-radius:5px;background:#eef2f4;color:#344b58;font-size:.72rem}
.mep-trust-note{margin:16px 0 0;padding:13px 14px;border-radius:12px;background:#f7f9fa;color:var(--mep-v2-muted);font-size:.72rem;line-height:1.55}
.mep-trust-limits{margin-top:18px}.mep-trust-limit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mep-trust-limit-grid article{padding:16px;border:1px solid var(--mep-v2-line);border-radius:15px;background:#fafcfc}.mep-trust-limit-grid strong{display:block;margin-bottom:7px;font-size:.8rem}.mep-trust-limit-grid p{margin:0;color:var(--mep-v2-muted);font-size:.72rem;line-height:1.55}

/* --- feedback états / double submit --- */
body.mep-app form.is-mep-submitting{opacity:.82;pointer-events:none}
body.mep-app form.is-mep-submitting [type="submit"]{position:relative;padding-right:38px!important}
body.mep-app form.is-mep-submitting [type="submit"]::after{content:'';position:absolute;right:13px;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:mep-v2-spin .7s linear infinite}
@keyframes mep-v2-spin{to{transform:rotate(360deg)}}

/* --- responsive --- */
@media (max-width:1000px){
  .mep-trust-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mep-account-security-strip{grid-template-columns:1fr}
}
@media (max-width:760px){
  body.mep-app .container{padding-inline:12px}
  .mep-trust-grid{grid-template-columns:1fr}
  .mep-trust-limit-grid{grid-template-columns:1fr}
  .mep-pro-hero,.account-management-page>.section-title,.contact-page>.section-title,.documents-page-header{padding:24px 20px!important;border-radius:21px!important}
  .mep-sim-methodology{display:grid}.mep-sim-methodology a{justify-self:start}
  .contact-main,.account-management-card{padding:20px!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.mep-app *,body.mep-app *::before,body.mep-app *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* --- confiance sur l'accueil public --- */
.mep-public-trust-callout{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;align-items:center;margin:18px 0;padding:22px 24px;border:1px solid #d2e2da;border-radius:22px;background:linear-gradient(135deg,#f4faf7,#fff);box-shadow:var(--mep-v2-shadow-sm)}
.mep-public-trust-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e5f3eb;color:var(--mep-v2-green);font-size:1.1rem;font-weight:950}.mep-public-trust-callout h2{margin:2px 0 7px;font-size:1.18rem;letter-spacing:-.03em}.mep-public-trust-callout p:not(.vnext-eyebrow){margin:0;color:var(--mep-v2-muted);font-size:.78rem;line-height:1.55}.mep-public-trust-callout>a{white-space:nowrap}
@media(max-width:820px){.mep-public-trust-callout{grid-template-columns:44px 1fr}.mep-public-trust-callout>a{grid-column:1/-1;justify-self:start}}
