/* ELFinance connexion */
#auth-root[hidden],#app[hidden]{display:none!important}
.login-stage{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;background:radial-gradient(ellipse 75% 50% at 20% 5%,#ffe1e9 0,transparent 78%),linear-gradient(140deg,#fff5f8,#fffdfd 60%,#ffedf1);gap:23px}
.login-card{width:min(100%,440px);padding:32px 33px 26px;border:1px solid #f3dbe3;border-radius:22px;background:#fff;box-shadow:0 26px 70px #a7587b25}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:31px}
.login-logo{height:52px;width:52px;object-fit:contain;filter:drop-shadow(0 3px 7px #b7597c23)}
.login-brand>div{display:grid;gap:3px}.login-brand strong{font-family:Georgia,'Times New Roman',serif;color:#8d3154;font-size:27px;font-weight:800;line-height:1}.login-brand small{font-size:9px;color:#ac8c98;letter-spacing:2px;font-weight:700}
.login-heading{margin-bottom:24px}.login-overline{color:#c75e81;font-size:10px;font-weight:850;letter-spacing:2px;text-transform:uppercase;margin-bottom:9px!important}
.login-heading h1{color:#2e2530;font-size:28px;letter-spacing:-.8px;line-height:1.22;margin:0 0 10px}
.login-heading p{font-size:13px;color:#917b87;line-height:1.6;margin:0}
.login-form{display:grid;gap:16px}.login-form .field{display:grid;gap:7px}.login-form .field label{font-size:12px;color:#53414e;font-weight:800}
.login-form .field>input,.login-password-row>input{border:1px solid #ecd9e2;border-radius:12px;background:#fffcfd;padding:13px 15px;width:100%;min-width:0;font-size:14px;outline:none;color:#463340}
.login-form .field>input:focus,.login-password-row:focus-within{border-color:#c65d80;box-shadow:0 0 0 3px #efbfd04c}
.login-form .field>input[readonly]{background:#faf1f5;color:#8c4d66;font-weight:700}
.login-form .field small{color:#96818b;font-size:10.5px;line-height:1.65}
.login-password-row{display:flex;align-items:center;border:1px solid #ecd9e2;border-radius:12px;background:#fffcfd;overflow:hidden}
.login-password-row>input{border:0!important;box-shadow:none!important;min-width:0;flex:1}
.login-show-password{border:0;background:transparent;font-size:11px;font-weight:750;color:#b65377;cursor:pointer;padding:8px 12px}
.login-feedback{font-size:11.5px;line-height:1.6;color:#8a576d;margin:0;min-height:0}
.login-feedback:empty{display:none}.login-feedback.error{color:#af3e61;font-weight:700}
.login-submit{width:100%;display:flex;justify-content:center;align-items:center;gap:13px;border:0;border-radius:12px;color:#fff;background:#c85b80;padding:15px 19px;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 7px 19px #bb5e8038}
.login-submit:hover{background:#af4169}.login-submit:disabled{opacity:.65;cursor:wait}.login-submit span{font-size:20px}
.login-bottom{text-align:center;margin-top:23px;font-size:10px;color:#9d8691}
.login-copyright{font-size:11px;color:#a67f90}.login-loading{text-align:center;display:grid;justify-items:center;gap:20px}.login-loading h2{font-size:22px}.login-loading p{line-height:1.6;color:#8d6d7c;font-size:12px;max-width:350px}
.elfinance-sync{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:180;border:1px solid #e5afbf;background:#fff2f5;color:#9f2a53;font-size:12px;line-height:1.5;max-width:min(92vw,540px);padding:15px 17px;border-radius:13px;box-shadow:0 14px 40px #0002;text-align:center}
.elfinance-sync[hidden]{display:none}
@media(max-width:450px){.login-stage{padding:14px}.login-card{padding:27px 22px 24px;border-radius:18px}.login-heading h1{font-size:25px}}
