.qr-scanner-wrap[data-v-c5d84dcc]{display:flex;flex-direction:column;align-items:center;margin-top:2rem}.scan-trigger-btn[data-v-c5d84dcc]{font-size:1.15rem;font-weight:700;color:#222;background:#99d4f2;border:none;border-radius:2rem;padding:.85rem 2.75rem;cursor:pointer;transition:background .18s}.scan-trigger-btn[data-v-c5d84dcc]:active{background:#7cc4e8}.qr-overlay[data-v-c5d84dcc]{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000}.qr-modal[data-v-c5d84dcc]{background:#1e1e1e;border-radius:12px;padding:1.25rem;width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center}.qr-modal-header[data-v-c5d84dcc]{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.qr-modal-title[data-v-c5d84dcc]{color:#fff;font-size:1.1rem;font-weight:600}.qr-close[data-v-c5d84dcc]{background:none;border:none;color:#bbb;font-size:1.6rem;line-height:1;cursor:pointer}.qr-video-wrap[data-v-c5d84dcc]{width:100%;display:flex;justify-content:center}.qr-video[data-v-c5d84dcc]{width:100%;max-width:320px;height:320px;-o-object-fit:cover;object-fit:cover;background:#000;border-radius:8px}.qr-hint[data-v-c5d84dcc]{color:#cfcfcf;font-size:.9rem;text-align:center;margin-top:.85rem}.qr-error[data-v-c5d84dcc]{color:#ff6b6b;font-size:.95rem;text-align:center;margin-top:.85rem}.qr-cancel-btn[data-v-c5d84dcc]{margin-top:1.1rem;background:none;color:#cfcfcf;border:1px solid #555;border-radius:2rem;padding:.55rem 2rem;font-size:1rem;cursor:pointer}.qr-cancel-btn[data-v-c5d84dcc]:active{background:hsla(0,0%,100%,.08)}.scan-result[data-v-07ef7bf2]{margin-top:1rem;font-size:1.1rem;color:#fff}.scan-result.error[data-v-07ef7bf2]{color:#ff5252}.loading-overlay[data-v-2ec24550]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.spinner[data-v-2ec24550]{border:6px solid #f3f3f3;border-top:6px solid #99d4f2;border-radius:50%;width:60px;height:60px;animation:spin-2ec24550 1s linear infinite;margin-bottom:1.5rem}@keyframes spin-2ec24550{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text[data-v-2ec24550]{color:#fff;font-size:1.25rem;font-weight:500;text-align:center}