/* Iaguaretê · tokens e base. Escuro é o padrão; o claro é escolhido, não um flip. */
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
:root{
  --bg:#07120d;--surf:#0d1b15;--surf2:#132620;--surf3:#1a3229;--bdr:#24443a;
  --tx:#e6f2ec;--tx2:#a3c2b5;--muted:#6f8f82;
  --acc:#34d399;--acc-forte:#10b981;--ouro:#f5b942;
  --ok:#34d399;--warn:#f5b942;--err:#f87171;--info:#60a5fa;
  --sombra:0 8px 30px rgba(0,0,0,.35);
  --fonte:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --fonte-marca:'Arial Narrow','Helvetica Neue',Arial,sans-serif;
}
[data-theme="light"]{
  --bg:#f3f6f4;--surf:#ffffff;--surf2:#f2f6f4;--surf3:#e6eeea;--bdr:#cfdcd5;
  --tx:#0f1f18;--tx2:#3d5a4d;--muted:#5d7a6d;
  --acc:#047857;--acc-forte:#065f46;--ouro:#a16207;
  --ok:#047857;--warn:#a16207;--err:#b91c1c;--info:#1d4ed8;
  --sombra:0 8px 24px rgba(15,31,24,.10);
}
html,body{background:var(--bg);color:var(--tx);font-family:var(--fonte);font-size:14px;line-height:1.5}
a{color:var(--acc)}
button{font-family:inherit}
input,select,textarea{width:100%;background:var(--surf2);border:1px solid var(--bdr);border-radius:7px;padding:9px 11px;font-size:14px;color:var(--tx);font-family:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--acc)}
label{display:block;font-size:12px;color:var(--tx2);margin:14px 0 5px}
.btn{padding:9px 16px;background:transparent;border:2px solid var(--acc);color:var(--acc);border-radius:7px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 0 16px rgba(52,211,153,.22)}
.btn:hover:not(:disabled){background:rgba(52,211,153,.08);box-shadow:0 0 26px rgba(52,211,153,.38);transform:translateY(-1px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn.sec{border-color:var(--bdr);color:var(--tx2);box-shadow:none}
.btn.ouro{border-color:var(--ouro);color:var(--ouro);box-shadow:0 0 16px rgba(245,185,66,.2)}
.btn.perigo{border-color:var(--err);color:var(--err);box-shadow:none}
.msg{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:13px;display:none}
.msg.show{display:block}
.msg.erro{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:var(--err)}
.msg.info{background:rgba(52,211,153,.10);border:1px solid rgba(52,211,153,.35);color:var(--acc)}

/* Logo por tema: os dois estão no HTML, o CSS mostra o do tema ativo. */
[data-theme="light"] .logo-escuro,:root:not([data-theme="light"]) .logo-claro{display:none}
