:root{
  --bg:#0f1115;
  --panel:#141822;
  --muted:#9aa4b2;
  --text:#e7ecf3;
  --brand1:#6b4afd; /* roxo */
  --brand2:#3bd5d3; /* ciano */
  --stroke:#222838;
  --ok:#25c685;
  --err:#ff6b6b;
  --shadow:0 10px 30px rgba(107,74,253,.25);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 85% 10%, rgba(59,213,211,.08), transparent 60%),
    radial-gradient(900px 500px at 10% 20%, rgba(107,74,253,.10), transparent 60%),
    var(--bg);
  letter-spacing:.2px;
}
.wrap{
  max-width:1200px;
  margin:0 auto;
  padding:48px 24px;
  min-height:100%;
  display:grid;
  grid-template-columns:45% 55%;
  gap:40px;
  align-items:center;
}
@media (max-width:980px){
  .wrap{grid-template-columns:1fr; padding:32px 20px}
}
.brand{margin:0 0 24px}
.logo-img{max-width:420px; height:auto; display:block}
h1{font-size:48px; margin:0 0 16px}
p.lead{color:var(--muted); font-size:18px; margin:0 0 20px; max-width:56ch}

.panel{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00)) , var(--panel);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  padding:28px;
  box-shadow: var(--shadow);
}
.panel h2{margin:0 0 6px; font-size:24px}
.muted{color:var(--muted); font-size:14px; margin:0 0 22px}

form{display:grid; gap:14px}
.row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:600px){ .row{grid-template-columns:1fr} }

.field-group{display:flex; flex-direction:column; gap:6px}
label{font-size:13px; color:#c7cfdb; display:block}
.control{
  width:100%; background:#0c0f16; color:var(--text);
  border:1px solid #1f2533; border-radius:12px;
  padding:14px 14px; font-size:15px; outline:none;
  transition:border .2s, box-shadow .2s, background .2s;
}
.control::placeholder{color:#7f8aa3}
.control:focus{
  border-color:#3f56ff66;
  box-shadow:0 0 0 4px rgba(107,74,253,.15);
  background:#0b0f19;
}

.has-error .control{
  border-color:rgba(255,107,107,.65);
  box-shadow:0 0 0 4px rgba(255,107,107,.1);
}
.field-error{color:var(--err); font-size:12px; margin-top:2px}

.checkbox{display:flex; gap:10px; align-items:flex-start; margin-top:2px}
.checkbox input{width:18px; height:18px; margin-top:2px; accent-color:var(--brand1)}
.checkbox label{cursor:pointer}
.checkbox small{color:#a8b2c3}

.btn{
  appearance:none; border:0; cursor:pointer;
  background:linear-gradient(90deg, var(--brand1), #7a5bff);
  color:#fff; font-weight:700; font-size:16px;
  padding:14px 18px; border-radius:14px;
  box-shadow:0 8px 20px rgba(107,74,253,.35);
  transition:transform .06s ease, box-shadow .2s ease;
}
.btn:hover{box-shadow:0 12px 28px rgba(107,74,253,.45)}
.btn:active{transform:translateY(1px)}

.btn-ghost{
  background:transparent; border:1px solid #2a3042; color:#c9d3e3; font-weight:600;
}

.status{font-size:14px; padding:10px 12px; border-radius:12px; border:1px solid #233049; background:#0b1320; display:none}
.status.ok{display:block; border-color:#1f3b33; background:#0f1e1a; color:#a9e4c8}
.status.err{display:block; border-color:#41252a; background:#1f0f12; color:#ffb1b1}
.status.load{display:block; border-color:#2b2f42; background:#11162a; color:#c9d1ff}

.footer{margin-top:18px; color:#97a3b6; font-size:13px}
.footer a{color:#b7c5ff; text-decoration:none}
.footer a:hover{text-decoration:underline}

.tag{
  display:inline-flex; gap:8px; align-items:center;
  padding:6px 10px; border-radius:999px; border:1px solid #22304a; background:#0c1423; color:#a9b5c9; font-size:12px;
}
.tag .b{
  width:8px; height:8px; border-radius:999px;
  background:linear-gradient(90deg, var(--brand1), var(--brand2));
  box-shadow:0 0 0 4px rgba(123, 97, 255, .12);
}

.legal-body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 90% 10%, rgba(59,213,211,.08), transparent 60%),
    radial-gradient(900px 500px at 10% 20%, rgba(107,74,253,.10), transparent 60%),
    var(--bg);
}
.legal-wrap{
  max-width:850px;
  margin:0 auto;
  padding:72px 24px 96px;
}
.legal-wrap h1{font-size:42px; margin-bottom:24px}
.legal-wrap h2{font-size:24px; margin:32px 0 12px}
.legal-wrap p,
.legal-wrap ul{color:#c7cfdb; line-height:1.7; font-size:16px}
.legal-wrap ul{padding-left:20px}
.legal-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:32px;
  color:#b7c5ff;
  text-decoration:none;
  font-weight:600;
}
.legal-back:hover{text-decoration:underline}
