.login-page{min-height:100svh;background:radial-gradient(ellipse 700px 480px at 50% 18%,rgba(114,92,225,.12),transparent 75%),var(--fond);display:grid;place-items:center}
.login-layout{width:min(100% - 40px,430px);padding:56px 0 84px}
.login-brand{display:flex;justify-content:center;align-items:center;gap:12px;font-size:19px;letter-spacing:.2em;font-weight:800;margin-bottom:38px}
.login-brand i{height:30px;width:30px;border-radius:9px;background:linear-gradient(135deg,var(--violet),var(--bleu));box-shadow:0 0 32px #8b7cf63b;transform:rotate(-7deg)}
.login-card{padding:38px 34px 34px;border:1px solid rgba(154,145,214,.2);border-radius:24px;background:linear-gradient(145deg,rgba(26,28,46,.97),rgba(16,18,30,.98));box-shadow:0 28px 100px #0005,0 1px 0 #ffffff06 inset}
.login-symbol{display:grid;place-items:center;width:48px;height:48px;background:#8b7cf612;border:1px solid #8b7cf629;border-radius:15px;color:#ada2ff;margin-bottom:24px}
.login-symbol svg{height:23px;width:23px;stroke:currentColor;stroke-width:1.5}
.login-card h1{font-size:25px;font-weight:650;letter-spacing:-.8px;line-height:1.25;margin:0 0 9px}
.login-intro{color:var(--encre2);margin:0 0 31px;font-size:14px}
.login-card label{display:block;color:#d3d5e5;font-size:12px;font-weight:550;margin:20px 0 9px}
.login-card input{box-sizing:border-box;display:block;width:100%;height:49px;border:1px solid #ffffff16;background:#0c0e19;border-radius:10px;color:var(--encre);padding:0 14px;font:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}
.login-card input::placeholder{color:#646b83}
.login-card input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #8b7cf619}
.password-field{position:relative}.password-field input{padding-right:49px}
#show-password{position:absolute;right:4px;top:4px;width:41px;height:41px;display:grid;place-items:center;color:#939bb4;background:none;border:0;border-radius:7px;padding:0;cursor:pointer}
#show-password:hover{color:var(--encre);background:#ffffff07}
#show-password svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5}
#login-error{font-size:12px;line-height:1.5;color:#ff9da4;margin:14px 0 0;min-height:18px}
.login-submit{width:100%;height:49px;display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px;background:linear-gradient(110deg,#9584fa,#7e73e4);color:#101120;border:1px solid #b5a9ff55;border-radius:10px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 22px #8b7cf61a;transition:filter .15s,transform .15s}
.login-submit svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8}
.login-submit:hover{filter:brightness(1.1)}.login-submit:active{transform:translateY(1px)}.login-submit:disabled{opacity:.65;cursor:wait}
.login-page button:focus-visible{outline:2px solid #b4a9ff;outline-offset:4px}
@media(max-width:480px){.login-layout{width:min(100% - 32px,430px);padding:35px 0}.login-card{padding:28px 24px}.login-brand{margin-bottom:28px}.login-card h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.login-page *{transition:none!important}}
