*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--black:#1a1a1a;--white:#fff;--bg:#f5f5f5;--input-bg:#f0f0f0;--border:#e0e0e0;--text:#1a1a1a;--muted:#888;--label:#333;--error:#d32f2f;--error-bg:#fff5f5;--warn:#f59e0b;--warn-bg:#fffbeb;--success:#2e7d32;--radius:4px;--nav-h:56px}html{-webkit-text-size-adjust:100%}body{background:#f5f5f5;background:var(--bg);color:#1a1a1a;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}.app-navbar{background:#fff;background:var(--white);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border);gap:12px;height:56px;height:var(--nav-h);padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-navbar,.nav-back{align-items:center;display:flex;flex-shrink:0}.nav-back{background:#0000;border:none;border-radius:50%;color:#888;color:var(--muted);cursor:pointer;height:32px;justify-content:center;transition:background .15s;width:32px}.nav-back:hover{background:#f5f5f5;background:var(--bg)}.brand{color:#1a1a1a;color:var(--black);font-size:15px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.divider{font-size:18px;font-weight:300}.divider,.page-title{color:#888;color:var(--muted)}.page-title{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.page-body{flex:1 1;margin:0 auto;max-width:960px;padding:28px 24px 48px;width:100%}.form-section{margin-bottom:24px}.form-section-title{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border);color:#1a1a1a;color:var(--text);font-size:13px;font-weight:700;margin-bottom:14px;padding-bottom:8px}.field-row{grid-gap:14px;display:grid;gap:14px;margin-bottom:14px}.field-row.cols-1{grid-template-columns:1fr}.field-row.cols-2{grid-template-columns:1fr 1fr}.field-row.cols-3{grid-template-columns:1fr 1fr 1fr}.field-label{color:#333;color:var(--label);display:block;font-size:13px;font-weight:500;margin-bottom:5px}.field-label .required{color:#d32f2f;color:var(--error);margin-left:2px}.field-input,.field-select{appearance:none;-webkit-appearance:none;background:#f0f0f0;background:var(--input-bg);border:1px solid #0000;border-radius:4px;border-radius:var(--radius);color:#1a1a1a;color:var(--text);font-family:inherit;font-size:14px;font-size:max(16px,14px);outline:none;padding:10px 12px;transition:border-color .15s,background .15s;width:100%}.field-input:focus,.field-select:focus{background:#fff;background:var(--white);border-color:#1a1a1a;border-color:var(--black)}.field-input::placeholder{color:#888;color:var(--muted)}.field-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23888' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}.field-select:disabled{cursor:not-allowed;opacity:.6}.custom-select-trigger{-webkit-tap-highlight-color:transparent;align-items:center;background:#f0f0f0;background:var(--input-bg);border:1px solid #0000;border-radius:4px;border-radius:var(--radius);color:#1a1a1a;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:max(16px,14px);justify-content:space-between;padding:10px 12px;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none;width:100%}.custom-select-trigger.open,.custom-select-trigger:hover{background:#fff;background:var(--white);border-color:#1a1a1a;border-color:var(--black)}.custom-select-trigger.placeholder{color:#888;color:var(--muted)}.dropdown-panel{background:#fff;background:var(--white);border:1px solid #e0e0e0;border:1px solid var(--border);border-radius:4px;border-radius:var(--radius);box-shadow:0 8px 24px #00000024;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 2px);z-index:300}.dropdown-search-wrap{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border);padding:10px}.dropdown-search{background:#f0f0f0;background:var(--input-bg);border:1px solid #e0e0e0;border:1px solid var(--border);border-radius:4px;border-radius:var(--radius);font-family:inherit;font-size:max(16px,13px);outline:none;padding:9px 10px;width:100%}.dropdown-search:focus{background:#fff;background:var(--white);border-color:#1a1a1a;border-color:var(--black)}.dropdown-list{-webkit-overflow-scrolling:touch;max-height:220px;overflow-y:auto}.dropdown-item{-webkit-tap-highlight-color:transparent;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border);cursor:pointer;font-size:14px;padding:11px 14px;transition:background .1s}.dropdown-item:last-child{border-bottom:none}.dropdown-item.selected,.dropdown-item:active,.dropdown-item:hover{background:#f5f5f5;background:var(--bg)}.dropdown-item.selected{font-weight:600}.dropdown-item-sub{color:#888;color:var(--muted);font-size:11px;margin-top:2px}.dropdown-empty{color:#888;color:var(--muted);font-size:13px;padding:16px;text-align:center}.dropdown-footer{background:#f5f5f5;background:var(--bg);border-top:1px solid #e0e0e0;border-top:1px solid var(--border);color:#888;color:var(--muted);font-size:11px;padding:6px 12px}.upload-zone{-webkit-tap-highlight-color:transparent;background:#f0f0f0;background:var(--input-bg);border:2px dashed #e0e0e0;border:2px dashed var(--border);border-radius:4px;border-radius:var(--radius);cursor:pointer;padding:36px 20px;text-align:center;transition:border-color .2s,background .2s}.upload-zone.drag-over,.upload-zone:hover{background:#ebebeb;border-color:#1a1a1a;border-color:var(--black)}.upload-zone .upload-icon{font-size:36px;margin-bottom:10px}.upload-zone p{color:#888;color:var(--muted);font-size:13px}.upload-zone strong{color:#1a1a1a;color:var(--black)}.file-selected{border:1px solid #e0e0e0;border:1px solid var(--border);display:inline-flex;font-size:13px;margin-top:12px;padding:8px 14px;text-align:left;word-break:break-all}.camera-btn,.file-selected{align-items:center;background:#fff;background:var(--white);border-radius:4px;border-radius:var(--radius);font-weight:500;gap:8px}.camera-btn{-webkit-tap-highlight-color:transparent;border:1px solid #e0e0e0;border:1px solid var(--border);color:#1a1a1a;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;justify-content:center;margin-top:10px;padding:11px;transition:background .15s;width:100%}.camera-btn:active,.camera-btn:hover{background:#f5f5f5;background:var(--bg);border-color:#1a1a1a;border-color:var(--black)}.preview-img{background:#f5f5f5;background:var(--bg);border:1px solid #e0e0e0;border:1px solid var(--border);border-radius:4px;border-radius:var(--radius);margin-top:14px;max-height:260px;object-fit:contain;width:100%}.banner{align-items:flex-start;border-radius:4px;border-radius:var(--radius);display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:12px 14px}.banner.error{background:#fff5f5;background:var(--error-bg);border:1px solid #fca5a5;color:#d32f2f;color:var(--error)}.banner.warn{background:#fffbeb;background:var(--warn-bg);border:1px solid #fcd34d;color:#92400e}.ref-badge{align-items:center;background:#1a1a1a;background:var(--black);border-radius:4px;border-radius:var(--radius);color:#fff;color:var(--white);display:inline-flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.04em;margin-bottom:20px;padding:10px 16px;word-break:break-all}.ref-badge .ref-label{font-size:11px;font-weight:400;letter-spacing:.06em;opacity:.7;text-transform:uppercase;white-space:nowrap}.action-bar{border-top:1px solid #e0e0e0;border-top:1px solid var(--border);display:flex;gap:16px;margin-top:28px;padding-top:20px}.action-bar,.btn{justify-content:center}.btn{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:4px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;min-width:160px;padding:12px 28px;transition:background .15s,opacity .15s;white-space:nowrap}.btn-outline{background:#fff;background:var(--white);border:1px solid #e0e0e0;border:1px solid var(--border);color:#1a1a1a;color:var(--text)}.btn-outline:active,.btn-outline:hover{background:#f5f5f5;background:var(--bg);border-color:#1a1a1a;border-color:var(--black)}.btn-primary{background:#1a1a1a;background:var(--black);border:1px solid #1a1a1a;border:1px solid var(--black);color:#fff;color:var(--white)}.btn-primary:active:not(:disabled),.btn-primary:hover:not(:disabled){background:#333}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.spinner{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.result-meta-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:22px}.result-meta-item{background:#f0f0f0;background:var(--input-bg);border-radius:4px;border-radius:var(--radius);padding:12px 14px}.result-meta-item .r-label{color:#888;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:3px;text-transform:uppercase}.result-meta-item .r-value{color:#1a1a1a;color:var(--text);font-size:13px;font-weight:600;word-break:break-all}.section-divider{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border);color:#888;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;margin:18px 0 10px;padding-bottom:6px;text-transform:uppercase}.extracted-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.extracted-field{background:#f0f0f0;background:var(--input-bg);border:1px solid #0000;border-radius:4px;border-radius:var(--radius);padding:10px 12px}.extracted-field.low-conf{background:#fffbeb;background:var(--warn-bg);border-color:#f59e0b;border-color:var(--warn)}.extracted-field.null-val{opacity:.6}.ef-key{color:#888;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:3px;text-transform:uppercase}.ef-val{color:#1a1a1a;color:var(--text);font-size:13px;font-weight:500;word-break:break-word}.ef-null{color:#ccc;font-size:12px;font-style:italic}.conf-badge{background:#f59e0b;background:var(--warn);border-radius:20px;color:#78350f;display:inline-block;font-size:10px;font-weight:700;margin-top:4px;padding:2px 6px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.samples-table{border-collapse:collapse;font-size:13px;min-width:520px;width:100%}.samples-table th{background:#1a1a1a;background:var(--black);color:#fff;color:var(--white);font-size:12px;font-weight:600;padding:9px 12px;text-align:left;white-space:nowrap}.samples-table td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border);padding:9px 12px;vertical-align:middle}.samples-table tr:last-child td{border-bottom:none}.samples-table tr:nth-child(2n) td{background:#f0f0f0;background:var(--input-bg)}.samples-table .null-cell{color:#ccc;font-style:italic}.samples-table .low-conf-cell{background:#fffbeb!important;background:var(--warn-bg)!important}.download-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;background:var(--white);border:1px solid #e0e0e0;border:1px solid var(--border);border-radius:4px;border-radius:var(--radius);color:#1a1a1a;color:var(--text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:9px 18px;transition:background .15s}.download-btn:active,.download-btn:hover{background:#f5f5f5;background:var(--bg);border-color:#1a1a1a;border-color:var(--black)}@media (max-width:768px){.page-body{padding:20px 16px 40px}.extracted-grid,.field-row.cols-3,.result-meta-grid{grid-template-columns:1fr 1fr}.action-bar{gap:12px}.btn{min-width:140px;padding:11px 20px}}@media (max-width:480px){.app-navbar{padding:0 14px}.brand{font-size:13px;letter-spacing:.08em}.page-title{display:none}.page-body{padding:16px 12px 36px}.extracted-grid,.field-row.cols-2,.field-row.cols-3,.result-meta-grid{grid-template-columns:1fr}.action-bar{flex-direction:column-reverse;gap:10px}.btn{min-width:100%;width:100%}.ref-badge{flex-wrap:wrap;justify-content:center;width:100%}.upload-zone{padding:28px 14px}}@media (max-width:360px){.brand{letter-spacing:.05em}.custom-select-trigger,.field-input,.field-select{font-size:16px}}
/*# sourceMappingURL=main.f3c9a9a8.css.map*/