*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:#0a204b}body{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 60% 75%,#edf5ff 0%,#fff 70%)}.header{height:98px;flex:none;background:url(header-wave.png) calc(50% - 75px) center/cover no-repeat;position:relative}.lang{position:absolute;right:3.4%;top:23px;display:flex;gap:8px}.lang button{border:0;border-radius:6px;background:#e5edfb;color:#435f94;padding:8px 12px;font-weight:700;cursor:pointer;box-shadow:0 1px 5px #274e8a26}.lang button.selected{background:#fff;color:#5735ff}.main{flex:1;max-width:1120px;width:calc(100% - 48px);margin:auto;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:90px;padding:48px 0 54px}.eyebrow{color:#6731ff;letter-spacing:2.6px;font-size:15px;font-weight:800}.intro h1{font-size:clamp(38px,4vw,64px);line-height:1.13;letter-spacing:-2.7px;margin:30px 0}.gradient{background:linear-gradient(100deg,#7236fb,#086aff);background-clip:text;color:transparent;white-space:nowrap}.intro p{color:#58729e;font-size:18px;line-height:1.85;max-width:530px}.card{background:#fff;border:1px solid #e0eaf9;border-radius:23px;padding:38px 38px 42px;box-shadow:0 20px 60px #2b60b010}.mini-brand{display:flex;align-items:center;gap:10px;margin-bottom:30px}.mini-icon{font-size:36px;color:#4d4bff;line-height:1}.mini-brand strong{font-size:21px}.mini-brand strong span{color:#3755fc}.mini-brand small{display:block;letter-spacing:2px;font-size:8px;color:#7e91b5}.card h2{font-size:30px;letter-spacing:-1px;margin:0 0 16px}.card p{color:#58729e;font-size:16px;line-height:1.8;margin:0 0 30px}label{display:block;color:#34517c;font-size:12px;font-weight:800;letter-spacing:1.5px;margin-bottom:10px}input{width:100%;height:56px;border:1px solid #cfdaed;border-radius:9px;padding:0 18px;font-size:16px;outline:none}input:focus{border-color:#6b4cff;box-shadow:0 0 0 3px #7148ff20}.submit{width:100%;height:54px;border:0;border-radius:9px;margin-top:20px;background:linear-gradient(100deg,#6b2fff,#087cff,#02bfd2);color:white;font-weight:800;letter-spacing:1.8px;cursor:pointer}.submit:hover{filter:brightness(1.07)}#back{display:block;text-align:center;color:#0864e9;text-decoration:none;font-weight:700;margin-top:30px}.status{font-size:13px!important;margin:12px 0 0!important;text-align:center}.footer{height:122px;flex:none;background:url(footer-wave.png) center bottom/100% 100% no-repeat;display:flex;align-items:flex-end;justify-content:space-between;padding:0 3.4% 23px;color:white;font-size:13px;font-weight:600;gap:15px}.footer nav{display:flex;gap:14px}.footer a{color:inherit;text-decoration:none}@media(max-width:850px){.header{height:80px;background-size:auto 80px;background-position:left top}.lang{right:12px;top:18px}.main{grid-template-columns:1fr;gap:28px;max-width:600px;padding:45px 0}.intro h1{font-size:clamp(35px,7vw,52px)}.card{padding:30px}.footer{height:100px;background-size:auto 100%;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:15px;font-size:11px;gap:7px}}@media(max-width:480px){.main{width:calc(100% - 32px)}.gradient{white-space:normal}.intro h1{letter-spacing:-1.5px}.card h2{font-size:26px}.footer{font-size:9px}}


/* CHAINLAB: FOUR SEPARATE HEADER ELEMENTS -- v3 */
.header{
  background-image:url("/static/password-reset/header-wave-clean.png") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  position:relative;
}
.header-brand{
  position:absolute;left:clamp(14px,5.2vw,95px);top:4px;
  height:88px;display:flex;align-items:center;gap:5px;z-index:1;
}
.header-symbol{
  width:88px;height:88px;display:block;flex:none;object-fit:contain;
}
.header-texts{display:flex;flex-direction:column;justify-content:center;min-width:0;transform:translateY(-1px);}
.header-name{
  display:block;font-family:Arial,Helvetica,sans-serif;font-size:39px;
  font-weight:800;letter-spacing:-2px;line-height:1.05;white-space:nowrap;
  color:#f5faff;text-shadow:0 1px 5px rgba(9,29,95,.18);
}
.header-name span{color:#e6efff;}
.header-tagline{
  display:block;margin-top:5px;font-family:Arial,Helvetica,sans-serif;
  font-size:10px;line-height:1.15;font-weight:700;letter-spacing:2.1px;
  color:#e8efff;white-space:nowrap;text-shadow:0 1px 3px rgba(0,24,86,.25);
}
.header .lang{z-index:2;}
@media(max-width:850px){
  .header{background-size:auto 80px !important;background-position:left top !important;}
  .header-brand{left:14px;top:6px;height:65px;gap:3px;}
  .header-symbol{width:65px;height:65px;}
  .header-name{font-size:30px;letter-spacing:-1.4px;}
  .header-tagline{font-size:7.4px;letter-spacing:1.5px;margin-top:3px;}
}
@media(max-width:480px){
  .header-brand{left:6px;top:10px;height:58px;gap:1px;}
  .header-symbol{width:58px;height:58px;}
  .header-name{font-size:24px;letter-spacing:-1.1px;}
  .header-tagline{font-size:6px;letter-spacing:1.0px;}
  .header .lang{right:6px;top:18px;gap:3px;}
  .header .lang button{padding:7px 8px;}
}



/* Correction v4 : lisibilité sur fond clair et véritable symbole dans la carte */
.header-name{color:#142a58 !important;text-shadow:none !important;}
.header-name span{color:#3159e9 !important;text-shadow:none !important;}
.header-tagline{color:#42669a !important;text-shadow:none !important;}
.card .mini-brand{display:flex;align-items:center;gap:9px;}
.card-brand-symbol{width:39px;height:39px;object-fit:contain;flex:none;display:block;}
.card-brand-texts{display:flex;flex-direction:column;justify-content:center;}
.card-brand-name{font-family:Arial,Helvetica,sans-serif;font-size:23px;line-height:1.08;font-weight:800;color:#122652;letter-spacing:-.6px;}
.card-brand-name span{color:#3558ef;}
.card-brand-tagline{font-family:Arial,Helvetica,sans-serif;font-size:8px;letter-spacing:1.7px;color:#6680ad;margin-top:3px;font-weight:700;}
@media(max-width:480px){.card-brand-symbol{width:34px;height:34px}.card-brand-name{font-size:20px}.card-brand-tagline{font-size:7px;letter-spacing:1.1px}}

/* v5 : boutons FR/EN compacts et indépendants */
.header .lang{display:flex;align-items:center;gap:5px;right:16px;top:17px;}
.header .lang button{min-width:35px;width:35px;height:29px;padding:4px 5px;font-size:12px;line-height:1;font-weight:700;border-radius:6px;}
@media(max-width:480px){.header .lang{right:8px;top:14px;gap:4px}.header .lang button{min-width:30px;width:30px;height:27px;padding:3px;font-size:11px;}}

/* v6 — Bouton de connexion indépendant des éléments de marque */
.header .header-login{
  position:absolute;right:105px;top:17px;
  display:inline-flex;align-items:center;justify-content:center;
  height:29px;min-width:94px;padding:0 14px;
  border-radius:7px;background:#274cc9;color:#fff;
  border:1px solid rgba(255,255,255,.25);
  font:700 12px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.1px;text-decoration:none;
  box-shadow:0 3px 9px rgba(20,55,140,.18);
  z-index:3;white-space:nowrap;
}
.header .header-login:hover{background:#193aa8;color:#fff;}
@media(max-width:480px){
  .header .header-login{right:76px;top:14px;min-width:70px;height:27px;
    padding:0 7px;font-size:11px;}
}

/* v7 : FR / EN à gauche, Connexion / Log in à droite */
.header .lang{right:130px !important;top:17px !important;z-index:4;}
.header .header-login{right:16px !important;top:17px !important;min-width:100px !important;box-sizing:border-box;}
@media(max-width:480px){
  .header .lang{right:92px !important;top:14px !important;}
  .header .header-login{right:8px !important;top:14px !important;min-width:76px !important;padding:0 6px !important;}
}
