.rj-box,.rj-card{max-width:560px;margin:24px auto;padding:24px;border:1px solid #ddd;border-radius:16px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.rj-signup input,.rj-scanner input{width:100%;box-sizing:border-box;padding:13px 14px;margin:7px 0;border:1px solid #bbb;border-radius:9px;font-size:16px}
.rj-signup button,.rj-scanner button{width:100%;padding:13px;border:0;border-radius:9px;font-size:16px;font-weight:700;cursor:pointer;background:#176b35;color:#fff;margin-top:8px}
.rj-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rj-card{text-align:center;background:linear-gradient(135deg,#fff,#f3fff5)}
.rj-card-head{display:flex;justify-content:space-between;align-items:center;text-align:left}.rj-card-head strong{display:block;font-size:24px;color:#176b35}.rj-card-head span{font-size:12px;letter-spacing:2px}.rj-status{background:#e7f7ec;color:#176b35;padding:6px 10px;border-radius:999px;font-weight:700}.rj-member-number{font-weight:700;margin-bottom:8px}.rj-points{font-size:18px;margin:8px 0}.rj-points b{font-size:28px;color:#176b35}.rj-barcode{max-width:100%;height:auto}.rj-error{background:#fff0f0;border:1px solid #f0b2b2;color:#9a1f1f;padding:10px;border-radius:8px}.rj-member-hit{margin-top:16px;border-top:1px solid #ddd;padding-top:14px}@media(max-width:600px){.rj-grid{grid-template-columns:1fr}.rj-box,.rj-card{margin:12px;padding:18px}}
