:root{--roxo:#6d28d9;--roxo-esc:#4c1d95;--fundo:#0f0e17;--card:#1b1a27;--texto:#e7e5f4;--suave:#9b98b8;--verde:#22c55e;--verm:#ef4444}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--fundo);color:var(--texto);min-height:100vh;display:flex;flex-direction:column}
a{color:#a78bfa;text-decoration:none}
.topo{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--card);border-bottom:1px solid #2b2a3d}
.logo{font-size:1.5rem;font-weight:800;color:#fff}.logo span{color:#a78bfa}
.topo nav{display:flex;gap:16px;align-items:center;color:var(--suave);font-size:.9rem}
.container{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:28px 20px}
.rodape{text-align:center;padding:16px;color:var(--suave);font-size:.78rem;border-top:1px solid #2b2a3d}
h1{font-size:1.6rem;margin-bottom:6px}h2{font-size:1.15rem;margin:22px 0 10px}
p.sub{color:var(--suave);margin-bottom:22px}
.card{background:var(--card);border:1px solid #2b2a3d;border-radius:14px;padding:22px;margin-bottom:18px}
.form-slim{max-width:420px;margin:40px auto}
label{display:block;font-size:.85rem;color:var(--suave);margin:12px 0 4px}
input,select,textarea{width:100%;padding:11px 12px;border-radius:9px;border:1px solid #37354e;background:#131220;color:var(--texto);font-size:.95rem}
input:focus{outline:2px solid var(--roxo)}
.btn{display:inline-block;margin-top:16px;padding:12px 22px;border:0;border-radius:10px;background:var(--roxo);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer}
.btn:hover{background:var(--roxo-esc)}
.btn-sec{background:#2b2a3d}.btn-sec:hover{background:#37354e}
.btn-verde{background:var(--verde);color:#04220f}
.alerta{padding:12px 14px;border-radius:10px;margin:14px 0;font-size:.9rem}
.alerta.erro{background:#3b1219;color:#fda4af;border:1px solid #7f1d1d}
.alerta.ok{background:#0c2a18;color:#86efac;border:1px solid #14532d}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid #2b2a3d}
th{color:var(--suave);font-weight:600}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.midia{position:relative;border-radius:10px;overflow:hidden;background:#000;border:2px solid transparent;cursor:pointer}
.midia img,.midia video{width:100%;display:block;pointer-events:none}
.midia.sel{border-color:var(--verde)}
.midia .marca-sel{position:absolute;top:8px;right:8px;background:var(--verde);color:#04220f;width:26px;height:26px;border-radius:50%;display:none;align-items:center;justify-content:center;font-weight:800}
.midia.sel .marca-sel{display:flex}
.midia .escudo{position:absolute;inset:0;z-index:5}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.badge.pago{background:#0c2a18;color:#86efac}.badge.pend{background:#3b2b12;color:#fcd34d}
.linha-flex{display:flex;gap:14px;flex-wrap:wrap;align-items:end}
.linha-flex>div{flex:1;min-width:160px}
.qr{background:#fff;padding:14px;border-radius:12px;display:inline-block}
.copia-cola{font-family:monospace;font-size:.75rem;word-break:break-all;background:#131220;padding:10px;border-radius:8px;margin-top:10px}
.total-bar{position:sticky;bottom:0;background:var(--card);border-top:1px solid #2b2a3d;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0}
video#camera{width:100%;max-width:420px;border-radius:12px;background:#000}
.centro{text-align:center}
.aviso-legal{font-size:.72rem;color:var(--suave);opacity:.55;margin-top:8px}
.barra-envio{position:relative;height:26px;background:#131220;border:1px solid #37354e;border-radius:999px;overflow:hidden}
.barra-fill{height:100%;width:0;background:linear-gradient(90deg,var(--roxo),#a78bfa);transition:width .3s}
.barra-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.envio-info{display:flex;justify-content:space-between;margin-top:6px;font-size:.85rem;color:var(--suave)}
@media print{body{display:none!important}}
