:root { --bg:#0f172a; --card:#1e293b; --txt:#e2e8f0; --mut:#94a3b8; --pri:#3b82f6; --err:#f87171; --ok:#4ade80; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, sans-serif; background:var(--bg); color:var(--txt); line-height:1.6; }
header, main, footer { max-width: 960px; margin: 0 auto; padding: 1rem 1.25rem; }
header { display:flex; justify-content:space-between; align-items:center; }
nav a { color:var(--mut); margin-left:1rem; text-decoration:none; }
nav a:hover { color:var(--txt); }
h1 { font-size:2.2rem; margin:.5rem 0; }
.card { background:var(--card); border-radius:10px; padding:1.25rem; margin:1rem 0; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.btn { display:inline-block; background:var(--pri); color:#fff; border:0; padding:.7rem 1.2rem; border-radius:8px; font-size:1rem; cursor:pointer; text-decoration:none; }
.btn[disabled], .btn.disabled { background:#475569; cursor:not-allowed; opacity:.6; pointer-events:none; }
.btn.sec { background:#334155; }
.terms-box { max-height:260px; overflow-y:auto; background:#0b1220; padding:1rem; border-radius:8px; font-size:.92rem; }
.terms-box h3 { margin:.8rem 0 .2rem; font-size:1rem; }
label { display:block; margin:.6rem 0 .2rem; }
input, textarea { width:100%; padding:.6rem; border-radius:6px; border:1px solid #334155; background:#0b1220; color:var(--txt); }
.check { display:flex; gap:.6rem; align-items:flex-start; margin:1rem 0; }
.check input { width:auto; margin-top:.35rem; }
.msg { margin:.6rem 0; min-height:1.2em; }
.msg.err { color:var(--err); } .msg.ok { color:var(--ok); }
.badge { padding:.15rem .6rem; border-radius:999px; font-size:.85rem; }
.badge.ativa { background:#14532d; color:var(--ok); } .badge.inativa { background:#7f1d1d; color:var(--err); }
code.token { display:block; word-break:break-all; background:#0b1220; padding:.7rem; border-radius:6px; }
table { width:100%; border-collapse:collapse; } td, th { padding:.4rem; border-bottom:1px solid #334155; text-align:left; }
details { margin:.4rem 0; } summary { cursor:pointer; }
footer { color:var(--mut); font-size:.85rem; }
