:root { --grv-gold: #d4af37; --grv-deep: #121212; --grv-soft: #f7f1dc; }
body.grv-review-body, .grv-review-wrap { margin:0; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:radial-gradient(circle at top,#2b2110,#0b0b0b 55%); color:#fff; }
.grv-review-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.grv-review-card { width:100%; max-width:620px; background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03)); border:1px solid rgba(212,175,55,.35); box-shadow:0 24px 80px rgba(0,0,0,.35); border-radius:28px; padding:24px; backdrop-filter:blur(18px); }
.grv-badge{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(212,175,55,.15);color:#f6df92;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.grv-title{font-size:30px;margin:16px 0 10px;line-height:1.15}.grv-desc{color:#e8dfc7;font-size:15px;line-height:1.6}
.grv-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.grv-steps div{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:13px;color:#f4e4ae}
.grv-actions{display:grid;gap:14px;margin-top:18px}.grv-btn,.grv-upload{border:0;border-radius:18px;padding:16px 18px;width:100%;cursor:pointer;font-size:16px;font-weight:700}
.grv-btn{background:linear-gradient(135deg,#f0cf68,#b98a10);color:#1e1605;text-decoration:none;display:block;text-align:center}.grv-btn-dark{background:linear-gradient(135deg,#ffebaf,#d4af37)}
.grv-upload{background:rgba(255,255,255,.05);color:#fff;border:1px dashed rgba(255,255,255,.2)}.grv-text{box-sizing:border-box}
.grv-note{font-size:13px;color:#d9cda8;}#grv-status,#grv-scan-status{margin-top:14px;font-size:14px;color:#f5d878}
.grv-card-success,.grv-card-fail{background:#1a160a;border:1px solid rgba(212,175,55,.35);padding:16px;border-radius:20px;margin-top:16px}.grv-card-fail{border-color:rgba(255,120,120,.35);background:#211010}
.grv-voucher-label{font-size:12px;color:#d9cda8;text-transform:uppercase;letter-spacing:.08em}.grv-voucher-code{font-size:32px;font-weight:800;color:#fff;margin-top:8px;word-break:break-word}.grv-voucher-sub{font-size:12px;color:#ccb97b;margin-top:6px;word-break:break-all}
.grv-qr-box{margin-top:16px;display:flex;justify-content:center}.grv-qr-box img{width:220px;height:220px;border-radius:18px;background:#fff;padding:10px}.grv-link-box{margin-top:10px;text-align:center}.grv-link-box a{color:#f7e4a1}
.grv-scan-box{margin-top:18px;padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.grv-scan-video{width:100%;background:#000;border-radius:16px;min-height:220px;object-fit:cover}.grv-scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (max-width:600px){.grv-title{font-size:26px}.grv-steps,.grv-scan-actions{grid-template-columns:1fr}}

.grv-claim-preview{margin-top:16px;text-align:center}
.grv-claim-preview-link{display:inline-block;text-decoration:none}
.grv-claim-preview-img{width:120px;height:auto;max-height:180px;border-radius:14px;border:1px solid rgba(212,175,55,.35);background:#fff;padding:6px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
#grv-scan-video{position:relative;overflow:hidden}
#grv-scan-video video,#grv-scan-video canvas{width:100%!important;height:100%!important;object-fit:cover;border-radius:16px}

.grv-native-video{width:100%;height:100%;background:#000;border-radius:16px;object-fit:cover;display:block}


.grv-queue-box{margin:16px 0 10px;padding:14px 14px 12px;border:1px solid rgba(215,174,54,.25);border-radius:18px;background:rgba(255,255,255,.03)}
.grv-queue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grv-queue-item{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.grv-queue-item span{display:block;font-size:12px;opacity:.78;margin-bottom:4px}
.grv-queue-item strong{font-size:24px;line-height:1.1;color:#f0cf67}
.grv-queue-warning{margin-top:10px;padding:11px 12px;border-radius:14px;font-size:14px;font-weight:600}
.grv-queue-warning.is-warn{background:rgba(255,196,0,.12);border:1px solid rgba(255,196,0,.28);color:#f4d36c}
.grv-queue-warning.is-danger{background:rgba(175,32,32,.16);border:1px solid rgba(216,68,68,.32);color:#ffb5b5}
.grv-queue-sub{margin-top:8px;font-size:12px;opacity:.78}
@media (max-width:640px){.grv-queue-grid{grid-template-columns:1fr}.grv-queue-item strong{font-size:22px}}
