/* Hero Auth : présentation uniquement, chargée après les styles Auth existants. */
.login-page{padding:0;background:#fff}
.login-page .login-shell{position:relative;isolation:isolate;display:block;min-height:calc(100dvh - 32px);margin:16px;padding:0;overflow:hidden;border-radius:28px;background:#242621}
.login-page .login-shell::after{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(5,7,5,.58) 0,rgba(5,7,5,.19) 47%,rgba(5,7,5,.08) 100%);pointer-events:none;content:""}
.login-page .login-visual,.login-page .auth-flow-long .login-visual{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;border-radius:0;background:#252725}
.login-page .login-visual img,.login-page .auth-flow-long .login-visual img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center center}
.login-page .login-panel,.signup-page .auth-flow-long .login-panel{position:relative;z-index:2;width:50%;min-height:calc(100dvh - 32px);margin-left:50%;padding:30px clamp(34px,4.5vw,74px);display:grid;place-items:center;background:transparent}
.login-page .login-content{position:static;width:min(100%,520px);padding:clamp(28px,3vw,38px);border:1px solid rgba(255,255,255,.58);border-radius:28px;background:rgba(255,255,255,.72);box-shadow:0 26px 80px rgba(0,0,0,.16);backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}
.login-page .login-hero-copy{position:absolute;z-index:3;left:calc(-100% + clamp(36px,5vw,80px));bottom:clamp(54px,9vh,108px);width:min(42vw,620px);color:#fff;pointer-events:none}
.login-page .login-heading,.forgot-password-page .login-heading{max-width:620px;margin:0;color:#fff;font-size:clamp(54px,5.6vw,86px);font-weight:600;line-height:.93;letter-spacing:-.065em;text-wrap:balance}
.login-page .login-subtitle{display:none}
.login-page .login-logo,.signup-page .auth-flow-long .login-logo,.forgot-password-page .login-logo{width:168px;height:41px;margin:0 0 30px}
.login-page .login-field{color:#171717}
.login-page .login-field input{border-color:rgba(17,17,17,.16);background:rgba(255,255,255,.62)}
.login-page .login-field input:hover,.login-page .login-field input:focus{background:rgba(255,255,255,.88)}
.login-page .login-google{background:rgba(255,255,255,.52)}
.login-page .login-divider::before,.login-page .login-divider::after{background:rgba(17,17,17,.14)}
.signup-page .login-content{padding-top:30px;padding-bottom:30px}
.signup-page .auth-flow-long .login-logo{margin-bottom:26px}
.signup-page .login-hero-copy{bottom:clamp(50px,8vh,96px)}
.forgot-password-page .login-content{transform:none}
.forgot-password-page .login-hero-copy{bottom:clamp(58px,10vh,116px)}
.forgot-password-page .login-logo{margin-bottom:32px}
@media(min-width:901px) and (max-height:760px){.login-page .login-shell{min-height:736px}.login-page .login-visual,.login-page .auth-flow-long .login-visual{height:100%}.login-page .login-panel,.signup-page .auth-flow-long .login-panel{min-height:736px;place-items:center;padding-block:24px}.login-page .login-content{padding:28px 32px}.login-page .login-hero-copy{bottom:76px}.login-page .login-heading,.forgot-password-page .login-heading{font-size:58px}.signup-page .login-logo{margin-bottom:22px}}
@media(max-width:900px){.login-page .login-shell{min-height:calc(100dvh - 20px);margin:10px;border-radius:20px;overflow:hidden}.login-page .login-shell::after{background:linear-gradient(0deg,rgba(5,7,5,.56),rgba(5,7,5,.12) 72%)}.login-page .login-visual,.login-page .auth-flow-long .login-visual{position:absolute;display:block!important;height:100%;min-height:100%;border-radius:0}.login-page .login-visual img,.login-page .auth-flow-long .login-visual img{height:100%;min-height:100%;object-position:center center}.login-page .login-panel,.signup-page .auth-flow-long .login-panel{width:100%;min-height:calc(100dvh - 20px);margin:0;padding:270px 14px 18px;display:grid;place-items:end center}.login-page .login-content{width:min(100%,460px);padding:28px;border-radius:24px;background:rgba(255,255,255,.78)}.login-page .login-hero-copy{position:absolute;left:22px;right:22px;top:105px;bottom:auto;width:auto}.login-page .login-heading,.forgot-password-page .login-heading{font-size:clamp(44px,11vw,60px)}.login-page .login-logo,.signup-page .auth-flow-long .login-logo,.forgot-password-page .login-logo{width:158px;height:39px;margin-bottom:27px}.signup-page .login-panel,.signup-page .auth-flow-long .login-panel{padding-top:250px}.forgot-password-page .login-panel{padding-top:250px}}
@media(max-width:430px){.login-page .login-panel,.signup-page .auth-flow-long .login-panel{padding:230px 10px 10px}.login-page .login-content{padding:24px 20px;border-radius:20px}.login-page .login-hero-copy{top:82px;left:18px;right:18px}.login-page .login-heading,.forgot-password-page .login-heading{font-size:43px}.login-page .login-logo,.signup-page .auth-flow-long .login-logo,.forgot-password-page .login-logo{width:148px;height:36px;margin-bottom:24px}.signup-page .login-panel,.signup-page .auth-flow-long .login-panel{padding-top:205px}.forgot-password-page .login-panel{padding-top:210px}}
@media(max-width:375px){.login-page .login-content{padding-inline:17px}.login-page .login-heading,.forgot-password-page .login-heading{font-size:39px}.login-page .login-hero-copy{top:72px}.login-page .login-panel,.signup-page .auth-flow-long .login-panel{padding-top:205px}}
.login-page .auth-public-nav{position:absolute;z-index:5;top:20px;left:50%;width:min(760px,calc(100% - 56px));min-height:54px;padding:6px 7px 6px 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0b0b0b;box-shadow:0 12px 34px rgba(0,0,0,.2);backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateX(-50%)}
.login-page .auth-public-nav a{text-decoration:none}.login-page .auth-public-nav>a{color:#fff;font-size:18px;font-weight:600;letter-spacing:-.025em;white-space:nowrap}.login-page .auth-public-nav nav{display:flex;align-items:center;gap:18px;font-size:14px;white-space:nowrap}.login-page .auth-public-nav nav a{color:rgba(255,255,255,.9)}.login-page .auth-public-nav nav a:last-child{min-height:40px;padding:0 18px;display:inline-flex;align-items:center;border-radius:999px;background:#fff;color:#111;font-size:13px;font-weight:600}
.login-page .login-content{border-color:rgba(255,255,255,.82);background:#f7f7f5;color:#111;box-shadow:0 22px 64px rgba(0,0,0,.14);backdrop-filter:none;-webkit-backdrop-filter:none}.login-page .login-field{color:#111}.login-page .login-field input{border-color:#e1e1de;background:#eeeeec;color:#111}.login-page .login-field input:hover{border-color:#cdcdc9;background:#f1f1ef}.login-page .login-field input:focus{border-color:#78bce9;background:#fff;box-shadow:0 0 0 4px rgba(120,188,233,.16)}.login-page .login-field-row a{color:#666}.login-page .login-password-toggle{color:#777}.login-page .login-password-toggle:hover{background:#e5e5e2;color:#111}.login-page .login-submit{border-color:#111;background:#111;color:#fff}.login-page .login-submit:hover{background:#292929}.login-page .login-google{border-color:#dededb;background:#fff;color:#111}.login-page .login-google:hover{border-color:#c9c9c5;background:#fafafa}.login-page .login-divider{color:#929292}.login-page .login-divider::before,.login-page .login-divider::after{background:#d9d9d6}.login-page .login-signup,.login-page .auth-flow-note{color:#777}.login-page .login-signup a,.login-page .auth-flow-link a{color:#111}.login-page .login-status{color:#666}
@media(max-width:900px){.login-page .auth-public-nav{top:12px;width:calc(100% - 24px);min-height:50px;padding:5px 6px 5px 14px}.login-page .auth-public-nav>a{font-size:15px}.login-page .login-content{background:#f7f7f5}.login-page .login-hero-copy{top:88px}.login-page .login-panel,.signup-page .auth-flow-long .login-panel{padding-top:250px}}
@media(max-width:430px){.login-page .auth-public-nav nav{gap:10px}.login-page .auth-public-nav nav a{font-size:11px}.login-page .auth-public-nav nav a:last-child{min-height:36px;padding-inline:11px;font-size:10px}.login-page .auth-public-nav>a{font-size:13px}.login-page .login-hero-copy{top:76px}.login-page .login-panel,.signup-page .auth-flow-long .login-panel{padding-top:220px}}
.login-page .login-shell::after{display:none}
.login-page .login-hero-copy,.signup-page .login-hero-copy,.forgot-password-page .login-hero-copy{position:static;inset:auto;width:auto;margin:0 0 28px;color:#111;pointer-events:auto}
.login-page .login-heading,.forgot-password-page .login-heading{max-width:none;color:#111;font-size:clamp(32px,2.8vw,40px);font-weight:600;line-height:1.02;letter-spacing:-.05em;white-space:nowrap}
.login-page .login-subtitle{display:block;max-width:390px;margin:12px 0 0;color:#666;font-size:14px;line-height:1.48}
@media(min-width:901px){.login-page .login-panel,.signup-page .auth-flow-long .login-panel,.forgot-password-page .login-panel{padding-top:118px;padding-bottom:34px}}
@media(max-width:900px){.login-page .login-panel,.signup-page .auth-flow-long .login-panel,.forgot-password-page .login-panel{padding:104px 14px 18px;place-items:center}.login-page .login-hero-copy,.signup-page .login-hero-copy,.forgot-password-page .login-hero-copy{margin-bottom:26px}.login-page .login-heading,.forgot-password-page .login-heading{font-size:34px;white-space:normal}}
@media(max-width:430px){.login-page .login-panel,.signup-page .auth-flow-long .login-panel,.forgot-password-page .login-panel{padding:94px 10px 10px}.login-page .login-heading,.forgot-password-page .login-heading{font-size:32px}}
.forgot-password-page .login-content{width:min(100%,560px);padding-block:30px}
.forgot-password-page .login-hero-copy{margin-bottom:22px}
.forgot-password-page .auth-flow-link{margin-top:12px}
.forgot-password-page .auth-flow-link a{min-height:36px}
@media(max-width:900px){.login-page .login-content{width:min(100%,540px)}.forgot-password-page .login-content{width:min(100%,540px)}}
@media(max-width:430px){.login-page .login-content,.forgot-password-page .login-content{width:100%}.forgot-password-page .login-content{padding-block:24px}.forgot-password-page .login-hero-copy{margin-bottom:20px}}
.signup-page .login-content{width:min(100%,560px);padding:30px 34px}
.signup-page .login-hero-copy{margin-bottom:22px}
.signup-page .login-form{gap:14px}
.signup-page .login-field input{height:48px}
.signup-page .auth-flow-note{margin-top:-6px;margin-bottom:0}
.signup-page .login-divider{margin:13px 0}
.signup-page .login-signup{margin-top:18px}
@media(max-width:720px){.signup-page .login-content{width:min(100%,540px)}.signup-page .signup-credentials-row{grid-template-columns:1fr}}
@media(max-width:430px){.signup-page .login-content{width:100%;padding:24px 20px}.signup-page .login-hero-copy{margin-bottom:20px}}

/* Passe de lisibilité 2026-08-31 : 16 px minimum pour les contenus à lire ou à actionner. */
.login-page .auth-public-nav>a,
.login-page .auth-public-nav nav,
.login-page .auth-public-nav nav a,
.login-page .auth-public-nav nav a:last-child,
.login-page .login-subtitle,
.login-page .login-field,
.login-page .login-field-row a,
.login-page .login-field input,
.login-page .login-submit,
.login-page .login-google,
.login-page .login-divider,
.login-page .login-status,
.login-page .login-signup,
.login-page .auth-flow-link,
.login-page .auth-flow-note{font-size:clamp(1rem,1.05vw,1.125rem)}
.login-page .auth-public-nav>a{font-size:clamp(1.125rem,1.3vw,1.25rem)}
.login-page .auth-public-nav nav{gap:clamp(14px,1.4vw,20px)}
@media(max-width:430px){
  .login-page .auth-public-nav{padding-inline:14px 6px}
  .login-page .auth-public-nav nav{gap:10px}
  .login-page .auth-public-nav>a{font-size:18px}
  .login-page .auth-public-nav nav a,
  .login-page .auth-public-nav nav a:last-child{font-size:16px}
  .login-page .auth-public-nav nav a:last-child{padding-inline:12px}
}
