.auth-page{background:#EDF1F3;color:#182833}
.auth-page [hidden]{display:none!important}
.auth-header{position:absolute;top:0;left:max(62px,calc((48vw - 480px)/2));z-index:5;display:flex;align-items:center;height:clamp(58px,10dvh,90px)}
.auth-page .brand{color:#182833}
.auth-page .nav-connect{border-color:#476173;color:#1B2E3A}
.auth-page .nav-connect:hover{background:#E2E7EB;border-color:#1B2E3A}
.auth-page .skip{background:#1B2E3A;color:#EFF3F5}
.auth{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);min-height:100dvh}
.auth-colonne{width:100%;max-width:604px;justify-self:center;align-self:center;padding:clamp(76px,11dvh,112px) 62px clamp(18px,4dvh,40px)}
.auth-carte{width:100%}
.auth-kicker{margin:0 0 18px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#56768C}
.auth-titre{font:400 clamp(32px,5.2dvh,43px)/1.08 'Newsreader',Georgia,serif;letter-spacing:-.025em;margin:0 0 clamp(10px,1.7dvh,16px);color:#182833}
.auth-intro{font-size:15.5px;line-height:1.6;color:#496578;margin:0 0 clamp(14px,2.6dvh,24px)}
.auth-form{display:grid;gap:clamp(10px,1.7dvh,16px)}
.auth-champ{display:grid;gap:clamp(6px,1dvh,8px)}
.auth-champ label{font-size:13.5px;line-height:1.4;font-weight:500;color:#1D303D}
.auth-champ-tete{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-champ input{width:100%;min-width:0;min-height:clamp(44px,5.4dvh,50px);border:1px solid #9FB0BB;border-radius:4px;background:#F9FAFB;color:#1B2D39;padding:8px 14px;font:400 16px/1.4 'IBM Plex Sans',sans-serif;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.auth-champ input:focus{outline:none;border-color:#5F7787;box-shadow:0 0 0 3px #56778D21}
.auth-champ input[aria-invalid=true]{border-color:#A85D38}
.auth-champ input::placeholder{color:#6F8899}
.auth-voir,.auth-lien-texte{padding:3px 0;border:0;border-bottom:1px solid #99AAB6;background:transparent;color:#344754;cursor:pointer;font-size:12.5px}
.auth-bouton{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:clamp(44px,5.4dvh,50px);padding:10px 17px;border:1px solid #1E3341;border-radius:4px;background:#1E3341;color:#EFF2F4;text-decoration:none;font-size:15px;font-weight:500;line-height:1.4;cursor:pointer;transition:background .2s,border-color .2s}
.auth-bouton:hover{background:#30434F;border-color:#30434F}
.auth-bouton:disabled{opacity:.65;cursor:wait}
.auth-bouton-second{background:transparent;color:#233A49;border-color:#9FB0BB}
.auth-bouton-second:hover{background:#E2E8EC;border-color:#718A9A}
.auth-passkey{margin-top:clamp(10px,1.5dvh,14px);justify-content:flex-start;font-size:14px;font-weight:450;min-height:44px}
.auth-page .icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.auth-separateur{display:none}
.auth-lien{margin-top:clamp(12px,1.9dvh,18px);border-top:1px solid #C8D3DB;padding-top:clamp(10px,1.5dvh,14px)}
.auth-lien summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;color:#364A58;font-size:14px;line-height:1.5;cursor:pointer}
.auth-lien summary::-webkit-details-marker{display:none}
.auth-lien[open] .auth-chevron{transform:rotate(180deg)}
.auth-form-lien{margin-top:18px;gap:15px}
.auth-aide,.auth-note{font-size:13px;line-height:1.6;color:#55758A;margin:0}
.auth-erreur{margin:0;color:#975432;font-size:13px;line-height:1.5}
.auth-statut{font-size:13px;line-height:1.5;color:#3D5464;margin:0}
.auth-info{padding:13px 15px;border-left:2px solid #C68E64;background:#DDE4E9;color:#3B5160;font-size:13px;line-height:1.55;margin:0 0 20px}
.auth-pied{margin-top:clamp(12px,2.2dvh,20px);padding-top:clamp(10px,1.5dvh,14px);border-top:1px solid #CED8DE;font-size:12.5px;line-height:1.6;color:#547388}
.auth-pied p{margin:0 0 6px}
.auth-lien-texte{font-size:inherit;padding:0;line-height:inherit}
.auth-confiance{font-size:11.5px;line-height:1.65;color:#6D8798;margin:clamp(10px,2dvh,18px) 0 0}
.auth-platform-note{font-size:11.5px;line-height:1.6;margin:clamp(8px,1.6dvh,15px) 0 0;color:#627989}
.auth-platform-note a{text-underline-offset:3px}
.auth-confiance .icon{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:5px}
.auth-retour{display:inline-flex;gap:9px;align-items:center;justify-self:start;border:0;background:transparent;color:#405868;font-size:13px;padding:0;cursor:pointer}
.auth-code{letter-spacing:.12em}
.auth-handoff-action{margin-top:31px;padding-top:26px;border-top:1px solid #C9D4DB}
.auth-handoff-action>p{font-size:14px;line-height:1.6;color:#496476;margin:0 0 20px}
.auth-official{background:#D69E73;color:#172630;border-color:#D69E73;justify-content:space-between}
.auth-official:hover{background:#DFB08C;border-color:#DFB08C}
.auth-domain{display:block;text-align:center;color:#70899A;font-size:11.5px;line-height:1.5;margin-top:9px}
.auth-note{margin-top:25px}
.auth-visuel{position:relative;isolation:isolate;overflow:hidden;background:#0F222F;color:#EFF2F4;min-height:0;display:flex;align-items:flex-end}
.auth-visuel::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0C1D2845 0%,#0C1D2840 20%,#0C1C27C9 56%,#0C1A24F5 100%)}
.auth-visuel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;z-index:-2;filter:saturate(.78)}
.auth-visuel-in{width:100%;max-width:730px;padding:clamp(24px,5.8dvh,54px) clamp(38px,4vw,78px)}
.auth-visuel .eyebrow{font-size:10.5px;color:#D7DFE5;margin-bottom:clamp(14px,2.6dvh,24px)}
.auth-visuel h2{font:400 clamp(34px,min(3.4vw,6dvh),55px)/1.04 'Newsreader',Georgia,serif;letter-spacing:-.025em;margin:0 0 clamp(16px,2.6dvh,24px)}
.auth-visuel h2 em{font-weight:400;color:#E8ECEF}
.auth-visuel-promise{max-width:460px;font-size:14px;line-height:1.7;color:#CDD7DD;margin:0}
.auth-piliers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:clamp(14px,2.6dvh,24px) 0 0;margin:clamp(18px,3.2dvh,30px) 0 0;border-top:1px solid #DEE5E933;gap:20px}
.auth-piliers strong{display:block;font-size:12.5px;line-height:1.4;font-weight:500;color:#E8ECEF}
.auth-piliers span{display:block;font-size:11.5px;line-height:1.6;color:#B2BFC8;margin-top:6px}
@media(max-width:1100px){.auth-header{left:36px}.auth-colonne{padding-inline:36px}.auth-visuel-in{padding-inline:35px}.auth-piliers{gap:13px}.auth-piliers strong{font-size:12px}.auth-piliers span{font-size:11px}}
/* Fit the initial desktop form through layout, without clipping content or hiding scrollbars. */
@media(min-width:801px) and (max-height:700px){
  .auth-colonne{padding-top:68px;padding-bottom:18px}
  .auth-header{height:58px}
  .auth-titre{font-size:34px;margin-bottom:10px}
  .auth-intro{font-size:14.5px;line-height:1.5;margin-bottom:16px}
  .auth-form{gap:10px}
  .auth-champ{gap:6px}
  .auth-champ input,.auth-bouton{min-height:44px}
  .auth-lien{margin-top:12px;padding-top:10px}
  .auth-pied{margin-top:14px;padding-top:10px;font-size:12px;line-height:1.5}
  .auth-pied p{margin-bottom:4px}
  .auth-confiance{margin-top:10px}
  .auth-platform-note{margin-top:8px}
}
@media(max-width:800px){.auth{grid-template-columns:1fr}.auth-header{left:30px;height:68px}.auth-page .auth-header .brand{color:#EFF2F4}.auth-colonne{order:2;max-width:540px;padding:24px 30px}.auth-titre{font-size:36px}.auth-visuel{order:1;min-height:clamp(165px,23dvh,220px)}.auth-visuel-in{max-width:600px;padding:76px 30px 20px}.auth-visuel h2{font-size:28px;margin:0}.auth-visuel .eyebrow,.auth-visuel-promise,.auth-piliers{display:none}}
@media(max-width:370px){.auth-header{left:23px}.auth-colonne{padding-inline:23px}.auth-titre{font-size:32px}.auth-visuel-in{padding:64px 23px 16px}.auth-visuel{min-height:160px}.auth-visuel h2{font-size:26px}.auth-intro{font-size:15px}}

/* v126.9 : même système de couleurs que l'accueil : bleu de Prusse pour l'interface, cuivre réservé à l'accent */
.auth-page{background:#F2F6F8;color:#0F2635}
.auth-titre,.auth-page .brand{color:#0F2635}
.auth-champ input{background:#FFFFFF;border-color:#A9BCC8;border-radius:10px}
.auth-champ input:focus{border-color:#2F6D8C;box-shadow:0 0 0 3px #2F6D8C24}
.auth-bouton{background:#10293A;border-color:#10293A;color:#F2F6F8;border-radius:10px}
.auth-bouton:hover{background:#17405A;border-color:#17405A}
.auth-bouton-second{background:transparent;color:#17384C;border-color:#A9BCC8}
.auth-bouton-second:hover{background:#E4ECF1;border-color:#5E8297}
.auth-info{border-left-color:#C2410C;background:#E6EEF3;color:#2D4B5D}
.auth-visuel{background:#0B1B26}
.auth-visuel::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#174A66;mix-blend-mode:color;opacity:.55}
.auth-visuel::before{background:linear-gradient(180deg,#0B1B2640 0%,#0B1B2633 22%,#0B1B26C4 56%,#0B1B26F5 100%)}
.auth-visuel-img{filter:saturate(.6) contrast(1.05)}

/* v126.9 (audit) : petits textes de la connexion à 4,5:1 au moins sur le fond clair ; visuel sans filtre de couleur, photo réelle */
.auth-aide,.auth-note,.auth-confiance,.auth-platform-note,.auth-pied,.auth-kicker,.auth-domain{color:#45606F}
.auth-champ input::placeholder{color:#5A7383}
.auth-visuel::after{display:none}
.auth-visuel-img{filter:none}
.auth-visuel::before{background:linear-gradient(180deg,#0B1B2633 0%,#0B1B2600 26%,#0B1B26B8 58%,#0B1B26F2 100%)}

/* v126.13 : connexion montée en gamme. Photo en panneau arrondi, champs et boutons plus généreux, un seul chemin principal,
   « mot de passe oublié » à sa place, méthodes secondaires regroupées sous « ou ». Logo : point cuivre le jour, clair sur la photo. */
.auth-page{background:#EEF3F6}
.auth{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)}
.auth-colonne{max-width:580px;padding-inline:60px}
.auth-titre{font-size:clamp(34px,5.6dvh,46px);letter-spacing:-.03em}
.auth-intro{font-size:16px;color:#3F5B6C;max-width:44ch}
.auth-champ label{font-size:14px;color:#17303F}
.auth-champ input{min-height:clamp(46px,5.8dvh,52px);border-radius:12px;border-color:#B2C3CE;padding:10px 16px;box-shadow:0 1px 2px #0F26350A}
.auth-champ input:hover{border-color:#7F9BAC}
.auth-champ input:focus{border-color:#1F5D7E;box-shadow:0 0 0 4px #1F5D7E26}
.auth-champ input:-webkit-autofill,.auth-champ input:-webkit-autofill:focus{-webkit-text-fill-color:#0F2635;box-shadow:0 0 0 1000px #FFFFFF inset,0 1px 2px #0F26350A;caret-color:#0F2635}
.auth-champ input:-webkit-autofill:focus{box-shadow:0 0 0 1000px #FFFFFF inset,0 0 0 4px #1F5D7E26}
.auth-voir{border-bottom:0;color:#1F5D7E;font-size:13px;font-weight:500;padding:4px 0}
.auth-voir:hover,.auth-lien-texte:hover{color:#0F2635}
.auth-oubli{margin:2px 0 0;text-align:right;font-size:13px;line-height:1.4}
.auth-oubli .auth-lien-texte{border-bottom:0;color:#1F5D7E;font-weight:500;padding:4px 0}
.auth-bouton{min-height:clamp(46px,5.8dvh,52px);border-radius:12px;font-size:15.5px;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.auth-bouton-principal{background:#0F2635;border-color:#0F2635;box-shadow:0 8px 20px #0F263533,inset 0 1px 0 #FFFFFF1F;margin-top:4px}
.auth-bouton-principal:hover{background:#17405A;border-color:#17405A;box-shadow:0 10px 24px #0F263540,inset 0 1px 0 #FFFFFF1F}
.auth-bouton-principal:active{transform:translateY(1px)}
.auth-fleche{transition:transform .2s}
.auth-bouton-principal:hover .auth-fleche{transform:translateX(3px)}
.auth-bouton:focus-visible,.auth-voir:focus-visible,.auth-lien-texte:focus-visible,.auth-lien summary:focus-visible,.auth-pied a:focus-visible{outline:2px solid #1F5D7E;outline-offset:3px;border-radius:6px}
.auth-separateur{display:none}
.auth-passkey{margin-top:clamp(14px,2.2dvh,20px);background:#FFFFFF;border-color:#B2C3CE;min-height:48px;gap:12px;padding-inline:16px}
.auth-lien{margin-top:clamp(14px,2.2dvh,20px);padding-top:0;border-top:0}
.auth-passkey:not([hidden])~.auth-lien{margin-top:10px}
.auth-lien summary{min-height:48px;padding:0 16px;border:1px solid #B2C3CE;border-radius:12px;background:#FFFFFF;color:#17384C;font-size:14px;font-weight:450;transition:background .2s,border-color .2s}
.auth-lien summary:hover{background:#E4ECF1;border-color:#5E8297}
.auth-lien[open] summary{border-radius:12px 12px 0 0;border-bottom-color:#DCE5EA}
.auth-form-lien{margin-top:0;padding:16px;border:1px solid #B2C3CE;border-top:0;border-radius:0 0 12px 12px;background:#FFFFFF}
.auth-chevron{transition:transform .2s}
.auth-erreur{padding:10px 14px;border-radius:10px;background:#FBEDE6;color:#8A3B14;border:1px solid #EBC7B3}
.auth-pied{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 20px;margin-top:clamp(16px,2.8dvh,26px);border-top-color:#D3DDE4;font-size:13px}
.auth-pied p{margin:0}
.auth-pied p:empty{display:none}
.auth-confiance{font-size:12.5px}
.auth-visuel{margin:14px 14px 14px 0;border-radius:22px;box-shadow:0 24px 60px #0B1B2633}
.auth-visuel::before{background:linear-gradient(180deg,#0B1B2640 0%,#0B1B2600 24%,#0B1B26A8 56%,#0B1B26F5 100%)}
.auth-tag{position:absolute;top:26px;left:clamp(38px,4vw,78px);margin:0;padding-left:14px;font-size:10.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:#E3EAEE;text-shadow:0 1px 6px #0B1B26AA}
.auth-tag::before{content:'';position:absolute;left:0;top:50%;width:8px;height:1px;background:currentColor}
.auth-visuel h2{font-size:clamp(36px,min(3.6vw,6.4dvh),58px)}
.auth-visuel-promise{font-size:15px;color:#D6DFE5}
.auth-piliers{gap:0;border-top-color:#DEE5E940}
.auth-piliers li{padding:0 18px;border-left:1px solid #DEE5E92E}
.auth-piliers li:first-child{padding-left:0;border-left:0}
.auth-piliers strong{font-size:13.5px}
.auth-piliers span{font-size:12.5px;color:#C2CED6;margin-top:4px}
@media(max-width:1100px){.auth-colonne{padding-inline:36px}.auth-piliers li{padding:0 12px}.auth-piliers strong{font-size:12.5px}.auth-piliers span{font-size:11.5px}}
@media(max-width:800px){
  .auth-visuel{margin:0;border-radius:0 0 22px 22px;box-shadow:none}
  .auth-tag{display:none}
  .auth-colonne{padding:26px 24px 30px}
  .auth-pied{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.auth-bouton,.auth-fleche,.auth-chevron,.auth-lien summary{transition:none}}
.auth-header{left:max(60px,calc((49vw - 587px)/2 + 60px))}
@media(max-width:1100px){.auth-header{left:36px}}
@media(max-width:800px){.auth-header{left:24px}}
@media(min-width:801px) and (max-height:820px){
  .auth-colonne{padding-top:76px;padding-bottom:14px}
  .auth-titre{font-size:36px;margin-bottom:8px}
  .auth-intro{font-size:15px;line-height:1.5;margin-bottom:14px}
  .auth-form{gap:10px}
  .auth-champ input,.auth-bouton{min-height:46px}
  .auth-passkey,.auth-lien summary{min-height:44px}
  .auth-passkey,.auth-lien{margin-top:12px}
  .auth-passkey:not([hidden])~.auth-lien{margin-top:8px}
  .auth-pied{margin-top:14px;padding-top:10px}
  .auth-confiance{margin-top:8px}
}
@media(min-width:801px) and (max-height:700px){.auth-colonne{padding-top:62px}.auth-titre{font-size:32px}.auth-intro{margin-bottom:10px}.auth-champ input,.auth-bouton{min-height:44px}.auth-oubli{margin-top:0}.auth-confiance{display:none}}
@media(max-width:800px){.auth{grid-template-columns:1fr}}
