:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#17202a;background:#f4f7f9;line-height:1.45}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#123b5d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100% - 1120px)/2))}.brand{font-size:1.35rem;font-weight:800;color:#fff;text-decoration:none}nav{display:flex;gap:14px;align-items:center}nav a,.link{color:#fff;background:none;border:0;font:inherit;text-decoration:none;padding:8px}nav form{margin:0}main{max-width:1120px;margin:28px auto;padding:0 16px}.card{background:#fff;border:1px solid #dbe3e8;border-radius:12px;padding:22px;margin-bottom:18px;box-shadow:0 2px 8px #17324d0d}.narrow{max-width:520px;margin:60px auto}h1,h2,h3{line-height:1.15;margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}label{display:flex;flex-direction:column;font-weight:650;gap:5px}input,select,button,.button{font:inherit;border:1px solid #9eacb8;border-radius:7px;padding:11px 13px;min-height:44px}.button,button{display:inline-flex;align-items:center;justify-content:center;background:#1666a8;color:white;border-color:#1666a8;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary,button.secondary{background:#fff;color:#174c75}.danger{background:#a22121!important;border-color:#a22121!important}.success{color:#12652d}.error{color:#9c1d1d}.banner{border:3px solid #168443;background:#eaf8ef;padding:18px;border-radius:10px}.banner strong{display:block;font-size:1.35rem;color:#12652d}.stats{font-size:1.4rem;font-weight:800}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #dce4ea;padding:10px 8px}.table-wrap{overflow:auto}.pill{font-weight:700;border-radius:20px;padding:4px 9px;background:#e8edf1}.pill.yes{background:#daf1e2;color:#145b2d}.scanner-main{max-width:760px;text-align:center}.scanner-state{background:#123b5d;color:#fff;padding:18px;border-radius:12px;margin-bottom:14px}.scanner-state h1{margin:0 0 7px;font-size:1.6rem}.camera{position:relative;background:#08131b;border-radius:12px;overflow:hidden;min-height:260px;display:grid;place-items:center}.camera video{width:100%;max-height:55vh}.camera .guide{position:absolute;width:62%;aspect-ratio:1;border:4px solid #fff8;border-radius:15px}.feedback{padding:24px;border-radius:12px;margin:12px 0;font-size:1.25rem;font-weight:700}.feedback h2{font-size:2rem;margin-bottom:8px}.feedback.recorded{background:#d9f4e2;color:#105c29}.feedback.duplicate{background:#fff1c7;color:#6c4c00}.feedback.wrong,.feedback.error{background:#f7d9d9;color:#821c1c}.hidden{display:none!important}.full{width:100%;font-size:1.2rem;margin-top:12px}@media(max-width:640px){main{margin:14px auto}.card{padding:16px}nav a{display:none}.actions>*{width:100%}th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4){display:none}}
