/* ============================================================
   CEN V139 — CONNEXION INSTITUTIONNELLE + MOBILE MONEY + FORMULAIRES
   ============================================================ */
:root{
  --cen139-blue:#0b5fa8;
  --cen139-blue-dark:#063f74;
  --cen139-blue-deep:#042b50;
  --cen139-gold:#f2c230;
  --cen139-line:#d7e4ed;
  --cen139-page:#f4f8fc;
  --cen139-text:#193247;
  --cen139-muted:#657b8b;
  --cen139-pad:clamp(18px,4vw,64px);
}

/* ---------- Connexion : en-tête + contenu + footer cohérents ---------- */
body.page-login{min-height:100dvh!important;background:var(--cen139-page)!important;display:flex!important;flex-direction:column!important;overflow-x:hidden!important}
.login-site-header{
  width:100%!important;min-height:72px!important;padding:10px var(--cen139-pad)!important;background:linear-gradient(110deg,var(--cen139-blue-deep),var(--cen139-blue-dark) 58%,var(--cen139-blue))!important;
  border-bottom:4px solid var(--cen139-gold)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex:0 0 auto!important;z-index:100!important;
}
.login-site-home{display:flex!important;align-items:center!important;gap:12px!important;color:#fff!important;text-decoration:none!important;min-width:0!important}
.login-site-home img{width:48px!important;height:48px!important;object-fit:contain!important;background:#fff!important;padding:4px!important;border-radius:12px!important;flex:none!important}
.login-site-home strong,.login-site-home small{display:block!important;color:#fff!important}.login-site-home strong{font-size:17px!important;letter-spacing:.025em!important}.login-site-home small{font-size:11px!important;opacity:.78!important;margin-top:2px!important}
.login-site-actions{display:flex!important;align-items:center!important;gap:10px!important}.login-site-actions>a{color:#fff!important;text-decoration:none!important;font-weight:850!important;padding:9px 12px!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.22)!important}.login-site-actions>a:hover{background:rgba(255,255,255,.1)!important}
.login-language-select{height:40px!important;min-width:108px!important;border:1px solid rgba(255,255,255,.4)!important;background:#fff!important;color:var(--cen139-blue-deep)!important;border-radius:10px!important;font-weight:800!important;padding:0 10px!important}

body.page-login .main-content.public-content{
  flex:1 0 auto!important;width:100%!important;max-width:none!important;margin:0!important;padding:30px 16px 34px!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
body.page-login .cen-login-v138{width:min(100%,500px)!important;gap:14px!important}
body.page-login .cen-login-logo{width:70px!important;height:70px!important;margin-bottom:8px!important}
body.page-login .cen-login-card{padding:30px 30px 26px!important;border-radius:20px!important;border:1px solid #cedde8!important;box-shadow:0 18px 46px rgba(4,43,77,.09)!important}
body.page-login .cen-login-heading h1{font-size:31px!important}
body.page-login .cen-login-input{border:1px solid #b9cedd!important;box-shadow:none!important;outline:0!important;transition:border-color .14s ease,box-shadow .14s ease!important}
body.page-login .cen-login-input:focus-within{border-color:var(--cen139-blue)!important;box-shadow:0 0 0 2px rgba(11,95,168,.14)!important;outline:0!important}
body.page-login .cen-login-input input:focus{outline:0!important;box-shadow:none!important;border:0!important}
body.page-login .cen-login-password-toggle{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;padding:0!important;color:var(--cen139-blue-dark)!important;background:#eef5fa!important;border:0!important;outline:0!important;box-shadow:none!important}
body.page-login .cen-login-password-toggle:focus-visible{box-shadow:0 0 0 2px rgba(11,95,168,.18)!important}

.login-site-footer{width:100%!important;margin:0!important;padding:0!important;background:var(--cen139-blue-deep)!important;border-top:4px solid var(--cen139-gold)!important;color:#fff!important;flex:0 0 auto!important}
.login-site-footer-inner{width:100%!important;max-width:none!important;margin:0!important;padding:16px var(--cen139-pad)!important;display:grid!important;grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr)!important;align-items:center!important;gap:22px!important}
.login-footer-brand{display:flex!important;align-items:center!important;gap:10px!important}.login-footer-brand img{width:42px!important;height:42px!important;object-fit:contain!important;background:#fff!important;border-radius:10px!important;padding:3px!important}.login-footer-brand strong,.login-footer-brand small{display:block!important;color:#fff!important}.login-footer-brand small{font-size:10px!important;opacity:.74!important;margin-top:2px!important}
.login-site-footer nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:15px!important;flex-wrap:wrap!important}.login-site-footer nav a{color:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important;opacity:.9!important}.login-site-footer nav a:hover{opacity:1!important;text-decoration:underline!important}.login-footer-copy{text-align:right!important;color:#d6e9f7!important;font-size:11px!important}

/* ---------- Un seul œil pour tous les champs mot de passe ---------- */
.password-field-wrap{position:relative!important;width:100%!important;display:block!important}
.password-field-wrap>input{width:100%!important;padding-right:52px!important}
.password-visibility-toggle,.password-toggle-btn{
  display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:0!important;border-radius:9px!important;background:#eef5fa!important;color:var(--cen139-blue-dark)!important;cursor:pointer!important;line-height:1!important;box-shadow:none!important;outline:0!important;
}
.password-field-wrap>.password-visibility-toggle,.password-field-wrap>.password-toggle-btn{position:absolute!important;right:7px!important;top:50%!important;transform:translateY(-50%)!important;z-index:4!important}
.password-eye-icon{font-size:16px!important;line-height:1!important;display:block!important}
.password-visibility-toggle:focus-visible,.password-toggle-btn:focus-visible{box-shadow:0 0 0 2px rgba(11,95,168,.2)!important;outline:0!important}
.health-password .password-visibility-toggle{border:1px solid #bfd0d0!important;border-left:0!important;border-radius:0 10px 10px 0!important;height:auto!important;min-height:48px!important;width:48px!important;background:#eef5f4!important}

/* ---------- Focus : une seule bordure propre, sans double contour ---------- */
body :is(input,select,textarea):focus{outline:0!important}
.form input:focus,.form select:focus,.form textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.card input:focus,.card select:focus,.card textarea:focus{
  border-color:var(--cen139-blue)!important;box-shadow:0 0 0 2px rgba(11,95,168,.12)!important;outline:0!important;
}
.password-field-wrap:focus-within{border-radius:11px!important}.password-field-wrap>input:focus{box-shadow:0 0 0 2px rgba(11,95,168,.12)!important}
.cen-login-input .password-field-wrap>input:focus,.cen-login-input>input:focus{box-shadow:none!important}

/* ---------- Paiements Mobile Money ---------- */
.cen-mobile-money-settings,.cen-payment-api-settings{grid-column:1/-1!important;border:1px solid var(--cen139-line)!important;border-radius:18px!important;background:#f8fbfe!important;padding:18px!important;margin:4px 0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.cen-mobile-money-settings>legend,.cen-payment-api-settings>legend{padding:0 8px!important;font-weight:900!important;color:var(--cen139-blue-dark)!important}.cen-mobile-money-settings>.full,.cen-payment-api-settings>.full{grid-column:1/-1!important}
.cen-payment-config{display:grid!important;gap:10px!important;border:1px solid #d8e5ee!important;border-radius:16px!important;padding:15px!important;background:#fff!important;box-shadow:0 7px 18px rgba(4,43,77,.04)!important}.cen-payment-config label{display:grid!important;gap:6px!important;font-weight:750!important;color:#314d61!important}.cen-payment-config-title{display:flex!important;align-items:center!important;gap:10px!important;border-bottom:1px solid #edf2f6!important;padding-bottom:10px!important}.cen-payment-config-title>span{width:34px!important;height:34px!important;border-radius:10px!important;display:grid!important;place-items:center!important;color:#fff!important;font-weight:950!important;background:var(--cen139-blue)!important}.cen-payment-config.airtel .cen-payment-config-title>span{background:#d62027!important}.cen-payment-config.orange .cen-payment-config-title>span{background:#f28b00!important}
.cen-payment-api-settings{grid-template-columns:1fr 1fr!important}

.cen-payment-public-layout{display:grid!important;grid-template-columns:minmax(300px,.88fr) minmax(420px,1.12fr)!important;gap:20px!important;align-items:start!important}.cen-payment-channel-list{display:grid!important;gap:12px!important}.cen-payment-channel{display:flex!important;align-items:center!important;gap:13px!important;border:1px solid #dbe7ef!important;border-radius:15px!important;padding:14px!important;background:#fff!important}.cen-payment-channel-badge{width:44px!important;height:44px!important;border-radius:13px!important;display:grid!important;place-items:center!important;background:var(--cen139-blue)!important;color:#fff!important;font-size:20px!important;font-weight:950!important;flex:none!important}.cen-payment-channel.airtel .cen-payment-channel-badge{background:#d62027!important}.cen-payment-channel.orange .cen-payment-channel-badge{background:#f28b00!important}.cen-payment-channel-copy{display:grid!important;gap:2px!important;min-width:0!important}.cen-payment-channel-copy strong{color:var(--cen139-blue-dark)!important}.cen-payment-channel-copy span,.cen-payment-channel-copy small{color:var(--cen139-muted)!important;font-size:12px!important}.cen-payment-channel-copy a{color:var(--cen139-blue)!important;font-size:17px!important;font-weight:900!important;text-decoration:none!important}.cen-payment-instructions{margin-top:16px!important;padding:13px 14px!important;border-left:4px solid var(--cen139-gold)!important;background:#fff9e7!important;border-radius:10px!important;color:#4e5962!important}

/* ---------- Footer public : même largeur que la barre principale ---------- */
body.public-layout .cen-footer-v137{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:var(--cen139-pad)!important;padding-right:var(--cen139-pad)!important}
body.public-layout .cen-footer-v137 .cen-footer-grid,body.public-layout .cen-footer-v137 .footer-bottom{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

@media(max-width:980px){
  .login-site-header{min-height:62px!important;padding:8px 12px!important}.login-site-home img{width:42px!important;height:42px!important}.login-site-home strong{font-size:15px!important}.login-site-home small{display:none!important}.login-site-actions>a{display:none!important}.login-language-select{min-width:96px!important;height:38px!important}
  body.page-login .main-content.public-content{padding:22px 12px 26px!important;align-items:flex-start!important}.cen-login-card{padding:24px 18px 22px!important}.cen-login-logo{width:64px!important;height:64px!important}.cen-login-brand strong{font-size:18px!important}
  .login-site-footer-inner{grid-template-columns:1fr!important;text-align:center!important;gap:12px!important;padding:16px 14px!important}.login-footer-brand{justify-content:center!important}.login-footer-copy{text-align:center!important}.login-site-footer nav{gap:12px!important}
  .cen-mobile-money-settings{grid-template-columns:1fr!important}.cen-payment-api-settings{grid-template-columns:1fr!important}.cen-payment-public-layout{grid-template-columns:1fr!important}
}
@media(max-width:520px){
  .login-site-header{min-height:58px!important}.login-site-home img{width:38px!important;height:38px!important}.login-site-home strong{font-size:14px!important}.login-language-select{min-width:90px!important;font-size:12px!important}
  body.page-login .main-content.public-content{padding:16px 10px 20px!important}.cen-login-v138{gap:10px!important}.cen-login-card{padding:20px 14px 18px!important;border-radius:16px!important}.cen-login-heading h1{font-size:27px!important}.cen-login-heading p{font-size:14px!important}.cen-login-input{min-height:52px!important}.cen-login-submit{min-height:50px!important}.cen-login-links{gap:8px!important}.login-site-footer nav{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .cen-mobile-money-settings,.cen-payment-api-settings{padding:13px!important;border-radius:14px!important}.cen-payment-config{padding:13px!important}.cen-payment-channel{padding:12px!important}.cen-payment-channel-copy a{font-size:15px!important}
}
