*{box-sizing:border-box}body{margin:0;background:#f4f7fb;font-family:Arial,Helvetica,sans-serif;color:#172033}.top{background:linear-gradient(135deg,#003D5C,#0DA6F2);color:#fff;padding:18px 16px}.top strong{font-size:22px}.top span{color:#b8ecff}.top small{display:block;opacity:.85;margin-top:3px}main{max-width:820px;margin:18px auto;padding:0 12px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 8px 24px rgba(0,0,0,.05)}h1{font-size:22px;margin:0 0 8px}.muted{color:#6b7280;font-size:14px;line-height:1.45}label{font-weight:700;font-size:14px;margin:14px 0 6px;display:block}input{width:100%;padding:13px;border:1.5px solid #d1d5db;border-radius:10px;font-size:16px}button{width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,#003D5C,#0DA6F2);color:#fff;padding:15px;font-weight:800;font-size:16px;margin-top:16px;cursor:pointer}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview{margin-top:10px;width:100%;max-height:320px;object-fit:contain;border-radius:12px;border:1px solid #ddd;background:#111}.hidden{display:none}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.box{border-radius:12px;padding:12px;background:#f3f4f6;text-align:center}.box b{display:block;font-size:22px}.ok{color:#16a34a}.err{color:#dc2626}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:8px;border-bottom:1px solid #eee;text-align:center}.pill{padding:4px 8px;border-radius:99px;font-weight:700}.pill.ok{background:#dcfce7}.pill.err{background:#fee2e2}.debug{width:100%;margin-top:12px;border-radius:12px;border:1px solid #ddd}@media(max-width:520px){.grid2,.summary{grid-template-columns:1fr}}

/* ---- Tela de conferência ---- */
.qrow{display:flex;align-items:center;gap:10px;padding:7px 6px;border-bottom:1px solid #eef0f3}
.qrow.duvidosa{background:#fff7df;border-radius:8px}
.qnum{font-weight:800;width:34px;color:#374151;font-size:15px}
.opts{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.opt{width:44px;height:44px;min-width:44px;padding:0;margin:0;border:1.5px solid #cbd5e1;background:#fff;color:#334155;border-radius:10px;font-weight:800;font-size:16px;cursor:pointer}
.opt.branco{color:#94a3b8}
.opt.sel{background:linear-gradient(135deg,#003D5C,#0DA6F2);color:#fff;border-color:#0DA6F2}
.conf-actions{display:flex;gap:10px;margin-top:16px}
.conf-actions button{margin-top:0}
button.secondary{background:#e5e7eb;color:#1f2937}
.tagduv{background:#fff7df;border:1px solid #f1d97a;padding:1px 7px;border-radius:6px;font-weight:700}
.debug-box{margin-top:14px}
.debug-box summary{cursor:pointer;font-weight:700;color:#0DA6F2;font-size:14px}

/* ---- Câmera ao vivo ---- */
.cam-area{margin-top:6px}
.cam-btn{margin-top:0}
.cam-box{margin-top:10px;position:relative;border-radius:12px;overflow:hidden;background:#000}
.cam-box video{width:100%;display:block;max-height:60vh;object-fit:cover}
.cam-guia{position:absolute;inset:8% 6%;border:2px dashed rgba(255,255,255,.85);border-radius:10px;pointer-events:none}
.cam-actions{display:flex;gap:10px;padding:10px;background:#111}
.cam-actions button{margin-top:0}
.cam-help{margin-top:8px}
.alt-foto{margin-top:10px}
.alt-foto summary{cursor:pointer;font-weight:700;color:#0DA6F2;font-size:14px}
.alt-foto input{margin-top:8px}

/* moldura verde quando o enquadramento está bom + status */
.cam-guia.ok{border-color:#22c55e;box-shadow:0 0 0 9999px rgba(34,197,94,.10)}
.cam-status{position:absolute;left:0;right:0;bottom:64px;text-align:center;color:#fff;font-weight:800;font-size:15px;text-shadow:0 1px 3px rgba(0,0,0,.7);pointer-events:none}

/* destaque de rasura (mais forte que duvidosa comum) */
.qrow.rasura{background:#fff1e6;border-left:4px solid #fb923c}
.tag-rasura{background:#fb923c;color:#fff;font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px;white-space:nowrap}
.tag-branco{background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px;white-space:nowrap}
