:root{
  --fundo:#0b0f14; --painel:#121922; --painel2:#18222e; --linha:#263241;
  --texto:#e8e2d4; --suave:#9aa5b1; --ouro:#d9a441; --ambar:#f2b33d; --teal:#2f8f8a;
  --vinho:#8e2d3a; --verde:#4caf7a; --perigo:#d9534f; --raio:12px;
  color-scheme: dark;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fundo);color:var(--texto);font:15px/1.45 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3,.titulo{font-family:"Cinzel","Trajan Pro",Georgia,serif;letter-spacing:.04em;margin:0}
a{color:var(--ambar)}
button,.btn{font:inherit;cursor:pointer;border:1px solid var(--linha);background:var(--painel2);color:var(--texto);padding:.6em 1em;border-radius:10px;transition:.15s}
button:hover,.btn:hover{border-color:var(--ouro)}
button.ouro,.btn.ouro{background:linear-gradient(180deg,#e6b452,#b9852c);color:#1a1206;border-color:#e6b452;font-weight:700}
button.perigo{border-color:#6b2a2a;color:#ff9b96}
button.mini{padding:.3em .6em;font-size:13px}
button:disabled{opacity:.5;cursor:default}
input,select,textarea{font:inherit;color:var(--texto);background:#0e141b;border:1px solid var(--linha);border-radius:10px;padding:.6em .8em;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ouro)}
label{display:block;font-size:13px;color:var(--suave);margin:.7em 0 .3em}
.cartao{background:var(--painel);border:1px solid var(--linha);border-radius:var(--raio);padding:18px}
.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grade{display:grid;gap:14px}
.suave{color:var(--suave)}
.erro{color:#ff9b96;min-height:1.3em;font-size:14px}
.pilula{display:inline-block;padding:.15em .6em;border-radius:99px;font-size:12px;border:1px solid var(--linha);color:var(--suave)}
.pilula.on{color:#9ff0c0;border-color:#2c6b4b}
.pilula.off{color:#ff9b96;border-color:#6b2a2a}
.pilula.ouro{color:var(--ambar);border-color:#6b5222}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1d2733;border:1px solid var(--ouro);padding:.7em 1.1em;border-radius:10px;z-index:99;max-width:90vw}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:.55em .5em;border-bottom:1px solid var(--linha);vertical-align:middle}
th{color:var(--suave);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ponto{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
