:root{--primary-color:#0d6efd;--secondary-color:#6c757d;--success-color:#198754;--background-light:#f8f9fa}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background-light);color:#212529;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 15px}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.card{border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:20px;margin-bottom:20px}.card,.table{background:#fff}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.table th{background-color:#f8f9fa;font-weight:600}.upload-area{border:2px dashed #dee2e6;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease}.upload-area.drag-over,.upload-area:hover{border-color:var(--primary-color);background-color:rgba(13,110,253,.05)}.upload-area.has-error{border-color:#dc3545}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge-success{background-color:var(--success-color);color:#fff}.badge-info{background-color:var(--primary-color);color:#fff}.badge-warning{background-color:#ffc107;color:#212529}.table td{max-width:250px}.text-truncate{cursor:help}.table-cell-ellipsis,.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell-ellipsis{display:inline-block;vertical-align:bottom}.copyable-cell{cursor:pointer}.copyable-cell:hover{color:var(--primary-color)}.table-cell-loan{max-width:180px}.table-cell-source{max-width:320px}.result-table{table-layout:fixed}.result-table .loan-column{width:180px;max-width:180px}.result-table .source-column{width:320px;max-width:320px}.result-table .resizable-column{position:relative}.result-table .verification-cell{border-left-width:4px;border-left-style:solid}.result-table .verification-cell-exact{background:#eef8f1;border-left-color:#198754}.result-table .verification-cell-normalized{background:#eef5ff;border-left-color:#0d6efd}.result-table .verification-cell-failed{background:#fff1f1;border-left-color:#dc3545}.result-table .verification-cell-warning{background:#fff8e6;border-left-color:#ffc107}.resizable-header{position:relative;padding-right:14px}.column-resizer{position:absolute;top:-6px;right:-6px;width:12px;height:calc(100% + 12px);padding:0;border:0;background:transparent;cursor:col-resize}.column-resizer:after{content:"";position:absolute;top:6px;bottom:6px;left:5px;width:2px;border-radius:999px;background:#ced4da}.column-resizer:hover:after{background:var(--primary-color)}.governance-shell{min-height:100vh;background:#f4f6f8}.governance-sidebar{min-height:100vh}.governance-brand{display:block;color:#fff;text-decoration:none;padding:20px 18px;min-width:0}.governance-brand:hover{color:#fff}.governance-brand-inner{display:flex;align-items:center;gap:12px;min-width:0}.governance-brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#2563eb;font-weight:700}.governance-brand small,.governance-brand strong{display:block;line-height:1.3}.governance-brand small{color:#cbd5e1;font-size:12px}.governance-brand-text{min-width:0}.ant-layout-sider-collapsed .governance-brand{padding:20px 18px}.ant-layout-sider-collapsed .governance-brand-inner{justify-content:center}.ant-layout-sider-collapsed .governance-brand-text{display:none}.governance-nav{-webkit-border-end:0!important;border-inline-end:0!important}.governance-content-shell{min-width:0;background:#f4f6f8}.governance-main{min-width:0;padding:28px}.governance-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.governance-header h1{margin:0;font-size:28px;line-height:1.25;color:#111827}.governance-header p{margin:8px 0 0;color:#6b7280}.governance-actions{flex:0 0 auto}.governance-button{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:6px;color:#fff;background:#2563eb;text-decoration:none;font-weight:600}.governance-button:hover{color:#fff;background:#1d4ed8}.governance-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:20px}.governance-panel,.governance-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.governance-stat-card{padding:18px}.governance-stat-card small,.governance-stat-card span{display:block;color:#6b7280}.governance-stat-card strong{display:block;margin:8px 0 4px;color:#111827;font-size:30px;line-height:1.1}.governance-panel{padding:18px}.governance-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.governance-section-title h2{margin:0;font-size:18px}.governance-section-title span{color:#6b7280;font-size:13px}.governance-batch-list{display:grid;grid-gap:10px;gap:10px}.governance-batch-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px 110px;grid-gap:12px;gap:12px;align-items:center;color:#111827;text-decoration:none;padding:14px;border:1px solid #e5e7eb;border-radius:8px}.governance-batch-row:hover{border-color:#2563eb;color:#111827}.governance-batch-row small{display:block;margin-top:4px;color:#6b7280}.governance-case-list{display:grid;grid-gap:8px;gap:8px}.governance-case-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 80px 90px 80px;grid-gap:12px;gap:12px;align-items:center;color:#111827;text-decoration:none;padding:12px 14px;border:1px solid #e5e7eb;border-radius:8px}.governance-case-row:hover{border-color:#2563eb;color:#111827}.governance-case-row-head{color:#6b7280;background:#f9fafb;font-size:13px;font-weight:600}.governance-case-row-head:hover{border-color:#e5e7eb}.governance-case-row small{display:block;margin-top:4px;color:#6b7280}.governance-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.governance-rule-card{min-height:120px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.governance-rule-card h3{margin:0 0 8px;font-size:16px}.governance-rule-card p{margin:0;color:#6b7280}.evidence-alias-panel{max-width:980px}.evidence-alias-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.evidence-alias-alert{margin-bottom:14px}.evidence-alias-loading{display:grid;min-height:180px;place-items:center}.evidence-alias-card{min-width:0;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.evidence-alias-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.evidence-alias-card-head h3{margin:0;color:#111827;font-size:16px;line-height:1.4}.evidence-alias-card-head span{color:#6b7280;font-size:13px}.evidence-alias-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:70px;margin-bottom:14px;align-content:flex-start}.evidence-alias-tags .ant-tag{display:inline-flex;align-items:center;max-width:100%;min-height:28px;margin:0;padding:3px 9px;border-radius:6px;white-space:normal;word-break:break-word}.evidence-alias-input{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.governance-task-modal-steps{margin-bottom:22px}.governance-source-radio-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;width:100%}.governance-source-option.ant-radio-button-wrapper{height:auto;min-height:190px;padding:18px;border:1px solid #d9d9d9;border-radius:8px;white-space:normal}.governance-source-option.ant-radio-button-wrapper:before{display:none}.governance-source-option.ant-radio-button-wrapper-checked{border-color:#1677ff;box-shadow:0 0 0 2px rgba(22,119,255,.12)}.governance-source-description,.governance-source-meta,.governance-source-title{display:block;line-height:1.5}.governance-source-title{margin-bottom:10px;color:#111827;font-size:16px;font-weight:700}.governance-source-description{margin-bottom:14px;color:#4b5563}.governance-source-meta,.governance-source-tip{color:#6b7280;font-size:13px}.governance-source-tip{margin:14px 0 0}.governance-task-upload-step{display:grid;grid-gap:22px;gap:22px}.governance-form-label{display:block;margin-bottom:8px;color:#374151;font-weight:600}.governance-task-upload-step .ant-upload-wrapper{display:block}.governance-task-upload-step .ant-upload-drag{min-height:154px}.governance-task-upload-step .ant-upload-list{margin-top:8px}.governance-task-detail{display:grid;grid-gap:20px;gap:20px}.governance-task-meta{display:flex;gap:12px;flex-wrap:wrap;color:#4b5563}.governance-task-meta span{padding:4px 10px;border:1px solid #e5e7eb;border-radius:999px;background:#fff}.governance-progress-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:24px;gap:24px;align-items:start}.governance-task-progress{margin-top:18px}.governance-progress-layout .ant-timeline{margin-top:2px}.governance-progress-layout .ant-timeline-item-content small{display:block;margin-top:4px;color:#6b7280}.governance-task-toolbar{display:grid;grid-template-columns:minmax(240px,420px) auto;grid-gap:12px;gap:12px;margin-bottom:14px}.governance-evidence-tree{padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.governance-evidence-tree .ant-tree{background:transparent}.governance-evidence-tree-title{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}.governance-evidence-tree-title span{color:#6b7280}.governance-task-footer-actions{display:flex;justify-content:flex-end;gap:12px}.governance-task-list{margin:0;padding-left:18px}.governance-task-list li+li{margin-top:8px}.governance-empty-state{color:#6b7280;padding:12px 0}.evidence-checklist-panel{overflow:hidden}.evidence-checklist-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.evidence-ledger-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.evidence-ledger-config>div{min-width:0}.evidence-ledger-config label{display:block;margin-bottom:6px;color:#374151;font-size:13px;font-weight:600}.evidence-ledger-config .ant-select{max-width:100%;width:100%}.evidence-ledger-import{display:grid;grid-gap:6px;gap:6px}.evidence-ledger-import span{color:#6b7280;font-size:12px;line-height:1.5}.evidence-config-static{min-height:32px;padding:5px 11px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#111827;line-height:20px}.evidence-ledger-preview{display:grid;grid-gap:10px;gap:10px;margin:-4px 0 16px;padding:12px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff}.evidence-ledger-preview>div:first-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.evidence-ledger-preview strong{color:#111827}.evidence-ledger-preview span{color:#4b5563;font-size:13px}.evidence-ledger-columns{display:flex;gap:8px;flex-wrap:wrap}.evidence-ledger-columns span{padding:3px 8px;border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:#1f4f82}.evidence-material-export{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:0 0 16px;padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.evidence-material-export span{display:block;color:#6b7280;font-size:13px;line-height:1.5}.evidence-checklist-table{display:grid;grid-gap:10px;gap:10px;overflow-x:auto}.evidence-checklist-item{display:grid;grid-gap:0;gap:0;min-width:1380px}.evidence-checklist-header,.evidence-checklist-row{display:grid;grid-template-columns:90px minmax(130px,.8fr) 110px minmax(210px,1.15fr) minmax(260px,1.35fr) 84px 110px minmax(190px,1fr) 76px;grid-gap:10px;gap:10px;align-items:center;min-width:1380px}.evidence-checklist-header{padding:0 4px;color:#6b7280;font-size:13px;font-weight:600}.evidence-checklist-row{padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.material-export-rules .evidence-checklist-header,.material-export-rules .evidence-checklist-row{grid-template-columns:minmax(150px,.8fr) minmax(220px,1fr) minmax(180px,.9fr) minmax(260px,1.2fr) 76px;min-width:920px}.evidence-checklist-item .evidence-checklist-row{border-bottom-right-radius:0;border-bottom-left-radius:0}.evidence-rule-preview{display:grid;grid-gap:4px;gap:4px;color:#111827;font-size:13px}.evidence-rule-preview span{color:#6b7280}.evidence-validation-config{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid #e5e7eb;border-top:0;border-bottom-right-radius:8px;border-bottom-left-radius:8px;background:#fff}.evidence-validation-settings,.evidence-validation-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.evidence-validation-toolbar>div{display:grid;grid-gap:3px;gap:3px}.evidence-validation-toolbar strong{color:#111827;font-size:13px}.evidence-validation-empty,.evidence-validation-toolbar span{color:#6b7280;font-size:12px}.evidence-validation-settings label{display:grid;grid-gap:5px;gap:5px;min-width:180px;color:#374151;font-size:12px;font-weight:600}.evidence-validation-fields{display:grid;grid-gap:8px;gap:8px}.evidence-validation-field{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 130px 120px 76px;grid-gap:8px;gap:8px;align-items:center}.generated-evidence-panel{display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.generated-evidence-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.generated-evidence-title strong{color:#111827}.generated-evidence-more,.generated-evidence-title span{color:#6b7280;font-size:13px}.generated-evidence-table{display:grid;grid-gap:8px;gap:8px;overflow-x:auto}.generated-evidence-header,.generated-evidence-row{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(150px,.8fr) minmax(130px,.7fr) minmax(220px,1.2fr) minmax(260px,1.4fr) 90px 90px;grid-gap:10px;gap:10px;align-items:center;min-width:1200px}.generated-evidence-header{color:#6b7280;font-size:13px;font-weight:600}.generated-evidence-row{padding:10px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;color:#111827;font-size:13px}.generated-evidence-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-template-hints{margin-top:14px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1f4f82;font-size:13px;line-height:1.7}.case-recognition-actions{display:flex;gap:10px;justify-content:flex-end;margin:16px 0}.case-recognition-result{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.case-recognition-supporting{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}@media (max-width:900px){.governance-shell{grid-template-columns:1fr}.governance-sidebar{position:static}.governance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-alias-list,.governance-batch-row{grid-template-columns:1fr}.evidence-checklist-header{display:none}.evidence-checklist-row{grid-template-columns:1fr;min-width:0}.evidence-checklist-item{min-width:0}.evidence-ledger-config,.evidence-validation-field{grid-template-columns:1fr}.evidence-material-export{display:grid}.generated-evidence-header{display:none}.generated-evidence-row{grid-template-columns:1fr;min-width:0}}@media (max-width:600px){.governance-main{padding:18px}.governance-header{display:block}.governance-actions{margin-top:14px}.evidence-alias-input,.governance-stat-grid{grid-template-columns:1fr}}