:root{--b:#294d97;--b2:#3a5db3;--bd:#1e3a73;--ink:#1a2233;--soft:#5f6b82;--line:#e6eaf2;--field:#f6f8fc}
*{box-sizing:border-box}
body{margin:0;font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ink);
     background:radial-gradient(1000px 620px at 72% -12%,rgba(58,93,179,.55),transparent 60%),linear-gradient(135deg,#294d97,#1e3a73);min-height:100vh}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px}
.login-card{background:#fff;border-radius:22px;box-shadow:0 40px 90px rgba(0,0,0,.35);width:100%;max-width:420px;padding:36px 34px}
.login-logo{height:36px;display:block;margin-bottom:14px}
.login-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--b);background:rgba(41,77,151,.10);padding:4px 11px;border-radius:999px;margin-bottom:16px}
.login-h{font-size:21px;font-weight:800;margin:0 0 4px}
.login-sub{color:var(--soft);font-size:13.5px;margin:0 0 18px;line-height:1.55}
.login-field{margin-bottom:16px} .login-field label{display:block;font-size:12px;font-weight:700;color:var(--soft);margin-bottom:6px}
.login-in{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;background:var(--field)}
.login-in:focus{outline:2px solid rgba(41,77,151,.25);border-color:var(--b);background:#fff}
.code-boxes{display:flex;gap:9px}
.code-boxes input{flex:1;width:100%;aspect-ratio:1;text-align:center;font-size:22px;font-weight:800;border:1.5px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink)}
.code-boxes input:focus{outline:none;border-color:var(--b);background:#fff}
.login-btn{width:100%;border:0;border-radius:12px;background:var(--b);color:#fff;font-weight:800;font-size:15px;padding:13px;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;gap:9px}
.login-btn:hover{background:var(--bd)}
.login-note{display:flex;gap:10px;align-items:flex-start;background:var(--field);border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--soft);margin-top:16px}
.login-note i{color:var(--b);margin-top:2px}
.login-foot{margin-top:16px;font-size:12.5px;color:var(--soft);text-align:center}
.login-link{border:0;background:none;color:var(--b);font-weight:700;cursor:pointer;font-size:12.5px;padding:0}
[data-lstep]{display:none}[data-lstep].on{display:block}
.gu-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#111a2b;color:#fff;padding:12px 20px;border-radius:999px;font-size:13.5px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:.25s;z-index:60}
.gu-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

.login-alt{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:center;font-size:13px;color:var(--soft)}
.login-alt a{display:inline-block;margin-top:7px;color:var(--b);font-weight:800;text-decoration:none}
.login-alt a:hover{text-decoration:underline}


/* accroche maquette : changer d'espace */
.mock-home{position:fixed;bottom:20px;right:20px;z-index:90;background:#141a2b;color:#fff;padding:11px 17px;border-radius:999px;font:800 13px/1 'Open Sans',-apple-system,sans-serif;text-decoration:none;display:inline-flex;align-items:center;gap:9px;box-shadow:0 12px 28px rgba(0,0,0,.30);transition:.15s}
.mock-home:hover{background:#294d97;transform:translateY(-2px)}
.mock-home i{font-size:13px}
