/* Explicit component styles: public JS is outside Tailwind's content globs. */
dialog.scan-verification { box-sizing: border-box; width: 420px; max-width: calc(100vw - 24px); padding: 24px; border: 1px solid #cbd5e1; border-radius: 16px; background: #fff; color: #0f172a; box-shadow: 0 24px 64px #0f172a33; font: 16px/1.5 system-ui, sans-serif; }
dialog.scan-verification::backdrop { background: #0f172a99; }
.scan-verification h2 { margin: 0 0 8px; font-size: 22px; font-weight: 700; line-height: 1.3; }
.scan-verification p { margin: 0 0 16px; }
.scan-verification .scan-verification-help { color: #475569; font-size: 14px; }
.scan-verification [role="status"] { font-weight: 600; }
.scan-verification .scan-challenge { min-height: 65px; }
.scan-verification-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.scan-verification button { appearance: none; min-height: 44px; padding: 10px 18px; border: 1px solid #94a3b8; border-radius: 8px; background: #fff; color: #334155; font: inherit; font-weight: 600; cursor: pointer; }
.scan-verification button:hover { background: #f1f5f9; }
.scan-verification button:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.scan-verification .scan-reset { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.scan-verification .scan-reset:hover { background: #1e40af; }
.scan-verification [hidden] { display: none !important; }
@media (max-width: 380px) { dialog.scan-verification { padding: 16px; } .scan-verification h2 { font-size: 20px; } }
