:root{color-scheme:dark;--bg:#000;--p:#0a0a0a;--p2:#111;--ln:rgba(255,255,255,.09);--tx:#f2f2f2;--mu:#8a8a8a;--rd:#ff0033;--rd2:#e60000;--ok:#3ddc97;--wa:#ffb020}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--tx);font:14px/1.45 'Space Grotesk',system-ui,sans-serif;min-height:100vh}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--rd);outline-offset:2px}
[hidden]{display:none!important}
.centro{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));background:radial-gradient(600px 320px at 50% 0,rgba(255,0,51,.12),transparent 70%)}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.04em}
.logo i{width:34px;height:34px;border-radius:10px;background:var(--rd);display:grid;place-items:center;box-shadow:0 0 18px rgba(255,0,51,.45)}
.logo small{display:block;color:var(--mu);font-weight:400;font-size:11px;letter-spacing:.02em}
.logo b em{color:var(--rd);font-style:normal}
.card{background:var(--p);border:1px solid var(--ln);border-radius:14px;padding:16px;backdrop-filter:blur(8px)}
.caixa{width:min(420px,100%);padding:26px 24px 20px;border-radius:16px}
h1{font-size:24px;margin:0 0 4px;font-weight:700}
.mu{color:var(--mu);margin:0 0 20px}
.campo{display:flex;align-items:center;gap:10px;background:var(--p2);border:1px solid var(--ln);border-radius:10px;padding:0 12px;margin-bottom:10px;height:44px}
.campo:focus-within{border-color:var(--rd)}
.campo input{flex:1;min-width:0;height:100%;background:none;border:0}
.campo input:focus-visible{outline:0}
.campo input::placeholder{color:var(--mu)}
.campo svg{width:18px;height:18px;flex:none;stroke:var(--mu);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.campo button{background:none;border:0;cursor:pointer;padding:4px;display:grid}
.campo button:hover svg{stroke:var(--tx)}
.linha{margin:4px 0 16px;font-size:13px;color:var(--mu);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.linha input{accent-color:var(--rd)}
.prim{width:100%;height:44px;border:1px solid var(--rd);border-radius:10px;background:var(--rd);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 0 14px rgba(255,0,51,.3)}
.prim:hover{background:var(--rd2)}
.prim:disabled{opacity:.6;cursor:wait}
#msg:empty{display:none}
#msg{border-radius:10px;padding:9px 12px;margin-bottom:14px;font-size:13px;border:1px solid}
#msg.er{color:var(--rd);border-color:rgba(255,0,51,.45);background:rgba(255,0,51,.08)}
#msg.ok{color:var(--ok);border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.08)}
.rodape{text-align:center;color:var(--mu);border-top:1px solid var(--ln);padding-top:16px;margin:18px 0 0;font-size:13px}
a{color:var(--rd);text-decoration:none}
a:hover{text-decoration:underline}
