#cust-input h2 { font-size: 23px; letter-spacing: -.03em; margin: 0 0 10px; text-align: center; }
#cust-input .scan-intro { text-align: center; font-size: 14px; line-height: 1.6; color: var(--slate); margin-bottom: 20px; }
#scan-qr-button { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 62px; font-size: 17px; }
#scan-qr-button svg { flex: none; }
#cust-input .scan-divider { display: flex; align-items: center; gap: 12px; margin: 25px 0 18px; color: var(--slate); font-size: 12px; }
.scan-divider::before, .scan-divider::after { content: ''; height: 1px; background: var(--line); flex: 1; }
#qr-scanner { position: fixed; inset: 0; margin: auto; width: calc(100% - 24px); max-width: 440px; max-height: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 24px; border: 0; border-radius: 24px; background: #fff; color: #14171f; box-shadow: 0 20px 70px #0004; overflow: auto; }
#qr-scanner::backdrop { background: #0b143cbb; }
#qr-scanner [hidden] { display: none !important; }
.scan-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.scan-heading h2 { font-size: 21px; letter-spacing: -.03em; }
#scan-close { width: 44px; height: 44px; flex: none; border: 0; border-radius: 50%; background: #eff2fe; color: #172147; display: grid; place-items: center; cursor: pointer; }
.scan-view { position: relative; width: 100%; aspect-ratio: 1; max-height: 46dvh; overflow: hidden; border-radius: 18px; background: #172147; }
#scan-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.scan-frame { position: absolute; inset: 16%; border: 3px solid #34d399; border-radius: 18px; box-shadow: 0 0 0 100px #0003; pointer-events: none; }
.scan-failed .scan-view { display: none; }
#scan-status { margin: 18px 0 12px; font-size: 14px; line-height: 1.6; text-align: center; }
.scan-privacy { text-align: center; color: #606978; font-size: 11px; line-height: 1.5; margin-top: 18px; }
#scan-enter-code { min-height: 44px; padding: 10px; }
#scan-qr-button:focus-visible, #qr-scanner button:focus-visible { outline: 3px solid #2451ff; outline-offset: 4px; }
body:has(#qr-scanner[open]) { overflow: hidden; }
