.barcodeScanner-module__Sczo5q__wrapper{align-items:center;gap:var(--space-md,1rem);flex-direction:column;max-width:640px;margin-inline:auto;display:flex}.barcodeScanner-module__Sczo5q__scanner{aspect-ratio:4/3;border-radius:var(--radius-md,12px);cursor:pointer;background:#111;width:100%;position:relative;overflow:hidden}.barcodeScanner-module__Sczo5q__scanner:focus-visible{outline:2px solid var(--color-primary,#f59e0b);outline-offset:2px}.barcodeScanner-module__Sczo5q__video{object-fit:cover;width:100%;height:100%}.barcodeScanner-module__Sczo5q__overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.barcodeScanner-module__Sczo5q__scanFrame{border-radius:8px;width:min(85%,320px);height:38%;animation:2.4s ease-in-out infinite barcodeScanner-module__Sczo5q__framePulse;position:relative;box-shadow:0 0 0 9999px #0006}.barcodeScanner-module__Sczo5q__scanFrame:before,.barcodeScanner-module__Sczo5q__scanFrame:after,.barcodeScanner-module__Sczo5q__scanFrame>.barcodeScanner-module__Sczo5q__corner{content:""}.barcodeScanner-module__Sczo5q__scanFrame:before{--frame-color:#fffffff2;border-radius:inherit;background:linear-gradient(var(--frame-color), var(--frame-color)) top left / 28px 3px no-repeat, linear-gradient(var(--frame-color), var(--frame-color)) top left / 3px 28px no-repeat, linear-gradient(var(--frame-color), var(--frame-color)) top right / 28px 3px no-repeat, linear-gradient(var(--frame-color), var(--frame-color)) top right / 3px 28px no-repeat, linear-gradient(var(--frame-color), var(--frame-color)) bottom left / 28px 3px no-repeat, linear-gradient(var(--frame-color), var(--frame-color)) bottom left / 3px 28px no-repeat, linear-gradient(var(--frame-color), var(--frame-color)) bottom right / 28px 3px no-repeat, linear-gradient(var(--frame-color), var(--frame-color)) bottom right / 3px 28px no-repeat;position:absolute;inset:0}.barcodeScanner-module__Sczo5q__scanFrame:after{background:linear-gradient(90deg, transparent, var(--color-primary,#f59e0b) 20%, var(--color-primary,#f59e0b) 80%, transparent);height:2px;animation:2.2s ease-in-out infinite barcodeScanner-module__Sczo5q__scanLine;position:absolute;left:6%;right:6%}.barcodeScanner-module__Sczo5q__scanFrame[data-variant=looking-up]:before{--frame-color:var(--color-success)}@keyframes barcodeScanner-module__Sczo5q__scanLine{0%{opacity:0;top:8%}15%{opacity:1}85%{opacity:1}to{opacity:0;top:92%}}@keyframes barcodeScanner-module__Sczo5q__framePulse{0%,to{box-shadow:0 0 0 9999px #0006}50%{box-shadow:0 0 0 9999px #0006, 0 0 0 4px color-mix(in srgb, var(--color-primary) 30%, transparent)}}.barcodeScanner-module__Sczo5q__scanningOverlay{color:#fff;pointer-events:none;opacity:0;background:#0000008c;justify-content:center;align-items:center;font-size:.95rem;animation:.2s forwards barcodeScanner-module__Sczo5q__overlayFadeIn;display:flex;position:absolute;inset:0}.barcodeScanner-module__Sczo5q__scanningOverlay[data-variant=looking-up]{background:#ffffff0d}.barcodeScanner-module__Sczo5q__scanningOverlay[data-variant=done]{color:var(--color-success,#16a34a);background:#000000a6;font-weight:600}.barcodeScanner-module__Sczo5q__scanner[data-inactive] .barcodeScanner-module__Sczo5q__video{filter:grayscale()brightness(.45)}.barcodeScanner-module__Sczo5q__scanFrame[data-variant=done]:before{--frame-color:var(--color-success,#16a34a)}.barcodeScanner-module__Sczo5q__scanFrame[data-variant=done]:after{opacity:.6;animation:none;top:50%}.barcodeScanner-module__Sczo5q__productModal{gap:var(--space-lg,1.25rem);flex-direction:column;display:flex}.barcodeScanner-module__Sczo5q__productModal>button{width:100%}.barcodeScanner-module__Sczo5q__guideModal{gap:var(--space-md,1rem);flex-direction:column;padding-inline-end:var(--space-lg,1.25rem);display:flex}.barcodeScanner-module__Sczo5q__guideTitle{margin:0;font-size:1.25rem;font-weight:700}.barcodeScanner-module__Sczo5q__guideIntro{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.7}.barcodeScanner-module__Sczo5q__guideSteps{gap:var(--space-md,1rem);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.barcodeScanner-module__Sczo5q__guideStep{gap:var(--space-sm,.75rem);align-items:flex-start;display:flex}.barcodeScanner-module__Sczo5q__guideStepNumber{background:color-mix(in srgb, var(--color-primary,#f59e0b) 18%, transparent);width:1.75rem;height:1.75rem;color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;font-size:.8rem;font-weight:700;display:flex}.barcodeScanner-module__Sczo5q__guideStepTitle{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.barcodeScanner-module__Sczo5q__guideStepText{color:var(--color-text-muted);margin:0;font-size:.85rem;line-height:1.65}.barcodeScanner-module__Sczo5q__guideActions{gap:var(--space-sm,.75rem);margin-top:var(--space-sm,.75rem);flex-direction:column;display:flex}@keyframes barcodeScanner-module__Sczo5q__overlayFadeIn{0%{opacity:0}to{opacity:1}}.barcodeScanner-module__Sczo5q__hiddenCanvas{display:none}.barcodeScanner-module__Sczo5q__message,.barcodeScanner-module__Sczo5q__hint{color:var(--color-text-muted);text-align:center;opacity:.75;margin-top:-.25rem;font-size:.875rem;transition:opacity .2s}.barcodeScanner-module__Sczo5q__errorBox{border-radius:var(--radius-md,12px);background:color-mix(in srgb, var(--color-error,#dc2626) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-error,#dc2626) 35%, transparent);width:100%;padding:.875rem 1rem;animation:.25s barcodeScanner-module__Sczo5q__errorSlideIn}@keyframes barcodeScanner-module__Sczo5q__errorSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.barcodeScanner-module__Sczo5q__errorTitle{margin-bottom:.35rem;font-weight:600}.barcodeScanner-module__Sczo5q__errorText{color:var(--color-text-muted);font-size:.95rem;line-height:1.6}@media (max-width:380px){.barcodeScanner-module__Sczo5q__scanner{aspect-ratio:3/4}.barcodeScanner-module__Sczo5q__scanFrame{width:90%;height:45%}}
