:root{--tinta:#1e1e1e;--fundo:#f7f5f1;--papel:#fff;--borda:#ddd8cf;--ok:#1f7a4d;--ok-fundo:#e6f4ec;--erro:#a8332f;--erro-fundo:#fbe9e7;--suave:#6b6660;--acento:#1a4f8a}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--tinta);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:16px}
h1{font-size:1.3rem;margin:0 0 4px}
.sub{color:var(--suave);margin:0 0 20px}
.cartao{background:var(--papel);border:1px solid var(--borda);border-radius:12px;padding:20px;max-width:480px;margin:0 auto}
label{display:block;font-weight:600;margin:14px 0 6px}
label small{font-weight:400;color:var(--suave)}
input{width:100%;font-size:1.25rem;padding:12px;border:1px solid var(--borda);border-radius:8px;background:#fff}
input:focus{outline:2px solid var(--acento);border-color:var(--acento)}
button{width:100%;margin-top:18px;font-size:1.1rem;font-weight:600;padding:14px;border:0;border-radius:8px;background:var(--acento);color:#fff;cursor:pointer}
button:disabled{opacity:.6}
button.leve{background:transparent;color:var(--acento);border:1px solid var(--acento);width:auto;padding:8px 14px;font-size:.95rem;margin:0}
.msg{margin-top:18px;padding:14px;border-radius:8px;display:none}
.msg.ok{display:block;background:var(--ok-fundo);color:var(--ok);border:1px solid #bfe3cf}
.msg.erro{display:block;background:var(--erro-fundo);color:var(--erro);border:1px solid #f0c4c0}
.msg strong{display:block;font-size:1.15rem;margin-bottom:4px}
.nota{color:var(--suave);font-size:.9rem;margin-top:16px}
