.auth-page{margin:0!important;padding:0!important}.auth-page #app{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;padding:0!important;gap:0!important;margin:0!important;overflow:hidden!important}.auth-shell{margin:0!important;background:linear-gradient(90deg,rgba(233,232,226,.96) 0%,rgba(233,232,226,.86) 42%,rgba(233,232,226,.28) 100%),url('crafter-travels-login-bg.png') center/cover no-repeat!important}
[data-theme=light] .auth-shell,.auth-shell{width:100vw;min-height:100dvh;height:100dvh;box-sizing:border-box;overflow:hidden;padding:24px 8vw!important;grid-template-columns:minmax(0,500px) minmax(280px,1fr)!important;gap:48px!important;align-content:center;background-size:cover!important;background-position:center!important}
.auth-card{box-sizing:border-box!important;width:100%!important;max-width:500px!important;padding:32px 36px!important}
[data-theme=dark] .auth-shell{background:linear-gradient(90deg,rgba(23,24,20,.97) 0%,rgba(23,24,20,.88) 42%,rgba(23,24,20,.35) 100%),url('crafter-travels-login-bg.png') center/cover no-repeat!important}

/* Signup has a longer form: it must scroll naturally and remain readable in either app theme. */
body.auth-page:has(.auth-card-signup) #app{position:fixed!important;inset:0!important;height:100dvh!important;overflow:auto!important}
body.auth-page:has(.auth-card-signup) .auth-shell{height:auto!important;min-height:100dvh!important;overflow:visible!important;align-content:start!important;padding-top:32px!important;padding-bottom:32px!important;grid-template-columns:minmax(0,620px) minmax(280px,1fr)!important}
body.auth-page:has(.auth-card-signup) .auth-card-signup{max-width:620px!important;background:#fff!important;color:#1c1d19!important;padding:32px 38px!important}
body.auth-page:has(.auth-card-signup) .auth-card-signup .auth-copy p,body.auth-page:has(.auth-card-signup) .auth-card-signup .auth-help{color:#666b60!important}
body.auth-page:has(.auth-card-signup) .auth-card-signup .input{background:#f5f4f0!important;color:#1c1d19!important;border-color:#dedfd8!important}
body.auth-page:has(.auth-card-signup) .auth-card-signup select.input{background-color:#f5f4f0!important}
body.auth-page:has(.auth-card-signup) .auth-card-signup .auth-submit{background:#1c1d19!important;color:#fff!important;border-color:#1c1d19!important}
body.auth-page:has(.auth-card-signup) .auth-form label.auth-consent{display:flex!important;align-items:flex-start!important;gap:9px!important;margin-top:3px!important;font-weight:400!important}body.auth-page:has(.auth-card-signup) .auth-consent input{margin:2px 0 0!important;flex:0 0 auto!important}
@media(max-width:800px){body.auth-page:has(.auth-card-signup) .auth-shell{display:block!important;padding:18px 12px 28px!important;background-position:62% center!important}body.auth-page:has(.auth-card-signup) .auth-card-signup{max-width:440px!important;margin:0 auto!important;padding:26px 22px!important;border-radius:22px!important}body.auth-page:has(.auth-card-signup) .auth-form-grid{grid-template-columns:1fr!important;gap:12px!important}body.auth-page:has(.auth-card-signup) .auth-brand{margin-bottom:30px!important}body.auth-page:has(.auth-card-signup) .auth-copy{margin:0 0 24px!important}body.auth-page:has(.auth-card-signup) .auth-copy h1{font-size:30px!important}body.auth-page:has(.auth-card-signup) .auth-form-grid .input{min-height:52px!important}}
@media(max-width:420px){body.auth-page:has(.auth-card-signup) .auth-shell{padding:10px 8px 24px!important}body.auth-page:has(.auth-card-signup) .auth-card-signup{padding:24px 18px!important;border-radius:18px!important}body.auth-page:has(.auth-card-signup) .auth-copy h1{font-size:27px!important}.auth-consent{font-size:12px!important}}

/* Verifica in due passaggi: campo codice a 6 caselle e layout mobile. */
.auth-otp-field{border:0;margin:0;padding:0;min-width:0}
.auth-otp-field legend{padding:0;margin-bottom:8px;font-size:13px;font-weight:500}
.auth-otp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.auth-otp input{width:100%;min-width:0;height:56px;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text);text-align:center;font:inherit;font-size:22px;font-variant-numeric:tabular-nums;caret-color:var(--accent)}
.auth-otp input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.auth-otp.invalid input{border-color:#bd6258}
.auth-otp-error{display:block;min-height:18px;margin-top:6px;color:#c0675b;font-size:12px}
.auth-link{background:none;border:0;padding:4px 2px;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){
  body.auth-page:not(:has(.auth-card-signup)) .auth-shell{display:flex!important;flex-direction:column;justify-content:center;width:100%!important;height:auto!important;min-height:100dvh!important;overflow:visible!important;padding:16px 12px!important;grid-template-columns:1fr!important;gap:0!important}
  body.auth-page:not(:has(.auth-card-signup)) .auth-card{width:100%!important;max-width:440px!important;margin:0 auto!important;padding:24px 20px!important;border-radius:22px!important}
  .auth-card-2fa .auth-brand{margin-bottom:22px}
  .auth-card-2fa .auth-copy{margin-bottom:20px}
  .auth-card-2fa .auth-copy h1{font-size:28px}
  .auth-otp{gap:6px}
  .auth-otp input{height:52px;font-size:20px}
  .auth-card-2fa .auth-submit{min-height:52px}
  .auth-card-2fa .auth-back{min-height:44px}
  .auth-help{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.auth-otp input{transition:none}}
