/* Email login: one spacious card, centered within the available viewport. */
body:is(.auth-signup,.auth-signup_details) .app-shell{width:100%;max-width:none;height:auto;min-height:100svh;overflow:visible}
body:is(.auth-signup,.auth-signup_details) .main-content{height:auto;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:40px 24px}
body:is(.auth-signup,.auth-signup_details) .auth-screen{width:min(800px,100%);min-height:0;height:auto;margin:auto;padding:32px 40px!important;display:flex;flex-direction:column;align-items:center;gap:0;background:rgba(255,255,255,.97);border:1px solid rgba(34,96,55,.14);border-radius:24px;box-shadow:0 24px 70px rgba(5,55,30,.16)}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.auth-heading,body:is(.auth-signup,.auth-signup_details) .auth-screen>.auth-form,body:is(.auth-signup,.auth-signup_details) .auth-screen>.login-copy,body:is(.auth-signup,.auth-signup_details) .auth-screen>.google-auth,body:is(.auth-signup,.auth-signup_details) .auth-screen>.auth-divider{width:100%!important;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent}
body:is(.auth-signup,.auth-signup_details) .auth-heading{text-align:center;padding-bottom:20px!important}
body:is(.auth-signup,.auth-signup_details) .auth-heading .form-logo{width:260px;max-width:100%;height:auto;margin:0 auto 12px;object-fit:contain}
body:is(.auth-signup,.auth-signup_details) .auth-heading h1{font-size:32px;line-height:1.2;margin:0 0 10px}
body:is(.auth-signup,.auth-signup_details) .auth-heading p{font-size:17px;line-height:1.5;margin:0}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.google-auth{width:min(380px,100%);margin:26px auto 20px;min-height:44px}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.auth-divider{margin:0 0 20px;font-size:13px}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.auth-form{display:flex;flex-direction:column;gap:16px}
body:is(.auth-signup,.auth-signup_details) .auth-form .input-row{height:64px;min-height:64px;border-radius:14px}
body:is(.auth-signup,.auth-signup_details) .auth-form input{font-size:18px}
body:is(.auth-signup,.auth-signup_details) .auth-form .btn{height:58px;min-height:58px;font-size:19px;border-radius:14px;margin-top:6px}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.login-copy{padding-top:24px;font-size:16px;text-align:center}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.form-alert{width:100%;margin:18px 0}
body:is(.auth-signup,.auth-signup_details) .google-render-target iframe{max-width:none!important}
@media(max-width:600px){
  body:is(.auth-signup,.auth-signup_details) .main-content{padding:24px 16px}
  body:is(.auth-signup,.auth-signup_details) .auth-screen{padding:28px 20px!important;border-radius:20px}
  body:is(.auth-signup,.auth-signup_details) .auth-heading .form-logo{width:220px}
  body:is(.auth-signup,.auth-signup_details) .auth-heading h1{font-size:28px}
  body:is(.auth-signup,.auth-signup_details) .auth-heading p{font-size:16px}
}
/* Keep the long profile form in normal document flow and unify field surfaces. */
body:is(.auth-signup,.auth-signup_details) .main-content{overflow:visible}
body:is(.auth-signup,.auth-signup_details) .auth-screen{background:rgba(255,255,255,.97)!important;backdrop-filter:blur(10px)}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.auth-form{box-shadow:none}
body:is(.auth-signup,.auth-signup_details) .input-row{background:#fbfdf8;box-shadow:none;border:1px solid #cbdaca;overflow:hidden;display:flex;align-items:center}
body:is(.auth-signup,.auth-signup_details) .input-row input{min-width:0;flex:1;height:100%;background:transparent;border:0;box-shadow:none}
body:is(.auth-signup,.auth-signup_details) .input-row:focus-within{border-color:#168451;box-shadow:0 0 0 3px rgba(22,132,81,.12)}
body:is(.auth-signup,.auth-signup_details) .input-row .input-icon{flex-shrink:0}
body:is(.auth-signup,.auth-signup_details) .eye-button{width:44px;min-height:44px;flex-shrink:0;background:transparent}
body:is(.auth-signup,.auth-signup_details) .signup-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-top:6px}
body:is(.auth-signup,.auth-signup_details) .setup-input{min-width:0;gap:8px}
body:is(.auth-signup,.auth-signup_details) .setup-input>span,body:is(.auth-signup,.auth-signup_details) .signup-photo-copy>span{font-size:14px}
body:is(.auth-signup,.auth-signup_details) .setup-input input,body:is(.auth-signup,.auth-signup_details) .setup-input select,body:is(.auth-signup,.auth-signup_details) .setup-input textarea{width:100%;min-width:0;font-size:16px;line-height:1.5;background:#fbfdf8;border-radius:12px;padding:12px}
body:is(.auth-signup,.auth-signup_details) .setup-input input,body:is(.auth-signup,.auth-signup_details) .setup-input select{height:50px;margin:0}
body:is(.auth-signup,.auth-signup_details) .setup-input textarea{min-height:110px;resize:vertical}
body:is(.auth-signup,.auth-signup_details) .location-setup-field{margin-top:4px}
body:is(.auth-signup,.auth-signup_details) .location-setup-field>span{font-size:15px}
body:is(.auth-signup,.auth-signup_details) .location-input-wrap input{padding-right:52px;height:60px;font-size:17px;border-radius:14px}
body:is(.auth-signup,.auth-signup_details) .location-detect-button{top:50%;transform:translateY(-50%);width:38px;height:38px}
body:is(.auth-signup,.auth-signup_details) .location-help{font-size:12px;line-height:1.5}
body:is(.auth-signup,.auth-signup_details) .location-suggestions{top:92px}
body:is(.auth-signup,.auth-signup_details) .password-rules{font-size:12px;line-height:1.5;gap:12px;flex-wrap:wrap;margin:0}
body:is(.auth-signup,.auth-signup_details) .signup-photo{padding:16px!important;gap:16px;border-radius:14px}
body:is(.auth-signup,.auth-signup_details) .signup-photo-copy strong{font-size:15px}
body:is(.auth-signup,.auth-signup_details) .signup-photo-copy small{font-size:12px;line-height:1.5}
body:is(.auth-signup,.auth-signup_details) .signup-photo input[type=file]{font-size:13px;min-width:0}
@media(max-width:600px){
  body:is(.auth-signup,.auth-signup_details) .main-content{padding:64px 12px 24px}
  body:is(.auth-signup,.auth-signup_details) .signup-profile-grid{grid-template-columns:minmax(0,1fr)}
  body:is(.auth-signup,.auth-signup_details) .signup-photo{grid-template-columns:minmax(0,1fr)}
  body:is(.auth-signup,.auth-signup_details) .auth-form .btn{font-size:16px;height:auto;padding:16px 12px}
}
/* Override the legacy desktop signup canvas and its decorative overflow. */
body:is(.auth-signup,.auth-signup_details){height:auto!important;min-height:100svh;overflow:auto!important;padding:0!important}
body:is(.auth-signup,.auth-signup_details) .app-shell{width:100%!important;height:auto!important;max-height:none!important;min-height:100svh;overflow:visible!important;margin:0!important}
body:is(.auth-signup,.auth-signup_details) .main-content{height:auto!important;max-height:none!important;min-height:100svh;overflow:visible!important;display:flex!important}
body:is(.auth-signup,.auth-signup_details) section.auth-screen{width:min(800px,100%)!important;max-width:800px!important;min-height:0!important;height:auto!important;overflow:visible!important;flex:none}
body:is(.auth-signup,.auth-signup_details) .auth-screen::before,body:is(.auth-signup,.auth-signup_details) .auth-screen::after{display:none!important}
body:is(.auth-signup,.auth-signup_details) .input-row{background:#fbfdf8!important;box-shadow:none!important}
body:is(.auth-signup,.auth-signup_details) .input-row input{background:transparent!important;box-shadow:none!important}
body:is(.auth-signup,.auth-signup_details){display:block!important}
body:is(.auth-signup,.auth-signup_details) .app-shell{display:block!important;flex:none!important}

/* Fit the complete signup card to the viewport, including its footer. */
body:is(.auth-signup,.auth-signup_details) {
  height:100dvh!important; min-height:0; overflow:hidden!important;
}
body:is(.auth-signup,.auth-signup_details) .app-shell {
  height:100dvh!important; min-height:0; overflow:hidden!important;
}
body:is(.auth-signup,.auth-signup_details) .main-content {
  position:relative; height:var(--signup-viewport-height,100dvh)!important;
  min-height:0; padding:12px!important; overflow:hidden!important;
}
body:is(.auth-signup,.auth-signup_details) section.auth-screen {
  position:absolute; left:50%; top:50%; margin:0;
  width:min(720px,calc(100% - 24px))!important;
  padding:18px 28px!important;
  transform:translate(-50%,-50%) scale(var(--signup-scale,1));
  transform-origin:center;
}
body:is(.auth-signup,.auth-signup_details) .auth-heading {padding-bottom:12px!important}
body:is(.auth-signup,.auth-signup_details) .auth-heading .form-logo {width:180px;height:76px;margin:0 auto 6px}
body:is(.auth-signup,.auth-signup_details) .auth-heading h1 {font-size:26px;margin:0}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.auth-form {gap:10px}
body:is(.auth-signup,.auth-signup_details) .auth-form .input-row {height:46px;min-height:46px}
body:is(.auth-signup,.auth-signup_details) .auth-form input {font-size:16px}
body:is(.auth-signup,.auth-signup_details) .signup-profile-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}
body:is(.auth-signup,.auth-signup_details) .setup-input {gap:4px}
body:is(.auth-signup,.auth-signup_details) .setup-input.full,
body:is(.auth-signup,.auth-signup_details) .signup-photo.full {grid-column:1/-1}
body:is(.auth-signup,.auth-signup_details) .setup-input input,
body:is(.auth-signup,.auth-signup_details) .setup-input select {height:44px;padding:8px 10px}
body:is(.auth-signup,.auth-signup_details) .location-input-wrap input {padding-right:52px}
body:is(.auth-signup,.auth-signup_details) .location-suggestions {top:100%;max-height:140px;overflow-y:auto}
body:is(.auth-signup,.auth-signup_details) .signup-photo {grid-template-columns:52px minmax(0,1fr);padding:10px!important;gap:10px}
body:is(.auth-signup,.auth-signup_details) .signup-photo-preview {width:48px;height:48px}
body:is(.auth-signup,.auth-signup_details) .signup-photo-copy {gap:3px}
body:is(.auth-signup,.auth-signup_details) .auth-form .btn {height:46px;min-height:46px;padding:10px;font-size:16px;margin:0}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.login-copy {padding-top:12px;font-size:14px}
body:is(.auth-signup,.auth-signup_details) .auth-screen>.form-alert {margin:8px 0}
@media(max-width:600px) {
  body:is(.auth-signup,.auth-signup_details) section.auth-screen {padding:14px 16px!important}
  body:is(.auth-signup,.auth-signup_details) .auth-heading .form-logo {width:150px;height:60px}
  body:is(.auth-signup,.auth-signup_details) .auth-heading h1 {font-size:23px}
  body:is(.auth-signup,.auth-signup_details) .signup-profile-grid {gap:8px}
}
