.barcode-camera-dialog{box-sizing:border-box;width:420px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);padding:20px;border:1px solid #dde2e8;border-radius:16px;background:#fff;color:#12273b;overflow:auto}
.barcode-camera-dialog::backdrop{background:#071b2bcc}
.barcode-camera-dialog h2{margin:0 0 8px;font-size:20px}
.barcode-camera-dialog p{font-size:14px;line-height:1.45;margin:8px 0 12px;color:#596879}
.barcode-camera-preview{position:relative;border-radius:10px;background:#10283c;overflow:hidden}
.barcode-camera-dialog video{display:block;width:100%;height:auto;max-height:42dvh;aspect-ratio:4/3;object-fit:contain;background:#10283c}
.barcode-camera-frame{position:absolute;pointer-events:none;inset:23% 7%;border:2px solid #fff9;border-radius:8px;box-shadow:0 0 0 80px #071b2b33}
.barcode-camera-dialog [hidden]{display:none!important}
.barcode-camera-dialog .barcode-camera-status{min-height:40px;margin:10px 0;font-size:13px}
.barcode-camera-dialog button{min-height:44px;width:100%;margin:0 0 8px}
.barcode-camera-tools{display:flex;gap:8px}
.barcode-camera-tools button{flex:1 1 0;min-width:0}
.barcode-camera-dialog button:last-child{margin-bottom:0}
.barcode-scan-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.barcode-scan-actions button{min-height:44px;flex:1 1 150px;margin:0}
@media(max-width:480px){.barcode-camera-dialog{padding:16px}.barcode-camera-dialog h2{font-size:18px}.barcode-camera-dialog video{max-height:36dvh}}
