/* Corsica Connect — portail (couleurs du logo) */
@font-face{font-family:'Montserrat';src:url(fonts/montserrat-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Montserrat';src:url(fonts/montserrat-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Montserrat';src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Montserrat';src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--navy:#2B3B90;--ink:#262465;--muted:#5D6290;--faint:#9196B8;--bg:#F3F5FA;--surface:#FFFFFF;--border:#DDE1EE;--border-strong:#C3C9DF;--cyan:#3B9BC3;--green:#9CC938;--yellow:#F4CD18;--red:#E71E26;--ok:#3F6E0E;--ok-soft:#E7F3D6;--warn-soft:#FBF2CC;--soft:#E3E7F6}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:'Montserrat',-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column;font-size:14px}
button,input,select,textarea{font:inherit;color:inherit}
.stripe{display:flex;height:6px;flex:none}.stripe i{flex:1}.stripe i:nth-child(1){background:var(--yellow)}.stripe i:nth-child(2){background:var(--red)}.stripe i:nth-child(3){background:var(--green)}.stripe i:nth-child(4){background:var(--cyan)}
input,select{width:100%;border:1px solid var(--border-strong);border-radius:10px;padding:11px 13px;background:#fff}
input:focus,select:focus{outline:2px solid var(--navy);outline-offset:-1px}
label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:12px 0 5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);background:#fff;border-radius:9px;padding:8px 13px;font-weight:600;font-size:13px;cursor:pointer;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{background:#F7F8FC}.btn.pr{background:var(--navy);border-color:var(--navy);color:#fff}.btn.pr:hover{filter:brightness(1.1)}
.btn.dg{color:var(--red);border-color:var(--red)}.btn.big{width:100%;padding:12px;font-size:14px;border-radius:10px;margin-top:18px}
.err{color:var(--red);font-size:13px;min-height:18px;margin-top:8px}
.note{background:var(--soft);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--navy);line-height:1.45}
.note.ok{background:var(--ok-soft);color:var(--ok)}
.top{display:flex;align-items:center;gap:12px;background:#fff;padding:10px 22px;flex:none;flex-wrap:wrap}
.top img{height:40px;width:40px}
.top a.home{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit;cursor:pointer}.top a.home:hover .n{text-decoration:underline}.top .n{font-weight:700;color:var(--navy);font-size:17px}.top .sp{flex:1}
.user{position:relative}.user>.btn{background:#ECEFF7;border-color:transparent}
.menu{position:absolute;right:0;top:110%;background:#fff;border:1px solid var(--border);border-radius:10px;min-width:230px;padding:6px;z-index:50;display:none;box-shadow:0 10px 26px rgba(38,36,101,.15)}
.menu.on{display:block}.menu a,.menu div{display:block;padding:9px 11px;border-radius:7px;cursor:pointer;color:var(--ink);text-decoration:none}.menu a:hover,.menu div:hover{background:#F3F5FA}.menu .hd{cursor:default;color:var(--muted);font-size:12px}.menu .hd:hover{background:none}
.pill{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:12px;white-space:nowrap}
#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;z-index:100;display:none;max-width:90vw;text-align:center}
.foot{text-align:center;font-size:11px;color:var(--muted);padding:12px}
