/* ============================================================
   GLISSA auth usability enhancements — password visibility + strength
   Does not change Supabase identity, sessions, Google auth or billing.
   ============================================================ */
.authPasswordWrap{position:relative;width:100%;min-width:0}
.authPasswordWrap>input{padding-right:48px!important}
.authPasswordToggle{
  position:absolute!important;
  right:7px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:36px!important;
  height:36px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#b9c2cf!important;
  -webkit-text-fill-color:#b9c2cf!important;
  cursor:pointer!important;
  z-index:3!important;
}
.authPasswordToggle:hover,.authPasswordToggle:focus-visible{background:rgba(255,255,255,.065)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.authPasswordToggle:focus-visible{outline:2px solid #ffb21a!important;outline-offset:1px!important}
.authPasswordToggle svg{width:20px!important;height:20px!important;display:block!important;pointer-events:none!important}
.authPasswordToggle.isShowing{color:#ffb21a!important;-webkit-text-fill-color:#ffb21a!important}

.authPasswordRequirement{margin:-6px 2px 7px;color:#8995a6;font-size:11px;line-height:1.35}
.authPasswordStrength{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:18px;
  margin:-1px 2px 11px;
  color:#8995a6;
  font-size:11px;
  line-height:1.2;
}
.authStrengthBars{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;width:94px;height:4px;flex:0 0 auto}
.authStrengthBars i{display:block;border-radius:999px;background:rgba(255,255,255,.12);transition:background .18s ease,box-shadow .18s ease}
.authPasswordStrength.too-short{color:#ffb6ab}
.authPasswordStrength.weak{color:#ffad8e}
.authPasswordStrength.medium{color:#f5c85b}
.authPasswordStrength.strong{color:#9fd69f}
.authPasswordStrength.very-strong{color:#73d7b0}
.authPasswordStrength[data-level="1"] .authStrengthBars i:nth-child(-n+1){background:#ef6b55}
.authPasswordStrength[data-level="2"] .authStrengthBars i:nth-child(-n+2){background:#e5b33f}
.authPasswordStrength[data-level="3"] .authStrengthBars i:nth-child(-n+3){background:#79bc82}
.authPasswordStrength[data-level="4"] .authStrengthBars i:nth-child(-n+4){background:#56c79a;box-shadow:0 0 7px rgba(86,199,154,.26)}

/* Google button container stays tappable and fully visible at phone widths. */
.googleSignInHost{min-height:44px!important;overflow:visible!important;position:relative;z-index:2}
.googleSignInHost>div{max-width:100%!important}

@media (max-width:768px){
  .authField input{font-size:16px!important;min-height:48px!important}
  .authPasswordToggle{width:40px!important;height:40px!important;right:5px!important}
  .authPasswordWrap>input{padding-right:51px!important}
  .authPasswordRequirement,.authPasswordStrength{font-size:11.5px}
}

@media (max-width:430px){
  .authTabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
  .authTab{font-size:11px!important;padding:10px 4px!important}
}
