/* Telas de Entrar, Cadastro e Minha conta — Mavio Play */
*{box-sizing:border-box}
html,body{margin:0;background:#060920;color:#F2F4FF;font-family:'DM Sans',system-ui,sans-serif}
a{color:#9DB8FF}a:hover{color:#C8D6FF}
html{scrollbar-width:thin;scrollbar-color:#4A55E8 #060920}

.wrap{min-height:100vh;display:flex;flex-wrap:wrap}
.lado{flex:1 1 420px;position:relative;overflow:hidden;padding:48px clamp(24px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;gap:40px;background:#0A0E2C;border-right:1px solid #151B45}
.lado::before{content:"";position:absolute;width:700px;height:700px;right:-260px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(91,59,245,.38) 0%,rgba(6,9,32,0) 65%)}
.lado::after{content:"";position:absolute;width:600px;height:600px;left:-260px;bottom:-300px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,240,.3) 0%,rgba(6,9,32,0) 65%)}
.lado > *{position:relative;z-index:1}
.marca{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#F2F4FF;font-weight:700;font-size:20px}
.marca img{width:38px;height:38px}
.lado h1{margin:0;font-weight:800;font-size:clamp(34px,4.4vw,54px);line-height:1.05;letter-spacing: -0.015em}
.grad{background:linear-gradient(95deg,#5B8DFF 0%,#7D7CFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lado p{margin:0;font-size:18px;line-height:1.55;color:#B7BEDF;max-width:440px}
.logos{display:flex;flex-wrap:wrap;gap:10px}
.logos span{background:#FFFFFF;border-radius:12px;height:44px;width:92px;display:flex;align-items:center;justify-content:center;padding:8px}
.logos img{max-width:100%;max-height:100%;object-fit:contain}

.form-area{flex:1 1 440px;display:flex;align-items:center;justify-content:center;padding:48px 20px}
.card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:22px;animation:sobe .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes sobe{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.card h2{margin:0;font-size:30px;font-weight:800;letter-spacing:-.02em}
.card .sub{margin:-12px 0 0;font-size:16px;color:#A3AACF}
.campo{display:flex;flex-direction:column;gap:8px}
.campo label{font-size:14px;font-weight:600;color:#C6CBE8}
.campo input{width:100%;min-height:54px;padding:0 16px;border-radius:10px;border:1px solid #2A3370;background:#0E1440;color:#F2F4FF;font:inherit;font-size:17px;transition:border-color .2s,box-shadow .2s}
.campo input::placeholder{color:#6C74A3}
.campo input:focus{outline:none;border-color:#5B7BFF;box-shadow:0 0 0 4px rgba(91,123,255,.2)}
.senha-box{position:relative}
.senha-box input{padding-right:84px}
.ver{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:44px;padding:0 12px;border:0;background:transparent;color:#9DB8FF;font:inherit;font-size:14px;font-weight:600;cursor:pointer;border-radius:10px}
.ver:hover{background:rgba(255,255,255,.06)}
.ajuda-campo{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#8D95BF}
.ajuda-campo.ok{color:#7CE3A8}.ajuda-campo.ruim{color:#FFB3C0}
.contador{font-variant-numeric:tabular-nums}
.seguranca{display:flex;gap:12px;align-items:flex-start;background:#0E1440;border:1px solid #232C68;border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.5;color:#B7BEDF}
.seguranca svg{flex:none;width:22px;height:22px;color:#7CE3A8;margin-top:1px}
.seguranca strong{display:block;color:#F2F4FF;font-weight:600;margin-bottom:4px}
.seguranca ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}
.seguranca b{color:#F2F4FF;font-weight:600}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:#C6CBE8;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:#5B3BF5;cursor:pointer}
.btn{min-height:56px;border:0;border-radius:999px;background:linear-gradient(95deg,#2459E6 0%,#3D46E2 100%);color:#FFFFFF;font:inherit;font-size:17px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(70,90,255,.45);color:#FFFFFF}
.btn[disabled]{opacity:.6;cursor:wait;transform:none;box-shadow:none}
.btn-ghost{min-height:52px;border:2px solid #2E3A80;border-radius:999px;background:transparent;color:#F2F4FF;font:inherit;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s}
.btn-ghost:hover{background:rgba(255,255,255,.07);color:#FFFFFF}
.msg{display:none;padding:14px 16px;border-radius:12px;font-size:15px;line-height:1.45}
.msg.erro{display:block;background:rgba(255,59,92,.12);border:1px solid rgba(255,59,92,.45);color:#FFB3C0}
.msg.ok{display:block;background:rgba(46,204,113,.12);border:1px solid rgba(46,204,113,.45);color:#A8F0C6}
.msg.info{display:block;background:rgba(77,125,255,.12);border:1px solid rgba(77,125,255,.45);color:#D5E0FF}

.dlg-pix{width:min(420px,94vw);max-height:94vh;overflow:auto;background:#0E1440;color:#F2F4FF;border:1px solid #3A4AA0;border-radius:20px;padding:24px;text-align:center}
.dlg-pix::backdrop{background:rgba(3,6,25,.75)}
.dlg-pix h2{margin:0 0 6px;font-size:22px}
.pix-valor{margin:0 0 16px;color:#C7CDF2}
.pix-qr{display:block;margin:0 auto 14px;background:#FFFFFF;border-radius:14px;padding:8px;width:240px;height:240px}
.pix-ajuda{margin:0 0 14px;font-size:15px;line-height:1.45;color:#C7CDF2}
.pix-copia{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.pix-copia input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #3A4AA0;background:#0A0F33;color:#F2F4FF;font:inherit;font-size:13px;text-overflow:ellipsis}
.pix-expira{margin:10px 0 0;font-size:14px;color:#A3AACF}.b-fechar{margin-top:14px;background:none;border:0;color:#A3AACF;font:inherit;font-size:15px;text-decoration:underline;cursor:pointer}
.pagar .msg{margin:0}
.conta > .msg{margin:0}
.tv{display:flex;flex-direction:column;gap:14px}
.tv .titulo-sec{margin:0}
.tv-ajuda{margin:0;color:#A3AACF;font-size:15px}
.ver-tv{min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(255,255,255,.08);color:#FFFFFF;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ver-tv:hover{background:rgba(255,255,255,.16)}
.planos-erro{margin:0;color:#FFB3C0}
.troca{margin:0;text-align:center;font-size:15px;color:#A3AACF}
.troca a{font-weight:600}

[hidden]{display:none !important}

/* Minha conta */
.topo{position:sticky;top:0;z-index:5;background:rgba(6,9,32,.9);backdrop-filter:blur(12px);border-bottom:1px solid #151B45}
.topo nav{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.topo .acoes{display:flex;align-items:center;gap:8px}
.topo .acoes a,.topo .acoes button{min-height:44px;padding:0 18px;border-radius:10px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap;transition:background .2s,transform .15s,box-shadow .2s}
.topo .acoes svg{width:18px;height:18px;flex:none}
.topo .acoes .b-site{background:#2459E6;border:1px solid #2459E6;color:#FFFFFF;box-shadow:0 6px 18px rgba(36,89,230,.35)}
.topo .acoes .b-site:hover{background:#3268F5;color:#FFFFFF;transform:translateY(-1px)}
.topo .acoes .b-sair{background:#141A44;border:1px solid #2E3A80;color:#F2F4FF}
.topo .acoes .b-sair:hover{background:#1C2458;border-color:#4A55A8}
.topo .acoes a:active,.topo .acoes button:active{transform:translateY(1px)}
@media (max-width:420px){.topo .acoes .txt{display:none}.topo .acoes a,.topo .acoes button{padding:0 13px}}
.conta{max-width:1100px;margin:0 auto;padding:clamp(28px,5vw,56px) 20px 64px;display:flex;flex-direction:column;gap:28px;animation:sobe .6s cubic-bezier(.2,.7,.2,1) both}
.ola h1{margin:0;font-size:clamp(28px,4.4vw,44px);font-weight:800;letter-spacing: -0.015em;line-height:1.08}
.ola p{margin:8px 0 0;color:#A3AACF;font-size:16px}
.dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.dado{background:#10163F;border:1px solid #232C68;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.dado .rotulo{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7FA2FF}
.dado .valor{font-size:20px;font-weight:700;overflow-wrap:anywhere}
.dado.plano-atual{background:linear-gradient(160deg,#173079 0%,#1F2580 100%);border-color:#3A4AA0}
.linha{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pill{font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;white-space:nowrap}
.pill.ativo{background:rgba(46,204,113,.15);color:#7CE3A8;border:1px solid rgba(46,204,113,.45)}
.pill.alerta{background:rgba(255,184,0,.12);color:#FFD27A;border:1px solid rgba(255,184,0,.45)}
.pill.vencido{background:rgba(255,59,92,.14);color:#FFB3C0;border:1px solid rgba(255,59,92,.45)}
.pagar h2{margin:0 0 16px;font-size:24px;font-weight:800;letter-spacing:-.02em}
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.plano{position:relative;background:#10163F;border:2px solid #232C68;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,border-color .2s}
.plano:hover{transform:translateY(-4px);border-color:#4A55E8}
.plano.escolhido{border-color:#7B6BFF;box-shadow:0 18px 50px rgba(91,59,245,.35)}
.plano.escolhido::before{content:"Selecionado";position:absolute;top:-12px;left:18px;background:linear-gradient(95deg,#2459E6,#3D46E2);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.plano h3{margin:0;font-size:18px;font-weight:700;display:flex;align-items:center;gap:6px}
.mini-logo{width:20px;height:20px;flex:none}
.plano .telas{font-size:14px;color:#A3AACF}
.plano .de{font-size:14px;color:#A3AACF;text-decoration:line-through;text-decoration-color:#FF6B85;text-decoration-thickness:2px;margin-bottom:-10px}
.plano .preco{font-size:28px;font-weight:800;letter-spacing:-.02em}
.plano .preco small{white-space:nowrap;font-size:14px;font-weight:600;color:#A3AACF}
.plano .btn{margin-top:auto;min-height:50px;font-size:16px}
.teste{position:relative;overflow:hidden;border-radius:14px;padding:clamp(24px,4vw,40px);padding-right:clamp(24px,3vw,32px);background:linear-gradient(120deg,#2350D8 0%,#3540D2 100%);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 18px 44px rgba(40,60,200,.25)}
.teste-mascote{flex:0 0 auto;width:240px;height:auto;margin:-18px 0 -30px;animation:pula 3.2s ease-in-out infinite}
@keyframes pula{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(-2deg)}}
.teste .btn{align-self:flex-start;margin-top:8px}
@media (max-width:640px){.teste{flex-direction:column-reverse;align-items:stretch;text-align:left}.teste .teste-txt{flex:none}.teste-mascote{width:150px;margin:-10px auto -18px}.teste .btn{align-self:stretch}}
@media (prefers-reduced-motion:reduce){.teste-mascote{animation:none}}
.teste-txt{position:relative;z-index:1;flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:10px}
.teste .tag{align-self:flex-start;background:#FFFFFF;color:#2A2FB8;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.teste h2{margin:0;font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing: -0.015em;line-height:1.05}
.teste p{margin:0;font-size:17px;line-height:1.5;color:#E3E7FF;max-width:520px}
.teste .teste-info{font-size:15px;font-weight:600;color:#FFFFFF;background:rgba(255,255,255,.12);border-radius:12px;padding:10px 14px}
.teste .btn{position:relative;z-index:1;background:#FFFFFF;color:#1E2A9C;padding:0 30px;min-height:58px;font-size:17px}
.teste .btn:hover{color:#1E2A9C;box-shadow:0 12px 34px rgba(0,0,0,.3)}
.titulo-sec{margin:8px 0 -12px;font-size:24px;font-weight:800;letter-spacing:-.02em}
.ajuda{margin:0;font-size:14px;color:#A3AACF;text-align:center}
.carregando{display:flex;align-items:center;justify-content:center;min-height:60vh;color:#A3AACF;font-size:16px}

/* animação dos botões de Entrar / Criar conta */
.btn{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.btn[disabled].aguardando,.btn[disabled].sucesso{opacity:1;cursor:progress}
.onda{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:onda .6s ease-out forwards;pointer-events:none}
@keyframes onda{to{transform:scale(4);opacity:0}}
.spin{width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#FFFFFF;border-radius:50%;animation:gira .7s linear infinite;flex:none}
@keyframes gira{to{transform:rotate(360deg)}}
.btn.sucesso{background:#18A864 !important;box-shadow:0 10px 30px rgba(24,168,100,.4)}
.btn .check{width:22px;height:22px;flex:none}
.btn .check path{stroke-dasharray:26;stroke-dashoffset:26;animation:risca .35s ease .05s forwards}
@keyframes risca{to{stroke-dashoffset:0}}
.treme{animation:treme .42s ease}
@keyframes treme{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
@media (prefers-reduced-motion:reduce){.onda,.treme{animation:none}.spin{animation-duration:1.4s}}

/* logo maior no painel de Entrar / Criar conta */
.lado{justify-content:center;gap:56px}
.lado .marca{font-size:30px;gap:14px;letter-spacing:-.01em}
.lado .marca img{width:64px;height:64px}

/* botão Voltar das telas de Entrar / Criar conta */
.voltar{position:absolute;top:28px;left:clamp(24px,5vw,72px);z-index:2;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px 0 10px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid #2E3A80;color:#F2F4FF;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s}
.voltar svg{width:18px;height:18px}
.voltar:hover{background:rgba(255,255,255,.12);color:#FFFFFF}
.voltar:active{transform:translateX(-2px)}

@media (max-width:860px){
  .voltar{top:50%;left:auto;right:20px;transform:translateY(-50%)}.voltar:active{transform:translateY(-50%)}
  .lado .marca{font-size:22px;gap:10px}.lado .marca img{width:44px;height:44px}
  .wrap{align-content:flex-start}
  .lado{flex-basis:100%;padding:22px 20px;border-right:0;border-bottom:1px solid #151B45;gap:0}
  .lado .esconde-sm{display:none !important}
  .form-area{padding:32px 20px 48px;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.card{animation:none}}
