/* Pages d'accès — charte Mission du Bénin (fond blanc, drapeau en filigrane animé) */
:root{--navy:#0b1f3a;--navy-2:#16305a;--navy-3:#2a4470;--green:#008751;--yellow:#FCD116;--red:#E8112D;--ink:#14202e;--muted:#5d6878;--line:#d8dee7}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;color:var(--ink);background:linear-gradient(90deg,#0b1f3a,#2a4f8f);background-attachment:fixed}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(900px 500px at 10% -10%,rgba(255,255,255,.06),transparent 60%),radial-gradient(900px 500px at 100% 110%,rgba(0,0,0,.18),transparent 60%),radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:auto,auto,16px 16px;pointer-events:none}
.card{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:920px;min-height:520px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.12)}
.card.single{grid-template-columns:1fr;max-width:560px;min-height:0}
.left{position:relative;padding:34px 34px 30px;color:var(--ink);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-right:1px solid #eef1f5}
.left>*{position:relative;z-index:1}
.logo img{height:74px;display:block;mix-blend-mode:multiply}
.wait>img{mix-blend-mode:multiply;position:relative}
.welcome{margin-top:auto;font-size:44px;line-height:1.05;font-weight:800;color:var(--navy)}
.intro{margin-top:14px;font-size:13.5px;line-height:1.55;color:var(--muted);max-width:340px}
.flag{display:flex;width:90px;height:4px;border-radius:2px;overflow:hidden;margin-top:18px}.flag i{flex:1}.flag i:nth-child(1){background:var(--green)}.flag i:nth-child(2){background:var(--yellow)}.flag i:nth-child(3){background:var(--red)}
.sub{margin-top:10px;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--navy-2)}
/* Drapeau du Bénin en filigrane, flottant doucement */
.flagwm{position:absolute;z-index:0!important;left:52%;top:52%;width:440px;height:293px;margin:-146px 0 0 -220px;display:flex;opacity:.13;transform:rotate(-7deg);pointer-events:none;filter:saturate(1.1)}
.flagwm i{flex:1;height:100%;background-repeat:no-repeat;background-size:440px 293px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 10' preserveAspectRatio='none'%3E%3Crect width='6' height='10' fill='%23008751'/%3E%3Crect x='6' width='9' height='5' fill='%23FCD116'/%3E%3Crect x='6' y='5' width='9' height='5' fill='%23E8112D'/%3E%3C/svg%3E");
 animation:wave 4.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.11s)}
.flagwm::after{content:'';position:absolute;left:-6px;top:-18px;bottom:-60px;width:5px;border-radius:3px;background:#9aa6b8}
@keyframes wave{0%,100%{transform:translateY(-7px) scaleY(1)}50%{transform:translateY(7px) scaleY(.97)}}
@media (prefers-reduced-motion:reduce){.flagwm i{animation:none}}
.right{padding:34px 38px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff,#f6f8fb)}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.top h1{font-size:22px;font-weight:800;color:var(--navy)}
.lang{display:flex;background:#eef1f5;border-radius:20px;padding:3px}.lang a{font-size:11.5px;font-weight:700;color:var(--navy);text-decoration:none;padding:4px 11px;border-radius:16px}.lang a.on{background:var(--navy);color:#fff}
.field{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:12px;box-shadow:0 2px 8px rgba(11,31,58,.05);transition:border-color .15s,box-shadow .15s}
.field:focus-within{border-color:var(--navy-3);box-shadow:0 0 0 3px rgba(42,68,112,.12)}
.field .ic{flex:none;width:34px;height:34px;border-radius:9px;background:#e7edf7;display:flex;align-items:center;justify-content:center;color:var(--navy-2)}
.field .ic svg{width:17px;height:17px}
.field div{flex:1;min-width:0}.field label{display:block;font-size:10.5px;font-weight:600;color:var(--muted)}
.field input{width:100%;border:none;outline:none;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);background:transparent;padding:2px 0}
.field button{border:none;background:none;font:inherit;font-size:11px;font-weight:700;color:var(--navy-3);cursor:pointer}
.row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:2px 2px 20px}
.row label{display:flex;gap:7px;align-items:center;color:var(--muted);cursor:pointer}.row input{accent-color:var(--navy)}
.row a{color:var(--navy-2);font-weight:700;text-decoration:none;cursor:pointer}
.btn{display:block;width:100%;border:none;border-radius:12px;padding:14px;font:inherit;font-weight:800;font-size:14.5px;color:#fff;cursor:pointer;background:linear-gradient(90deg,#0b1f3a,#2a4f8f);box-shadow:0 10px 24px rgba(11,31,58,.25);transition:transform .12s;text-align:center;text-decoration:none}
.btn:hover{transform:translateY(-1px)}.btn.ok{background:var(--green);box-shadow:0 10px 24px rgba(0,135,81,.25)}.btn.no{background:var(--red);box-shadow:0 10px 24px rgba(232,17,45,.22)}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}
.msg{font-size:12.5px;padding:10px 12px;border-radius:10px;margin-bottom:14px;font-weight:600;line-height:1.45}
.msg.e{background:#fde5e8;color:#b30d23}.msg.i{background:#e3f4ec;color:#006b40}.msg.n{background:#eef1f5;color:var(--navy-2)}.msg.w{background:#fff4d6;color:#7a5a00}
.foot{margin-top:22px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;justify-content:center}
.foot svg{width:13px;height:13px}
.wait{text-align:center}.wait h1{font-size:20px;color:var(--navy);margin:14px 0 6px}.wait p{font-size:13.5px;color:var(--muted);line-height:1.55}
.spin{width:54px;height:54px;border-radius:50%;border:4px solid #e3e8ef;border-top-color:var(--navy);margin:6px auto 0;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.who{display:inline-flex;align-items:center;gap:10px;background:#f3f6fb;border:1px solid #e3e8ef;border-radius:12px;padding:10px 14px;margin:14px 0;text-align:left}
.who .av{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.who b{display:block;color:var(--navy)}.who small{color:var(--muted);font-size:12px}
.kv{width:100%;border-collapse:collapse;margin:12px 0 16px;text-align:left}.kv td{padding:7px 0;border-bottom:1px solid #eef1f5;font-size:13.5px}.kv td:first-child{color:var(--muted);width:140px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.timer{font-weight:800;color:var(--navy)}
@media (max-width:760px){.card{grid-template-columns:1fr;min-height:0}.left{padding:22px 20px;border-right:none;border-bottom:1px solid #eef1f5}.welcome{margin-top:20px;font-size:32px}.intro{font-size:12.5px}.right{padding:24px 20px}.logo img{height:58px}
 .flagwm{width:300px;height:200px;margin:-100px 0 0 -150px;top:55%}.flagwm i{background-size:300px 200px}}
/* Pied de page — droits d'auteur */
body{flex-direction:column;gap:14px}
footer.copy{position:relative;z-index:1;text-align:center;font-size:12px;line-height:1.5;color:rgba(255,255,255,.78)}
footer.copy a{color:#fff;text-decoration:none}footer.copy a:hover b{text-decoration:underline;color:var(--yellow)}

.eureka{margin-top:12px;font-size:13px;font-style:italic;color:var(--muted)}.eureka b{font-style:normal;font-weight:800;color:var(--green);font-size:16px}
.eureka+.intro{margin-top:4px}
.eureka{margin-top:14px;font-size:40px;font-weight:800;font-style:normal;color:var(--green);line-height:1;letter-spacing:-1px}
.eureka b{font-size:inherit;color:inherit}
.eureka+.intro{margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--navy-2)}
@media (max-width:760px){.eureka{font-size:32px}}
.welcome{font-size:24px!important;color:var(--muted)!important;font-weight:700!important}
