*{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh;overflow-x:hidden}.auth-layout{min-height:100dvh;display:flex;background:#fff}.auth-visual{width:48%;min-height:100dvh;position:relative;overflow:hidden;padding:clamp(36px,5vw,76px);display:flex;align-items:flex-end;color:#fff;background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.14),transparent 28%),linear-gradient(145deg,#2baa67,#14834a 57%,#0c5730)}.brand{position:absolute;top:clamp(28px,4vw,50px);left:clamp(30px,5vw,72px);z-index:5;display:flex;align-items:center;gap:10px;font-family:Arial,sans-serif;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:800}.brand-dot{width:12px;height:12px;border-radius:50%;background:#b7ffd0;box-shadow:0 0 0 6px rgba(255,255,255,.16)}.visual-copy{position:relative;z-index:3;max-width:530px;padding-bottom:4vh}.visual-copy .eyebrow{display:block;margin-bottom:14px;text-transform:uppercase;letter-spacing:.18em;font:800 .72rem Arial,sans-serif;opacity:.8}.visual-copy h1{font:800 clamp(3rem,6vw,6rem)/.9 Arial,sans-serif;letter-spacing:-.06em;margin:0 0 22px}.visual-copy p{max-width:500px;font:400 clamp(.98rem,1.4vw,1.18rem)/1.7 Arial,sans-serif;color:rgba(255,255,255,.85)}.curve-desktop{position:absolute;right:-1px;top:0;width:clamp(105px,13vw,200px);height:100%;z-index:2}.curve-mobile{display:none}.auth-form-side{width:52%;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(36px,6vw,84px);background:#fff}.auth-box{width:100%;max-width:620px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,50px);margin-bottom:clamp(38px,5vw,56px)}.tab{position:relative;border:0;background:none;padding:10px 0 14px;font:700 clamp(1.4rem,2.2vw,1.95rem) Georgia,serif;cursor:pointer}.tab.active{color:var(--green-dark)}.tab:after{content:"";position:absolute;bottom:2px;left:50%;height:2px;width:0;background:var(--green);transform:translateX(-50%);transition:.2s}.tab.active:after{width:clamp(76px,9vw,108px)}.form{display:none}.form.active{display:block}.field{display:flex;align-items:center;gap:12px;border-bottom:2px solid #91aa9c;padding-bottom:9px;margin-bottom:clamp(27px,4vw,38px)}.field:focus-within{border-color:var(--green)}.field svg{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.field input{flex:1;min-width:0;border:0;outline:0;background:none;padding:8px 0 5px;font:400 clamp(1rem,1.5vw,1.2rem) Georgia,serif;color:#17211b}.field input::placeholder{color:#7d857f}.toggle{border:0;background:none;color:var(--green-dark);font:800 .84rem Arial,sans-serif;cursor:pointer}.primary{display:block;min-width:clamp(160px,18vw,220px);margin:10px auto 22px;border:0;border-radius:999px;padding:14px 32px;background:var(--green);color:#fff;font:700 clamp(1rem,1.4vw,1.15rem) Georgia,serif;cursor:pointer;box-shadow:0 10px 24px rgba(20,131,74,.18)}.forgot{display:block;text-align:center;text-decoration:none;font:400 clamp(.98rem,1.3vw,1.1rem) Georgia,serif}.divider{display:flex;align-items:center;gap:14px;margin:28px 0 16px;color:#5e6861;font-family:Georgia,serif}.divider:before,.divider:after{content:"";height:1px;background:#9fafa5;flex:1}.divider:before,.divider:after{background:#9fafa5}.socials{display:flex;justify-content:center;gap:18px}.social{width:48px;height:48px;border:1px solid #cad5ce;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer}.social svg{width:21px;height:21px;fill:none;stroke:var(--green-dark);stroke-width:2;stroke-linecap:round}.social .fill{fill:var(--green-dark);stroke:none}.social .faint{opacity:.75}
@media(max-width:768px){.auth-layout{flex-direction:column}.auth-visual{width:100%;min-height:0;height:clamp(285px,39dvh,360px);padding:0;align-items:initial}.brand{top:24px;left:26px;font-size:1.08rem}.visual-copy,.curve-desktop{display:none}.curve-mobile{display:block;position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(118px,17dvh,150px);z-index:3}.auth-form-side{width:100%;min-height:auto;flex:1;display:block;padding:0 clamp(22px,7vw,34px) calc(30px + env(safe-area-inset-bottom))}.auth-box{max-width:none}.tabs{gap:clamp(14px,7vw,42px);margin-bottom:34px}.tab{font-size:clamp(1.26rem,5.7vw,1.48rem)}.tab.active:after{width:76px}.field{margin-bottom:27px}.field input{font-size:1rem}.primary{min-width:158px}}
@media(max-width:380px){.auth-visual{height:285px}.curve-mobile{height:120px}.auth-form-side{padding-left:20px;padding-right:20px}.tabs{margin-bottom:28px;gap:12px}.field{margin-bottom:23px}}
@media(max-height:700px) and (max-width:768px){.auth-visual{height:225px}.curve-mobile{height:95px}.tabs{margin-bottom:22px}.field{margin-bottom:19px}.divider{margin-top:18px}}

/* Auth redesign */
.auth-title{position:relative;margin:0 0 clamp(38px,5vw,56px);padding:10px 0 14px;text-align:center;color:var(--green-dark);font:700 clamp(1.4rem,2.2vw,1.95rem) Georgia,serif}.auth-title:after{content:"";position:absolute;bottom:2px;left:50%;width:clamp(76px,9vw,108px);height:2px;background:var(--green);transform:translateX(-50%)}
.toggle{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px}.toggle svg{grid-area:1/1;width:23px;height:23px;stroke:var(--green-dark);fill:none;stroke-width:1.8}.toggle .eye-off{display:none}.toggle.is-visible .eye-open{display:none}.toggle.is-visible .eye-off{display:block}
.signup-area{margin-top:34px;text-align:center}.signup-area p{margin-bottom:14px;color:#4f5953;font:400 .98rem Georgia,serif}.google-signup{width:100%;min-height:52px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#3c4043;display:flex;align-items:center;justify-content:center;gap:13px;padding:12px 18px;font:600 .96rem Arial,sans-serif;cursor:pointer;box-shadow:0 1px 2px rgba(60,64,67,.08);transition:.18s}.google-signup:hover{background:#f8fafd;box-shadow:0 1px 3px rgba(60,64,67,.18)}.google-logo{width:21px;height:21px;flex:0 0 21px}.legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 9px;margin-top:34px;padding-top:20px;border-top:1px solid #d9e0dc;font:400 .78rem Arial,sans-serif;color:#7b837e}.legal-links a{color:#657069;text-decoration:none}.legal-links a:hover{text-decoration:underline}
@media(max-width:768px){.auth-visual{height:clamp(315px,43dvh,390px)}.curve-mobile{height:clamp(118px,16dvh,145px)}.auth-title{margin-bottom:30px;font-size:clamp(1.3rem,5.8vw,1.52rem)}.signup-area{margin-top:29px}.legal-links{margin-top:28px;padding-bottom:8px}}
@media(max-width:380px){.auth-visual{height:305px}.google-signup{min-height:50px}.legal-links{font-size:.72rem}}
@media(max-height:700px) and (max-width:768px){.auth-visual{height:250px}.auth-title{margin-bottom:20px}.signup-area{margin-top:22px}.legal-links{margin-top:22px}}


/* Ajustements mobile demandés */
.signup-button{display:block;width:min(100%,300px);min-height:48px;margin:0 auto 12px;border:2px solid var(--green);border-radius:999px;background:#fff;color:var(--green-dark);font:700 1rem Georgia,serif;cursor:pointer}.signup-button:hover{background:#f4fbf7}
@media(max-width:768px){
  .auth-title{margin-bottom:24px}
  .form .field:last-of-type{margin-bottom:12px}
  .primary{margin:0 auto 10px}
  .forgot{transform:translateY(-2px)}
  .signup-area{margin-top:22px}
  .signup-area p{margin-bottom:10px}
  .google-signup{min-height:50px}
  .legal-links{margin-top:22px;padding-top:16px}
}
@media(max-height:760px) and (max-width:768px){
  .auth-visual{height:235px}
  .curve-mobile{height:100px}
  .auth-title{margin-bottom:16px}
  .field{margin-bottom:17px}
  .form .field:last-of-type{margin-bottom:8px}
  .primary{padding:12px 30px;margin-bottom:8px}
  .signup-area{margin-top:16px}
  .signup-button{min-height:44px;margin-bottom:9px}
  .google-signup{min-height:46px}
  .legal-links{margin-top:16px;padding-top:13px}
}

/* Ajustements finaux demandés */
.signup-prompt{display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap}
.signup-prompt .signup-button{display:inline;width:auto;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--green-dark);font:700 inherit;cursor:pointer;text-decoration:none}
.signup-prompt .signup-button:hover{background:transparent;text-decoration:underline}
@media(max-width:768px){
  .form .field:last-of-type{margin-bottom:0}
  .forgot{margin-top:5px;transform:none}
  .primary{margin-top:18px}
  .signup-area{margin-top:22px}
  .signup-area .signup-prompt{margin-bottom:14px}
}

/* Correction ordre mot de passe oublié / connexion */
@media(max-width:768px){
  .forgot{margin-top:6px;margin-bottom:16px;transform:none}
  .primary{margin-top:0;margin-bottom:0}
  .signup-area{margin-top:22px}
}

/* Rapprocher le lien de la ligne du champ mot de passe */
@media(max-width:768px){
  .form .field:last-of-type{margin-bottom:0}
  .forgot{margin-top:-2px;margin-bottom:14px;line-height:1.15}
}

/* Remonter tout le module de connexion sur mobile */
@media(max-width:768px){
  .auth-visual{height:clamp(270px,36dvh,330px)}
  .curve-mobile{height:clamp(105px,14dvh,130px)}
}

/* Derniers ajustements : lien rapproché + bande verte légèrement agrandie,
   sans déplacer le reste du module */
@media(max-width:768px){
  .forgot{transform:translateY(-10px)}
  .curve-mobile{height:clamp(82px,11dvh,102px)}
}

/* Carrousel d'images de la zone visuelle */
.auth-slider{position:absolute;inset:0;z-index:0;overflow:hidden;background:#0b332d}.auth-slides{height:100%;display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}.auth-slide{min-width:100%;height:100%;position:relative}.auth-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,35,28,.28),rgba(0,35,28,.04))}.auth-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.slider-dots{position:absolute;left:50%;bottom:26px;z-index:7;display:flex;gap:7px;transform:translateX(-50%)}.slider-dot{width:8px;height:8px;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:.25s}.slider-dot.active{width:22px;border-radius:99px;background:#fff}.auth-visual>.brand,.auth-visual>.visual-copy{z-index:5}.curve-desktop,.curve-mobile{z-index:6}
@media(max-width:768px){
  .auth-slide:after{background:linear-gradient(180deg,rgba(0,35,28,.20),rgba(0,35,28,.03) 60%,rgba(0,35,28,.10))}
  .auth-slide img{object-position:center center}
  .auth-slide:first-child img{object-position:58% center}
  .slider-dots{bottom:84px}
  .brand{background:rgba(5,57,43,.30);padding:7px 11px;border-radius:999px;backdrop-filter:blur(3px)}
}
@media(max-height:760px) and (max-width:768px){.slider-dots{bottom:70px}}


/* Séparation droite et professionnelle entre le visuel et le formulaire */
.curve-desktop,.curve-mobile{display:none!important}
.auth-visual{border-right:1px solid #dfe7e2}
@media(max-width:768px){
  .auth-visual{border-right:0;border-bottom:1px solid #dfe7e2}
  .slider-dots{bottom:18px}
}
@media(max-height:760px) and (max-width:768px){.slider-dots{bottom:18px}}

/* Ajustements demandés : lien légèrement à gauche + panneau de connexion plus étroit sur ordinateur */
@media(min-width:769px){
  .auth-visual{width:58%}
  .auth-form-side{width:42%;padding-left:clamp(28px,4vw,58px);padding-right:clamp(28px,4vw,58px)}
  .auth-box{max-width:500px}
  .forgot{position:relative;left:-16px}
}
@media(max-width:768px){
  .forgot{position:relative;left:-14px}
}
