.scan-body{min-height:100vh;background:var(--ink);color:var(--white)}
.scan-header{max-width:none;padding-inline:clamp(24px,6vw,96px)}
.scan-main{min-height:calc(100vh - 88px);display:grid;place-items:center;padding:48px 20px 72px}
.scan-card{width:min(100%,560px);padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.scan-card h1{margin:12px 0 10px;font:700 clamp(2rem,6vw,3.4rem)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.055em}
.scan-lead{margin:0 0 24px;color:var(--muted);font-size:1.03rem;line-height:1.65}
.camera-frame{position:relative;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#090810}
.camera-frame video{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.camera-guide{position:absolute;inset:16%;border:2px solid var(--purple);border-radius:22px;box-shadow:0 0 0 999px rgba(9,8,16,.3);pointer-events:none}
.camera-guide span{position:absolute;left:8%;right:8%;top:50%;height:2px;background:var(--purple);box-shadow:0 0 16px var(--purple)}
.camera-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:30px;text-align:center;color:var(--muted)}
.camera-placeholder strong{color:var(--white);font:600 1.05rem "Space Grotesk",sans-serif}.camera-placeholder small{max-width:240px;line-height:1.5}.scan-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:6px;border-radius:18px;background:rgba(132,93,255,.16);color:var(--purple);font-size:2.2rem}
.camera-frame.is-live .camera-placeholder{display:none}.camera-frame.is-live video{opacity:1}
.scan-actions{display:flex;gap:10px;margin-top:18px}.scan-actions button{flex:1}
.scan-status{display:grid;gap:4px;margin-top:18px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(132,93,255,.07)}
.scan-status strong{font:600 .98rem "Space Grotesk",sans-serif}.scan-status span{color:var(--muted);font-size:.9rem;line-height:1.45}.scan-status.success{border-color:rgba(43,194,132,.45);background:rgba(43,194,132,.1)}.scan-status.success strong{color:var(--green)}.scan-status.error{border-color:rgba(255,103,121,.45);background:rgba(255,103,121,.08)}
.manual-entry{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}.manual-entry summary{cursor:pointer;color:var(--white);font-weight:600}.manual-entry label{display:block;margin:16px 0 7px;color:var(--white);font-size:.9rem;font-weight:600}.manual-entry textarea{width:100%;resize:vertical}.manual-entry button{margin-top:10px}
@media(max-width:560px){.scan-card{padding:24px;border-radius:20px}.scan-main{padding-inline:12px}.scan-header{padding-inline:18px}.site-nav a{display:none}}
