/* The Launch Era — cleaner-led auth experience v2
   Signup-first for new visitors; returning owners see the compact sign-in card. */

body.shell-auth{
  min-height:100dvh;
  background:#eaf2f7;
}

body.shell-auth .auth-shell{
  position:relative;
  isolation:isolate;
  min-height:100dvh;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:
    max(24px,env(safe-area-inset-top))
    max(16px,env(safe-area-inset-right))
    max(28px,env(safe-area-inset-bottom))
    max(16px,env(safe-area-inset-left));
  background:#dfeaf2;
}

/* Real cleaner photo, intentionally softened so the form remains the focus. */
body.shell-auth .auth-shell::before{
  content:"";
  position:absolute;
  z-index:-3;
  inset:-34px;
  background:
    linear-gradient(180deg,rgba(250,248,243,.08),rgba(248,250,252,.12)),
    url("https://images.pexels.com/photos/9462746/pexels-photo-9462746.jpeg?auto=compress&cs=tinysrgb&w=1800") center 38%/cover no-repeat;
  filter:blur(7px) saturate(.86);
  transform:scale(1.055);
  animation:tleAuthBackdropDrift 18s ease-in-out infinite alternate;
}

body.shell-auth .auth-shell::after{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%,rgba(191,217,245,.40),transparent 34%),
    radial-gradient(circle at 84% 78%,rgba(242,216,91,.24),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(16,39,56,.08));
}

body.shell-auth .auth-card{
  position:relative;
  width:min(600px,calc(100vw - 32px));
  margin:0!important;
  padding:40px 42px 34px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:34px!important;
  background:rgba(247,249,250,.70)!important;
  box-shadow:
    0 30px 80px rgba(22,42,56,.20),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
  backdrop-filter:blur(24px) saturate(1.08);
  -webkit-backdrop-filter:blur(24px) saturate(1.08);
  transition:
    width .26s ease,
    transform .24s ease,
    box-shadow .24s ease,
    background .24s ease;
}

body.shell-auth .auth-card:has(input:focus){
  transform:translateY(-2px);
  box-shadow:
    0 34px 88px rgba(22,42,56,.23),
    0 0 0 1px rgba(115,191,244,.18),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}

body.shell-auth .auth-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 5%,rgba(255,255,255,.62),transparent 29%),
    radial-gradient(circle at 90% 86%,rgba(191,217,245,.17),transparent 34%);
}

body.shell-auth .auth-language-toggle{
  position:absolute;
  top:18px;
  right:18px;
  z-index:4;
  min-width:54px;
  height:44px;
  padding:0 14px;
  border:1px solid rgba(25,25,25,.16);
  border-radius:999px;
  background:rgba(255,255,255,.70);
  color:#191919;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

body.shell-auth .auth-brand{
  position:relative;
  z-index:1;
  display:block!important;
  margin:2px 58px 34px!important;
  text-align:center;
}

body.shell-auth .auth-brand .brand-mark,
body.shell-auth .auth-brand .brand-sub{
  display:none!important;
}

body.shell-auth .auth-brand .brand-name{
  color:#152638;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,5vw,40px);
  font-weight:700;
  line-height:1;
  letter-spacing:-.035em;
}

body.shell-auth #authWelcome{
  display:none!important;
}

body.shell-auth #authPanel{
  position:relative;
  z-index:1;
}

body.shell-auth #authPanel .eyebrow{
  display:none!important;
}

body.shell-auth #authBackWelcome{
  display:none!important;
}

body.shell-auth #authTitle{
  max-width:520px;
  margin:0 auto 12px!important;
  color:#102234;
  font-size:clamp(42px,6.8vw,60px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  text-align:center;
  text-wrap:balance;
}

body.shell-auth #authCopy{
  max-width:500px;
  margin:0 auto 28px!important;
  color:#4f6170!important;
  font-size:16px!important;
  line-height:1.5!important;
  text-align:center;
}

body.shell-auth .auth-form{
  gap:13px!important;
}

body.shell-auth .auth-form label:not(.remember-username-row){
  position:relative;
  gap:0!important;
  color:#445667!important;
  font-size:0!important;
  font-weight:800;
}

body.shell-auth .auth-form label:not(.remember-username-row) > input,
body.shell-auth .password-input-wrap{
  width:100%;
}

body.shell-auth .auth-form input{
  min-height:64px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.62)!important;
  padding:0 20px!important;
  color:#172839!important;
  font-size:16px!important;
  font-weight:650;
  box-shadow:
    inset 0 0 0 1px rgba(82,103,118,.08),
    0 5px 18px rgba(38,62,80,.045);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}

body.shell-auth .auth-form input::placeholder{
  color:#82909d;
  opacity:1;
}

body.shell-auth .auth-form input:focus{
  border-color:#76BFF0!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:
    0 0 0 4px rgba(104,184,239,.16)!important,
    0 12px 28px rgba(52,135,196,.08)!important;
  transform:translateY(-1px);
}

body.shell-auth .password-input-wrap{
  position:relative;
}

body.shell-auth .password-input-wrap input{
  padding-right:62px!important;
}

body.shell-auth .password-toggle{
  right:11px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
  border:0!important;
  background:transparent!important;
}

body.shell-auth .remember-username-row{
  margin:4px 0 0!important;
  color:#34495b!important;
  font-size:12px!important;
}

body.shell-auth .remember-username-row input{
  min-height:18px!important;
  background:#fff!important;
  accent-color:#59AEEF!important;
}

body.shell-auth #authSubmit{
  min-height:66px!important;
  margin-top:8px!important;
  border:0!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#74C8FF 0%,#4AAAF5 58%,#62B9F4 100%)!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  box-shadow:0 16px 34px rgba(56,154,224,.28)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

body.shell-auth #authSubmit:hover{
  filter:saturate(1.05) brightness(1.025);
  box-shadow:0 19px 38px rgba(56,154,224,.34)!important;
}

body.shell-auth #authSubmit:active{
  transform:translateY(1px) scale(.99);
}

body.shell-auth .signup-legal-note{
  margin:2px auto 0!important;
  max-width:470px;
  color:#637381!important;
  font-size:10px!important;
  line-height:1.5!important;
  text-align:center;
}

body.shell-auth .auth-status{
  position:relative;
  z-index:1;
  margin-top:12px;
  border-radius:14px;
}

body.shell-auth .auth-links{
  position:relative;
  z-index:1;
  justify-content:center!important;
  align-items:center;
  gap:14px!important;
  margin-top:16px!important;
  text-align:center;
}

body.shell-auth .auth-links button{
  color:#176DB7!important;
  font-size:13px!important;
  font-weight:850!important;
  text-underline-offset:3px;
}

body.shell-auth #authSwitch{
  text-decoration:underline;
}

body.shell-auth #forgotPassword{
  color:#176DB7!important;
}

body.shell-auth .auth-plan-note{
  position:relative;
  z-index:1;
  margin:16px 0 0;
  color:#5b6e7d;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

body.shell-auth .auth-feature-strip{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:22px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(29,49,66,.10);
}

body.shell-auth .auth-feature-strip span{
  min-width:0;
  padding:10px 5px;
  border-radius:14px;
  background:rgba(226,241,251,.58);
  color:#28485f;
  font-size:10px;
  font-weight:850;
  line-height:1.25;
  text-align:center;
}

body.shell-auth .auth-legal-links{
  position:relative;
  z-index:1;
  margin-top:24px!important;
  color:#61717e;
}

body.shell-auth .auth-legal-links a{
  color:#61717e!important;
}

body.shell-auth .auth-shell.auth-mode-signup .auth-card{
  width:min(630px,calc(100vw - 32px));
  padding-top:44px!important;
}

body.shell-auth .auth-shell.auth-mode-signin .auth-card{
  width:min(590px,calc(100vw - 32px));
}

body.shell-auth .auth-shell.auth-mode-signin .auth-feature-strip{
  display:none!important;
}

body.shell-auth .auth-shell.auth-mode-signin .auth-plan-note{
  display:none!important;
}

body.shell-auth .auth-shell.auth-mode-signin #authTitle{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(44px,7vw,62px)!important;
  font-weight:700!important;
}

body.shell-auth .auth-shell.auth-mode-signin #authCopy{
  margin-bottom:30px!important;
}

body.shell-auth .auth-shell.auth-mode-signup #authTitle{
  max-width:550px;
}

body.shell-auth #businessSetup{
  position:relative;
  z-index:1;
}

/* Add a little life without making the auth page feel gimmicky. */
@keyframes tleAuthBackdropDrift{
  0%{transform:scale(1.055) translate3d(-.5%,0,0)}
  100%{transform:scale(1.085) translate3d(.65%,-.45%,0)}
}

@media(max-width:620px){
  body.shell-auth .auth-shell{
    place-items:center;
    padding:
      max(16px,env(safe-area-inset-top))
      max(12px,env(safe-area-inset-right))
      max(22px,env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left));
  }
  body.shell-auth .auth-shell::before{
    inset:-22px;
    background-position:58% center;
    filter:blur(7px) saturate(.82);
  }
  body.shell-auth .auth-card,
  body.shell-auth .auth-shell.auth-mode-signup .auth-card,
  body.shell-auth .auth-shell.auth-mode-signin .auth-card{
    width:min(100%,520px)!important;
    padding:28px 18px 24px!important;
    border-radius:29px!important;
  }
  body.shell-auth .auth-language-toggle{
    top:14px;
    right:14px;
    height:40px;
    min-width:50px;
  }
  body.shell-auth .auth-brand{
    margin:3px 54px 26px!important;
  }
  body.shell-auth .auth-brand .brand-name{
    font-size:31px;
  }
  body.shell-auth #authTitle{
    font-size:clamp(37px,10vw,47px)!important;
    line-height:.99!important;
  }
  body.shell-auth .auth-shell.auth-mode-signin #authTitle{
    font-size:clamp(40px,11vw,50px)!important;
  }
  body.shell-auth #authCopy{
    max-width:340px;
    margin-bottom:22px!important;
    font-size:14px!important;
  }
  body.shell-auth .auth-form input{
    min-height:60px!important;
    border-radius:19px!important;
    font-size:16px!important;
  }
  body.shell-auth #authSubmit{
    min-height:62px!important;
    border-radius:19px!important;
    font-size:18px!important;
  }
  body.shell-auth .auth-links{
    flex-wrap:wrap;
    gap:10px 14px!important;
  }
  body.shell-auth .auth-feature-strip{
    gap:6px;
    margin-top:18px;
    padding-top:15px;
  }
  body.shell-auth .auth-feature-strip span{
    padding:9px 3px;
    font-size:9px;
  }
  body.shell-auth .auth-legal-links{
    margin-top:18px!important;
  }
}

@media(max-width:390px){
  body.shell-auth .auth-card,
  body.shell-auth .auth-shell.auth-mode-signup .auth-card,
  body.shell-auth .auth-shell.auth-mode-signin .auth-card{
    padding-left:15px!important;
    padding-right:15px!important;
  }
  body.shell-auth .auth-brand .brand-name{font-size:28px}
  body.shell-auth #authTitle{font-size:36px!important}
  body.shell-auth .auth-shell.auth-mode-signin #authTitle{font-size:40px!important}
  body.shell-auth .auth-feature-strip span{font-size:8.5px}
}

@media(prefers-reduced-motion:reduce){
  body.shell-auth .auth-shell::before{animation:none!important}
  body.shell-auth .auth-card,
  body.shell-auth #authSubmit,
  body.shell-auth .auth-form input{transition:none!important}
}


/* Compact glass auth card v3 */
/* Keep the cleaner clearly visible and remove the oversized/glitchy controls. */
body.shell-auth .auth-shell::before{
  inset:-18px!important;
  background-position:64% center!important;
  filter:blur(5px) saturate(.92)!important;
  transform:scale(1.025)!important;
  animation:none!important;
}
body.shell-auth .auth-shell::after{
  background:
    linear-gradient(180deg,rgba(233,243,250,.14),rgba(16,39,56,.035))!important;
}
body.shell-auth .auth-card,
body.shell-auth .auth-shell.auth-mode-signup .auth-card,
body.shell-auth .auth-shell.auth-mode-signin .auth-card{
  width:min(500px,86vw)!important;
  padding:26px 26px 24px!important;
  border-radius:30px!important;
  background:rgba(245,248,250,.56)!important;
  backdrop-filter:blur(17px) saturate(1.04)!important;
  -webkit-backdrop-filter:blur(17px) saturate(1.04)!important;
  box-shadow:
    0 22px 60px rgba(21,42,58,.18),
    inset 0 1px 0 rgba(255,255,255,.86)!important;
}
body.shell-auth .auth-card:has(input:focus){
  transform:none!important;
}
body.shell-auth .auth-brand{
  margin:2px 58px 24px!important;
}
body.shell-auth .auth-brand .brand-name{
  font-size:30px!important;
}
body.shell-auth #authTitle{
  max-width:430px!important;
  margin:0 auto 8px!important;
  font-size:39px!important;
  line-height:1!important;
}
body.shell-auth .auth-shell.auth-mode-signin #authTitle{
  font-family:inherit!important;
  font-size:34px!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
}
body.shell-auth #authCopy{
  max-width:390px!important;
  margin:0 auto 22px!important;
  font-size:14px!important;
  line-height:1.42!important;
}
body.shell-auth .auth-form{
  gap:11px!important;
}
body.shell-auth .auth-form input:not([type="checkbox"]){
  min-height:56px!important;
  border-radius:19px!important;
  padding:0 18px!important;
  font-size:16px!important;
}
body.shell-auth .password-input-wrap input{
  padding-right:56px!important;
}
body.shell-auth .password-toggle{
  width:40px!important;
  height:40px!important;
  right:9px!important;
}
body.shell-auth .remember-username-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:3px 0 2px 3px!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.2!important;
}
body.shell-auth .remember-username-row[hidden]{
  display:none!important;
}
body.shell-auth .remember-username-row input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  flex:0 0 20px!important;
  margin:0!important;
  padding:0!important;
  border-radius:5px!important;
  box-shadow:none!important;
  accent-color:#54B7F4!important;
  transform:none!important;
}
body.shell-auth #authSubmit{
  min-height:58px!important;
  margin-top:7px!important;
  border-radius:19px!important;
  font-size:18px!important;
  box-shadow:0 12px 28px rgba(56,154,224,.24)!important;
}
body.shell-auth .auth-links{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin-top:14px!important;
}
body.shell-auth .auth-links button{
  font-size:12px!important;
}
body.shell-auth .auth-shell.auth-mode-signin .auth-links{
  margin-top:16px!important;
}
body.shell-auth .auth-shell.auth-mode-signin .auth-plan-note,
body.shell-auth .auth-shell.auth-mode-signin .auth-feature-strip,
body.shell-auth .auth-shell.auth-mode-signin .auth-legal-links{
  display:none!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-feature-strip{
  margin-top:14px!important;
  padding-top:13px!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-plan-note{
  margin-top:12px!important;
  font-size:11px!important;
}
body.shell-auth .signup-legal-note{
  font-size:9.5px!important;
}
body.shell-auth .auth-language-toggle{
  top:15px!important;
  right:15px!important;
  min-width:50px!important;
  height:39px!important;
}
body.shell-auth .auth-status:empty{
  display:none!important;
}

@media(max-width:620px){
  body.shell-auth .auth-shell{
    padding:
      max(18px,env(safe-area-inset-top))
      max(10px,env(safe-area-inset-right))
      max(20px,env(safe-area-inset-bottom))
      max(10px,env(safe-area-inset-left))!important;
  }
  body.shell-auth .auth-shell::before{
    background-position:67% center!important;
  }
  body.shell-auth .auth-card{
    width:min(340px,88vw)!important;
  }
  body.shell-auth .auth-shell.auth-mode-signup .auth-card{
    width:min(350px,90vw)!important;
  }
  body.shell-auth .auth-shell.auth-mode-signin .auth-card{
    width:min(330px,84vw)!important;
    padding:23px 18px 21px!important;
    border-radius:27px!important;
  }
  body.shell-auth .auth-brand{
    margin:2px 48px 21px!important;
  }
  body.shell-auth .auth-brand .brand-name{
    font-size:27px!important;
  }
  body.shell-auth #authTitle{
    font-size:34px!important;
  }
  body.shell-auth .auth-shell.auth-mode-signin #authTitle{
    font-size:31px!important;
  }
  body.shell-auth #authCopy{
    max-width:290px!important;
    margin-bottom:18px!important;
    font-size:13px!important;
  }
  body.shell-auth .auth-form input:not([type="checkbox"]){
    min-height:54px!important;
    border-radius:18px!important;
  }
  body.shell-auth #authSubmit{
    min-height:56px!important;
    border-radius:18px!important;
  }
  body.shell-auth .auth-language-toggle{
    top:12px!important;
    right:12px!important;
    height:37px!important;
  }
  body.shell-auth .auth-shell.auth-mode-signup .auth-feature-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:390px){
  body.shell-auth .auth-card{width:min(332px,88vw)!important}
  body.shell-auth .auth-shell.auth-mode-signup .auth-card{width:min(342px,91vw)!important}
  body.shell-auth .auth-shell.auth-mode-signin .auth-card{width:min(320px,85vw)!important}
  body.shell-auth .auth-card,
  body.shell-auth .auth-shell.auth-mode-signup .auth-card,
  body.shell-auth .auth-shell.auth-mode-signin .auth-card{
    padding-left:17px!important;
    padding-right:17px!important;
  }
  body.shell-auth .auth-brand .brand-name{font-size:25px!important}
  body.shell-auth #authTitle{font-size:32px!important}
  body.shell-auth .auth-shell.auth-mode-signin #authTitle{font-size:30px!important}
}


/* Auth card size correction r11
   Mode classes are on #authShell. These final values intentionally leave
   visible cleaner/background around the card on phone. */
body.shell-auth .auth-shell.auth-mode-signup .auth-card{
  width:min(304px,78vw)!important;
  padding:20px 16px 18px!important;
}
body.shell-auth .auth-shell.auth-mode-signin .auth-card{
  width:min(286px,73vw)!important;
  padding:20px 16px 18px!important;
}
body.shell-auth .auth-shell.auth-mode-signin .auth-plan-note,
body.shell-auth .auth-shell.auth-mode-signin .auth-feature-strip,
body.shell-auth .auth-shell.auth-mode-signin .auth-legal-links{
  display:none!important;
}
body.shell-auth .auth-shell.auth-mode-signin .auth-brand{
  margin-bottom:18px!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-brand{
  margin-bottom:18px!important;
}
body.shell-auth .auth-shell.auth-mode-signup #authTitle{
  max-width:268px!important;
  font-size:29px!important;
  line-height:1.02!important;
}
body.shell-auth .auth-shell.auth-mode-signin #authTitle{
  font-size:28px!important;
  line-height:1!important;
}
body.shell-auth .auth-shell.auth-mode-signup #authCopy,
body.shell-auth .auth-shell.auth-mode-signin #authCopy{
  max-width:260px!important;
  margin-bottom:15px!important;
  font-size:12px!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-form input:not([type="checkbox"]),
body.shell-auth .auth-shell.auth-mode-signin .auth-form input:not([type="checkbox"]){
  min-height:49px!important;
  border-radius:16px!important;
  font-size:16px!important;
}
body.shell-auth .auth-shell.auth-mode-signup #authSubmit,
body.shell-auth .auth-shell.auth-mode-signin #authSubmit{
  min-height:51px!important;
  border-radius:16px!important;
  font-size:16px!important;
}
body.shell-auth .auth-shell.auth-mode-signin .auth-links{
  margin-top:12px!important;
  gap:8px!important;
}
body.shell-auth .auth-shell.auth-mode-signin .remember-username-row{
  margin:1px 0 0 2px!important;
  font-size:12px!important;
}
body.shell-auth .auth-shell.auth-mode-signin .remember-username-row input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  flex-basis:18px!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-feature-strip{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  margin-top:11px!important;
  padding-top:10px!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-feature-strip span{
  padding:7px 3px!important;
  font-size:8.5px!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-plan-note{
  margin-top:10px!important;
  font-size:10px!important;
}
body.shell-auth .auth-shell.auth-mode-signup .signup-legal-note{
  font-size:8.5px!important;
  line-height:1.35!important;
}
body.shell-auth .auth-shell.auth-mode-signup .auth-legal-links{
  display:none!important;
}
@media(max-width:390px){
  body.shell-auth .auth-shell.auth-mode-signup .auth-card{width:min(296px,80vw)!important}
  body.shell-auth .auth-shell.auth-mode-signin .auth-card{width:min(278px,74vw)!important}
}


/* iPhone Safari root-cause guard r26
   iOS auto-zooms focused text fields below 16px. The compact auth redesign
   introduced 14–15px inputs, so Password AutoFill/Face ID could zoom the
   visual viewport and leave the authenticated dashboard horizontally shifted.
   Credential inputs must never drop below 16px on touch/mobile devices. */
@media(max-width:860px){
  body.shell-auth .auth-form input:not([type="checkbox"]),
  body.shell-auth .password-input-wrap input{
    font-size:16px!important;
    -webkit-text-size-adjust:100%;
  }
}
