:root{--primary: #009a9d;--primary-press: #007b7e;--accent: #ed9c00;--accent-soft: #fdf1d8;--accent-ink: #7a5200;--danger: #f44242;--danger-soft: #fdecec;--danger-ink: #b02a2a;--ink: #1f1f1f;--muted: #707070;--surface: #f2f4f4;--line: #dbe2e2;--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Rubik,system-ui,sans-serif;font-weight:400;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:Rubik,system-ui,sans-serif;font-weight:500;margin:0}.screen{max-width:480px;margin:0 auto;padding:16px 16px 40px;min-height:100vh;display:flex;flex-direction:column;gap:16px}.header{display:flex;align-items:center;gap:8px;min-height:48px;border-bottom:1px solid var(--line);padding-bottom:12px}.header h1{font-size:20px;color:var(--primary)}.muted{color:var(--muted);font-size:14px}button{font-family:Rubik,system-ui,sans-serif;font-size:16px;font-weight:500;border:none;border-radius:var(--radius);padding:14px 16px;min-height:48px;cursor:pointer}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #009a9d40}.btn-primary:active{background:var(--primary-press)}.btn-primary:disabled{opacity:.5;box-shadow:none}.btn-outline{background:#fff;color:var(--primary);border:2px solid var(--primary)}.btn-secondary{background:#fff;color:var(--ink);border:1.5px solid var(--line);font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}.btn-danger{background:var(--danger);color:#fff}.btn-link{background:none;color:var(--primary);font-weight:500;padding:8px;min-height:0}input[type=email],input[type=password],input[type=search],input[type=text],input[type=number]{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--radius);font-family:Rubik,sans-serif;font-size:16px;color:var(--ink)}input:focus{outline:2px solid var(--primary);outline-offset:-1px}.field label,.field-label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.field select{width:100%;height:48px;padding:0 12px;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;font-family:Rubik,sans-serif;font-size:16px;color:var(--ink)}.field select:focus{outline:2px solid var(--primary);outline-offset:-1px}.field input:disabled,.field select:disabled{background:var(--surface);color:var(--muted);opacity:1}.field-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-row label{font-size:13px;font-weight:400;color:var(--muted);margin-bottom:4px}.field-row input[type=text]{padding-left:10px;padding-right:10px}.field-hint{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;margin-top:4px;font-size:13px;color:var(--muted)}.field-hint .btn-link{padding:8px 0;font-size:13px}.field-error,.field-warning{display:block;margin-top:6px;font-size:13px}.field-error{color:var(--danger-ink)}.field-warning{color:var(--accent-ink)}.has-error input,.has-error select{border-color:var(--danger)}.field-static{padding:14px 16px;border-radius:var(--radius);background:var(--surface);font-size:16px}.field-outcome{display:flex;flex-direction:column;gap:8px;margin-top:6px;font-size:13px;color:var(--danger-ink)}.field-outcome-notice{color:var(--accent-ink)}.detail-list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--radius);font-size:15px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:500;overflow-wrap:anywhere}.check-line{display:flex;align-items:center;gap:8px;color:var(--primary);font-weight:500;font-size:15px}.mismatch-list{margin:0;padding-left:18px}.camera-picker{display:flex;flex-direction:column;gap:4px;font-size:12px}.camera-picker select{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-family:Rubik,sans-serif;font-size:16px;color:var(--ink)}.camera-picker select:focus{outline:2px solid var(--primary);outline-offset:-1px}.card{display:flex;gap:14px;align-items:center;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:12px}button.card{font-weight:400;cursor:pointer}button.card:active{border-color:var(--primary);background:var(--surface)}.card-top{position:relative;overflow:hidden}.card-top:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary)}.card img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);flex-shrink:0}.card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.card-title{font-weight:500;font-size:15px;color:var(--ink)}.placeholder-tile{width:72px;height:72px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0}.row{display:flex;flex-direction:column;gap:2px;padding:14px 4px;border-bottom:1px solid var(--line);background:none;border-radius:0;text-align:left;font-weight:400;min-height:0}.pills{display:flex;gap:6px;flex-wrap:wrap;min-height:22px}.pill{background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:500;padding:3px 9px;border-radius:999px}.match-line{display:flex;align-items:center;gap:8px}.match-bar{height:6px;flex:1;background:var(--surface);border-radius:999px;overflow:hidden}.match-bar>div{height:100%;background:var(--primary);border-radius:999px}.match-percent{font-weight:700;font-size:13px;color:var(--primary)}.banner-warn{display:flex;gap:10px;align-items:flex-start;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:12px 14px;font-size:14px}.scan-viewport{position:relative;border-radius:var(--radius);background:#191c1c;overflow:hidden;min-height:260px;display:flex;align-items:center;justify-content:center}.scan-viewport video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scan-frame{position:relative;width:72%;height:90px;border:2px solid var(--primary);border-radius:var(--radius-sm);box-shadow:0 0 0 9999px #00000040}.scan-hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#fff;font-size:14px;text-shadow:0 1px 2px rgb(0 0 0 / 60%)}.divider-label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.divider-label:before,.divider-label:after{content:"";flex:1;height:1px;background:var(--line)}.scan-preview{width:100%;max-height:300px;object-fit:contain;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.photo-stack{display:flex;flex-direction:column;gap:12px}.photo-stack figure{margin:0;display:flex;flex-direction:column;gap:6px;text-align:center}.photo-stack img{width:100%;max-height:38vh;object-fit:contain;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.photo-stack figure.chosen img{border:3px solid var(--primary)}.photo-option{display:flex;flex-direction:column;gap:6px;padding:0;min-height:0;background:none;font-weight:400;text-align:center}.photo-option img{border:3px solid var(--line)}.photo-option.selected img{border-color:var(--primary)}.photo-option-caption{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;color:var(--muted)}.photo-option.selected .photo-option-caption{color:var(--primary);font-weight:500}.sticky-actions{position:sticky;bottom:0;padding:12px 0;background:#fff;display:flex;flex-direction:column}.photo-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-tile{display:flex;flex-direction:column;gap:6px;padding:0;min-height:0;min-width:0;background:none;border-radius:var(--radius);font-weight:400;text-align:center}.photo-tile img,.photo-tile-busy{width:100%;aspect-ratio:1;object-fit:contain;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface)}.photo-tile.chosen img{border:3px solid var(--primary)}.photo-tile-busy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;font-size:13px;color:var(--muted)}.photo-tile-caption{font-size:13px;color:var(--ink)}.photo-tile.chosen .photo-tile-caption{color:var(--primary);font-weight:500}.photo-stack-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:120px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.photo-compare{display:flex;gap:12px}.photo-compare figure{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:6px;text-align:center}.photo-compare img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.surface{background:var(--surface);border-radius:var(--radius);padding:16px}.error{background:var(--danger-soft);color:var(--danger-ink);border-radius:var(--radius);padding:14px 16px;font-size:14px}.notice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius);padding:14px 16px;font-size:14px}.notice .btn-link{flex-shrink:0;color:var(--accent-ink);text-decoration:underline}.overlay{position:fixed;inset:0;background:#ffffffeb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:10}.spinner{width:32px;height:32px;border:3px solid var(--surface);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer{margin-top:auto;text-align:center;color:var(--muted);font-size:12px}.pending-panel{flex-direction:column;align-items:stretch}
