/* =============================================================================
   M-CLIENT.3 (25/10/2026) — fenêtre unique de connexion / inscription client (views/auth_modal.php).
   Maquette : _mockups/M-CLIENT.3_inscription_client.html. Classes .kfa-auth-* : aucune collision avec
   Bootstrap 3 ni style.css (la fenêtre garde la mécanique .modal de Bootstrap, pas son habillage).
   ============================================================================= */
.kfa-auth{font-family:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:left}
.kfa-auth *,.kfa-auth *::before,.kfa-auth *::after{box-sizing:border-box}
.kfa-auth .modal-dialog{width:auto;max-width:440px;margin:40px auto}
.kfa-auth .modal-content{border:0;border-radius:20px;box-shadow:0 20px 50px rgba(32,40,94,.22);padding:14px 22px 24px;color:#0F172A}
.kfa-auth-top{display:flex;align-items:center;gap:8px;min-height:36px}
.kfa-auth-sp{flex:1}
.kfa-auth-x{width:36px;height:36px;border-radius:50%;border:0;background:#F0F4FF;color:#20285E;font-size:20px;line-height:1;cursor:pointer;padding:0}
.kfa-auth-x:hover{background:#e3e9fb}
.kfa-auth-back{border:0;background:none;color:#20285E;font-weight:600;font-size:14.5px;padding:6px 0;cursor:pointer}
.kfa-auth-back[hidden]{display:none}
.kfa-auth-body section{display:flex;flex-direction:column;gap:12px}
.kfa-auth-body section[hidden]{display:none}
.kfa-auth-t{font-size:22px;font-weight:700;color:#20285E;margin:2px 0 0;letter-spacing:-.01em;line-height:1.25}
.kfa-auth-sub{margin:0;color:#4B5568;font-size:15px;line-height:1.45}
.kfa-auth-ctx{display:flex;gap:12px;align-items:center;background:#F0F4FF;border-radius:12px;padding:10px 12px;font-size:14px}
.kfa-auth-ctx b{display:block;font-size:15px;color:#0F172A}
.kfa-auth-ctx span span{display:block;color:#4B5568}
.kfa-auth-ph{width:42px;height:42px;border-radius:10px;background:#dfe5f5;color:#20285E;display:grid;place-items:center;font-weight:700;flex:none}
.kfa-auth form{display:flex;flex-direction:column;gap:6px;margin:0}
.kfa-auth-l{display:block;font-size:14px;font-weight:600;color:#334155;margin:6px 0 2px}
.kfa-auth-in{width:100%;font:inherit;font-size:16px;color:#0F172A;border:1px solid #CBD5E1;border-radius:12px;padding:12px 14px;min-height:48px;background:#fff;box-shadow:none;outline:none}
.kfa-auth-in:focus{border-color:#20285E;box-shadow:0 0 0 3px #dfe5ff}
.kfa-auth-in[aria-invalid="true"]{border-color:#B42318;background:#FFFBFA}
.kfa-auth-code{font-size:26px;font-weight:700;letter-spacing:12px;text-align:center;color:#20285E}
.kfa-auth-pw{position:relative}
.kfa-auth-pw .kfa-auth-in{padding-right:86px}
.kfa-auth-pw button{position:absolute;right:6px;top:6px;height:36px;border:0;background:none;color:#20285E;font-weight:600;font-size:13.5px;padding:0 10px;cursor:pointer;border-radius:8px}
.kfa-auth-pw button:hover{background:#F0F4FF}
.kfa-auth-2{display:flex;gap:10px}
.kfa-auth-2 > div{flex:1;min-width:0}
.kfa-auth-help{margin:2px 0 0;font-size:12.5px;color:#4B5568}
.kfa-auth-err{margin:2px 0 0;font-size:13.5px;color:#B42318;line-height:1.4}
.kfa-auth-err[hidden],.kfa-auth-ok[hidden],.kfa-auth-help[hidden]{display:none}
.kfa-auth-ok{margin:2px 0 0;font-size:14px;color:#065F46;background:#D1FAE5;border-radius:10px;padding:9px 12px;font-weight:600}
.kfa-auth-fini{font-size:15.5px;text-align:center;padding:16px}
.kfa-auth-btn{margin-top:10px;display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border:0;border-radius:12px;background:#F15E61;color:#fff;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.kfa-auth-btn:hover{background:#e04f52}
.kfa-auth-btn[disabled]{opacity:.6;cursor:default}
.kfa-auth-link{font-size:14px;font-weight:600;color:#20285E;margin-top:6px;align-self:flex-start}
.kfa-auth-linkbtn{border:0;background:none;padding:0;color:#20285E;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.kfa-auth-linkbtn[disabled]{color:#64748B;text-decoration:none;cursor:default}
.kfa-auth-legal{margin:8px 0 0;font-size:12.5px;color:#4B5568;line-height:1.45}
.kfa-auth-legal a,.kfa-auth-pro a{color:#20285E;font-weight:600}
.kfa-auth-pro{margin:12px 0 0;font-size:14px;color:#4B5568;text-align:center}
.kfa-auth :focus-visible{outline:2px solid #20285E;outline-offset:2px}
@media (max-width:600px){
  .kfa-auth .modal-dialog{max-width:none;margin:0;min-height:100%}
  .kfa-auth .modal-content{border-radius:0;min-height:100vh;padding:12px 16px 28px}
}
