/* ChainLab public/auth shell — single source of truth, based on Gabarit Commun V1 Corrigé.
   Change this file + shell.js + the independent images to update every integrated page. */
:root{
 --cl-navy:#102657;--cl-blue:#315bea;--cl-purple:#6837fa;--cl-cyan:#00bfd0;
 --cl-text:#54719e;--cl-border:#e0e9fb;--cl-header-height:98px;
 --cl-brand-size:76px;--cl-footer-height:154px;
}
html{min-height:100%;font-family:Arial,Helvetica,sans-serif}
body.cl-auth-page{margin:0;min-height:100vh;display:block;background:#f7faff;color:var(--cl-navy);font-family:Arial,Helvetica,sans-serif}
.cl-shell,.cl-shell *{box-sizing:border-box}
.cl-shell{min-height:100vh;display:flex;flex-direction:column}
#cl-header-slot{flex:none}
.cl-header{position:relative;flex:none;height:var(--cl-header-height);background:#dff7ff url('/static/chainlab-shell/assets/bandeau-haut-reference.png') center center/cover no-repeat}
.cl-brand{position:absolute;left:clamp(18px,7.6vw,146px);top:7px;display:flex;align-items:center;gap:6px;height:83px;text-decoration:none;z-index:2}
.cl-brand__symbol{width:var(--cl-brand-size);height:var(--cl-brand-size);object-fit:contain;flex:none}
.cl-brand__texts{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.cl-brand__name{font-size:38px;line-height:1;letter-spacing:-1.9px;font-weight:800;color:var(--cl-navy)}
.cl-brand__name span{color:var(--cl-blue)}
.cl-brand__tagline{font-size:10px;letter-spacing:2px;line-height:1.15;font-weight:700;color:#345f9a;white-space:nowrap}
.cl-header__actions{position:absolute;right:17px;top:18px;display:flex;align-items:center;gap:7px;z-index:3}
.cl-shell .cl-header .cl-lang{box-sizing:border-box;border:1px solid #d8e3fb;background:#f4f8ff;color:#31558c;border-radius:6px;min-width:35px;width:35px;height:32px;margin:0;padding:0;display:grid;place-items:center;align-content:center;justify-content:center;line-height:1;vertical-align:middle;text-align:center;text-indent:0;appearance:none;-webkit-appearance:none;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10px;letter-spacing:0;cursor:pointer;transform:none;filter:none}
.cl-shell .cl-header .cl-lang[aria-pressed="true"]{background:#fff;color:#4430df;border-color:#fff}
.cl-shell .cl-header .cl-login{display:inline-flex;justify-content:center;align-items:center;min-width:96px;height:32px;margin:0;padding:0 12px;line-height:1;vertical-align:middle;background:#2d53ce;border:1px solid #5d7bf1;border-radius:6px;color:#fff;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.cl-shell .cl-header .cl-login:hover{background:#173bb6}
.cl-main{flex:1;min-height:430px;background:radial-gradient(ellipse at 62% 75%,#e8f2ff 0%,#f7faff 58%,#fff 100%);padding:56px max(24px,8vw)}
.cl-main__inner{max-width:1220px;margin:0 auto;width:100%}
.cl-auth-grid{min-height:420px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}
.cl-auth-intro{min-width:0;color:var(--cl-navy)}
.cl-auth-intro .brand-content,.cl-auth-intro .intro{max-width:660px;display:block;position:static;transform:none;margin:0;padding:0;background:none}
.cl-auth-intro .eyebrow,.cl-auth-intro .portal-label{color:#6936f6;letter-spacing:3px;font-weight:800;font-size:15px}
.cl-auth-intro h1{font-size:clamp(34px,4.4vw,66px);letter-spacing:-2px;line-height:1.14;margin:28px 0 20px;color:var(--cl-navy);font-weight:800}
.cl-auth-intro h1 span:last-child,.cl-auth-intro h1 .gradient{color:#4a47f9;background:none;-webkit-text-fill-color:initial}
.cl-auth-intro p{font-size:18px;line-height:1.7;color:#5976a2;max-width:580px;margin:0}
.cl-auth-intro .features{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}
.cl-auth-intro .features span{padding:8px 10px;border:1px solid #d7e3f8;border-radius:8px;color:#496d9d;background:rgba(255,255,255,.7);font-size:10px;font-weight:700;letter-spacing:.08em}
.cl-auth-card{min-width:0;background:#fff;border:1px solid #e0e9fb;border-radius:24px;box-shadow:0 18px 45px rgba(33,86,160,.045);padding:36px 36px 38px;color:var(--cl-navy);width:100%}
.cl-auth-card .login-box{width:100%;max-width:none;margin:0;padding:0;color:var(--cl-navy)}
.cl-auth-card .mobile-brand{display:none}
.cl-card-brand{display:flex;align-items:center;gap:9px;margin-bottom:26px}
.cl-card-brand__symbol{width:39px;height:39px;object-fit:contain;flex:none}
.cl-card-brand__texts{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.cl-card-brand__name{font-size:23px;letter-spacing:-.6px;font-weight:800;color:#122652;line-height:1.08}
.cl-card-brand__name span{color:#3558ef}
.cl-card-brand__tagline{font-size:8px;letter-spacing:1.7px;color:#6680ad;font-weight:700;white-space:nowrap}
.cl-auth-card .login-header{margin-bottom:24px}
.cl-auth-card .login-header h2,.cl-auth-card .card h2,.cl-auth-card .verification-box h2{font-size:clamp(25px,2.4vw,34px);letter-spacing:-.04em;line-height:1.15;margin:9px 0 14px;color:var(--cl-navy)}
.cl-auth-card .login-header p,.cl-auth-card .card p,.cl-auth-card .verification-box p{color:#5575a4;line-height:1.65;font-size:15px}
.cl-auth-card .portal-label{color:#6538f4;font-size:11px;font-weight:800;letter-spacing:.17em}
.cl-auth-card form label{display:block;margin:20px 0 9px;color:#34547d;font-size:11px;font-weight:800;letter-spacing:.12em}
.cl-auth-card form input{display:block;width:100%;height:54px;padding:0 16px;border:1px solid #d2def5;border-radius:9px;background:#fff;color:#102657;outline:none;font-size:16px;box-shadow:none;transition:border-color .18s,box-shadow .18s}
.cl-auth-card form input:focus{border-color:#4965ed;box-shadow:0 0 0 3px rgba(73,101,237,.12)}
.cl-auth-card form button[type="submit"],.cl-auth-card #verifyButton,.cl-auth-card .auth-primary-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:53px;height:auto;margin-top:24px;padding:12px 14px;border:0;border-radius:9px;background:linear-gradient(100deg,#7036ff,#315eff,#00bfd0);color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em;text-decoration:none;cursor:pointer;transform:none}
.cl-auth-card form button[type="submit"]:hover,.cl-auth-card #verifyButton:hover{filter:brightness(1.06)}
.cl-auth-card .forgot-password{margin-top:16px;text-align:right;color:#5976a2}
.cl-auth-card .forgot-password a,.cl-auth-card .register-link a,.cl-auth-card .auth-secondary-button{color:#145ed6;text-decoration:none;font-weight:700}
.cl-auth-card .forgot-password a:hover,.cl-auth-card .register-link a:hover{text-decoration:underline}
.cl-auth-card .register-link{color:#5575a4;text-align:center;margin-top:20px}
.cl-auth-card .field-help{color:#667fa7;font-size:11px}
.cl-auth-card .security{color:#52769a;text-align:center}
.cl-auth-card .security span:first-child{color:#19bb94}
.cl-auth-card .error,.cl-auth-card .error-message,.cl-auth-card .auth-message.error-state{color:#bc3652}
.cl-auth-card .auth-secondary-button{border:1px solid #d1e0f8;background:#f8fbff}
.cl-auth-card .verification-spinner{border-color:#e1e9f7;border-top-color:#5b42f8}
/* Preserve existing forgot-password page content and its original API script */
.cl-auth-card .card{border:0;box-shadow:none;background:transparent;border-radius:0;padding:0;margin:0;width:100%;min-width:0}
.cl-auth-card .card h2{margin:0 0 15px}
.cl-auth-card .card p{margin-bottom:20px}
.cl-auth-card .card #back{display:block;text-align:center;color:#145ed6;font-weight:700;text-decoration:none;margin-top:21px}
.cl-auth-card .card .status{min-height:18px;margin-top:14px;color:#365b9d}
.cl-footer{position:relative;isolation:isolate;flex:none;min-height:var(--cl-footer-height);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 clamp(22px,6vw,110px) 27px;font-size:12px;font-weight:700}
.cl-footer__wave{position:absolute;inset:0;z-index:-1;background:#0863df url('/static/chainlab-shell/assets/bandeau-bas-vagues-seules.png') center bottom/100% 100% no-repeat;pointer-events:none}
.cl-footer__copyright{position:relative;display:block;white-space:nowrap}
.cl-footer__links{position:relative;display:flex;align-items:center;gap:15px}
.cl-footer__legal,.cl-footer__privacy{color:#fff;text-decoration:none}
.cl-footer__legal:hover,.cl-footer__privacy:hover{text-decoration:underline}
.cl-footer__separator{display:inline-block}
@media(max-width:850px){
 :root{--cl-header-height:84px;--cl-brand-size:65px}
 .cl-brand{left:16px;top:7px;height:69px}.cl-brand__name{font-size:29px}.cl-brand__tagline{font-size:7.4px;letter-spacing:1.4px}
 .cl-header__actions{right:10px;top:16px}.cl-main{padding:45px 22px}
 .cl-auth-grid{grid-template-columns:1fr;gap:28px;min-height:0}
 .cl-auth-intro h1{font-size:clamp(32px,6vw,48px)}
 .cl-auth-card{padding:30px}.cl-footer{font-size:11px}
}
@media(max-width:480px){
 :root{--cl-header-height:100px;--cl-brand-size:53px}
 .cl-brand{left:5px;top:3px;height:59px;gap:1px}.cl-brand__name{font-size:23px;letter-spacing:-1px}
 .cl-brand__tagline{font-size:5.6px;letter-spacing:.9px}
 .cl-header__actions{right:8px;top:63px;gap:6px}
 .cl-shell .cl-header .cl-lang{min-width:30px;width:30px;height:28px;font-size:9px}
 .cl-shell .cl-header .cl-login{min-width:78px;height:28px;font-size:10px;margin-left:0}
 .cl-main{padding:35px 16px}.cl-auth-grid{gap:23px}.cl-auth-intro h1{margin:18px 0 15px;letter-spacing:-1.5px}
 .cl-auth-intro .eyebrow{font-size:11px;letter-spacing:2px}.cl-auth-intro p{font-size:15px}
 .cl-auth-card{padding:24px 20px}.cl-card-brand__symbol{width:34px;height:34px}
 .cl-card-brand__name{font-size:20px}.cl-card-brand__tagline{font-size:7px;letter-spacing:1.1px}
 .cl-footer{padding:48px 14px 18px;min-height:180px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:9px;font-size:10px}
 .cl-footer__links{gap:7px}
}


/* CHAINLAB AUTH COMPACT FIX 20261027 */

/* Champs blancs, même avec le remplissage automatique */
body.cl-auth-page .cl-auth-card input:autofill,
body.cl-auth-page .cl-auth-card input:-webkit-autofill,
body.cl-auth-page .cl-auth-card input:-webkit-autofill:hover,
body.cl-auth-page .cl-auth-card input:-webkit-autofill:focus {
  background-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: #102657 !important;
  caret-color: #102657;
  transition: background-color 9999s ease-out 0s;
}

/* Affichage compact sur ordinateur */
@media (min-width: 851px) and (max-height: 950px) {
  body.cl-auth-page {
    --cl-header-height: 76px;
    --cl-footer-height: 108px;
  }
  body.cl-auth-page .cl-brand {
    top: 2px;
    height: 70px;
  }
  body.cl-auth-page .cl-brand__symbol {
    width: 61px;
    height: 61px;
  }
  body.cl-auth-page .cl-brand__name { font-size: 32px; }
  body.cl-auth-page .cl-brand__tagline { font-size: 8px; }
  body.cl-auth-page .cl-header__actions { top: 12px; }
  body.cl-auth-page .cl-main {
    min-height: 0;
    padding-top: 18px;
    padding-bottom: 18px;
  }
  body.cl-auth-page .cl-auth-grid {
    min-height: 0;
    gap: 44px;
  }
  body.cl-auth-page .cl-auth-intro h1 {
    font-size: clamp(35px, 3.7vw, 54px);
    margin: 16px 0 14px;
  }
  body.cl-auth-page .cl-auth-intro p {
    font-size: 16px;
    line-height: 1.55;
  }
  body.cl-auth-page .cl-auth-intro .eyebrow,
  body.cl-auth-page .cl-auth-intro .portal-label {
    font-size: 12px;
  }
  body.cl-auth-page .cl-auth-card {
    padding: 21px 28px 22px;
    border-radius: 20px;
  }
  body.cl-auth-page .cl-card-brand { margin-bottom: 12px; }
  body.cl-auth-page .cl-card-brand__symbol {
    width: 33px;
    height: 33px;
  }
  body.cl-auth-page .cl-card-brand__name { font-size: 20px; }
  body.cl-auth-page .cl-auth-card .login-header {
    margin-bottom: 13px;
  }
  body.cl-auth-page .cl-auth-card .login-header h2,
  body.cl-auth-page .cl-auth-card .card h2,
  body.cl-auth-page .cl-auth-card .verification-box h2 {
    font-size: 27px;
    margin: 6px 0 7px;
  }
  body.cl-auth-page .cl-auth-card .login-header p,
  body.cl-auth-page .cl-auth-card .card p,
  body.cl-auth-page .cl-auth-card .verification-box p {
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
  }
  body.cl-auth-page .cl-auth-card form label {
    margin: 12px 0 6px;
    font-size: 10px;
  }
  body.cl-auth-page .cl-auth-card form input {
    height: 43px;
    font-size: 14px;
  }
  body.cl-auth-page .cl-auth-card .forgot-password {
    margin-top: 11px;
  }
  body.cl-auth-page .cl-auth-card form button[type="submit"] {
    min-height: 45px;
    margin-top: 13px;
  }
  body.cl-auth-page .cl-auth-card .register-link {
    margin-top: 12px;
  }
  body.cl-auth-page .cl-auth-card .security {
    margin-top: 14px;
  }
  body.cl-auth-page .cl-footer {
    padding-bottom: 15px;
    font-size: 11px;
  }
  body.cl-auth-page .cl-footer__wave {
    background-size: 100% auto;
  }
}


/* CHAINLAB REGISTER COMPACT + HEADER ALIGN 20261027 */

/* Boutons parfaitement centrés dans le bandeau */
@media (min-width: 851px) {
  .cl-shell .cl-header .cl-header__actions {
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
  }
}

/* Inscription compacte sur ordinateur */
@media (min-width: 851px) and (max-height: 950px) {
  body.cl-page-register {
    --cl-header-height: 76px;
    --cl-footer-height: 100px;
  }

  body.cl-page-register .cl-main {
    min-height: 0;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  body.cl-page-register .cl-auth-grid {
    min-height: 0;
    gap: 44px;
  }

  body.cl-page-register .cl-auth-card {
    padding: 16px 28px 18px;
  }

  body.cl-page-register .cl-card-brand {
    margin-bottom: 8px;
  }

  body.cl-page-register .cl-card-brand__symbol {
    width: 30px;
    height: 30px;
  }

  body.cl-page-register .cl-auth-card .login-header {
    margin-bottom: 8px;
  }

  body.cl-page-register .cl-auth-card .login-header h2 {
    font-size: 25px;
    margin: 4px 0 5px;
  }

  body.cl-page-register .cl-auth-card .login-header p {
    font-size: 12px;
    line-height: 1.35;
    margin: 0;
  }

  body.cl-page-register .cl-auth-card form label {
    margin: 9px 0 4px;
    font-size: 10px;
  }

  body.cl-page-register .cl-auth-card form input {
    height: 38px;
    font-size: 13px;
  }

  body.cl-page-register .cl-auth-card .field-help {
    font-size: 10px;
    line-height: 1.3;
    margin-top: 3px;
  }

  body.cl-page-register .cl-auth-card form button[type="submit"] {
    min-height: 42px;
    margin-top: 12px;
  }

  body.cl-page-register .cl-auth-card .register-link {
    margin-top: 10px;
    font-size: 12px;
  }

  body.cl-page-register .cl-auth-card .security {
    margin-top: 10px;
    font-size: 10px;
  }

  body.cl-page-register .cl-auth-intro h1 {
    margin: 14px 0 12px;
    font-size: clamp(34px, 3.7vw, 52px);
  }

  body.cl-page-register .cl-auth-intro p {
    font-size: 15px;
    line-height: 1.5;
  }
}
