:root{--fundo:#0f1115;--caixa:#171a21;--borda:#2a2f3a;--texto:#e8eaf0;--fraco:#9aa3b2;--acento:#22c55e;--erro:#f87171;--raio:10px}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--texto);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding:16px}
.caixa{max-width:560px;margin:0 auto;background:var(--caixa);border:1px solid var(--borda);border-radius:var(--raio);padding:24px}
.caixa.larga{max-width:1080px}
.topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px;flex-wrap:wrap}
.marca{font-weight:800;letter-spacing:.04em;font-size:20px}
.tag-sandbox{font-size:11px;background:#7c2d12;color:#fed7aa;padding:2px 8px;border-radius:99px;font-weight:700}
h1{font-size:22px;margin:0 0 8px}
h2{font-size:18px;margin:24px 0 8px}
.desc{color:var(--fraco);margin:0 0 12px;white-space:pre-line}
.nota{color:var(--fraco);font-size:14px;margin:8px 0 0}
.valores{width:100%;border-collapse:collapse;margin-top:8px}
.valores td{padding:8px 0;border-bottom:1px solid var(--borda)}
.valores td:last-child{text-align:right;white-space:nowrap}
.valores .total td{font-weight:800;font-size:18px;border-bottom:0}
fieldset{border:1px solid var(--borda);border-radius:var(--raio);padding:12px 16px 16px;margin:20px 0 0}
legend{padding:0 6px;color:var(--fraco);font-size:14px}
label{display:block;margin-top:12px;font-size:14px}
input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;background:#0f1115;border:1px solid var(--borda);border-radius:8px;color:var(--texto);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acento);border-color:transparent}
.linha{display:flex;gap:12px}
.linha label{flex:1;min-width:0}
.formas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.opcao{flex:1;min-width:140px;margin:0;padding:12px;border:1px solid var(--borda);border-radius:8px;cursor:pointer;font-size:16px}
.opcao:has(input:checked){border-color:var(--acento);background:#12261a}
button,.btn{display:inline-block;width:100%;margin-top:20px;padding:14px;border:0;border-radius:8px;background:var(--acento);color:#04140a;font:inherit;font-weight:800;font-size:17px;cursor:pointer;text-align:center;text-decoration:none}
button:disabled{opacity:.6;cursor:wait}
.btn.sec,button.sec{background:transparent;border:1px solid var(--borda);color:var(--texto);width:auto;padding:8px 14px;font-size:14px;font-weight:600;margin:0}
.btn.peq,button.peq{width:auto;padding:6px 10px;font-size:13px;margin:0}
button.perigo{background:#7f1d1d;color:#fecaca}
.erro{color:var(--erro);font-weight:600;margin-top:12px}
.ok{color:var(--acento);font-weight:700}
.qr{text-align:center;margin:16px 0}
.qr img{width:240px;max-width:100%;background:#fff;padding:8px;border-radius:8px}
.copia{width:100%;font-family:ui-monospace,monospace;font-size:12px;word-break:break-all;background:#0f1115;border:1px solid var(--borda);border-radius:8px;padding:10px;color:var(--fraco)}
.rodape{text-align:center;color:var(--fraco);font-size:13px;margin:24px 0 8px}
table.lista{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
table.lista th,table.lista td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--borda);vertical-align:top}
table.lista th{color:var(--fraco);font-weight:600}
.rolagem{overflow-x:auto}
.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700;background:#2a2f3a}
.badge.pago{background:#14532d;color:#bbf7d0}
.badge.pendente{background:#78350f;color:#fde68a}
.badge.falha{background:#7f1d1d;color:#fecaca}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.acoes form{display:inline}
.grade{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.grade{grid-template-columns:1fr}.linha{flex-direction:column;gap:0}.caixa{padding:16px}}
.aviso{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:12px;font-size:14px;margin-top:12px}
.msg{background:#12261a;border:1px solid #166534;border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:12px}
code{font-family:ui-monospace,monospace;font-size:13px;background:#0f1115;padding:2px 6px;border-radius:4px;word-break:break-all}

/* ===== checkout publico (layout claro sobre roxo N3) ===== */
body.fundo-pub{background:#fff;padding:28px 16px 40px;color:#1f1b2e}
.pub{max-width:640px;margin:0 auto}
.selo-seguro{display:inline-block;background:#16a34a;color:#fff;font-weight:700;font-size:14px;padding:8px 16px;border-radius:10px 10px 0 0;margin-left:22px}
.cartao{background:#fff;border:1px solid #e6e2f0;border-radius:14px;padding:28px 30px 26px;box-shadow:0 12px 40px rgba(27,10,46,.10)}
.cartao h1{font-size:19px;margin:0 0 2px;color:#1f1b2e}
.cartao h2{font-size:17px;margin:26px 0 12px;color:#1f1b2e}
.cartao p{color:#4b4660}
.produto{display:flex;gap:16px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid #ebe8f2;position:relative}
.produto-img{width:96px;height:96px;border-radius:12px;background:#1b0a2e;object-fit:cover;flex:none}
.preco{font-size:24px;font-weight:800;color:#6d28d9}
.preco-sub{font-size:13px;color:#6b6580}
.para{font-size:13px;color:#4b4660;margin-top:6px}
.tag-sandbox{position:absolute;right:0;top:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid2 .c2{grid-column:1/-1}
.cartao input:not([type=radio]),.cartao select{margin:0;background:#fff;border:1px solid #d9d4e6;color:#1f1b2e;border-radius:8px;padding:11px 12px;font-size:15px}
.cartao input:focus{outline:2px solid #8b5cf6;border-color:transparent}
.cartao .formas{gap:10px;margin:0}
.cartao .opcao{flex:0 1 180px;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #d9d4e6;border-radius:10px;font-weight:600;font-size:15px;color:#1f1b2e;background:#fff}
.cartao .opcao input{position:absolute;opacity:0;width:0;height:0}
.cartao .opcao:has(input:checked){background:#1b0a2e;color:#c4b5fd;border-color:#1b0a2e}
.painel{margin-top:14px;border:1px solid #ebe8f2;border-radius:12px;padding:16px;background:#fbfaff}
.cc-grid{display:grid;grid-template-columns:1fr 250px;gap:16px;align-items:start}
.cc-campos{display:grid;gap:10px}
.cc-campos .linha{display:flex;gap:10px}
.cc-campos .linha input{flex:1;min-width:0}
.cc-visual{background:linear-gradient(135deg,#2a1146,#12061f);border-radius:14px;color:#e9e4f5;padding:18px;height:158px;display:flex;flex-direction:column;justify-content:space-between;font-family:ui-monospace,Menlo,monospace;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.chip{width:36px;height:26px;border-radius:5px;background:linear-gradient(135deg,#d8ccf0,#8f7fb8)}
.cc-num{font-size:14px;letter-spacing:1.5px;white-space:nowrap}
.cc-rod{display:flex;justify-content:space-between;font-size:12px}
.cc-rod small{display:block;font-size:9px;opacity:.7;letter-spacing:.5px}
.detalhes{background:#f4f2fa;border-radius:10px;padding:6px 14px}
.detalhes div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e6e2f0;font-size:15px}
.detalhes div:last-child{border-bottom:0}
.detalhes b{color:#6d28d9;white-space:nowrap}
.detalhes .tot{font-weight:800}
.acao{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-top:24px}
.cartao button#btn{width:auto;min-width:220px;margin:0;padding:15px 34px;border-radius:10px;background:#1b0a2e;color:#fff;font-size:17px;font-weight:800}
.cartao button#btn:hover{background:#2a1146}
.seguro{font-size:13px;color:#15803d;font-weight:600;display:flex;align-items:center;gap:6px}
.seguro svg{flex:none}
.processado{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b6580;margin-top:6px}
.processado b{color:#1f1b2e}
.legal{margin-top:28px;padding-top:18px;border-top:1px solid #ebe8f2}
.legal img{border-radius:8px}
.legal p{font-size:12px;color:#8a849c;margin:10px 0 0}
.cartao .erro{color:#b91c1c}
.cartao #resultado .aviso{background:#f4f2fa;border-color:#d9d4e6;color:#1f1b2e}
.cartao #resultado .copia{background:#f4f2fa;border-color:#d9d4e6;color:#1f1b2e}
.cartao #resultado button{background:#1b0a2e;color:#fff}
.cartao #resultado .nota,.cartao .nota{color:#6b6580}
@media(max-width:640px){.cartao{padding:20px 16px}.grid2{grid-template-columns:1fr}.cc-grid{grid-template-columns:1fr}.cc-visual{display:none}.produto{flex-wrap:wrap}.acao{align-items:stretch}.cartao button#btn{width:100%}}
