:root{--ink:#1a2421;--paper:#f7f5f0;--panel:#fff;--line:#dcd8cc;--verify-green:#1f5f4f;--verify-green-light:#e8f0ec;--alert-amber:#a8651b;--alert-amber-light:#fbf0e1;--reject-red:#a13a3a;--reject-red-light:#fbeaea;--muted:#6b6557;--font-display:"Source Serif 4", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", Consolas, monospace}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0}#root{min-height:100vh}button{font-family:var(--font-body)}a{color:var(--verify-green)}.page{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;padding:16px 40px;display:flex}.brand{align-items:baseline;gap:12px;display:flex}.brand-mark{font-family:var(--font-display);letter-spacing:.02em;color:var(--verify-green);font-size:22px;font-weight:700}.brand-sub{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:12px}.new-btn{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:0 0;border-radius:3px;padding:8px 16px;font-size:13px;font-weight:600}.new-btn:hover{background:var(--paper)}.layout{box-sizing:border-box;flex:1;grid-template-columns:380px 1fr;gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:32px 40px;display:grid}@media (width<=900px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:28px}.upload-col{flex-direction:column;gap:0;display:flex}.upload-zone{flex-direction:column;gap:8px;display:flex}.upload-zone-header{justify-content:space-between;align-items:center;display:flex}.upload-divider{background:var(--line);height:1px;margin:20px 0}.field-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-weight:600}.quality-chip{font-size:11px;font-family:var(--font-mono);border-radius:10px;padding:3px 9px;font-weight:600}.quality-chip.ok{background:var(--verify-green-light);color:var(--verify-green)}.quality-chip.fail{background:var(--reject-red-light);color:var(--reject-red)}.dropzone{border:1.5px dashed var(--line);cursor:pointer;background:var(--paper);border-radius:4px;justify-content:center;align-items:center;min-height:160px;transition:border-color .15s;display:flex;overflow:hidden}.dropzone:hover:not(.dropzone-disabled){border-color:var(--verify-green)}.dropzone-disabled{cursor:default;opacity:.6}.dropzone-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:5px;padding:24px;font-size:13px;display:flex}.dropzone-icon{color:var(--verify-green);font-size:28px;line-height:1}.dropzone-hint{opacity:.7;font-size:11px}.preview-img{object-fit:contain;max-width:100%;max-height:200px}.pdf-placeholder{flex-direction:column;align-items:center;gap:8px;padding:20px;display:flex}.pdf-label{font-family:var(--font-mono);color:var(--verify-green);background:var(--verify-green-light);border-radius:3px;padding:6px 14px;font-size:22px;font-weight:700}.pdf-name{color:var(--muted);text-align:center;word-break:break-all;font-size:12px}.status-line{font-size:12.5px;font-family:var(--font-mono)}.status-line.checking{color:var(--alert-amber)}.status-line.ok{color:var(--verify-green)}.status-line.error{color:var(--reject-red)}.rejection-inline{flex-direction:column;gap:6px;display:flex}.rejection-reason-small{color:var(--reject-red);margin:0;font-size:13px;line-height:1.4}.primary-btn,.secondary-btn{cursor:pointer;border:none;border-radius:3px;padding:10px 18px;font-size:13.5px;font-weight:600}.primary-btn{background:var(--verify-green);color:#fff}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.secondary-btn{border:1px solid var(--line);color:var(--ink);background:0 0}.small-btn{padding:6px 12px;font-size:12px}.process-btn{width:100%;margin-top:20px}.result-col{overflow-y:auto}.progress-view{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;min-height:300px;padding:40px;display:flex}.progress-label{color:var(--muted);text-align:center;min-height:20px;margin:0;font-size:14px}.progress-track{background:var(--line);border-radius:10px;width:100%;max-width:320px;height:6px;overflow:hidden}.progress-fill{background:var(--verify-green);border-radius:10px;height:100%;transition:width .6s}.progress-pct{font-family:var(--font-mono);color:var(--verify-green);margin:0;font-size:13px;font-weight:600}.result-empty{height:100%;min-height:300px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:14px;line-height:1.6;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--verify-green);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.match-summary{border-left:4px solid;border-radius:4px;margin-bottom:24px;padding:18px 20px}.match-summary.match{border-color:var(--verify-green);background:var(--verify-green-light)}.match-summary.mismatch{border-color:var(--reject-red);background:var(--reject-red-light)}.match-summary.incomplete{border-color:var(--alert-amber);background:var(--alert-amber-light)}.match-summary-title{margin-bottom:14px;font-size:14px;font-weight:600}.match-summary.match .match-summary-title{color:var(--verify-green)}.match-summary.mismatch .match-summary-title{color:var(--reject-red)}.match-summary.incomplete .match-summary-title{color:var(--alert-amber)}.match-chips{flex-direction:column;gap:8px;display:flex}.match-chip{background:#fff;border-radius:3px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.match-chip-label{color:var(--ink);min-width:130px;font-weight:600}.match-chip-status{font-family:var(--font-mono);text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.match-chip.match .match-chip-status{background:var(--verify-green-light);color:var(--verify-green)}.match-chip.mismatch .match-chip-status{background:var(--reject-red-light);color:var(--reject-red)}.match-chip.missing_one .match-chip-status{background:var(--alert-amber-light);color:var(--alert-amber)}.mismatch-detail{font-size:11.5px;font-family:var(--font-mono);color:var(--reject-red);flex-wrap:wrap;gap:16px;width:100%;margin-top:4px;display:flex}.fields-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=1100px){.fields-grid{grid-template-columns:1fr}}.extraction-section{flex-direction:column;gap:10px;display:flex}.extraction-section-title{font-family:var(--font-display);color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:8px;font-size:14px;font-weight:700}.review-badge{font-family:var(--font-mono);border-radius:3px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.review-badge.warn{background:var(--alert-amber-light);color:var(--alert-amber)}.review-badge.ok{background:var(--verify-green-light);color:var(--verify-green)}.field-table{border-collapse:collapse;width:100%}.field-table tr{border-bottom:1px solid var(--line)}.field-table tr.row-flagged{background:var(--alert-amber-light)}.field-table td{vertical-align:middle;padding:8px 6px;font-size:13px}.field-name{color:var(--muted);white-space:nowrap;padding-right:8px;font-size:12px;font-weight:500}.req-star{color:var(--reject-red);margin-left:2px}.field-value{font-family:var(--font-mono);padding:8px 6px;font-size:13px;font-weight:500}.field-val-text{color:var(--ink)}.value-empty{color:var(--muted);font-family:var(--font-body)}.confidence-pill{font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border-radius:10px;padding:2px 7px}.conf-high{background:var(--verify-green-light);color:var(--verify-green)}.conf-medium{background:var(--alert-amber-light);color:var(--alert-amber)}.conf-low,.conf-not_found{background:var(--reject-red-light);color:var(--reject-red)}.warning-block{background:var(--alert-amber-light);color:var(--alert-amber);border-radius:3px;margin-top:16px;padding:10px 14px;font-size:13px}.warning-block p{margin:2px 0}.notes-block{color:var(--muted);margin-top:8px;font-size:12.5px;line-height:1.5}.result-panel{flex-direction:column;gap:0;display:flex}
