.scan-input-row{display:flex;align-items:stretch;gap:9px}.scan-input-row .form-control{flex:1;min-width:0}.camera-scan-button{display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;border:1px solid #d6bfce;border-radius:8px;padding:0 14px;color:var(--purple);background:#faf4f8;font-weight:750;cursor:pointer}.camera-scan-button:hover{background:#f2e3ee}.credential-block{display:grid;gap:7px;margin:20px 0;padding:17px;border:1px solid #e4d2df;border-radius:10px;background:#faf6f9}.credential-block>small{color:var(--muted)}body.camera-open{overflow:hidden}.scanner-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(5,20,33,.82);backdrop-filter:blur(4px)}.scanner-modal[hidden]{display:none}.scanner-dialog{width:min(680px,100%);padding:20px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}.scanner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.scanner-head h2{margin:5px 0 15px;color:var(--navy)}.scanner-close{width:40px;height:40px;border:0;border-radius:9px;color:#fff;background:var(--purple);font-size:25px;cursor:pointer}.camera-viewport{position:relative;overflow:hidden;width:100%;aspect-ratio:4/3;border-radius:12px;background:#071827}.camera-viewport video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:16%;border:2px solid rgba(255,255,255,.78);border-radius:10px;box-shadow:0 0 0 999px rgba(0,0,0,.18)}.scan-frame span{position:absolute;left:5%;right:5%;top:50%;height:3px;border-radius:3px;background:#f03242;box-shadow:0 0 10px rgba(240,50,66,.9);animation:scanline 1.8s ease-in-out infinite alternate}@keyframes scanline{from{transform:translateY(-70px)}to{transform:translateY(70px)}}#scanner-status{min-height:22px;margin:13px 0;color:var(--muted);font-size:13px}.scanner-actions{display:flex;justify-content:flex-end;gap:9px}@media(max-width:600px){.scan-input-row{display:grid;grid-template-columns:1fr}.camera-scan-button{min-height:45px}.scanner-modal{padding:0}.scanner-dialog{height:100dvh;border-radius:0;padding:16px;display:flex;flex-direction:column}.camera-viewport{flex:1;aspect-ratio:auto}.scanner-actions .btn{flex:1}}
