WalletScanScreen
fun WalletScanScreen(onScanned: (String) -> Unit, onClose: () -> Unit, modifier: Modifier = Modifier)
Holder-side scan screen. The user scans either a verifier's request QR (e.g. a website's "share with wallet" code → presentment) or an issuer's credential offer QR (openid-credential-offer://… → add to wallet); onScanned fires once with the decoded string and the host routes it (see isCredentialOffer). Camera permission is asked for inside.
onScanned fires at most once per scan.