.barcode-input-wrap{position:relative;display:flex;flex:1;min-width:0}
.barcode-launch{display:none!important}
@media(max-width:640px){
 .barcode-input-wrap>input,.search-input-wrap.barcode-enabled>input{padding-right:44px!important;min-width:0;width:100%}
 .search-input-wrap.barcode-enabled{position:relative}
 .site-header button.barcode-launch{display:flex!important;position:absolute;right:2px;top:0;bottom:0;width:40px;min-width:40px;padding:6px;align-items:center;justify-content:center;background:transparent;color:#243342;border:0;border-radius:4px;box-shadow:none;z-index:2}
 .barcode-launch svg{width:24px;height:24px}
}
.barcode-dialog{box-sizing:border-box;width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--line,var(--main_bg_light_border,#59616b));border-radius:14px;background:var(--surface,var(--main_bg_light,#fff));color:var(--text,var(--main_text,#18232e));padding:18px;}
.barcode-dialog::backdrop{background:#000a}
.barcode-dialog [hidden]{display:none!important}
.barcode-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.barcode-head h2{font-size:20px;margin:0}
.barcode-dialog button{font:inherit;color:inherit;background:var(--surface,var(--main_bg_light,#fff));border:1px solid var(--line,var(--main_bg_light_border,#59616b));padding:8px 12px;border-radius:6px;min-height:44px;cursor:pointer}
.barcode-dialog button:focus-visible,.barcode-launch:focus-visible{outline:2px solid var(--accent,#238b72);outline-offset:2px}
.barcode-dialog p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.barcode-camera{position:relative;background:#111;border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.barcode-camera video{width:100%;height:100%;object-fit:cover;display:block}
.barcode-guide{position:absolute;inset:30% 7%;border:3px solid #fff;border-radius:8px;box-shadow:0 0 0 200px #0005;pointer-events:none}
.barcode-guide::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#ff5964}
.barcode-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.barcode-manual{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.barcode-manual label{width:100%;font-size:13px}
.barcode-manual input{box-sizing:border-box;min-width:0;flex:1;width:160px;font:inherit;padding:10px;border-radius:6px;border:1px solid var(--line,var(--main_bg_light_border,#59616b));color:inherit;background:var(--surface,var(--main_bg_light,#fff))}
.barcode-status{font-weight:600;min-height:24px}
