#rfidScannerRoot[hidden]{display:none!important}
.rfid-scanner-camera,.rfid-scanner-review{position:fixed;inset:0;z-index:1200;background:#07100d;color:#fff;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.rfid-scanner-camera{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.rfid-scanner-camera-top,.rfid-scanner-review>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 2px 14px}
.rfid-scanner-camera-top>div:first-child,.rfid-scanner-review>header>div{display:flex;flex-direction:column;gap:3px}
.rfid-scanner-camera-top b,.rfid-scanner-review>header b{font-size:17px}
.rfid-scanner-camera-top span,.rfid-scanner-review>header span{color:rgba(255,255,255,.7);font-size:12px;line-height:1.35}
.rfid-scanner-camera-tools{display:flex;gap:8px}
.rfid-scanner-camera-top button,.rfid-scanner-review>header button{width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,0,0,.3);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:0;line-height:0}
.rfid-scanner-camera-top button svg,.rfid-scanner-review>header button svg{display:block}
.rfid-scanner-torch-symbol{display:block;font-size:21px;line-height:1;transform:translateY(-1px)}
.rfid-scanner-camera-tools button.active{border-color:#f5df79;background:#6c5a0b;color:#fff4a8;box-shadow:0 0 12px rgba(255,225,95,.3)}
.rfid-scanner-camera-view{position:relative;width:min(100%,calc(100dvh - 220px),620px);min-height:0;aspect-ratio:1;place-self:center;overflow:hidden;border-radius:20px;background:#111}
.rfid-scanner-video{display:block;width:100%;height:100%;object-fit:cover}
.rfid-scanner-overlay{position:absolute;z-index:2;top:50%;left:50%;width:68%;height:auto;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.72));transition:filter .18s ease}
.rfid-scanner-overlay.aligned{filter:brightness(0) saturate(100%) invert(72%) sepia(72%) saturate(531%) hue-rotate(84deg) brightness(99%) contrast(91%) drop-shadow(0 0 8px rgba(73,231,125,.72))}
.rfid-scanner-alignment{position:absolute;z-index:4;left:50%;bottom:14px;min-width:min(82%,420px);padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;transform:translateX(-50%);display:flex;justify-content:space-between;gap:14px;background:rgba(5,13,10,.78);backdrop-filter:blur(8px);font-size:11px;font-weight:800}
.rfid-scanner-alignment.almost{background:rgba(103,78,10,.82);border-color:rgba(245,205,70,.62)}
.rfid-scanner-alignment.ready,.rfid-scanner-alignment.capturing{background:rgba(12,108,55,.88);border-color:rgba(90,242,142,.8)}
.rfid-scanner-camera-failure{position:absolute;z-index:5;inset:0;padding:28px;display:grid;place-content:center;text-align:center;background:#111}
.rfid-scanner-camera-failure[hidden]{display:none}
.rfid-scanner-camera-failure b{font-size:18px}
.rfid-scanner-camera-failure p{max-width:380px;margin:8px auto 0;line-height:1.5;color:rgba(255,255,255,.75)}
.rfid-scanner-camera-bottom{padding-top:13px}
.rfid-scanner-camera-bottom>p{margin:0 0 12px;text-align:center;color:rgba(255,255,255,.72);font-size:11px}
.rfid-scanner-camera-actions{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;gap:12px}
.rfid-scanner-camera-fallback{min-height:42px;padding:8px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:11px;font-weight:800}
.rfid-scanner-capture{width:70px;height:70px;padding:5px;border:3px solid #fff;border-radius:50%;background:transparent;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}
.rfid-scanner-capture span{display:block;width:100%;height:100%;border-radius:50%;background:#fff}
.rfid-scanner-capture.ready{border-color:#5af28e;box-shadow:0 0 0 4px rgba(90,242,142,.22),0 0 18px rgba(90,242,142,.38)}
.rfid-scanner-capture:disabled{opacity:.38;cursor:wait}
.rfid-scanner-review{overflow:auto;background:#f4f2e9;color:var(--ink)}
.rfid-scanner-review>header{position:sticky;z-index:2;top:calc(-1 * max(14px,env(safe-area-inset-top)));margin:calc(-1 * max(14px,env(safe-area-inset-top))) calc(-1 * max(14px,env(safe-area-inset-right))) 0 calc(-1 * max(14px,env(safe-area-inset-left)));padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));background:#143d31;color:#fff}
.rfid-scanner-review-body{width:min(620px,100%);margin:auto;padding:18px 0 30px}
.rfid-scanner-photo{height:min(58vw,440px);min-height:260px;border:1px solid #dce3de;border-radius:17px;background:#111;overflow:hidden;display:grid;place-items:center}
.rfid-scanner-photo img{width:100%;height:100%;object-fit:contain}
.rfid-scanner-progress{margin-top:14px}
.rfid-scanner-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}
.rfid-scanner-progress-track{height:8px;margin-top:8px;border-radius:999px;background:#dfe5df;overflow:hidden}
.rfid-scanner-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#aebe34,#d8e852);transition:width .2s}
.rfid-scanner-error{margin-top:14px;padding:12px;border-radius:11px;background:#fbefec;color:#a23e32;font-size:13px}
.rfid-scanner-result{margin-top:18px;padding:18px;border:1px solid #d4dcd6;border-radius:17px;background:#fff;box-shadow:0 10px 25px rgba(26,54,44,.08)}
.rfid-scanner-result>p:first-child{margin:0 0 10px;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.rfid-scanner-evidence{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px;border:1px solid #dce3de;border-radius:11px;background:#f7f9f6;color:#476158}
.rfid-scanner-evidence>span{flex:0 0 auto;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#e9eeea;font-size:10px;font-weight:900}
.rfid-scanner-evidence>div{min-width:0;flex:1}
.rfid-scanner-evidence>div>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rfid-scanner-evidence b{font-size:12px}
.rfid-scanner-evidence strong{padding:3px 6px;border-radius:999px;background:#ecefed;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.rfid-scanner-evidence small{display:block;margin-top:3px;color:#71807a;font-size:10px;line-height:1.35}
.rfid-scanner-evidence.barcode,.rfid-scanner-evidence.confirmed{border-color:#bfd6a5;background:#f5faeb}
.rfid-scanner-evidence.barcode>span,.rfid-scanner-evidence.confirmed strong{background:#d8e852;color:#173129}
.rfid-scanner-evidence.likely{border-color:#eadb9d;background:#fffaf0}
.rfid-scanner-evidence.uncertain{border-color:#e5c0b7;background:#fff7f4}
.rfid-scanner-confidence{display:flex;justify-content:flex-end;margin-bottom:10px}
.rfid-scanner-confidence strong{padding:5px 9px;border-radius:999px;background:#ecefed;color:#53645d;font-size:10px;letter-spacing:.08em}
.rfid-scanner-confidence.confirmed strong{background:#d8e852;color:#173129}
.rfid-scanner-confidence.likely strong{background:#f5e2a0;color:#5f4b09}
.rfid-scanner-confidence.uncertain strong{background:#f4ded8;color:#8a382c}
.rfid-scanner-result label{position:relative;display:block}
.rfid-scanner-result label input{width:100%;padding:15px 14px 28px;border:1.5px solid #b9c5bf;border-radius:12px;background:#fbfcfa;color:#0b2b22;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(18px,5vw,23px);font-weight:800}
.rfid-scanner-result label small{position:absolute;left:15px;bottom:8px;color:#89948f;font-size:10px}
.rfid-scanner-alternatives{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.rfid-scanner-alternatives>span{width:100%;color:#7c8883;font-size:11px}
.rfid-scanner-alternatives button{padding:7px 9px;border:1px solid #dbe1dc;border-radius:8px;background:#fff;color:#52645d;cursor:pointer;font-family:ui-monospace,monospace;font-size:11px}
.rfid-scanner-use{width:100%;min-height:50px;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.rfid-scanner-use-note,.rfid-scanner-no-result{margin:9px 0 0;text-align:center;color:var(--muted);font-size:11px;line-height:1.45}
.rfid-scanner-review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
.rfid-scanner-review-actions button{min-height:45px}
.rfid-scanner-review-actions #rfidScannerRetake{grid-column:1/-1}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:850px){.rfid-scanner-camera{padding-left:max(24px,calc((100vw - 760px)/2));padding-right:max(24px,calc((100vw - 760px)/2))}
}
@media(max-width:520px){.rfid-scanner-review-actions{grid-template-columns:1fr}
.rfid-scanner-review-actions #rfidScannerRetake{grid-column:auto}
.rfid-scanner-photo{height:72vw;min-height:220px}
}
