:root {
  --bg:#12080b; --card:#1d1014; --gold:#e4c07a; --red:#b42334; --ok:#1f8a5b;
  --cream:#f7ead2; --muted:rgba(247,234,210,.62);
}
* { box-sizing:border-box; margin:0; padding:0; }
html,body { min-height:100%; }
body.app {
  font-family:"DM Sans", system-ui, sans-serif;
  background:var(--bg); color:var(--cream);
  padding:16px 16px calc(88px + env(safe-area-inset-bottom));
}
body.app.admin { padding-bottom:24px; }
a.btn { text-align:center; display:flex; align-items:center; justify-content:center; color:inherit; }
.card .muted { display:block; margin-top:4px; }
a { color:var(--gold); text-decoration:none; }
h1 { font-size:24px; margin:4px 0 14px; }
h2 { font-size:18px; margin:18px 0 10px; }
.muted { color:var(--muted); font-size:14px; }
.card {
  background:var(--card); border:1px solid rgba(228,192,122,.18);
  border-radius:16px; padding:16px; margin-bottom:12px;
}
.card strong { display:block; font-size:17px; }
.row { display:flex; gap:10px; align-items:center; }
.grow { flex:1; }
label { display:block; font-size:13px; color:var(--muted); margin:10px 0 6px; }
input, select, textarea {
  width:100%; min-height:48px; border-radius:12px; border:1px solid rgba(228,192,122,.3);
  background:#160b0e; color:var(--cream); font:inherit; padding:10px 12px;
}
textarea { min-height:90px; }
.btn {
  display:block; width:100%; border:0; border-radius:14px; min-height:54px;
  font:700 17px/1 "DM Sans", system-ui, sans-serif; cursor:pointer;
}
.btn-gold { background:var(--gold); color:#2a1408; }
.btn-ghost { background:transparent; color:var(--cream); border:1px solid rgba(228,192,122,.35); }
.btn:disabled { opacity:.45; }
.err { color:#ff8b8b; font-size:14px; margin:8px 0; }
.ok { color:#8ee0b5; font-size:14px; }
.badge {
  display:inline-block; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid rgba(228,192,122,.4); color:var(--gold); padding:3px 8px; border-radius:999px;
}
.price { font-size:28px; font-weight:700; color:var(--gold); }
.save { color:#8ee0b5; font-size:13px; margin-top:4px; }
.nav {
  position:fixed; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(5,1fr);
  background:#160b0e; border-top:1px solid rgba(228,192,122,.2);
  padding:8px 4px env(safe-area-inset-bottom);
}
.nav a { text-align:center; color:var(--muted); font-size:11px; padding:6px 2px; }
.nav a.on { color:var(--gold); }
.hero-saldo { font-size:42px; font-weight:700; color:var(--gold); }
.step { display:flex; align-items:center; justify-content:center; gap:16px; margin:16px 0; }
.step button { width:56px; height:56px; border-radius:50%; border:0; background:var(--gold); color:#2a1408; font-size:28px; }
.step span { font-size:36px; min-width:48px; text-align:center; }
.topbar { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.topbar img { width:40px; height:40px; }
.pix-box { word-break:break-all; font-size:12px; background:#160b0e; padding:10px; border-radius:10px; }
.admin-nav { display:flex; gap:8px; overflow:auto; margin-bottom:14px; }
.admin-nav a { white-space:nowrap; padding:8px 12px; border-radius:999px; border:1px solid rgba(228,192,122,.25); color:var(--muted); font-size:13px; }
.admin-nav a.on { color:#2a1408; background:var(--gold); border-color:var(--gold); }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { text-align:left; padding:10px 6px; border-bottom:1px solid rgba(228,192,122,.12); }
