/* Scoped scanner layout. Application tables, forms and other modals retain their styles. */
.sf-qr-overlay{position:fixed;z-index:4000;inset:0 0 auto;height:var(--sf-qr-height,100dvh);width:100%;display:flex;align-items:center;justify-content:center;background:#102c29a8;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;overscroll-behavior:contain;touch-action:auto;font-family:Inter,'Segoe UI',Arial,sans-serif;color:#253d36;font-size:14px;line-height:1.5}
.sf-qr-overlay *{box-sizing:border-box;min-width:0}.sf-qr-card{width:100%;max-width:620px;max-height:100%;min-height:0;display:flex;flex-direction:column;border:1px solid #dbe6e0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 70px #091e2940}.sf-qr-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid #dce6e0;background:#fff}.sf-qr-head h2{font-size:20px;line-height:1.3;margin:0;color:#245a50;overflow-wrap:anywhere}.sf-qr-close{border:1px solid #dce4df;border-radius:9px;background:#fff;color:#335d50;cursor:pointer;min-width:44px;min-height:44px;font-size:25px;line-height:1}
.sf-qr-body{overflow:auto;min-height:0;padding:18px 20px 22px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.sf-qr-body p{margin:0 0 12px;font-size:14px}.sf-qr-reader{width:100%;min-height:150px;max-width:100%;background:#10241e;border:1px solid #ccdbd2;border-radius:12px;overflow:hidden;display:block}.sf-qr-reader:empty::before{content:'Camera is off';display:flex;min-height:150px;align-items:center;justify-content:center;color:#c7ddd3;font-size:14px}.sf-qr-reader[data-sf-qr-state=starting]:empty::before{content:'Starting camera…'}.sf-qr-reader[data-sf-qr-state=reading]:empty::before{content:'Reading QR image…'}.sf-qr-reader video{display:block;width:100%!important;height:auto!important;object-fit:contain}.sf-qr-reader img,.sf-qr-reader canvas{max-width:100%}.sf-qr-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.sf-qr-actions>.btn{flex:1 1 170px}
.sf-qr-overlay .btn{font-family:inherit;font-size:14px;font-weight:600;line-height:1.35;min-height:44px;border:1px solid #cfdcd5;border-radius:8px;background:#fff;color:#2c594b;padding:10px 14px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.sf-qr-overlay .btn.primary{background:#286f60;border-color:#286f60;color:#fff}.sf-qr-overlay button:disabled,.sf-qr-overlay input:disabled,.sf-qr-overlay select:disabled{opacity:.6;cursor:default}.sf-qr-overlay input:not([type=file]),.sf-qr-overlay select{font-family:inherit;font-size:16px;line-height:1.4;border:1px solid #cbd9d1;border-radius:8px;background:#fff;color:#253d36;min-height:44px;padding:10px 12px;width:100%;max-width:100%;margin-top:5px}.sf-qr-overlay input[hidden]{display:none!important}.sf-qr-camera{display:block;margin:12px 0;font-size:13px;font-weight:600}.sf-qr-divider{border-top:1px solid #dce6e0;margin:20px 0 14px;padding-top:12px;color:#73857b;font-size:12px}.sf-qr-manual{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:0 0 14px}.sf-qr-manual label{font-size:13px;font-weight:600}.sf-qr-help{font-size:13px!important;color:#627c70}.sf-qr-error{background:#fff0e9;color:#974323;border:1px solid #f0d2c3;border-radius:9px;padding:12px;margin-top:14px;overflow-wrap:anywhere}.sf-qr-progress{margin:12px 0 0!important;color:#44695b}.sf-qr-overlay button:focus-visible,.sf-qr-overlay input:focus-visible,.sf-qr-overlay select:focus-visible{outline:2px solid #228474;outline-offset:2px}.sf-qr-checklist-tools{display:flex;justify-content:flex-end;margin:0 0 12px}.sf-qr-checklist-wrap:has(.sf-digital form:not(.sf-dc-toolbar))>.sf-qr-checklist-tools{display:none}
@media(max-width:420px){.sf-qr-head{padding:10px 13px}.sf-qr-head h2{font-size:18px}.sf-qr-body{padding:14px}.sf-qr-manual{grid-template-columns:1fr}.sf-qr-actions{gap:8px}.sf-qr-actions>.btn{flex-basis:100%}.sf-qr-manual>.btn{width:100%}}
@media(max-height:500px) and (orientation:landscape){.sf-qr-overlay{align-items:stretch}.sf-qr-head{padding:8px 14px}.sf-qr-body{padding:12px 14px}.sf-qr-reader{max-width:400px;margin-inline:auto}.sf-qr-actions{margin:10px 0}.sf-qr-divider{margin:12px 0}}
