/* Hyper Next v0.0.1 — login.css (refatorado)
   - Usa tokens do base.css
   - Mobile-first, alto contraste, foco visível
   - Sem sobrescrever .btn / .btn-primary globais
*/

.auth-wrap{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding: 22px;
}

.auth-card{
  width:100%;
  max-width: 440px;
  position:relative;
  z-index: 2;
}

.auth-card.card{
  border-radius: 28px;
}

.auth-head{
  text-align:center;
  display:flex;
  flex-direction:column;
  gap: 8px;
  margin-bottom: 14px;
}

.auth-head img{
  width: 74px;
  height: 74px;
  margin: 0 auto 2px;
  filter: drop-shadow(0 0 20px rgba(47,215,255,.22));
}

.auth-head h1{
  margin:0;
  font-size: 18px;
  letter-spacing:.5px;
}
.auth-head p{
  margin:0;
  color: var(--tx-2);
  font-size: 13px;
}

/* Tabs */
.auth-tabs{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 14px 0 16px;
}

.tab{
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: var(--tx-0);
  cursor:pointer;
  transition: transform .12s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
  min-height: 44px;
}

.tab:hover{
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.14);
}

.tab.active{
  background: linear-gradient(135deg, rgba(47,215,255,.18), rgba(177,76,255,.18));
  border-color: rgba(47,215,255,.30);
  box-shadow: var(--glow-blue), var(--glow-purple);
}

/* Forms */
.auth-form{
  display:none;
  flex-direction:column;
  gap: 12px;
}

.auth-form.show{ display:flex; }

.auth-form label{
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.auth-form label > span{
  font-size: 12px;
  color: var(--tx-2);
  letter-spacing:.2px;
}

.auth-form input{
  width:100%;
  min-height: 46px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.28);
  color: var(--tx-0);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.auth-form input::placeholder{
  color: rgba(184,196,230,.55);
}

.auth-form input:focus{
  border-color: rgba(47,215,255,.35);
  box-shadow: 0 0 0 4px rgba(47,215,255,.10);
  background: rgba(0,0,0,.22);
}

/* Buttons inside forms */
.auth-form .btn{
  width:100%;
  min-height: 46px;
  border-radius: 18px;
}

.divider{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: 11px;
  color: var(--tx-2);
  margin: 2px 0;
}
.divider:before,.divider:after{
  content:'';
  flex:1;
  height:1px;
  background: rgba(255,255,255,.12);
}

/* Password strength bar (visual only) */
.strength{
  height: 8px;
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
}
#strengthBar{
  height:100%;
  width:0;
  background: linear-gradient(90deg, rgba(47,215,255,.75), rgba(177,76,255,.75));
  transition: width .25s ease;
}
#strengthText{
  font-size: 11px;
  color: var(--tx-2);
  margin-top: -4px;
}

.pw-hint{
  display:block;
  font-size: 11px;
  color: rgba(184,196,230,.70);
  margin-top: -6px;
}

/* Visual por nível */
.strength[data-level="weak"] #strengthBar{
  background: linear-gradient(90deg, rgba(255,92,92,.85), rgba(255,140,140,.75));
}
.strength[data-level="mid"] #strengthBar{
  background: linear-gradient(90deg, rgba(255,197,61,.85), rgba(47,215,255,.70));
}
.strength[data-level="strong"] #strengthBar{
  background: linear-gradient(90deg, rgba(47,215,255,.85), rgba(177,76,255,.85));
}

/* Footer */
.auth-foot{
  margin-top: 14px;
  text-align:center;
  font-size: 12px;
  color: var(--tx-2);
}

@media (min-width: 720px){
  .auth-wrap{ padding: 34px; }
}

/* Hotfix: no horizontal scroll */
body{overflow-x:hidden;}
