:root{color-scheme:light;--bg:#f4f8f5;--paper:#fff;--text:#19372b;--mute:#5f756a;--line:#d6e5da;--green:#246e53;--pale:#e8f4ec}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.7 system-ui,"Segoe UI",sans-serif}header{display:flex;justify-content:space-between;gap:20px;padding:18px max(22px,calc((100vw - 1120px)/2));background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap}header>a{font-weight:850;font-size:19px}header nav{display:flex;gap:16px}a{color:var(--green)}main{max-width:1120px;margin:auto;padding:28px 20px 60px}.hero{background:linear-gradient(110deg,#133b2d,#287158);padding:42px;color:#fff;border-radius:25px}.hero .eyebrow{letter-spacing:.18em;font-size:11px;color:#b9f2d0}.hero h1{font-size:clamp(36px,5vw,57px);line-height:1.13;letter-spacing:-.055em}.hero em{font-style:normal;color:#c1f7d2}.hero p{max-width:720px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:23px;margin-top:17px}.panel h2{margin:0 0 9px;font-size:23px}.hint{font-size:12px;color:var(--mute)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}button,.btn{border:1px solid var(--line);border-radius:10px;min-height:44px;padding:9px 14px;background:var(--pale);color:var(--text);font-weight:750;font:inherit;cursor:pointer;text-decoration:none}.primary{background:var(--green);color:#fff;border-color:var(--green)}button:disabled{opacity:.5;cursor:default}select,input{display:block;padding:11px;border:1px solid var(--line);border-radius:10px;max-width:700px;width:100%;background:#fff;color:var(--text)}label{font-weight:740;display:block;margin:12px 0 7px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grid a{background:var(--pale);padding:15px;text-decoration:none;border-radius:11px;font-weight:700}footer{text-align:center;border-top:1px solid var(--line);color:var(--mute);padding:20px}a:focus-visible,button:focus-visible{outline:3px solid #b78238;outline-offset:3px}@media(max-width:650px){.grid{grid-template-columns:1fr 1fr}.hero{padding:27px}}

/* Compte NCA · accès central, mobile et clavier — ajouté sans modifier l'ancien portail */
.auth-gateway{border:1px solid #bad8c4;background:linear-gradient(150deg,#fff,#eef8f0);scroll-margin-top:24px}
.auth-eyebrow{font-size:11px;font-weight:900;letter-spacing:.17em;color:#246e53}
.auth-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.auth-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;padding:18px;min-height:86px;background:#fff;border:2px solid #d6e5da}
.auth-choice strong{font-size:18px;line-height:1.3}.auth-choice small{font-size:13px;color:#587064}
.auth-choice:hover,.auth-choice.selected{border-color:#246e53;background:#e8f4ec}
.auth-choice:focus-visible,.auth-form input:focus-visible,.auth-form select:focus-visible{outline:3px solid #b78238;outline-offset:2px}
.auth-form{max-width:620px;padding:21px;border:1px solid #d6e5da;background:#fff;border-radius:14px;margin:12px 0}
.auth-form h3{margin:0 0 10px;font-size:21px}
.auth-form button[type=submit]{margin-top:18px;min-height:48px;font-weight:800}
.auth-check{display:flex;align-items:flex-start;gap:9px;font-weight:400;line-height:1.5}
.auth-check input{width:18px;min-width:18px;height:18px;margin:4px 0 0;accent-color:#246e53}
.auth-feedback{font-weight:700;min-height:1.7em;color:#246e53}.auth-feedback.error{color:#a12727}
[hidden]{display:none!important}
@media(max-width:650px){.auth-options{grid-template-columns:1fr}.auth-form{padding:16px}.auth-choice{min-height:68px}}
@media(prefers-reduced-motion:no-preference){.auth-choice{transition:border-color .15s,background-color .15s}}
