*{box-sizing:border-box}
body{margin:0;font:400 16px/1.5 Inter,system-ui,-apple-system,sans-serif;background:#0A0A10;color:#F3F3F7;min-height:100vh}
header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,0.06);background:rgba(10,10,16,0.85);backdrop-filter:blur(10px)}
.logo{font-size:22px;font-weight:800;font-family:Sora,sans-serif;letter-spacing:-0.02em}
.logo b{color:#A78BFA}
main{display:flex;justify-content:center;padding:40px 20px}
.card{width:100%;max-width:440px;background:#12121A;border:1px solid rgba(124,92,255,0.18);border-radius:20px;padding:32px;box-shadow:0 12px 32px rgba(0,0,0,0.5)}
.card[hidden],button[hidden]{display:none}
h1{margin:0 0 8px;font-size:26px;font-family:Sora,sans-serif;font-weight:800;color:#fff}
p{color:#A3A3B8;margin:0 0 20px;font-size:14px}
label{display:block;margin:14px 0 0;font-size:13px;font-weight:500;color:#C4B5FD}
input{width:100%;margin-top:6px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,0.12);background:#0A0A10;color:#fff;font-size:15px;transition:border-color 0.2s}
input:focus{outline:none;border-color:#7C5CFF;box-shadow:0 0 0 3px rgba(124,92,255,0.25)}
button{margin-top:20px;width:100%;padding:14px 20px;border:0;border-radius:9999px;background:linear-gradient(135deg,#7C5CFF 0%,#9055FF 55%,#B86BFF 100%);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:transform 0.15s,box-shadow 0.15s}
button:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,92,255,0.45)}
#erro{color:#ff8a8a;min-height:1.4em;margin-top:10px;font-size:13px}
.grid{display:flex;gap:12px;margin-top:16px}
.kpi{flex:1;background:#0A0A10;border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:16px;text-align:center}
.kpi b{display:block;font-size:32px;color:#7C5CFF;font-family:Sora,sans-serif}
.kpi span{font-size:12px;color:#A3A3B8}
.bloq{background:#181824;border:1px solid #7C5CFF;border-radius:12px;padding:12px 14px;margin-top:14px;font-size:14px}
.bloq a{color:#A78BFA}
.pl{font-size:14px;color:#A3A3B8;margin:16px 0 0}
.pl a{color:#A78BFA;font-weight:600}
@media(min-width:900px){.card{max-width:520px}}
