.photo-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.photo-fallback{color:var(--blue);font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:12px 0}
#scan-panel .file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#card-panel:has(input:focus-visible) .photo-fallback,#badge-panel:has(input:focus-visible) .photo-fallback{outline:3px solid var(--blue);outline-offset:3px}
#register:has(.capture-active) #form-title,#register:has(.capture-active) #step-intro{display:none}
.scan-box.capture-active{display:flex;flex-direction:column;margin-top:0}
.capture-active #card-panel,.capture-active #badge-panel{order:3}
.capture-active #card-panel>p,.capture-active #badge-panel>p,.capture-active [data-open-camera]{display:none}
.capture-active #guided-camera{order:1;margin-top:0}
.capture-active #scan-status{order:2}
.capture-active #scan-manual{order:4;margin-top:0!important}
#guided-camera{margin-top:24px}#guided-camera h3{font-size:24px;line-height:1.15;letter-spacing:-.02em;margin-bottom:12px;color:var(--ink)}
#guided-camera #camera-hint{color:var(--muted);margin-bottom:16px}
.camera-stage{position:relative;display:grid;place-items:center;width:100%;height:clamp(210px,38svh,330px);background:var(--night);overflow:hidden;border-radius:12px;isolation:isolate}
.camera-stage video,.camera-stage img{position:absolute;width:100%;height:100%;object-fit:contain;display:block}
.camera-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:12px;box-shadow:0 0 0 600px #12141c88;pointer-events:none}
.camera-guide i{position:absolute;width:30px;height:30px;border-color:var(--orange);border-style:solid;border-width:0}
.camera-guide i:nth-child(1){top:0;left:0;border-top-width:4px;border-left-width:4px;border-top-left-radius:12px}
.camera-guide i:nth-child(2){top:0;right:0;border-top-width:4px;border-right-width:4px;border-top-right-radius:12px}
.camera-guide i:nth-child(3){bottom:0;left:0;border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:12px}
.camera-guide i:nth-child(4){bottom:0;right:0;border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:12px}
.camera-guide span{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;color:white;background:var(--night);border-radius:6px;margin-top:8px;padding:4px 8px}
.camera-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:12px 0}.camera-actions .cta{font-size:14px;min-height:48px;padding:12px 20px}.camera-actions .back{font-size:14px;min-height:44px}
#guided-camera #camera-status{margin:12px 0;color:var(--blue)}
#guided-camera .camera-privacy{font-size:12px;margin:16px 0 0;color:var(--muted)}
#scan-panel[aria-busy=true] .photo-options,#scan-panel[aria-busy=true] .file-input{pointer-events:none;opacity:.55}
@media(max-width:440px){.scan-box{padding:16px}.camera-actions .cta{width:100%}.camera-guide span{font-size:11px}.camera-guide i{width:24px;height:24px}}
