*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f5f7;color:#1c1e21}.card{max-width:560px;margin:32px auto;padding:24px;background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f}.card.wide{max-width:1000px}@media (max-width: 600px){.card{margin:0;border-radius:0;min-height:100vh}}h1{margin-top:0;font-size:22px}h2{font-size:19px}h3{font-size:14px;color:#555;margin:0 0 8px}.muted{color:#666}.small{font-size:13px}.error{color:#c62828}.warn{color:#a15c00;font-size:14px}.steps{padding-left:20px;line-height:1.7}button,.btn{display:inline-block;background:#1a3c6e;color:#fff;border:0;padding:12px 20px;border-radius:8px;font-size:15px;cursor:pointer;text-decoration:none}button:disabled{opacity:.6;cursor:default}button.danger{background:#c62828}button.link{background:none;color:#1a3c6e;padding:0}input,select{padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:15px}.card>input{width:100%;margin-bottom:12px}.stage.hidden{display:none}.camera{position:relative;width:100%;aspect-ratio:3 / 4;max-height:60vh;background:#000;border-radius:12px;overflow:hidden}.camera video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.oval{position:absolute;top:12%;right:18%;bottom:12%;left:18%;border:3px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 0 9999px #00000059}.instruction{font-size:20px;font-weight:600;text-align:center;margin:16px 0 4px}.code{font-size:40px;font-weight:700;text-align:center;letter-spacing:6px;margin:4px 0;color:#1a3c6e}.bar{height:6px;background:#e3e6ea;border-radius:3px;margin-top:14px;overflow:hidden}.bar>div{height:100%;background:#2e7d32;transition:width .3s}.stage .warn{text-align:center}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #eee}tbody tr{cursor:pointer}tbody tr:hover{background:#f7f9fc}.pill{font-size:12px;padding:3px 8px;border-radius:10px;background:#eee;font-weight:500}.pill.verified,.pill.approved{background:#e3f4e5;color:#2e7d32}.pill.failed,.pill.rejected{background:#fbe4e4;color:#c62828}.pill.manual_review{background:#fff1d6;color:#a15c00}.detail{display:grid;grid-template-columns:1fr 1.4fr;gap:24px}@media (max-width: 700px){.detail{grid-template-columns:1fr}}.photo{width:120px;border-radius:8px;border:1px solid #ddd;margin-bottom:12px}video.review{width:100%;border-radius:8px;background:#000;margin-bottom:12px}dl{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:0;font-size:14px}dt{color:#666}dd{margin:0;word-break:break-word}.decision{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.decision input{flex:1;min-width:200px}
