/* Nuvya V46 - correção definitiva do visual de autenticação */
html, body { width:100% !important; min-height:100% !important; margin:0 !important; overflow-x:hidden !important; }
body.premium-auth-page{
  min-height:100svh !important;
  background:
    radial-gradient(circle at 5% 42%, rgba(236, 0, 140, .40), transparent 29%),
    radial-gradient(circle at 98% 48%, rgba(0, 102, 255, .46), transparent 34%),
    radial-gradient(circle at 50% -4%, rgba(141, 85, 255, .24), transparent 31%),
    linear-gradient(180deg, #020205 0%, #050713 45%, #010205 100%) !important;
  color:#fff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  display:block !important;
}
body.premium-auth-page::before{
  content:"" !important;
  position:fixed !important;
  inset:-18% !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(ellipse at 50% 48%, transparent 0 34%, rgba(255,255,255,.035) 35%, transparent 36% 100%),
    repeating-radial-gradient(ellipse at center, rgba(255,255,255,.045) 0 1px, transparent 2px 32px) !important;
  opacity:.24 !important;
  transform:translateZ(0) !important;
  animation:nuvyaAuthMove 12s ease-in-out infinite alternate !important;
}
body.premium-auth-page::after{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:radial-gradient(circle at 50% 40%, transparent 0 26%, rgba(0,0,0,.56) 82%) !important;
}
@keyframes nuvyaAuthMove{
  from{ transform:translate3d(-1.2%, -.8%, 0) scale(1); }
  to{ transform:translate3d(1.2%, .8%, 0) scale(1.035); }
}
.auth-shell{
  position:relative !important;
  z-index:1 !important;
  width:min(100%, 1040px) !important;
  min-height:100svh !important;
  margin:0 auto !important;
  padding:42px 22px 64px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:28px !important;
}
.auth-shell.auth-shell-tall{ padding-top:34px !important; gap:22px !important; }
.auth-logo{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  text-align:center !important;
  text-decoration:none !important;
  color:#fff !important;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.42)) !important;
}
.auth-logo img{
  display:block !important;
  width:clamp(190px, 26vw, 305px) !important;
  max-width:78vw !important;
  height:auto !important;
  max-height:255px !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:0 !important;
  margin:0 auto !important;
}
.auth-logo span{
  display:block !important;
  margin-top:-4px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:clamp(10px, 1.35vw, 16px) !important;
  line-height:1.2 !important;
  letter-spacing:.32em !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 16px rgba(255,255,255,.10) !important;
}
.auth-glass-card{
  width:min(100%, 820px) !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:54px !important;
  padding:62px 72px 64px !important;
  color:#fff !important;
  background:linear-gradient(145deg, rgba(255,255,255,.080), rgba(255,255,255,.022) 42%, rgba(8,17,42,.40)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 0 0 1px rgba(236,72,153,.14),
    0 42px 120px rgba(0,0,0,.50),
    -12px 0 80px rgba(236,0,140,.24),
    12px 0 80px rgba(31,118,255,.24) !important;
  backdrop-filter:blur(22px) saturate(1.15) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.15) !important;
}
.auth-glass-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  padding:1.4px !important;
  pointer-events:none !important;
  background:linear-gradient(135deg, rgba(255,45,167,.72), rgba(255,255,255,.11) 40%, rgba(81,155,255,.85)) !important;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  -webkit-mask-composite:xor !important;
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  mask-composite:exclude !important;
}
.auth-glass-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 0% 42%, rgba(236,0,140,.24), transparent 38%),
    radial-gradient(circle at 100% 56%, rgba(31,118,255,.28), transparent 38%) !important;
}
.auth-glass-card > *{ position:relative !important; z-index:1 !important; }
.auth-glass-card h1{
  margin:0 0 38px !important;
  color:#fff !important;
  font-size:clamp(44px, 6vw, 72px) !important;
  line-height:1 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
  text-shadow:0 5px 24px rgba(0,0,0,.34) !important;
}
.register-card h1{ font-size:clamp(40px, 5.1vw, 64px) !important; margin-bottom:18px !important; }
.forgot-card h1{ font-size:clamp(42px, 5.6vw, 70px) !important; }
.auth-subtitle{
  margin:0 0 34px !important;
  max-width:680px !important;
  color:rgba(255,255,255,.72) !important;
  font-size:clamp(22px, 2.4vw, 30px) !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}
.premium-auth-form{ display:grid !important; gap:22px !important; width:100% !important; }
.auth-field{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-height:82px !important;
  border-radius:26px !important;
  border:1.35px solid rgba(157,153,255,.42) !important;
  background:rgba(5,9,24,.48) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 18px 45px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
.auth-field:focus-within{
  border-color:rgba(255,72,176,.88) !important;
  box-shadow:0 0 0 4px rgba(236,0,140,.11), 0 0 36px rgba(236,0,140,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.auth-field .field-icon{
  width:86px !important;
  height:82px !important;
  flex:0 0 86px !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
}
.auth-field .field-icon svg{ width:32px !important; height:32px !important; stroke:currentColor !important; fill:none !important; stroke-width:2.15 !important; stroke-linecap:round !important; stroke-linejoin:round !important; filter:drop-shadow(0 0 16px rgba(236,0,140,.48)) !important; }
.auth-field input{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:100% !important;
  height:82px !important;
  min-height:82px !important;
  border:0 !important;
  outline:0 !important;
  margin:0 !important;
  padding:0 30px !important;
  background:transparent !important;
  color:#fff !important;
  font-size:clamp(20px, 2.25vw, 30px) !important;
  font-weight:500 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.auth-field .field-icon + input{ padding-left:0 !important; }
.auth-field input::placeholder{ color:rgba(255,255,255,.48) !important; opacity:1 !important; }
.auth-url-preview{
  margin:-4px 4px 0 !important;
  color:rgba(255,255,255,.76) !important;
  font-size:clamp(16px, 1.85vw, 23px) !important;
  line-height:1.35 !important;
}
.auth-url-preview b{ color:rgba(255,255,255,.92) !important; }
.auth-url-preview strong{ color:#ff2da0 !important; font-weight:850 !important; }
.auth-primary-btn{
  width:100% !important;
  min-height:82px !important;
  margin-top:8px !important;
  border:0 !important;
  border-radius:30px !important;
  background:linear-gradient(90deg, #ec008c 0%, #ff5aad 100%) !important;
  color:#fff !important;
  text-decoration:none !important;
  text-align:center !important;
  display:grid !important;
  place-items:center !important;
  font-size:clamp(23px, 2.7vw, 34px) !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  cursor:pointer !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.32) inset, 0 22px 55px rgba(236,0,140,.36), 0 0 46px rgba(236,0,140,.34) !important;
}
.auth-primary-btn:hover{ transform:translateY(-2px) !important; filter:saturate(1.08) brightness(1.04) !important; }
.auth-links{
  margin-top:32px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:24px !important;
  flex-wrap:wrap !important;
  color:rgba(255,255,255,.76) !important;
  font-size:clamp(17px, 2vw, 27px) !important;
  line-height:1.3 !important;
}
.auth-links a{ color:rgba(255,255,255,.82) !important; text-decoration:underline !important; text-underline-offset:5px !important; }
.auth-links a:hover{ color:#fff !important; }
.auth-links i{ color:#ff2da0 !important; font-style:normal !important; }
.auth-links.single{ gap:0 !important; }
.auth-alert{
  margin:-12px 0 24px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.08) !important;
  border-radius:20px !important;
  padding:15px 17px !important;
  color:rgba(255,255,255,.86) !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
}
.auth-alert.error{ border-color:rgba(248,113,113,.34) !important; background:rgba(239,68,68,.13) !important; color:#fecaca !important; }
.auth-alert.success{ border-color:rgba(52,211,153,.34) !important; background:rgba(16,185,129,.13) !important; color:#bbf7d0 !important; }
.auth-alert.test a{ color:#93c5fd !important; }
@media(max-width:820px){
  .auth-shell{ padding:34px 18px 54px !important; gap:24px !important; }
  .auth-logo img{ width:min(270px, 74vw) !important; max-height:220px !important; }
  .auth-logo span{ font-size:12px !important; letter-spacing:.25em !important; }
  .auth-glass-card{ border-radius:42px !important; padding:50px 38px 54px !important; }
  .auth-glass-card h1{ font-size:clamp(40px, 10.5vw, 58px) !important; margin-bottom:32px !important; }
  .register-card h1,.forgot-card h1{ font-size:clamp(38px, 10vw, 54px) !important; }
  .auth-subtitle{ font-size:22px !important; margin-bottom:28px !important; }
  .auth-field,.auth-field input{ min-height:74px !important; height:74px !important; }
  .auth-field{ border-radius:23px !important; }
  .auth-field .field-icon{ width:68px !important; height:74px !important; flex-basis:68px !important; }
  .auth-field .field-icon svg{ width:27px !important; height:27px !important; }
  .auth-field input{ font-size:23px !important; padding:0 22px !important; }
  .auth-primary-btn{ min-height:76px !important; border-radius:27px !important; font-size:27px !important; }
  .auth-links{ font-size:21px !important; gap:16px !important; }
}
@media(max-width:520px){
  body.premium-auth-page{ background:radial-gradient(circle at 0% 34%,rgba(236,0,140,.36),transparent 31%),radial-gradient(circle at 105% 50%,rgba(20,111,255,.42),transparent 35%),linear-gradient(180deg,#030306,#040713 48%,#010205) !important; }
  .auth-shell{ padding:26px 15px 42px !important; gap:20px !important; }
  .auth-logo img{ width:min(235px, 76vw) !important; max-height:195px !important; }
  .auth-logo span{ font-size:10px !important; letter-spacing:.22em !important; }
  .auth-glass-card{ width:100% !important; border-radius:34px !important; padding:38px 24px 42px !important; }
  .auth-glass-card h1{ font-size:40px !important; line-height:1.04 !important; margin-bottom:26px !important; }
  .register-card h1{ font-size:36px !important; }
  .forgot-card h1{ font-size:38px !important; }
  .auth-subtitle{ font-size:19px !important; margin-bottom:24px !important; }
  .premium-auth-form{ gap:16px !important; }
  .auth-field,.auth-field input{ min-height:66px !important; height:66px !important; }
  .auth-field{ border-radius:22px !important; }
  .auth-field .field-icon{ width:56px !important; height:66px !important; flex-basis:56px !important; }
  .auth-field .field-icon svg{ width:23px !important; height:23px !important; }
  .auth-field input{ font-size:20px !important; padding:0 17px !important; }
  .auth-primary-btn{ min-height:68px !important; border-radius:24px !important; font-size:22px !important; }
  .auth-links{ font-size:17px !important; gap:11px !important; margin-top:24px !important; }
  .auth-url-preview{ font-size:15px !important; }
  .auth-alert{ font-size:14px !important; margin:-6px 0 18px !important; }
}
