/* VelloxPlay Web App 1.24 — tela de acesso refinada */
.setup-view{
  min-height:calc(100vh - 72px)!important;
  min-height:calc(100dvh - 72px)!important;
  padding:34px 18px 40px!important;
  display:grid!important;
  place-items:center!important;
}

.setup-card{
  width:min(980px,100%)!important;
  padding:44px!important;
  border-radius:30px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:
    radial-gradient(circle at top right, rgba(227,6,19,.18), transparent 32%),
    linear-gradient(145deg, #0e1017 0%, #09090d 65%, #08080b 100%)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.42)!important;
  overflow:hidden!important;
}

.setup-card::before{
  content:"";
  position:absolute;
  inset:auto auto -90px -90px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.045), transparent 70%);
  pointer-events:none;
}

.setup-logo.setup-wordmark{
  width:min(420px,72%)!important;
  margin:0 auto 14px!important;
}

.setup-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(227,6,19,.08)!important;
  border:1px solid rgba(227,6,19,.18)!important;
  color:#ff5d67!important;
  letter-spacing:.16em!important;
  margin:0 auto 18px!important;
}

.setup-card h1{
  font-size:clamp(52px,7vw,74px)!important;
  line-height:.95!important;
  margin:0 0 16px!important;
  max-width:760px!important;
}

.setup-card h1 em{
  color:#ff1f2d!important;
}

.setup-card > p{
  max-width:760px!important;
  margin:0 0 18px!important;
  color:#d0d0d8!important;
  font-size:17px!important;
  line-height:1.7!important;
}

.ios-install-tip{
  margin:18px 0 0!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  border:1px solid rgba(227,6,19,.22)!important;
  background:linear-gradient(180deg, rgba(227,6,19,.11), rgba(227,6,19,.04))!important;
  color:#ececf2!important;
  font-size:14px!important;
  line-height:1.55!important;
}

.login-tabs{
  margin-top:24px!important;
  padding:6px!important;
  gap:10px!important;
  border-radius:18px!important;
  background:#0a0b10!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}

.login-tab{
  min-height:50px!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#a8a8b3!important;
  border:1px solid transparent!important;
  font-size:15px!important;
  letter-spacing:.01em!important;
}

.login-tab.active{
  background:linear-gradient(135deg,#ff1e2d,#d90412)!important;
  border-color:#ff2432!important;
  color:#fff!important;
  box-shadow:0 14px 32px rgba(227,6,19,.22)!important;
}

#playlistForm{
  margin-top:16px!important;
  padding:22px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.015))!important;
  backdrop-filter:blur(10px)!important;
}

.credentials-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}

.credential-server{
  grid-column:1 / -1!important;
}

.credential-field label,
.m3u-login-fields label{
  color:#ffffff!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  margin-bottom:9px!important;
}

.credential-field input,
.m3u-login-fields input{
  min-height:56px!important;
  padding:0 16px!important;
  border-radius:15px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  background:#101117!important;
  color:#fff!important;
  font-size:15px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}

.credential-field input::placeholder,
.m3u-login-fields input::placeholder{
  color:#737380!important;
}

.credential-field input:focus,
.m3u-login-fields input:focus{
  border-color:#ff3041!important;
  box-shadow:0 0 0 4px rgba(227,6,19,.12)!important;
}

.password-field input{
  padding-right:60px!important;
}

.password-toggle{
  top:8px!important;
  right:8px!important;
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:#181920!important;
  color:#f2f2f4!important;
}

.password-toggle:hover{
  background:#20222b!important;
}

.login-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  margin-top:18px!important;
}

.login-actions .remember{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:#d7d7de!important;
  font-size:14px!important;
  line-height:1.35!important;
}

.login-actions .remember input{
  width:18px!important;
  height:18px!important;
  accent-color:#ff1e2d!important;
}

.login-actions .primary-btn{
  min-width:180px!important;
  min-height:54px!important;
  padding:0 24px!important;
  border-radius:16px!important;
  font-size:17px!important;
  justify-self:end!important;
}

.provider-hint{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:6px 12px!important;
  align-items:start!important;
  margin-top:16px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:#0d0e13!important;
  color:#c7c7d0!important;
  font-size:14px!important;
}

.provider-hint span{
  grid-column:1!important;
  color:#9e9ea7!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

.provider-hint strong{
  grid-column:2!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1.2!important;
}

.provider-hint small{
  grid-column:1 / -1!important;
  margin:6px 0 0!important;
  color:#b0b0ba!important;
  font-size:13px!important;
  line-height:1.55!important;
}

.setup-card .status-box{
  margin-top:16px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  font-size:14px!important;
  text-align:left!important;
}

.privacy-note{
  margin-top:18px!important;
  padding:17px 18px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:#0b0c11!important;
  color:#c8c8d0!important;
  font-size:13px!important;
  line-height:1.6!important;
}

.privacy-note strong{
  display:block!important;
  margin-bottom:6px!important;
  color:#fff!important;
  font-size:14px!important;
}

@media (max-width: 860px){
  .setup-card{
    padding:32px 22px!important;
  }

  .setup-card h1{
    font-size:clamp(40px,10vw,60px)!important;
    max-width:100%!important;
  }

  .setup-card > p{
    max-width:100%!important;
    font-size:15px!important;
  }
}

@media (max-width: 620px){
  .setup-view{
    padding:14px 10px 20px!important;
    display:block!important;
  }

  .setup-card{
    width:100%!important;
    max-width:100%!important;
    padding:22px 16px 18px!important;
    border-radius:24px!important;
  }

  .setup-logo.setup-wordmark{
    width:min(310px,84%)!important;
    margin-bottom:12px!important;
  }

  .setup-tag{
    margin-bottom:14px!important;
    font-size:10px!important;
    padding:7px 10px!important;
  }

  .setup-card h1{
    font-size:clamp(38px,11vw,48px)!important;
    line-height:1.02!important;
    margin-bottom:12px!important;
  }

  .setup-card > p{
    font-size:14px!important;
    line-height:1.58!important;
    margin-bottom:14px!important;
  }

  .ios-install-tip{
    margin-top:14px!important;
    padding:12px 13px!important;
    font-size:13px!important;
  }

  .login-tabs{
    margin-top:16px!important;
    gap:8px!important;
    padding:4px!important;
    border-radius:16px!important;
  }

  .login-tab{
    min-height:46px!important;
    font-size:14px!important;
  }

  #playlistForm{
    margin-top:14px!important;
    padding:16px!important;
    border-radius:18px!important;
  }

  .credentials-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .credential-server{
    grid-column:auto!important;
  }

  .credential-field label,
  .m3u-login-fields label{
    font-size:12px!important;
    margin-bottom:7px!important;
  }

  .credential-field input,
  .m3u-login-fields input{
    min-height:52px!important;
    font-size:15px!important;
    border-radius:14px!important;
  }

  .login-actions{
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
  }

  .login-actions .primary-btn{
    width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
  }

  .provider-hint{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:14px!important;
    font-size:13px!important;
  }

  .provider-hint span,
  .provider-hint strong,
  .provider-hint small{
    grid-column:auto!important;
  }

  .provider-hint strong{
    font-size:16px!important;
  }

  .provider-hint small{
    margin-top:4px!important;
    font-size:12px!important;
  }

  .privacy-note{
    margin-top:14px!important;
    padding:14px!important;
    font-size:12px!important;
  }
}

/* VelloxPlay Web App 1.25 — correção crítica de visibilidade */
.setup-view.hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
