/* UGARIT R32 — minimal barcode controls, scoped to prevent layout regressions. */
.ub-editor{display:block;min-width:0;margin:22px 0;padding:18px;background:#f8f9fa;border:1px solid #e5e7e9;border-radius:14px}
.ub-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:14px;font-weight:600;color:#28312f}
.ub-label small{font-size:12px;font-weight:400;color:#77807e}
.ub-input-label{display:block!important;margin:0!important}
.ub-editor .ub-input-label input{display:block;width:100%;min-height:46px;font-size:16px;box-sizing:border-box;margin:0;background:#fff;border:1px solid #dce1df;border-radius:9px;padding:11px 12px;color:#222b29}
.ub-actions{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0 0;align-items:stretch}
.ub-actions button,.ub-scan-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;font-size:14px;line-height:1.3;border-radius:9px;white-space:normal;text-decoration:none!important}
.ub-actions .ub-scan-button{background:#252d2b!important;color:#fff!important;border:1px solid #252d2b!important}
.ub-actions .ub-add-button{background:#fff!important;color:#252d2b!important;border:1px solid #d9dfdc!important}
.ub-add-button>span{font-size:20px;line-height:14px;font-weight:400}
.ub-scan-button svg{flex:none}
.ub-help,.ub-notice,.ub-error{font-size:12px!important;line-height:1.65!important;margin:10px 0 0!important;overflow-wrap:anywhere}
.ub-help{color:#69736f!important}.ub-notice{color:#345b49!important}.ub-error{color:#9c302f!important}
.ub-codes{display:grid;gap:8px;margin-top:14px}
.ub-code{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px 11px;border-radius:9px;background:#fff;border:1px solid #e7ebe8;min-width:0}
.ub-code-value{min-width:0}.ub-code-value code{font-size:14px;color:#202824;overflow-wrap:anywhere}.ub-code-value small{display:block;color:#6e7772;font-size:11px;line-height:1.6;margin-top:3px}
.ub-code-tools{display:flex;align-items:center;flex-wrap:wrap;gap:2px;justify-content:flex-end;flex-shrink:0}
.ub-code-tools button{border:0!important;background:transparent!important;font-size:12px!important;min-height:36px;padding:7px!important;text-decoration:none!important;color:#515b55!important;box-shadow:none!important}
.ub-editor button:disabled,.ub-scan-dialog button:disabled{opacity:.5;cursor:not-allowed}
.ub-editor :focus-visible,.ub-scan-dialog :focus-visible,.ub-scan-button:focus-visible{outline:2px solid #637e6f;outline-offset:3px}
.ub-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ub-scan-dialog{box-sizing:border-box;color:#222b26;background:#fff;width:calc(100% - 28px);max-width:520px;max-height:calc(100dvh - 32px);border:0;border-radius:18px;padding:22px;margin:auto;box-shadow:0 20px 80px #0004;font-family:inherit;overflow:auto;overscroll-behavior:contain}
.ub-scan-dialog::backdrop{background:rgba(18,25,22,.68)}
.ub-scan-dialog *{box-sizing:border-box}
.ub-camera-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.ub-camera-heading small{font-size:10px;letter-spacing:.13em;color:#758078}
.ub-camera-heading h2{font-size:24px;line-height:1.25;margin:5px 0 0;font-weight:600;letter-spacing:-.02em}
.ub-scan-dialog button{cursor:pointer;border:1px solid #dce2de;background:#f8faf9;color:#29332d;padding:10px 12px;border-radius:9px;min-height:44px;font:inherit;font-size:13px;text-decoration:none}
.ub-camera-heading .ub-close{font-size:26px;line-height:1;padding:0;width:44px;flex-shrink:0;background:#f2f5f3;border:0}
.ub-camera-frame{position:relative;overflow:hidden;border-radius:12px;background:#121815;aspect-ratio:4/3}
.ub-camera-video{display:block;width:100%;height:100%;object-fit:cover}
.ub-camera-guide{position:absolute;inset:30% 7%;border:2px solid rgba(255,255,255,.85);border-radius:8px;pointer-events:none;box-shadow:0 0 0 150px rgba(0,0,0,.13)}
.ub-camera-status{font-size:14px;line-height:1.65;color:#53625a;margin:16px 0;min-height:46px}
.ub-camera-actions{display:flex;gap:8px;flex-wrap:wrap}
.ub-camera-actions button{flex:1;white-space:normal}
.ub-staff-barcode{margin:16px 0}.ub-staff-barcode .field{margin-bottom:0}
.ub-staff-barcode .ub-actions{margin-bottom:5px}
@media(max-width:520px){.ub-editor{padding:13px;margin:18px 0}.ub-actions>.ub-scan-button,.ub-actions>.ub-add-button{flex:1;min-width:125px;font-size:13px;padding:10px 8px}.ub-code{flex-wrap:wrap}.ub-code-tools{flex:1;justify-content:flex-end}.ub-scan-dialog{padding:18px;border-radius:15px}.ub-camera-actions button{min-width:105px}.ub-camera-status{font-size:13px}.ub-camera-heading h2{font-size:22px}}
@media print{.ub-actions,.ub-code-tools,.ub-scan-dialog{display:none!important}}
