*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}:root{--color-ok: #10b981;--color-mismatch: #ef4444;--color-missing: #f59e0b;--color-info: #3b82f6;--color-bg: #f8fafc;--color-card: #ffffff;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-secondary: #64748b;--color-primary: #2563eb;--color-primary-hover: #1d4ed8}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.5}.app{min-height:100vh}.header-v2{background:linear-gradient(135deg,#1e293b,#0f172a);padding:0 2rem;height:56px;display:flex;align-items:center;position:sticky;top:0;z-index:100}.header-content{max-width:1200px;width:100%;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.logo-text{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:-.025em}.logo-ai{font-size:.875rem;font-weight:600;color:#60a5fa;background:#60a5fa26;padding:.125rem .375rem;border-radius:4px}.nav-pills{display:flex;gap:.5rem;background:#ffffff1a;padding:.25rem;border-radius:8px}.nav-pill{text-decoration:none;color:#ffffffb3;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .15s}.nav-pill:hover{color:#fff;background:#ffffff1a}.nav-pill.active{background:#fff;color:#1e293b}.signout-btn{justify-self:end;margin-left:auto;position:relative;background:none;border:none;cursor:pointer;opacity:.7}.signout-btn:hover{opacity:1;background:#ffffff1a}.signout-btn[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);right:0;background:#1e293b;color:#fff;font-size:.75rem;white-space:nowrap;padding:.3rem .6rem;border-radius:6px;pointer-events:none;z-index:10}.main-content,.main{padding:2rem;max-width:1200px;margin:0 auto}.upload-page{display:flex;justify-content:center;padding:0 0 2rem}.upload-container{background:var(--color-card);width:100%;max-width:600px;padding:1.5rem 1rem}.upload-container h2{font-size:1.25rem;margin-bottom:.25rem}.subtitle{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:1.25rem}.up-slider{position:relative;overflow:hidden;width:100%}.up-form,.up-progress{width:100%;transition:transform .35s ease,opacity .35s ease}.up-progress{position:absolute;top:0;left:0;transform:translate(105%);opacity:0;pointer-events:none}.up-slider--progress .up-form{position:absolute;transform:translate(-105%);opacity:0;pointer-events:none}.up-slider--progress .up-progress{position:relative;transform:translate(0);opacity:1;pointer-events:auto}.drop-zone{border:2px dashed var(--color-border);border-radius:10px;padding:2.5rem 1rem;text-align:center;transition:border-color .2s,background .2s;background:var(--color-bg)}.drop-zone.dragging{border-color:var(--color-primary);background:#eff6ff}.drop-zone.has-files{padding:1.5rem 1rem}.drop-zone.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.drop-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.drop-icon{font-size:2.5rem}.or{color:var(--color-text-secondary);font-size:.8125rem}.file-input-label{display:inline-block;background:var(--color-primary);color:#fff;padding:.625rem 1.25rem;border-radius:7px;cursor:pointer;font-size:.875rem;transition:background .2s}.file-input-label:hover{background:var(--color-primary-hover)}.file-input-label input{display:none}.file-list{margin-top:1.25rem}.file-list h3{font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:.5rem}.file-list ul{list-style:none;border:1px solid var(--color-border);border-radius:8px;overflow-x:hidden;overflow-y:auto;max-height:260px}.file-list li{display:flex;align-items:center;min-height:48px;padding:0 .75rem;border-bottom:1px solid var(--color-border);gap:.75rem}.file-list li:last-child{border-bottom:none}.file-name{flex:1;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--color-text-secondary);font-size:.75rem;flex-shrink:0}.remove-btn{background:none;border:none;color:var(--color-text-secondary);font-size:1.25rem;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.remove-btn:hover{background:#fee2e2;color:var(--color-mismatch)}.validate-btn{width:100%;margin-top:1.25rem;padding:.875rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;min-height:48px}.validate-btn:hover:not(:disabled){background:var(--color-primary-hover)}.validate-btn:disabled{background:var(--color-border);cursor:not-allowed}.error-message{margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:var(--color-mismatch);font-size:.875rem}@media(min-width:640px){.upload-container{padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.upload-container h2{font-size:1.5rem}}.progress-container{margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.back-link{color:var(--color-primary);text-decoration:none}.back-link:hover{text-decoration:underline}.validation-page{background:var(--color-card);border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.validation-header{margin-bottom:2rem}.validation-header h2{margin:1rem 0 .5rem}.shipment-id{color:var(--color-text-secondary);font-size:.875rem;font-family:monospace}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.ok,.status-badge.high{background:#d1fae5;color:#065f46}.status-badge.mismatch{background:#fee2e2;color:#991b1b}.status-badge.missing,.status-badge.medium{background:#fef3c7;color:#92400e}.status-badge.low,.status-badge.consensus_failed{background:#e2e8f0;color:#475569}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--color-bg);border-radius:8px;padding:1.5rem;text-align:center}.summary-card h3{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:.5rem}.summary-card .count{font-size:2rem;font-weight:700}.summary-card.status.ok{background:#d1fae5}.summary-card.status.mismatch{background:#fee2e2}.summary-card.status.missing{background:#fef3c7}.review-banner{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:1rem;margin-bottom:2rem;text-align:center}.documents-section{margin-bottom:2rem}.documents-section h3{margin-bottom:1rem}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.document-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg);border-radius:8px;transition:background-color .15s ease,transform .15s ease}.document-card.clickable{cursor:pointer}.document-card.clickable:hover{background:var(--color-border);transform:translateY(-1px)}.doc-icon{font-size:1.5rem}.doc-info{flex:1;min-width:0}.doc-name{display:block;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-type-label{font-size:.75rem;color:var(--color-text-secondary)}.issues-section{margin-bottom:2rem}.issues-section h3{margin-bottom:1rem}.issue-group{margin-bottom:1.5rem}.issue-group h4{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.75rem}.issue-card{background:var(--color-bg);border-radius:8px;padding:1rem;margin-bottom:.5rem;border-left:4px solid}.issue-card.critical{border-left-color:var(--color-mismatch)}.issue-card.warning{border-left-color:var(--color-missing)}.issue-card.info{border-left-color:var(--color-info)}.issue-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.severity-icon{font-size:.75rem}.severity-icon.critical{color:var(--color-mismatch)}.severity-icon.warning{color:var(--color-missing)}.severity-icon.info{color:var(--color-info)}.issue-type{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.issue-field{font-size:.875rem;font-weight:500}.issue-description{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.issue-values{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem}.value-item{background:#fff;padding:.25rem .5rem;border-radius:4px}.doc-type{color:var(--color-text-secondary)}.value{font-family:monospace}.success-section{margin-bottom:2rem}.success-message{background:#d1fae5;border-radius:12px;padding:2rem;text-align:center}.success-icon{display:inline-block;width:48px;height:48px;background:var(--color-ok);color:#fff;border-radius:50%;font-size:1.5rem;line-height:48px;margin-bottom:1rem}.success-message h3{color:#065f46;margin-bottom:.5rem}.success-message p{color:#047857}.fields-section{margin-bottom:2rem}.fields-section h3{margin-bottom:1rem}.fields-table{width:100%;border-collapse:collapse}.fields-table th,.fields-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.fields-table th{background:var(--color-bg);font-size:.75rem;text-transform:uppercase;color:var(--color-text-secondary)}.fields-table tr.mismatch{background:#fef2f2}.fields-table tr.missing{background:#fffbeb}.comparison-table-container{margin-bottom:2rem;overflow-x:auto}.comparison-table-container h3{margin-bottom:1rem}.comparison-table{width:100%;border-collapse:collapse;font-size:.875rem}.comparison-table th,.comparison-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}.comparison-table th{background:var(--color-bg);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--color-text-secondary);white-space:nowrap}.comparison-table .field-col{min-width:150px}.comparison-table .status-col{width:60px;text-align:center}.comparison-table .doc-col{min-width:100px}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.875rem;font-weight:700}.status-icon.ok{background:#d1fae5;color:#065f46}.status-icon.mismatch{background:#fee2e2;color:#991b1b}.status-icon.missing{background:#fef3c7;color:#92400e}.field-row,.container-row{transition:background .15s}.field-row.clickable,.container-row.clickable{cursor:pointer}.field-row.clickable:hover,.container-row.clickable:hover{background:#f1f5f9}.field-row.mismatch,.container-row.mismatch{background:#fef2f2}.field-row.missing,.container-row.missing{background:#fffbeb}.field-name,.container-number{font-weight:500;display:flex;align-items:center;gap:.5rem}.container-number{font-family:monospace}.expand-icon{font-size:.625rem;color:var(--color-text-secondary);width:12px}.status-cell{text-align:center}.value-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-cell{background:#fef2f2;position:relative}.error-marker{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--color-mismatch);color:#fff;border-radius:50%;font-size:.625rem;font-weight:700;margin-left:.25rem}.no-value{color:var(--color-text-secondary)}.no-value.missing-marker{color:var(--color-missing);font-weight:700}.expanded-row td{background:#f8fafc;padding:0}.expanded-content{padding:1.5rem;border-left:4px solid var(--color-primary);background:#fff}.issue-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fef3c7;border-radius:8px;margin-bottom:.75rem}.issue-banner.mismatch{background:#fee2e2}.issue-banner.missing{background:#fef3c7}.issue-icon{font-size:1.25rem}.issue-icon.mismatch{color:var(--color-mismatch)}.issue-icon.missing{color:var(--color-missing)}.issue-text{color:var(--color-text);font-size:.9375rem}.detail-table{width:100%;max-width:500px;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.detail-table th,.detail-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.detail-table th{background:var(--color-bg);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--color-text-secondary)}.detail-table tbody tr:last-child td{border-bottom:none}.detail-table .doc-name-cell{font-weight:500;width:120px}.detail-table .value-cell-detail{font-size:.9375rem}.detail-table .value-text{color:var(--color-text)}.detail-table .missing-text{color:var(--color-missing);font-style:italic}.detail-table .missing-row{background:#fffbeb}.detail-table .mismatch-row{background:#fef2f2}.detail-table .issue-cell{width:120px}.issue-tag{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.issue-tag.ok{background:#d1fae5;color:#065f46}.issue-tag.mismatch{background:#fee2e2;color:#991b1b}.issue-tag.missing{background:#fef3c7;color:#92400e}.status-label{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-label.ok{background:#d1fae5;color:#065f46}.status-label.mismatch{background:#fee2e2;color:#991b1b}.status-label.missing{background:#fef3c7;color:#92400e}.field-issue-block{margin-bottom:1.5rem}.field-issue-block:last-child{margin-bottom:0}.field-issue-header{font-size:1rem;margin-bottom:.5rem;color:var(--color-text)}.field-issue-block .detail-table{margin-top:.75rem}.documents-chips{display:flex;flex-wrap:wrap;gap:.5rem}.document-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg);border-radius:6px;font-size:.875rem}.doc-type-badge{background:var(--color-primary);color:#fff;padding:.125rem .375rem;border-radius:4px;font-size:.625rem;font-weight:600}.doc-filename{color:var(--color-text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-card.issues .issue-counts{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.issue-counts .critical{color:var(--color-mismatch)}.issue-counts .warning{color:var(--color-missing)}.issue-counts .info{color:var(--color-info)}.issue-counts .none{color:var(--color-ok);font-weight:500}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.history-header h2{margin:0}.filter-toggle{display:flex;background:var(--color-card);border-radius:8px;padding:.25rem;gap:.25rem;box-shadow:0 1px 3px #0000001a}.filter-btn{padding:.375rem 1rem;border:none;background:none;border-radius:6px;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);transition:all .15s}.filter-btn.active{background:var(--color-primary);color:#fff}.run-by{font-size:.8rem;padding:.2rem .6rem;border-radius:12px;position:relative;cursor:default}.run-by[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:.75rem;white-space:nowrap;padding:.3rem .6rem;border-radius:6px;pointer-events:none;z-index:10}.run-by-me{background:#6366f11a;color:var(--color-primary)}.run-by-other{background:#0000000d;color:var(--color-text-secondary)}.empty-state{text-align:center;padding:4rem;color:var(--color-text-secondary)}.start-link{display:inline-block;margin-top:1rem;color:var(--color-primary);text-decoration:none}.start-link:hover{text-decoration:underline}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-card{background:var(--color-card);border-radius:8px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s;overflow:hidden}.history-card:hover{box-shadow:0 4px 12px #0000001a}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;text-decoration:none;color:var(--color-text)}.feedback-strip{border-top:1px solid var(--color-border, rgba(0,0,0,.08));padding:.5rem 1.5rem}.feedback-votes{display:flex;align-items:center;gap:.25rem}.feedback-question{font-size:.8125rem;color:var(--color-text-secondary);margin-right:.5rem}.feedback-thumb{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem .375rem;border-radius:6px;opacity:.35;transition:opacity .15s,background .15s;line-height:1}.feedback-thumb:hover:not(:disabled){opacity:.8;background:#0000000f}.feedback-thumb:disabled{cursor:default}.feedback-thumb--up.is-active{opacity:1;background:#22c55e1f}.feedback-thumb--down.is-active{opacity:1;background:#ef44441f}.feedback-saved-label{font-size:.75rem;color:var(--color-text-secondary);margin-left:.5rem}.feedback-comment-row{display:flex;gap:.5rem;margin-top:.5rem;align-items:flex-start}.feedback-textarea{flex:1;font-size:.8125rem;padding:.375rem .5rem;border:1px solid var(--color-border, rgba(0,0,0,.2));border-radius:6px;background:var(--color-bg, #fff);color:var(--color-text);resize:vertical;min-height:3rem;font-family:inherit}.feedback-textarea:focus{outline:none;border-color:var(--color-primary, #2563eb)}.feedback-save-btn{padding:.375rem .75rem;font-size:.8125rem;background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;align-self:flex-end}.feedback-save-btn:hover:not(:disabled){opacity:.9}.feedback-save-btn:disabled{opacity:.5;cursor:default}.feedback-remove-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;color:var(--color-text-secondary);opacity:.4;display:flex;align-items:center;justify-content:center;margin-left:.25rem;transition:opacity .15s,color .15s}.feedback-remove-btn:hover:not(:disabled){opacity:.8;color:var(--color-danger, #ef4444)}.feedback-remove-btn:disabled{cursor:default}.feedback-shipment-link{display:flex;flex-direction:column;gap:.125rem;text-decoration:none;color:var(--color-text)}.feedback-shipment-link:hover .feedback-bl{text-decoration:underline;color:var(--color-primary, #2563eb)}.feedback-bl{font-family:monospace;font-size:.875rem}.feedback-shipment-date{font-size:.75rem;color:var(--color-text-secondary)}.feedback-comment-cell{max-width:280px;font-size:.875rem;color:var(--color-text-secondary);white-space:normal;word-break:break-word}.history-info{display:flex;flex-direction:column;gap:.25rem}.history-info .shipment-id{font-family:monospace;font-weight:500;color:var(--color-text)}.history-info .shipment-date{font-size:.875rem;color:var(--color-text-secondary)}.history-info .shipment-vessel{font-size:.8rem;color:var(--color-text-secondary);opacity:.8}.history-meta{display:flex;align-items:center;gap:1rem}.doc-count{font-size:.875rem;color:var(--color-text-secondary)}.admin-page,.org-page{padding:1rem 0}.admin-page h2,.org-page h2{margin-bottom:1.5rem}.admin-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}.admin-sidebar{background:var(--color-card);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.admin-section-header h3{margin:0;font-size:1rem}.org-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.org-item{width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:.75rem;cursor:pointer;transition:all .15s}.org-item:hover{background:#0000000a}.org-item.active{background:#6366f114;border-color:var(--color-primary)}.org-name{display:block;font-weight:500;margin-bottom:.25rem}.org-stats{display:flex;gap:.75rem;font-size:.75rem;color:var(--color-text-secondary)}.new-org-form h4{font-size:.875rem;margin:0 0 .75rem;color:var(--color-text-secondary)}.admin-detail{background:var(--color-card);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.admin-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.admin-detail-header h3{margin:0}.limit-editor{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:.5rem}.admin-tab{background:none;border:none;padding:.5rem 1rem;cursor:pointer;color:var(--color-text-secondary);border-radius:6px}.admin-tab.active{color:var(--color-primary);font-weight:500;background:#6366f114}.admin-input{padding:.5rem .75rem;border:1px solid rgba(0,0,0,.15);border-radius:6px;font-size:.875rem;background:var(--color-bg);color:var(--color-text);width:100%;margin-bottom:.5rem}.admin-input.inline{width:80px;margin:0}.admin-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:opacity .15s}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.primary{background:var(--color-primary);color:#fff}.admin-btn.small{padding:.3rem .75rem}.admin-btn.danger{background:#ef4444;color:#fff}.add-member-form{display:flex;gap:.5rem;margin-bottom:1rem;align-items:flex-start}.add-member-form .admin-input{margin:0}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;padding:.5rem .75rem;color:var(--color-text-secondary);border-bottom:1px solid rgba(0,0,0,.08)}.admin-table td{padding:.625rem .75rem;border-bottom:1px solid rgba(0,0,0,.05)}.admin-table tr:last-child td{border-bottom:none}.mono{font-family:monospace;font-size:.8rem}.role-badge{padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500}.role-badge.org_manager{background:#6366f11a;color:var(--color-primary)}.role-badge.org_member{background:#0000000f;color:var(--color-text-secondary)}.org-summary-cards{display:flex;gap:1rem;margin-bottom:2rem}.data-privacy-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.08)}.data-privacy-section h3{margin-bottom:.5rem}.data-privacy-description{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:1.25rem;max-width:560px}.data-privacy-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-start}.data-privacy-confirm{display:flex;flex-direction:column;gap:.5rem}.data-privacy-warning{font-size:.85rem;color:#ef4444;margin:0}.data-privacy-confirm-buttons{display:flex;gap:.5rem}.data-privacy-error{color:#ef4444;font-size:.85rem;margin-bottom:.75rem}.data-privacy-success{color:#16a34a;font-size:.9rem}.retention-setting{display:flex;gap:.75rem;align-items:center}.retention-select{padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;background:var(--color-card);color:var(--color-text);cursor:pointer}.retention-select:disabled{opacity:.6;cursor:not-allowed}.retention-readonly{font-size:.9rem;color:var(--color-text-secondary)}.summary-card{background:var(--color-card);border-radius:12px;padding:1.25rem 1.5rem;flex:1;box-shadow:0 1px 3px #0000001a}.summary-label{display:block;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.5rem}.summary-value{display:block;font-size:1.5rem;font-weight:600;margin-bottom:.75rem}.usage-bar{height:6px;background:#00000014;border-radius:3px;overflow:hidden}.usage-bar-fill{height:100%;border-radius:3px;transition:width .3s}.header-section{margin-bottom:2rem}.header-section h3{margin-bottom:1rem}.validation-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.validation-table th,.validation-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.validation-table th{background:var(--color-bg);font-weight:600;font-size:.875rem}.validation-table tr.clickable{cursor:pointer}.validation-table tr.clickable:hover{background:var(--color-bg)}.validation-table tr.has-issue{background:#fffbeb}.container-section{margin-top:2rem}.container-section h3{margin-bottom:1rem}.container-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.container-table th,.container-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.container-table th{background:var(--color-bg);font-size:.875rem}.container-table .bold-cell{font-weight:600}.container-table .issue-cell{background:#fffbeb}.container-row.mismatch{border-left:3px solid var(--color-mismatch)}.container-row.missing{border-left:3px solid var(--color-missing)}.status-indicator{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.75rem;margin-left:.5rem;vertical-align:middle}.status-indicator.mismatch{background:var(--color-mismatch);color:#fff}.status-indicator.missing{background:var(--color-missing);color:#fff}.grouped-values{display:flex;flex-direction:column;gap:1rem}.value-group{padding:1rem;border-radius:8px;border:1px solid var(--color-border)}.value-group.missing-group{background:#fffbeb!important;border-color:var(--color-missing)}.group-value{margin-bottom:.5rem;font-size:.9375rem;word-break:break-word}.group-documents{display:flex;flex-wrap:wrap;gap:.5rem}.doc-tag{display:inline-block;padding:.25rem .5rem;background:var(--color-primary);color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.doc-tag.missing{background:var(--color-missing)}.container-issues{padding:1rem;background:#fff;border-left:4px solid var(--color-missing)}.container-issues ul{margin-top:.5rem;margin-left:1.5rem}.container-issues li{margin-bottom:.25rem;color:var(--color-text)}.container-row.clickable{cursor:pointer}.container-row.clickable:hover{background:var(--color-bg)}.container-issues-detail{padding:1.5rem;background:#fff;border-left:4px solid var(--color-primary)}.field-issue-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.field-issue-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.field-issue-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;font-size:1rem}.validation-page-v2{max-width:1200px}.validation-page-v2 .page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}.validation-page-v2 .page-title{font-size:1.5rem;font-weight:700;color:var(--color-text);font-family:SF Mono,Monaco,Cascadia Code,monospace}.validation-page-v2 .page-date{font-size:.875rem;color:var(--color-text-secondary)}.validation-page-v2 .summary-section{margin-bottom:2rem}.validation-page-v2 .summary-banner{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-radius:12px;border-left:4px solid}.validation-page-v2 .summary-banner.success{background:#ecfdf5;border-left-color:#10b981}.validation-page-v2 .summary-banner.error{background:#fef2f2;border-left-color:#ef4444}.validation-page-v2 .summary-banner.warning{background:#fffbeb;border-left-color:#f59e0b}.validation-page-v2 .summary-banner.review{background:#f5f3ff;border-left-color:#8b5cf6}.validation-page-v2 .summary-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;flex-shrink:0}.validation-page-v2 .summary-banner.success .summary-icon{background:#10b981;color:#fff}.validation-page-v2 .summary-banner.error .summary-icon{background:#ef4444;color:#fff}.validation-page-v2 .summary-banner.warning .summary-icon{background:#f59e0b;color:#fff}.validation-page-v2 .summary-banner.review .summary-icon{background:#8b5cf6;color:#fff}.validation-page-v2 .summary-content{flex:1}.validation-page-v2 .summary-chips{display:flex;gap:.5rem;margin-bottom:.5rem}.validation-page-v2 .summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.validation-page-v2 .bl-number{font-size:1.125rem;font-weight:700;color:var(--color-text);font-family:SF Mono,Monaco,Cascadia Code,monospace}.validation-page-v2 .validation-date{font-size:.8125rem;color:var(--color-text-secondary)}.validation-page-v2 .summary-text{font-size:.9375rem;line-height:1.6;color:var(--color-text-secondary)}.validation-page-v2 .summary-text p{margin:0 0 .5rem}.validation-page-v2 .summary-text .review-warning{background:#fef3c7;border:2px solid #f59e0b;border-left:5px solid #d97706;border-radius:6px;padding:.75rem 1rem;color:#78350f;margin-bottom:.75rem;font-size:.9375rem;line-height:1.5}.validation-page-v2 .summary-text .review-warning p{margin:0}.validation-page-v2 .summary-text .review-warning p+p{margin-top:.375rem}.validation-page-v2 .summary-text p:last-child{margin-bottom:0}.validation-page-v2 .summary-text strong{color:var(--color-text);font-weight:600}.validation-page-v2 .summary-text h1,.validation-page-v2 .summary-text h2,.validation-page-v2 .summary-text h3{color:var(--color-text);margin:.75rem 0 .375rem;font-weight:600}.validation-page-v2 .summary-text h1:first-child,.validation-page-v2 .summary-text h2:first-child,.validation-page-v2 .summary-text h3:first-child{margin-top:0}.validation-page-v2 .summary-text h1{font-size:1.125rem}.validation-page-v2 .summary-text h2{font-size:1rem}.validation-page-v2 .summary-text h3{font-size:.9375rem}.validation-page-v2 .summary-text table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.8125rem}.validation-page-v2 .summary-text th,.validation-page-v2 .summary-text td{padding:.5rem .75rem;text-align:left;border:1px solid var(--color-border)}.validation-page-v2 .summary-text th{background:var(--color-bg);font-weight:600;color:var(--color-text)}.validation-page-v2 .summary-text td{background:#fff}.validation-page-v2 .summary-text tr:nth-child(2n) td{background:#f8fafc}.validation-page-v2 .summary-text ul,.validation-page-v2 .summary-text ol{margin:.5rem 0;padding-left:1.25rem}.validation-page-v2 .summary-text li{margin-bottom:.25rem}.validation-page-v2 .summary-text code{background:#0000000d;padding:.125rem .375rem;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.875em}.validation-page-v2 .section{margin-bottom:2.5rem}.validation-page-v2 .section-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .25rem}.validation-page-v2 .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.validation-page-v2 .section-header .section-title{margin:0}.validation-page-v2 .expand-all-btn{padding:.25rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);border-radius:4px;cursor:pointer;transition:all .15s ease}.validation-page-v2 .expand-all-btn:hover{background:var(--color-primary);color:#fff}.validation-page-v2 .section-subtitle{font-size:.8125rem;color:var(--color-text-secondary);margin:0 0 1rem}.validation-page-v2 .field-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;align-items:start}.validation-page-v2 .field-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.validation-page-v2 .field-card.has-conflict{border-color:#f87171;border-left:3px solid #ef4444}.validation-page-v2 .field-card-header{padding:.875rem 1rem;cursor:pointer;transition:background .15s;position:relative}.validation-page-v2 .field-card-header:hover{background:#f8fafc}.validation-page-v2 .field-card-header .chevron{position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.validation-page-v2 .field-card-header .chevron.expanded{transform:translateY(-50%) rotate(90deg)}.validation-page-v2 .field-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem;padding-right:1.5rem}.validation-page-v2 .status-pills{display:flex;gap:.375rem}.validation-page-v2 .field-card-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.validation-page-v2 .field-card-value{font-size:.9375rem;font-weight:600;color:var(--color-text);font-family:SF Mono,Monaco,Cascadia Code,monospace;padding-right:1.5rem}.validation-page-v2 .field-card-details{border-top:1px solid var(--color-border);background:#f8fafc}.validation-page-v2 .chevron{color:var(--color-text-secondary);font-size:1.25rem;font-weight:300;transition:transform .2s;display:inline-block}.validation-page-v2 .chevron.expanded{transform:rotate(90deg)}.validation-page-v2 .status-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.validation-page-v2 .status-pill.match{background:#10b981;color:#fff}.validation-page-v2 .status-pill.conflict{background:#ef4444;color:#fff}.validation-page-v2 .status-pill.missing{background:#f59e0b;color:#fff}.validation-page-v2 .status-pill.review{background:#8b5cf6;color:#fff}.validation-page-v2 .status-pill.small{padding:.1875rem .5rem;font-size:.625rem}.validation-page-v2 .field-details{background:#f8fafc;padding:.75rem 1.25rem 1rem;border-bottom:1px solid var(--color-border)}.validation-page-v2 .detail-rows{display:flex;flex-direction:column;gap:0}.validation-page-v2 .detail-row{display:grid;grid-template-columns:minmax(80px,45%) 1fr;gap:1rem;align-items:center;padding:.5rem .75rem;background:#f1f5f9}.validation-page-v2 .detail-row.zebra{background:#dbeafe}.validation-page-v2 .detail-row.conflict{background:#fef2f2}.validation-page-v2 .detail-row.review{background:#f5f3ff}.validation-page-v2 .detail-doc{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.validation-page-v2 .detail-value{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.8125rem;color:var(--color-text);text-align:right}.validation-page-v2 .detail-value.conflict{color:#dc2626;font-weight:500}.validation-page-v2 .detail-value.review{color:#6d28d9;font-weight:500}.validation-page-v2 .review-icon{margin-left:.25rem;font-size:.9rem;line-height:1;vertical-align:middle}.validation-page-v2 .detail-status{text-align:right;font-size:.75rem;font-weight:500}.validation-page-v2 .detail-status.master{color:#1d4ed8}.validation-page-v2 .detail-status.match{color:#10b981}.validation-page-v2 .detail-status.conflict{color:#dc2626}.validation-page-v2 .detail-status.empty{color:var(--color-text-secondary)}.validation-page-v2 .warning-icon{color:#f59e0b;opacity:.8}.validation-page-v2 .match-check{color:#10b981;font-weight:700;margin-left:.5rem}.validation-page-v2 .match-conflict{color:#ef4444;font-weight:700;margin-left:.5rem}.validation-page-v2 .group-section{border-left:3px solid #60a5fa;margin-left:0}.validation-page-v2 .group-header{font-weight:600;background:#eff6ff!important}.validation-page-v2 .group-header:hover{background:#dbeafe!important}.validation-page-v2 .group-chevron{display:inline-block;margin-right:.5rem;transition:transform .15s ease;font-size:.75rem}.validation-page-v2 .group-chevron.expanded{transform:rotate(90deg)}.validation-page-v2 .group-members{background:#f8fafc;border-top:1px solid #e2e8f0}.validation-page-v2 .member-row{background:#f8fafc!important;padding-left:1.5rem!important}.validation-page-v2 .member-doc{font-size:.625rem!important;color:#94a3b8!important}.validation-page-v2 .member-value{font-size:.75rem!important;color:#64748b!important;text-align:right!important}.validation-page-v2 .sum-row{border-top:1px dashed #cbd5e1;font-weight:600}.validation-page-v2 .sum-row .member-doc,.validation-page-v2 .sum-row .member-value{color:#1e40af!important}.validation-page-v2 .doc-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;background:#e2e8f0;color:#475569}.validation-page-v2 .doc-badge.bl{background:#3b82f6;color:#fff}.validation-page-v2 .doc-badge.small{min-width:28px;font-size:.625rem;padding:.0625rem .375rem}.validation-page-v2 .doc-badge.conflict{background:#fee2e2;color:#991b1b}.validation-page-v2 .status-text{font-size:.75rem;font-weight:500}.validation-page-v2 .status-text.master{color:#3b82f6}.validation-page-v2 .status-text.match{color:#059669}.validation-page-v2 .status-text.conflict{color:#dc2626}.validation-page-v2 .status-text.empty{color:var(--color-text-secondary)}.validation-page-v2 .containers-list{display:flex;flex-wrap:wrap;gap:.5rem}.validation-page-v2 .container-card{background:#fff;border:1px solid var(--color-border);border-radius:6px;overflow:visible}.validation-page-v2 .container-card.expanded{width:100%;flex-basis:100%}.validation-page-v2 .container-card.has-conflict{border-color:#f87171;border-left:3px solid #ef4444}.validation-page-v2 .container-header{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;cursor:pointer;transition:background .15s}.validation-page-v2 .container-header:hover{background:#f8fafc}.validation-page-v2 .container-info{display:flex;align-items:center;gap:.5rem}.validation-page-v2 .container-review-icon{font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;vertical-align:middle}.validation-page-v2 .container-number{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.8125rem;font-weight:600;color:var(--color-text)}.validation-page-v2 .container-details{border-top:1px solid var(--color-border);background:#f8fafc;overflow-x:auto;overflow-y:visible}.validation-page-v2 .horizontal-comparison{overflow-x:auto;overflow-y:visible}.validation-page-v2 .horizontal-comparison table{width:100%;border-collapse:collapse;font-size:.75rem;white-space:nowrap}.validation-page-v2 .horizontal-comparison th{padding:.75rem;text-align:center;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#475569;background:#f1f5f9;border-bottom:2px solid #000000}.validation-page-v2 .horizontal-comparison th.field-header{text-align:left;min-width:110px;background:#1e293b;color:#fff}.validation-page-v2 .horizontal-comparison th.col-blue{background:#dbeafe}.validation-page-v2 .horizontal-comparison td{padding:.5rem .75rem;text-align:center;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.75rem;background:#f1f5f9}.validation-page-v2 .horizontal-comparison .field-name-cell{text-align:left;font-family:inherit;font-weight:700;color:#0f172a;background:#e2e8f0;font-size:.8125rem}.validation-page-v2 .field-status{margin-left:.375rem;font-weight:700}.validation-page-v2 .field-status.match{color:#10b981}.validation-page-v2 .field-status.conflict{color:#ef4444}.validation-page-v2 .field-status.missing{color:#f59e0b}.validation-page-v2 .field-status.review{color:#8b5cf6;font-size:.75rem}.validation-page-v2 .horizontal-comparison .col-blue{background:#dbeafe}.validation-page-v2 .horizontal-comparison .conflict-cell{background:#fef2f2!important;color:#dc2626;font-weight:600}.validation-page-v2 .horizontal-comparison .review-cell{background:#fef9c3!important;color:#854d0e;font-weight:600}.validation-page-v2 .horizontal-comparison .mismatch-cell{background:#fef2f2!important;color:#dc2626;font-weight:600}.validation-page-v2 .horizontal-comparison .header-check{color:#10b981;font-weight:700;margin-left:.25rem}.validation-page-v2 .horizontal-comparison .header-conflict{color:#ef4444;font-weight:700;margin-left:.25rem}.validation-page-v2 .horizontal-comparison .header-review{color:#8b5cf6;font-size:.75rem;margin-left:.25rem}.validation-page-v2 .horizontal-comparison .header-missing{color:#f59e0b;font-weight:700;margin-left:.25rem}.validation-page-v2 .horizontal-comparison .cell-check{color:#10b981;font-weight:700;margin-left:.35rem}.validation-page-v2 .horizontal-comparison .cell-conflict{color:#ef4444;font-weight:700;margin-left:.35rem}.validation-page-v2 .horizontal-comparison .status-header{width:32px;background:transparent!important;border-bottom:none!important}.validation-page-v2 .horizontal-comparison .row-status{width:32px;text-align:center;background:transparent!important}.validation-page-v2 .row-status-icon{font-weight:700;font-size:.875rem}.validation-page-v2 .row-status-icon.match{color:#10b981}.validation-page-v2 .row-status-icon.conflict{color:#ef4444}.validation-page-v2 .row-status-icon.missing{color:#f59e0b}.validation-page-v2 .documents-section{margin-top:1rem}.validation-page-v2 .section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;background:#fff;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text);transition:background .15s}.validation-page-v2 .section-toggle:hover{background:#f8fafc}.validation-page-v2 .documents-list{margin-top:.5rem;background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.validation-page-v2 .document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .15s}.validation-page-v2 .document-item:last-child{border-bottom:none}.validation-page-v2 .document-item:hover{background:#f8fafc}.validation-page-v2 .document-item .doc-type{flex-shrink:0;font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-primary);background:#eff6ff;padding:.125rem .375rem;border-radius:3px;min-width:32px;text-align:center}.validation-page-v2 .document-item .doc-name{flex:1;min-width:0;font-size:.8125rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validation-page-v2 .document-item .doc-arrow{flex-shrink:0;margin-left:auto;color:var(--color-text-secondary);font-size:.875rem}.validation-page-v2 .document-item .doc-quality{flex-shrink:0;font-size:.75rem;width:16px;text-align:center}.validation-page-v2 .document-item .doc-quality.quality-good{color:var(--color-ok)}.validation-page-v2 .document-item .doc-quality.quality-medium{color:var(--color-missing)}.validation-page-v2 .document-item .doc-quality.quality-poor{color:var(--color-mismatch)}.validation-page-v2 .loading-state,.validation-page-v2 .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--color-text-secondary)}.validation-page-v2 .error-state h2{color:var(--color-text);margin:0}.validation-page-v2 .btn-primary{display:inline-flex;align-items:center;padding:.625rem 1.25rem;background:var(--color-primary);color:#fff;border-radius:6px;text-decoration:none;font-size:.875rem;font-weight:500;transition:background .15s}.validation-page-v2 .btn-primary:hover{background:var(--color-primary-hover)}.eval-page{max-width:1800px;margin:0 auto;padding:0 2rem;width:100%}.eval-page h2{margin-bottom:.25rem}.eval-page .subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem}.eval-section{background:var(--color-card);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a;width:100%}.eval-section h3{font-size:1rem;margin-bottom:1rem}.case-selector{margin-bottom:1rem}.case-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s}.case-checkbox:hover{background:var(--color-bg)}.case-checkbox.disabled{opacity:.5;cursor:not-allowed}.case-checkbox.select-all{font-weight:600;border-bottom:1px solid var(--color-border);padding-bottom:.75rem;margin-bottom:.5rem;border-radius:0}.case-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.case-checkbox .case-name{flex:1;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.875rem}.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.25rem}.ground-truth-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:.125rem .375rem;border-radius:4px}.ground-truth-badge.human{background:#dbeafe;color:#1d4ed8}.ground-truth-badge.validation_data{background:#e0e7ff;color:#4338ca}.no-ground-truth{font-size:.625rem;color:var(--color-text-secondary);font-style:italic}.run-eval-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.run-eval-btn:hover:not(:disabled){background:var(--color-primary-hover)}.run-eval-btn:disabled{background:var(--color-border);cursor:not-allowed}.spinner.small{width:16px;height:16px;border-width:2px}.eval-runs-list{display:flex;flex-direction:column;gap:.75rem}.eval-run-card{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.eval-run-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:background .15s}.eval-run-header:hover{background:var(--color-bg)}.eval-run-info{display:flex;flex-direction:column;gap:.125rem}.run-number{font-weight:600;font-size:.9375rem}.run-date{font-size:.75rem;color:var(--color-text-secondary)}.eval-run-stats{display:flex;align-items:center;gap:1.5rem}.cases-stat,.fields-stat{font-size:.875rem;color:var(--color-text-secondary)}.cases-stat.all-passed{color:var(--color-ok);font-weight:500}.accuracy{font-size:1rem;font-weight:700;padding:.25rem .625rem;border-radius:6px}.accuracy.perfect{background:#d1fae5;color:#065f46}.accuracy.good{background:#dbeafe;color:#1e40af}.accuracy.fair{background:#fef3c7;color:#92400e}.accuracy.poor{background:#fee2e2;color:#991b1b}.eval-run-actions{display:flex;align-items:center;gap:.75rem}.delete-btn{background:none;border:none;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .15s}.delete-btn:hover{background:#fee2e2;color:var(--color-mismatch)}.chevron{color:var(--color-text-secondary);font-size:1.25rem;transition:transform .2s}.chevron.expanded{transform:rotate(90deg)}.chevron.small{font-size:1rem}.eval-run-details{border-top:1px solid var(--color-border);background:var(--color-bg)}.eval-case-item{border-bottom:1px solid var(--color-border)}.eval-case-item:last-child{border-bottom:none}.eval-case-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;transition:background .15s}.eval-case-header:hover{background:#fff}.eval-status-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.75rem;font-weight:700}.eval-status-icon.passed{background:#d1fae5;color:#065f46}.eval-status-icon.failed{background:#fee2e2;color:#991b1b}.eval-status-icon.skipped{background:#e2e8f0;color:#475569}.eval-status-icon.error{background:#fef3c7;color:#92400e}.eval-case-header .case-name{flex:1;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.875rem;font-weight:500}.case-stats{font-size:.8125rem;color:var(--color-text-secondary)}.skipped-text,.error-text{font-style:italic}.error-text{color:var(--color-mismatch)}.eval-case-details{padding:.75rem 1.5rem 1rem;background:#fff}.eval-case-details .comparison-table{width:100%;border-collapse:collapse;font-size:.8125rem;table-layout:auto}.eval-case-details .comparison-table th:nth-child(1),.eval-case-details .comparison-table td:nth-child(1){width:25%;min-width:200px}.eval-case-details .comparison-table th:nth-child(2),.eval-case-details .comparison-table td:nth-child(2),.eval-case-details .comparison-table th:nth-child(3),.eval-case-details .comparison-table td:nth-child(3){width:32%;min-width:250px}.eval-case-details .comparison-table th:nth-child(4),.eval-case-details .comparison-table td:nth-child(4){width:60px}.eval-case-details .comparison-table th{text-align:left;padding:.5rem .75rem;background:var(--color-bg);font-size:.6875rem;text-transform:uppercase;color:var(--color-text-secondary);font-weight:600}.eval-case-details .comparison-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.eval-case-details .comparison-table tr.mismatch{background:#fef2f2}.eval-case-details .field-path{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.75rem;color:var(--color-text-secondary)}.eval-case-details .value{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.8125rem;word-break:break-word;white-space:normal;overflow-wrap:break-word}.eval-case-details .match-cell{text-align:center;width:50px}.match-icon{color:var(--color-ok);font-weight:700}.mismatch-icon{color:var(--color-mismatch);font-weight:700}.stat-group{display:inline-flex;align-items:center;gap:.25rem;margin-right:1rem}.stat-label{font-size:.6875rem;text-transform:uppercase;color:var(--color-text-secondary)}.stat-good{color:var(--color-ok);font-weight:600}.stat-bad{color:var(--color-mismatch);font-weight:600}.comparison-section-title{font-size:.8125rem;font-weight:600;margin:1rem 0 .5rem;color:var(--color-text-secondary);padding-bottom:.25rem;border-bottom:1px solid var(--color-border)}.comparison-section-title:first-child{margin-top:0}.status-cell{font-weight:600;font-size:.75rem;text-transform:uppercase}.status-cell.status-ok{color:var(--color-ok)}.status-cell.status-mismatch{color:var(--color-mismatch)}.status-cell.status-missing{color:var(--color-text-secondary)}.instance-conflict{margin:.25rem 0 .5rem 1rem;padding:.5rem .75rem;background:#fff3cd;border-radius:6px;font-size:.8125rem;border-left:3px solid var(--color-missing)}.conflict-badge{color:#856404;font-weight:500;display:block;margin-bottom:.375rem}.instance-list{display:flex;flex-direction:column;gap:.25rem}.instance-row{display:flex;flex-wrap:wrap;gap:.5rem;padding:.25rem 0;border-top:1px solid rgba(133,100,4,.15)}.instance-row:first-child{border-top:none;padding-top:0}.instance-raw{color:#5c4813;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.75rem;background:#8564041a;padding:.125rem .375rem;border-radius:3px}.instance-parsed{font-weight:600;color:#664d03}.instance-location{color:#856404;font-style:italic;font-size:.75rem}.instance-header{display:flex;align-items:center;gap:.375rem;cursor:pointer;padding:.125rem 0;transition:opacity .15s ease}.instance-header:hover{opacity:.8}.instance-chevron{font-size:.875rem;font-weight:600;color:#856404;transition:transform .15s ease;display:inline-block}.instance-chevron.expanded{transform:rotate(90deg)}.validation-page-v2 .ocr-assumed-badge{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:.25rem;cursor:help;vertical-align:middle}.validation-page-v2 .human-review-section{margin-bottom:1.5rem}.validation-page-v2 .human-review-banner{display:flex;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444;border-radius:.75rem;box-shadow:0 2px 8px #ef444426}.validation-page-v2 .review-card .review-icon{font-size:1.5rem;flex-shrink:0}.validation-page-v2 .review-content{flex:1}.validation-page-v2 .review-title{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:#b91c1c}.validation-page-v2 .review-subtitle{margin:0 0 .75rem;font-size:.8125rem;color:#991b1b}.validation-page-v2 .review-items{display:flex;flex-direction:column;gap:.75rem}.validation-page-v2 .review-item{background:#fff;border:1px solid #fca5a5;border-radius:.5rem;padding:.75rem 1rem}.validation-page-v2 .review-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.validation-page-v2 .review-item-badge{padding:.125rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;background:#dc2626;color:#fff;border-radius:.25rem}.validation-page-v2 .review-item-title{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.875rem;font-weight:600;color:#1f2937}.validation-page-v2 .review-item-details{font-size:.8125rem;color:#4b5563}.validation-page-v2 .review-item-details p{margin:.25rem 0}.validation-page-v2 .review-item-details code{padding:.125rem .375rem;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.75rem;background:#fef3c7;color:#92400e;border-radius:.25rem}.validation-page-v2 .review-item-reason{margin-top:.5rem!important;padding-top:.5rem;border-top:1px dashed #e5e7eb;font-size:.75rem;color:#6b7280}.validation-page-v2 .review-item-confidence{margin-top:.25rem!important}.validation-page-v2 .confidence-badge{display:inline-block;padding:.125rem .375rem;font-size:.625rem;font-weight:600;text-transform:uppercase;border-radius:.25rem}.validation-page-v2 .confidence-badge.high{background:#10b981;color:#fff}.validation-page-v2 .confidence-badge.medium{background:#f59e0b;color:#fff}.validation-page-v2 .confidence-badge.low{background:#ef4444;color:#fff}.validation-page-v2 .review-item-badge.high{background:#10b981}.validation-page-v2 .review-item-badge.medium{background:#f59e0b}.validation-page-v2 .review-item-badge.low{background:#ef4444}.validation-page-v2 .corrected-cell{background:#fef3c7!important}.validation-page-v2 .container-card.has-review{border-color:#a78bfa;border-left:3px solid #8b5cf6}.validation-page-v2 .correction-indicator{position:relative;display:inline-flex;align-items:center;margin-left:.375rem;cursor:pointer;z-index:1}.validation-page-v2 .correction-indicator:hover,.validation-page-v2 .correction-indicator.pinned{z-index:9999}.validation-page-v2 .correction-icon{font-size:.875rem;animation:pulse-subtle 2s infinite}.validation-page-v2 .correction-indicator.pinned .correction-icon{animation:none}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.6}}.validation-page-v2 .correction-tooltip{width:240px;padding:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d;z-index:10000;overflow:visible}.validation-page-v2 .correction-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff}.validation-page-v2 .correction-tooltip .tooltip-header{padding:.5rem .75rem;background:#475569;color:#fff;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:8px 8px 0 0}.validation-page-v2 .correction-tooltip .tooltip-body{padding:.75rem;background:#fff;border-radius:0 0 8px 8px}.validation-page-v2 .correction-tooltip .tooltip-row{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.validation-page-v2 .correction-tooltip .tooltip-row:last-of-type{margin-bottom:0}.validation-page-v2 .correction-tooltip .row-label{font-size:.625rem;font-weight:600;text-transform:uppercase;color:#64748b;min-width:50px;flex-shrink:0}.validation-page-v2 .correction-tooltip .row-value{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.8125rem;font-weight:500;color:#1e293b;word-break:break-all}.validation-page-v2 .correction-tooltip .row-value .diff-char{font-weight:700;color:#0369a1;background:#e0f2fe;padding:0 .125rem;border-radius:2px}.validation-page-v2 .correction-tooltip .tooltip-row.alt{margin-top:.25rem}.validation-page-v2 .correction-tooltip .tooltip-row.alt .row-label{color:#64748b}.validation-page-v2 .correction-tooltip .tooltip-row.alt .row-value{color:#1e293b}.validation-page-v2 .correction-tooltip .tooltip-row.alt .row-value .diff-char{font-weight:700;color:#dc2626;background:#fee2e2;padding:0 .125rem;border-radius:2px}.validation-page-v2 .correction-tooltip .tooltip-row.muted{opacity:.7;margin-top:.25rem}.validation-page-v2 .correction-tooltip .tooltip-row.muted .row-label{font-size:.5625rem}.validation-page-v2 .correction-tooltip .tooltip-row.muted .row-value{font-size:.75rem}.validation-page-v2 .correction-tooltip .row-value.added{color:#059669}.validation-page-v2 .correction-tooltip .row-value.removed{text-decoration:line-through;color:#94a3b8}.validation-page-v2 .correction-tooltip .tooltip-footer{margin-top:.625rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-size:.6875rem;color:#94a3b8;text-align:center}.validation-page-v2 .added-value{color:#059669;font-weight:600}.validation-page-v2 .missing-value{color:#94a3b8;font-style:italic}.validation-page-v2 .container-corrections-indicator{display:inline-flex;align-items:center;padding:0 .25rem}.validation-page-v2 .container-corrections-indicator .indicator-icon{font-size:.875rem;opacity:.85}.validation-page-v2 .container-corrections-indicator .indicator-count{font-size:.7rem;font-weight:600;color:#6b7280;margin-left:.1rem}.up-panel{width:100%;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 280px)}.up-panel--warning{width:100%;border:2px solid #f59e0b;border-radius:10px;background:#fffbeb;padding:20px;display:flex;flex-direction:column}.up-warning-title{font-size:1.1rem;font-weight:600;color:#b45309;margin:0 0 8px}.up-warning-text{margin:0 0 12px;color:#6b7280;font-size:.95rem}.up-warning-list{margin:0 0 16px 20px;padding:0;font-size:.95rem;color:var(--color-text)}.up-warning-list li{margin-bottom:4px}.up-warning-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}.up-continue-anyway{background:transparent;border:1px solid #d1d5db;color:#6b7280;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.up-continue-anyway:hover{background:#f3f4f6;color:#374151}.up-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--color-border)}.up-header-label{font-size:.875rem;font-weight:600;color:var(--color-text)}.up-header-count{font-size:.8125rem;color:var(--color-text-secondary);flex-shrink:0}.up-progress-track{height:3px;background:var(--color-border)}.up-progress-fill{height:100%;background:var(--color-primary);transition:width .5s ease}.up-rows{overflow-y:auto;flex:1;min-height:0}.up-row{display:flex;align-items:center;min-height:48px;padding:0 14px;gap:10px;border-bottom:1px solid var(--color-border);transition:background .15s}.up-row:last-child{border-bottom:none}.up-row--active{background:#f0f7ff}.up-doc-type{font-size:.6875rem;font-weight:700;color:var(--color-text-secondary);width:85px;flex-shrink:0;letter-spacing:.04em;text-transform:uppercase}.up-doc-filename{flex:1;font-size:.8125rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.6875rem;font-weight:600;flex-shrink:0}.up-badge--done{background:#dcfce7;color:#16a34a}.up-badge--checking{background:#eff6ff;color:var(--color-primary)}.up-badge--pending{background:var(--color-bg);color:var(--color-text-secondary)}.up-spinner{animation:up-spin 1s linear infinite}@keyframes up-spin{to{transform:rotate(360deg)}}.up-footer{padding:10px 14px;border-top:1px solid var(--color-border);background:var(--color-bg)}.up-footer-label{font-size:.8125rem;color:var(--color-text-secondary)}.up-actions{padding:10px 14px;border-top:1px solid var(--color-border)}.up-start-another{background:none;border:none;color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;padding:0}.up-start-another:hover{text-decoration:underline}.up-email-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid #bfdbfe;background:#eff6ff}.up-email-banner-text{flex:1;font-size:.8125rem;color:#1d4ed8;line-height:1.4}.up-email-banner-close{background:none;border:none;color:#1d4ed8;font-size:1.125rem;line-height:1;cursor:pointer;opacity:.6;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:#0f172aed;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -2px 12px #0000004d;transform:translateY(0);opacity:1;transition:transform .3s ease,opacity .3s ease}.cookie-banner--hiding{transform:translateY(100%);opacity:0}.cookie-banner-text{flex:1;margin:0;font-size:.8rem;color:#94a3b8;line-height:1.5}.cookie-banner-link{color:#818cf8;text-decoration:none;white-space:nowrap}.cookie-banner-link:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:.5rem;flex-shrink:0}.cookie-banner-decline{padding:.3rem .75rem;font-size:.8rem;border-radius:6px;border:1px solid #334155;background:transparent;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.cookie-banner-decline:hover{background:#1e293b;color:#94a3b8}.cookie-banner-accept{padding:.3rem .75rem;font-size:.8rem;border-radius:6px;border:none;background:#4f46e5;color:#fff;cursor:pointer;transition:background .15s}.cookie-banner-accept:hover{background:#4338ca}.up-email-banner-close:hover{opacity:1}.terms-page{min-height:100vh;background:var(--color-bg);padding:2rem 1rem}.terms-container{max-width:800px;margin:0 auto;background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;padding:2.5rem 3rem}.terms-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.terms-back-link{display:inline-block;font-size:.875rem;color:var(--color-primary);text-decoration:none;margin-bottom:1rem}.terms-back-link:hover{text-decoration:underline}.terms-header h1{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.terms-updated{font-size:.875rem;color:var(--color-text-secondary)}.terms-container section{margin-bottom:2rem}.terms-container h2{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border)}.terms-container h3{font-size:.95rem;font-weight:600;color:var(--color-text);margin:1rem 0 .4rem}.terms-container p{font-size:.9rem;color:var(--color-text);line-height:1.7;margin-bottom:.75rem}.terms-container ul{margin:.5rem 0 .75rem 1.5rem}.terms-container li{font-size:.9rem;color:var(--color-text);line-height:1.7;margin-bottom:.3rem}.terms-container a{color:var(--color-primary);text-decoration:none}.terms-container a:hover{text-decoration:underline}.terms-container code{font-family:Courier New,monospace;font-size:.8rem;background:#f1f5f9;padding:.1rem .3rem;border-radius:3px;color:#475569}.terms-table{width:100%;border-collapse:collapse;font-size:.875rem;margin:.75rem 0}.terms-table th{background:#f8fafc;font-weight:600;color:var(--color-text);text-align:left;padding:.6rem .75rem;border:1px solid var(--color-border)}.terms-table td{padding:.55rem .75rem;border:1px solid var(--color-border);color:var(--color-text);vertical-align:top}.terms-table tr:nth-child(2n) td{background:#f8fafc}.terms-third-party{background:#f8fafc;border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;margin:.75rem 0}.terms-third-party h3{margin-top:0}.terms-third-party p{margin-bottom:.3rem}.terms-rights{margin-left:1.25rem}.terms-rights li{margin-bottom:.6rem}.terms-divider{border:none;border-top:1px solid #e2e8f0;margin:3rem 0}@media(max-width:640px){.terms-container{padding:1.5rem 1.25rem}.terms-container h1{font-size:1.4rem}.terms-table{font-size:.8rem}.terms-table th,.terms-table td{padding:.4rem .5rem}}.cookie-settings-btn{position:fixed;bottom:1.1rem;left:1.1rem;background:none;border:none;font-size:1.25rem;line-height:1;padding:.3rem;border-radius:50%;cursor:pointer;opacity:.25;transition:opacity .2s ease,transform .25s ease;z-index:90;-webkit-user-select:none;user-select:none}.cookie-settings-btn:hover{opacity:1;transform:scale(1.25) rotate(-20deg)}.cookie-settings-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;opacity:1}
