.search-form form:has(#vsk-barcode-open) .searchInput { padding-right: 50px; }
.search-form form #vsk-barcode-open { left: auto; right: 0; width: 44px; font-size: 21px; }
.search-form form #vsk-barcode-open:focus-visible { outline: 2px solid #100dd1; }
#vsk-barcode-modal[hidden], #vsk-barcode-modal [hidden] { display: none !important; }
#vsk-barcode-modal { position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.75); display: flex; align-items: center; justify-content: center; padding: 16px; overflow-y: auto; }
#vsk-barcode-modal .vsk-barcode-panel { width: 100%; max-width: 480px; max-height: 100%; overflow-y: auto; padding: 20px; border-radius: 12px; background: #fff; color: #202530; }
#vsk-barcode-modal .vsk-barcode-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
#vsk-barcode-modal h2 { font-size: 20px; margin: 0; color: #202530; }
#vsk-barcode-modal p { color: #202530; margin: 12px 0; }
#vsk-barcode-modal button { min-height: 44px; border: 1px solid #100dd1; border-radius: 6px; padding: 8px 14px; background: #fff; color: #100dd1; }
#vsk-barcode-modal .vsk-barcode-preview { position: relative; background: #111; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; }
#vsk-barcode-video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
#vsk-barcode-modal .vsk-barcode-guide { position: absolute; left: 50%; top: 50%; width: 84%; height: 42%; transform: translate(-50%, -50%); box-sizing: border-box; border: 2px solid #fff; border-radius: 8px; pointer-events: none; }
#vsk-barcode-again { width: 100%; }
