html,body,#root{margin:0;min-height:100%}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0d1117;color:#fff}.scanner-shell{min-height:100vh;display:grid;place-items:center;padding:20px;transition:background .18s ease}.scanner-card{width:min(520px,100%);display:grid;gap:16px;background:#ffffff14;padding:24px;border-radius:18px;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 70px #00000059}h1{margin:0;font-size:40px}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.18em;color:#ffffff94;font-size:12px}.muted,.camera-message{color:#ffffffb8}label{display:grid;gap:7px;color:#ffffffd1;font-size:13px;font-weight:700}input,select{border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px;font-size:16px;background:#00000059;color:#fff}input:focus,select:focus{outline:2px solid rgba(68,147,248,.5)}select option{color:#000}button{border:0;border-radius:12px;padding:14px;font-weight:800;color:#fff;background:#4493f8;cursor:pointer}button.secondary{background:#ffffff2e}button:disabled{opacity:.45;cursor:not-allowed}.camera-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#00000038}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.video-frame{position:relative;overflow:hidden;min-height:230px;border-radius:14px;background:#0000006b;border:1px solid rgba(255,255,255,.12);display:grid;place-items:center}.video-frame video{width:100%;max-height:360px;object-fit:cover;display:block}.video-placeholder{position:absolute;color:#ffffff73;font-weight:700}.hidden-canvas{display:none}.camera-message{margin:0;font-size:13px}.result{display:grid;gap:4px;padding:20px;border-radius:14px;background:#0000004d;text-align:center}.result strong{font-size:22px}.status-accepted{background:#0a6b2e}.status-duplicate{background:#8b4000}.status-rejected,.status-error{background:#9b1c1c}.status-idle{background:#0d1117}@media(max-width:520px){.scanner-shell{padding:12px;place-items:start center}.scanner-card{padding:16px}h1{font-size:34px}.camera-actions{grid-template-columns:1fr}}
