:root{color-scheme:dark;--bg:#020a12;--panel:#061523;--line:#284a64;--muted:#9db3c2;--red:#f52038;--cyan:#24c8f2;--white:#fff;--font-body:'Montserrat',Arial,sans-serif;--font-display:'Bebas Neue',Impact,sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--white);background:radial-gradient(circle at 50% 0,rgba(20,86,126,.38),transparent 34%),radial-gradient(circle at 12% 78%,rgba(245,32,56,.12),transparent 30%),linear-gradient(180deg,#03101b,#01060b)}
a{color:inherit}.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px 18px}.auth-shell{width:min(520px,100%)}.auth-logo{display:block;width:190px;max-width:52vw;margin:0 auto 18px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))}.auth-card{position:relative;overflow:hidden;padding:30px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(7,27,42,.98),rgba(3,14,24,.98));box-shadow:0 28px 90px rgba(0,0,0,.5)}.auth-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--red),var(--cyan),transparent)}.auth-kicker{margin:0 0 2px;color:var(--red);font-weight:800;letter-spacing:.12em;font-size:12px}.auth-card h1{margin:0;font-family:var(--font-display);font-size:46px;line-height:1;letter-spacing:.02em}.auth-lead{margin:10px 0 24px;color:var(--muted);font-size:14px;line-height:1.55}.notice,.error,.success{padding:12px 14px;border-radius:11px;margin:0 0 18px;font-size:13px;line-height:1.45}.error{background:#35121a;border:1px solid #a82b42}.success{background:#0b2a20;border:1px solid #287655}.notice{background:#0b2538;border:1px solid #1d5877}.field{margin-bottom:15px}.field label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#dcebf3;letter-spacing:.02em}.field input{width:100%;height:48px;border:1px solid #31536b;border-radius:11px;background:#071522;color:#fff;padding:0 14px;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(36,200,242,.12)}.field small{display:block;margin-top:6px;color:#7f9bad;font-size:11px;line-height:1.4}.btn{width:100%;min-height:50px;border:0;border-radius:999px;padding:0 20px;font:800 13px var(--font-body);letter-spacing:.03em;color:#fff;cursor:pointer;background:linear-gradient(180deg,#ff334b,#d5142d);box-shadow:0 10px 28px rgba(245,32,56,.2)}.btn:hover{filter:brightness(1.06)}.btn.secondary{background:linear-gradient(180deg,#11649b,#0a426d);box-shadow:0 10px 28px rgba(36,200,242,.12)}.btn.ghost{background:#0a1a27;border:1px solid #31536b;box-shadow:none}.auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:18px;color:#a8bfce;font-size:12px}.auth-links a{text-decoration:none}.auth-links a:hover{color:#fff}.account-meta{display:grid;gap:10px;margin:0 0 22px;padding:14px;border:1px solid rgba(70,120,150,.25);border-radius:12px;background:rgba(4,20,32,.7);font-size:12px;color:var(--muted)}.account-meta strong{color:#fff}.divider{height:1px;background:rgba(120,165,190,.18);margin:24px 0}.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.danger-note{margin:10px 0 0;font-size:11px;color:#8fa7b6}.dev-note{margin-top:18px;padding-top:16px;border-top:1px solid rgba(120,165,190,.16);font-size:11px;color:#7894a5}.dev-note a{color:#a7d9ee}.brand-tag{text-align:center;margin-top:16px;color:#648094;font:700 11px var(--font-body);letter-spacing:.08em}@media(max-width:560px){.auth-page{padding:18px 12px}.auth-card{padding:24px 20px}.auth-card h1{font-size:40px}.two-actions{grid-template-columns:1fr}.auth-links{flex-direction:column;align-items:center}}

/* V1.13.2 — lisibilite authentification */
.field small,.danger-note,.dev-note{font-size:12px;line-height:1.55}.auth-links{font-size:13px;line-height:1.5}.brand-tag{font-size:12px}.account-meta{font-size:13px;line-height:1.5}
@media(max-width:560px){.field small,.danger-note,.dev-note{font-size:11px}.auth-links{font-size:12px}.brand-tag{font-size:11px}}

/* V1.13.4 — compte et recuperation */
.auth-links{flex-wrap:wrap;align-items:center}.auth-links-centered{justify-content:center}.btn-link{display:grid;place-items:center;min-height:50px;padding:0 20px;border:0;border-radius:999px;text-decoration:none;text-align:center;font:800 13px var(--font-body);letter-spacing:.03em;color:#fff;background:linear-gradient(180deg,#ff334b,#d5142d);box-shadow:0 10px 28px rgba(245,32,56,.2)}.btn-link.secondary{background:linear-gradient(180deg,#11649b,#0a426d);box-shadow:0 10px 28px rgba(36,200,242,.12)}.btn-link.ghost{background:#0a1a27;border:1px solid #31536b;box-shadow:none}.success strong{color:#fff}.auth-card form+ .auth-links{margin-top:18px}
@media(max-width:560px){.two-actions{grid-template-columns:1fr}.auth-links{gap:10px}.btn-link{min-height:46px;font-size:12px}}
