/* page de connexion — marque accélérateur local : fond #F8F9FD, encre #0F172A, bleu #2563EB */
html,body.l-body{height:auto;min-height:100%;overflow:auto}
.l-body{background:var(--gray-50);background-image:radial-gradient(900px 480px at 50% -160px,rgba(37,99,235,.14),transparent 70%),radial-gradient(600px 400px at 100% 100%,rgba(108,140,255,.10),transparent 70%);min-height:100vh}
.l-wrap{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 18px;gap:22px}
.l-brand img{width:36px;height:36px}
.l-brand .wm{font-size:24px}
.l-brand .tag{font-size:10px}
.l-card{width:400px;max-width:100%;padding:32px 30px 28px;box-shadow:var(--shadow-md);border-color:var(--gray-200);border-radius:16px;border-top:3px solid var(--brand)}
.l-title{font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-.025em;line-height:1.1;color:var(--ink-900)}
.l-sub{color:var(--gray-500);font-size:13.5px;margin-top:6px}
.l-form{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.l-field label{display:block;font-size:12px;color:var(--gray-500);font-weight:500;margin-bottom:6px}
.l-inp{width:100%;height:44px;border:1px solid var(--gray-200);border-radius:10px;background:#fff;padding:0 12px;font:inherit;font-size:15px;color:var(--ink-800);outline:0;transition:border-color .12s,box-shadow .12s}
.l-inp:focus{border-color:var(--brand);box-shadow:var(--ring)}
.l-pw{position:relative}
.l-pw .l-inp{padding-right:84px}
.l-eye{position:absolute;right:6px;top:6px;height:32px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--gray-500);font:500 12px var(--font);cursor:pointer}
.l-eye:hover{background:var(--gray-100);color:var(--ink-800)}
.l-submit{width:100%;margin-top:6px}
.l-submit:hover{background:var(--brand-700);border-color:var(--brand-700)}
.l-alert{margin-top:16px;padding:10px 12px;border-radius:9px;font-size:13px;line-height:1.4}
.l-alert.err{background:var(--red-50);border:1px solid #F4CBC6;color:#A8352B}
.l-alert.ok{background:var(--gold-50);border:1px solid var(--gold-200);color:var(--gold-700)}
.l-foot{font-size:12px;color:var(--gray-400);letter-spacing:.02em}
.l-foot a{color:var(--gray-500);text-decoration:underline;text-underline-offset:2px}
.l-foot a:hover{color:var(--brand)}
@media (max-width:480px){.l-card{padding:24px 20px}.l-title{font-size:26px}}

/* ── style Brio : photo plein écran + carte à gauche (marque AL) ── */
.l-body{background:#0B1220 url(/assets/login-hero.webp) center/cover no-repeat fixed}
.l-brio{position:relative;align-items:flex-start;padding:32px 0 32px clamp(18px,9vw,140px);background:linear-gradient(90deg,rgba(6,11,23,.86) 0%,rgba(6,11,23,.55) 38%,rgba(6,11,23,.18) 70%,rgba(6,11,23,.35) 100%)}
.l-brio .l-card{width:360px;padding:30px 28px 22px;border:0;border-top:4px solid #2563EB;border-radius:14px;box-shadow:0 30px 70px -20px rgba(0,0,0,.65);text-align:center}
.l-logo{display:flex;justify-content:center;margin-bottom:12px}
.l-logo span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#3B82F6,#1D4ED8 72%);box-shadow:0 0 0 5px rgba(37,99,235,.14),0 0 26px rgba(59,130,246,.75),inset 0 0 12px rgba(191,219,254,.35)}
.l-logo img{width:40px;height:40px;filter:drop-shadow(0 0 8px rgba(191,219,254,.9))}
.l-brio .l-title{font:600 26px Oswald,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#0F172A}
.l-rule{width:34px;height:3px;background:#2563EB;border-radius:2px;margin:10px auto 0}
.l-brio .l-sub{font-size:12.5px;margin-top:12px}
.l-brio .l-form{gap:10px;margin-top:18px}
.l-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.l-brio .l-submit{font:600 14px Oswald,Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;height:44px;margin-top:6px;box-shadow:0 8px 18px -8px rgba(37,99,235,.9)}
.l-brio .l-foot{font-size:10.5px;line-height:1.5;color:#94A3B8;margin-top:14px}
.l-cap{position:fixed;right:28px;bottom:22px;font:500 15px Oswald,Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#E2E8F0;text-shadow:0 2px 10px rgba(0,0,0,.6)}
@media (max-width:600px){.l-brio{align-items:center;padding:24px 16px;background:rgba(6,11,23,.6)}.l-brio .l-card{width:100%}.l-cap{left:0;right:0;text-align:center;font-size:11px;bottom:14px}}
