.qr-camera-modal{position:fixed;inset:0;z-index:200000;display:none;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at top,rgba(245,158,11,.20),transparent 32%),radial-gradient(circle at bottom,rgba(220,38,38,.20),transparent 34%),rgba(0,0,0,.92)}
.qr-camera-modal.active{display:flex}.qr-camera-box{width:min(520px,96vw);overflow:hidden;border-radius:28px;background:radial-gradient(circle at top left,rgba(245,158,11,.18),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),rgba(8,8,8,.96);border:1px solid rgba(245,158,11,.36);box-shadow:0 0 70px rgba(245,158,11,.22),0 30px 110px rgba(0,0,0,.75);animation:qrModalEnter .28s ease both}
.qr-camera-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid rgba(255,255,255,.09)}.qr-camera-header h3{margin:0 0 5px;color:#fff;font-size:22px;font-weight:950}.qr-camera-header p{margin:0;color:#cbd5e1;font-size:13px;line-height:1.35}.qr-camera-close{width:42px;height:42px;margin:0;padding:0;border-radius:15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:20px}
.qr-reader-wrap{position:relative;margin:16px;overflow:hidden;border-radius:24px;background:#000;border:1px solid rgba(255,255,255,.10);min-height:320px}#qrCameraReader{position:relative;z-index:1;min-height:320px}#qrCameraReader video{border-radius:24px;object-fit:cover!important}.qr-scan-frame{position:absolute;inset:32px;z-index:4;pointer-events:none;border-radius:24px;border:2px solid rgba(245,158,11,.92);box-shadow:0 0 0 999px rgba(0,0,0,.28),0 0 34px rgba(245,158,11,.36),inset 0 0 24px rgba(245,158,11,.22)}
.qr-scan-frame::before{content:"";position:absolute;left:10%;right:10%;top:0;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,#fbbf24,transparent);box-shadow:0 0 18px #fbbf24;animation:qrScanLine 1.6s ease-in-out infinite}.qr-camera-status{margin:0 18px 14px;padding:12px;border-radius:16px;color:#fbbf24;font-size:13px;font-weight:850;text-align:center;background:rgba(0,0,0,.34);border:1px solid rgba(245,158,11,.22)}.qr-manual-fallback{padding:0 18px 18px}.qr-manual-fallback.hidden{display:none}.qr-camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 18px}.qr-camera-actions button{margin:0}body.qr-camera-open{overflow:hidden}
@keyframes qrModalEnter{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes qrScanLine{0%,100%{top:10%;opacity:.45}50%{top:88%;opacity:1}}
@media(max-width:760px){.qr-camera-modal{padding:10px}.qr-camera-box{width:100%;border-radius:26px}.qr-reader-wrap{min-height:62vh;margin:12px}#qrCameraReader{min-height:62vh}.qr-scan-frame{inset:24px}.qr-camera-actions{grid-template-columns:1fr}}
