:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}button,input,select{font:inherit}.app-shell{background:#eef3f8;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh;display:grid}.topbar{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;color:#f8fafc;background:#111827;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{min-width:0}.brand h1{letter-spacing:0;margin:0;font-size:20px;line-height:1.15}.brand p{color:#cbd5e1;margin:3px 0 0;font-size:13px}.camera-button{color:#08111f;white-space:nowrap;background:#f8fafc;border:0;border-radius:8px;min-height:42px;padding:0 14px;font-weight:700}.camera-button.stop{color:#f8fafc;background:#dc2626}.scan-area{background:#0b1020;min-height:0;position:relative;overflow:hidden}video,canvas.overlay{width:100%;height:100%;position:absolute;inset:0}video{object-fit:cover}.overlay{pointer-events:none}.target-guide{pointer-events:none;position:absolute;inset:0}.guide-line{border-top:2px dashed #f8fafca6;position:absolute;top:50%;left:8%;right:8%}.guide-labels{color:#f8fafc;text-shadow:0 1px 3px #000000a6;grid-template-columns:1fr 1fr;gap:24px;font-size:13px;font-weight:800;display:grid;position:absolute;top:calc(50% + 12px);left:8%;right:8%}.guide-labels span:last-child{text-align:right}.center-status{color:#f8fafc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ae0;border-radius:8px;width:min(92vw,520px);padding:12px 14px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 44px #0000003d}.state{align-items:center;gap:10px;font-weight:800;display:flex}.dot{background:#f59e0b;border-radius:999px;flex:none;width:12px;height:12px}.center-status.pass .dot{background:#22c55e}.center-status.fail .dot{background:#ef4444}.metrics{color:#cbd5e1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;font-size:12px;display:grid}.metrics strong{color:#f8fafc;font-size:16px;line-height:1.25;display:block}.control-panel{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d9e2ef;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.field{min-width:0}.field label{color:#475569;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.field input,.field select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:40px;padding:0 10px}.hidden{display:none}.big-check{aspect-ratio:1;color:#fff;opacity:0;pointer-events:none;background:#22c55ef0;border-radius:999px;place-items:center;width:min(34vw,190px);font-size:clamp(86px,17vw,140px);font-weight:900;line-height:1;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)scale(.82);box-shadow:0 22px 60px #16a34a66}.big-check.show{opacity:1;transform:translate(-50%,-50%)scale(1)}@media (width<=720px){.topbar{align-items:flex-start}.brand h1{font-size:18px}.scan-area{min-height:62vh}.control-panel{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
