*{box-sizing:border-box}body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a2233;background:#f5f7fa}.center{min-height:100vh;display:grid;place-items:center}.muted{color:#7a869a}.err{color:#c0392b;background:#fdecea;padding:6px 10px;border-radius:6px;margin:6px 0}button{cursor:pointer;border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:6px 12px;font:inherit}button:hover{background:#f1f5f9}button:disabled{opacity:.5;cursor:default}input{border:1px solid #cbd5e1;border-radius:6px;padding:7px 10px;font:inherit;width:100%}.brand{font-weight:700;letter-spacing:.3px}.app{max-width:1100px;margin:0 auto}header{display:flex;align-items:center;gap:18px;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#fff}header nav{display:flex;gap:6px}header nav button.on{background:#1a2233;color:#fff;border-color:#1a2233}header .signout{margin-left:auto}main{padding:22px 18px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:18px}.card.signin{width:320px;display:grid;gap:10px}.row{display:flex;align-items:center;justify-content:space-between}.mode{font-size:12px;color:#7a869a}table{width:100%;border-collapse:collapse;margin-top:10px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid #eef2f6;vertical-align:top}th{font-size:12px;color:#7a869a;text-transform:uppercase;letter-spacing:.4px}.focus{background:#fffbe6}.link{border:none;background:none;color:#2563eb;padding:2px 6px}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.pill.received,.pill.classifying,.pill.extracting{background:#e8eefc;color:#3b5bdb}.pill.confirmed{background:#e6f7ed;color:#1a7f45}.pill.review{background:#fdf1dc;color:#b3661a}.pill.failed{background:#fdecea;color:#c0392b}.reason{font-size:12px;padding:2px 8px;border-radius:6px;background:#eef2f6}.reason.ap_discrepancy{background:#fdecea;color:#c0392b}.reviewer{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reviewer .col{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.reviewer iframe,.reviewer img{width:100%;height:70vh;border:1px solid #e2e8f0;border-radius:6px;background:#fafafa;object-fit:contain}.field{margin-bottom:12px}.field.below{padding-left:8px;border-left:3px solid #f0b429}.field label{display:block;font-weight:600;margin-bottom:3px}.field .conf{font-weight:400;color:#7a869a;font-size:12px}.editrow{display:flex;gap:6px;align-items:center}.corrected{font-size:11px;color:#1a7f45;background:#e6f7ed;padding:1px 6px;border-radius:5px}.apbox{background:#fdf1dc;border:1px solid #f0b429;border-radius:8px;padding:10px 12px;margin-bottom:14px}.resolve{margin-top:12px;background:#1a7f45;color:#fff;border-color:#1a7f45;width:100%;padding:10px;font-weight:600}.field.unsaved input{border-color:#b7791f;background:#fffaf0}.unsaved-badge{color:#b7791f;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.warn{background:#fffaf0;border:1px solid #f6e05e;color:#744210;padding:8px 10px;border-radius:6px;margin:8px 0;font-size:13px}.apbox.matched{background:#f7fafc;border:1px solid #e2e8f0}.apbox.discrepancy{background:#fffaf0;border:1px solid #f6ad55}.apbox.unresolvable{background:#f4f6f8;border:1px solid #cbd5e0}.matchrow{border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:14px}.matchrow.conflicting{border-color:#f6ad55;background:#fffaf0}.matchrow.unmatched{border-color:#cbd5e0;background:#f7fafc}.pill.conflicting{background:#fffaf0;color:#b7791f;border:1px solid #f6ad55}.pill.unmatched{background:#edf2f7;color:#4a5568;border:1px solid #cbd5e0}.pill.origin{background:#ebf8ff;color:#2b6cb0;border:1px solid #90cdf4;margin-left:6px;font-size:11px}.reftag{display:inline-block;margin-right:8px}.reftag code{background:#edf2f7;padding:1px 5px;border-radius:4px}.candidates{margin:10px 0}.candidate{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-top:1px solid #edf2f7}.small{font-size:12px}.warn{color:#b7791f}.error{color:#c0392b}table.fields td{padding:3px 8px;vertical-align:middle}table.fields input{width:220px}.prov{font-size:11px;padding:1px 6px;border-radius:4px;white-space:nowrap}.prov-operator{background:#e6fffa;color:#234e52;border:1px solid #81e6d9}.prov-document{background:#ebf8ff;color:#2c5282;border:1px solid #90cdf4}.prov-none{background:#f7fafc;color:#718096;border:1px solid #e2e8f0}.pill.origin-document{background:#ebf8ff;color:#2b6cb0;border:1px solid #90cdf4}.pill.origin-quote{background:#faf5ff;color:#6b46c1;border:1px solid #d6bcfa}.pill.origin-operator{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.aplines{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px}.aplines th{text-align:left;font-weight:600;color:#4a5568;border-bottom:1px solid #e2e8f0;padding:4px 6px}.aplines td{padding:4px 6px;border-bottom:1px solid #edf2f7;vertical-align:top}.apline.matched{color:#2d3748}.apline.variance{background:#fffaf0}.apline.unexpected{background:#fff5f5}.apline.missing{background:ivory}.apline.unresolvable{background:#f7fafc;color:#718096}.aplines tr.apgroup td{padding-top:10px;border-bottom:none}.aplines tr.apgroup.findings td{color:#9b2c2c}.aplines tr.apgroup.notbilled td,.aplines tr.apgroup.agreed td{color:#4a5568}.aplines tr.apgroup.notchecked td{color:#718096}.linkbtn{background:none;border:none;padding:0;font:inherit;color:#2b6cb0;cursor:pointer}.linkbtn:hover{text-decoration:underline}
