:root{--bg: #f4f8ff;--surface: #ffffff;--surface-strong: #fbfdff;--text: #172133;--muted: #5f6c83;--line: #d7e1f0;--accent: #0068d9;--accent-strong: #124c8a;--good: #167b3b;--bad: #b42318;--shadow: 0 10px 24px rgba(13, 42, 87, .08);--mono-bg: #f7f9fc;--key: #0d4f94;--str: #117a42;--num: #7d3c98;--bool: #b54708;--null: #8f2f49}*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 8% 15%,#e5f0ff 0%,transparent 25%),radial-gradient(circle at 88% 8%,#eaf9ef 0%,transparent 20%),var(--bg)}button,input,select,textarea{font:inherit}a{color:inherit}#app{min-height:100vh}.page-shell{max-width:1380px;margin:0 auto;padding:24px 16px 40px}.page-header{margin-bottom:18px}.page-header h1{margin:0 0 8px;font-size:clamp(2rem,3vw,3rem)}.page-copy{max-width:720px;margin:0;color:var(--muted);line-height:1.5}.eyebrow,.section-kicker{margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--accent-strong);font-weight:700}.app-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;align-items:stretch}.app-loading{display:grid;min-height:100vh;place-items:center;color:var(--muted);font-weight:700}.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--bg)}.auth-panel{width:min(100%,440px);padding:26px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand h1{margin:0;font-size:28px;line-height:1.15}.auth-brand-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:#1f6bcc;color:#fff;font-size:15px;font-weight:800;letter-spacing:.08em}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 18px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--mono-bg)}.auth-tabs button{min-height:38px;border-color:transparent;border-radius:6px;background:transparent;color:var(--muted);font-weight:700}.auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0d2a571f}.auth-form{display:grid;gap:14px}.auth-form label{color:var(--text);font-weight:700}.auth-form input{width:100%}.auth-submit{width:100%;margin-top:4px;min-height:44px}.auth-link-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:2px}.auth-text-button{min-height:34px;border-color:transparent;background:transparent;color:var(--accent-strong);font-weight:700;text-decoration:underline;text-underline-offset:3px}.auth-text-button:hover{color:var(--accent)}.auth-done{display:grid;gap:14px}.auth-message,.auth-success{margin:14px 0 0;padding:10px 12px;border:1px solid #b9e5c8;border-radius:8px;background:#effaf3;color:var(--good);font-weight:700}.auth-error{margin:14px 0 0;padding:10px 12px;border:1px solid #f2c5c0;border-radius:8px;background:#fff2f1;color:var(--bad);font-weight:700}.app-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;border-right:1px solid #24374f;background:linear-gradient(180deg,#1c2d43,#0f1c2c);color:#d9e4f3;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:12px;border:1px solid rgba(217,228,243,.12);border-radius:14px;background:linear-gradient(180deg,#ffffff14,#ffffff08);color:#fff;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}.sidebar-brand:hover{background:linear-gradient(180deg,#ffffff1f,#ffffff0d);border-color:#d9e4f33d;transform:translateY(-1px)}.sidebar-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#4ea1ff,#1f6bcc);color:#fff;font-size:15px;font-weight:800;letter-spacing:.08em}.sidebar-brand-title{font-size:15px;font-weight:700;letter-spacing:.04em}.sidebar-nav{margin-top:0}.sidebar-list,.sidebar-sublist{margin:0;padding:0;list-style:none}.sidebar-list{display:flex;flex-direction:column;gap:6px}.sidebar-link,.sidebar-sublink{display:flex;align-items:center;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#d9e4f3;font-weight:600;text-decoration:none;text-align:left;transition:background .15s ease,color .15s ease}.sidebar-group-toggle{justify-content:space-between;cursor:pointer}.sidebar-link:hover,.sidebar-sublink:hover{background:#24374f}.sidebar-group-toggle:hover{transform:none}.sidebar-link.active,.sidebar-group-toggle.active,.sidebar-sublink.active{background:#2f4764;color:#fff}.sidebar-chevron{transition:transform .15s ease}.sidebar-chevron.open{transform:rotate(180deg)}.sidebar-sublist{margin-top:6px;margin-left:10px;padding-left:10px;border-left:1px solid #3c5571}.sidebar-sublink{font-size:14px;font-weight:500}.sidebar-user{margin-top:auto;padding:12px;border:1px solid rgba(217,228,243,.14);border-radius:10px;background:#ffffff0d}.sidebar-user-name{color:#fff;font-weight:700;overflow-wrap:anywhere}.sidebar-user-role{margin-top:3px;color:#9fb0c5;font-size:13px}.sidebar-logout{width:100%;margin-top:10px;border-color:#d9e4f338;background:transparent;color:#d9e4f3}.app-content{min-width:0;padding:0}.counterparty-page{padding:26px 18px 44px}.dashboard-content{min-width:0;display:flex;flex-direction:column;gap:16px}.flash{margin-bottom:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);font-weight:600}.flash-dismissible{display:flex;align-items:center;justify-content:space-between;gap:10px}.flash-close{min-width:34px;padding:6px 10px;border-radius:8px;border-color:transparent}.flash-info{background:#eaf3ff;border-color:#c5d9f3;color:#174d85}.flash-error{background:#fff2f1;border-color:#f2c5c0;color:var(--bad)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.layout-grid{display:grid;grid-template-columns:360px 1fr;gap:16px;margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.table-card{overflow:hidden}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.card h2,.card h3{margin:0}label{display:block;margin-top:10px;color:var(--muted);font-size:13px}input,textarea{width:100%;margin-top:5px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:#8eb8ea;box-shadow:0 0 0 3px #0068d914}textarea{resize:vertical;min-height:96px}select{margin-top:5px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;outline:none}button{border:1px solid #9ab9de;border-radius:10px;background:#f8fbff;color:#1d446e;font-weight:600;padding:10px 14px;cursor:pointer;transition:background .15s ease,transform .15s ease}button:hover{background:#ebf4ff;transform:translateY(-1px)}button:disabled{opacity:.7;cursor:wait;transform:none}.status-pill,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.status-running,.pill-good{color:var(--good);background:#eefbf1;border:1px solid #b4e0bf}.status-failed,.pill-bad{color:var(--bad);background:#fff2f1;border:1px solid #f2c5c0}.status-idle{color:var(--muted);background:#f4f8ff;border:1px solid var(--line)}.pill-warn{color:#7a4b00;background:#fff8e7;border:1px solid #f1d59a}.stat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,280px));gap:8px;justify-content:start;margin:0 0 12px}.stat-list div{border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);padding:10px}.stat-list dt{margin:0 0 4px;font-size:12px;color:var(--muted)}.stat-list dd{margin:0;font-weight:700}.summary-row{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.summary-row span{margin-bottom:10px}.divider{height:1px;margin:14px 0;background:var(--line)}.mono,.path,.metric-text{font-family:IBM Plex Mono,Consolas,monospace}.mono{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border-radius:8px;background:var(--mono-bg);border:1px solid var(--line);font-size:12px}.link{text-decoration:none}.btn-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9ab9de;border-radius:10px;background:#f8fbff;color:#1d446e;font-weight:600;padding:10px 14px;text-decoration:none;transition:background .15s ease,transform .15s ease}.btn-link:hover{background:#ebf4ff;transform:translateY(-1px)}.link:hover{text-decoration:underline}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.section-title h2,.section-title h3{margin:0}.section-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin-left:0;margin-right:0;width:auto}.section-actions input{margin-top:0;min-width:280px;flex:1}.section-actions select{margin-top:0;min-width:130px;flex:0 0 auto}.section-actions button{flex:0 0 auto}.history-section-actions{width:min(980px,100%);margin-right:0;align-items:flex-end}.history-filter-control{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:145px}.history-filter-control input,.history-filter-control select{margin-top:0;min-width:0;flex:0 1 auto}.history-filter-control-wide{min-width:210px}.table-sort-button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;font-weight:700;cursor:pointer}.pager-row{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.pager-controls{display:flex;align-items:center;gap:8px}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}th,td{padding:10px 11px;border-bottom:1px solid #e5edf8;text-align:left;vertical-align:top}th{background:#f4f8ff;color:#30445f;font-size:13px}td{font-size:14px}.counterparty-row-archived td{background:#eef1f4;color:#6a7482}.counterparty-row-archived .link{color:#586270}.table-action-button{padding:6px 10px;border-radius:8px;font-size:13px}.history-counterparty-cell{min-width:220px}.history-value-cell{max-width:420px;white-space:pre-wrap;word-break:break-word}.errors-box,.notice{margin-top:14px;padding:12px;border-radius:12px}.errors-box,.notice-error{border:1px solid #f1c0bc;background:#fff5f4;color:var(--bad)}.notice-warn{border:1px solid #f1dbb0;background:#fff8eb;color:#8a4d00}.errors-box ul,.notice ul{margin:8px 0 0;padding-left:18px}.back-link{display:inline-block;margin-bottom:14px;text-decoration:none;color:var(--accent);font-weight:700}.meta-list{display:grid;grid-template-columns:110px 1fr;gap:8px 10px;margin:0}.meta-list dt{color:var(--muted);font-weight:600}.meta-list dd{margin:0;overflow-wrap:anywhere}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.duplicates-tabs{margin-bottom:10px}.duplicates-card{padding:12px}.duplicates-card .card-heading{margin-bottom:8px}.duplicates-card .section-kicker{margin-bottom:2px}.duplicates-controls-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.95fr);gap:10px;margin-bottom:12px}.duplicates-custom-panel{grid-column:1 / -1}.duplicates-search-panel{min-width:0;grid-column:1 / -1}.duplicates-actions-row{grid-column:1 / -1;align-self:start;margin:0}.duplicates-actions-row .hint{flex-basis:100%;margin:0;font-size:12px}.tab{border-radius:999px;background:#fff;border:1px solid var(--line);padding:7px 12px;font-size:13px}.tab.active{background:#e9f3ff;border-color:#9bc0ea;color:var(--accent-strong)}.duplicate-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.duplicate-field-option{margin-top:0;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--text)}.duplicate-field-option input{width:auto;margin:0}.duplicate-group{margin-top:10px;padding:10px}.duplicate-group table{margin-top:6px}.checkbox-cell{width:64px}.checkbox-cell input{width:auto;margin:0}.duplicate-limits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.compact-label{margin-top:0}.compact-label input{margin-top:6px}.panel{border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);padding:12px}.duplicates-card .panel{padding:10px}.duplicates-card .panel>.hint:first-child{margin:0 0 8px;font-size:12px}.duplicates-card label{margin-top:0}.overview-grid,.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.overview-item,.doc-box{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px}.overview-item .label,.doc-box .label{margin-bottom:4px;font-size:12px;color:var(--muted)}.overview-item .value,.doc-box .value{font-size:14px;font-weight:600;overflow-wrap:anywhere}.tool-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.dashboard-actions{margin-top:20px}.dashboard-admin-panel{margin-top:16px}.dashboard-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.dashboard-user-label{max-width:260px;color:var(--muted);font-size:13px;font-weight:700;overflow-wrap:anywhere}.dashboard-connection-panel{margin-top:8px}.dashboard-connection-panel .settings-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.dashboard-connection-panel .settings-form label{margin-top:0}.dashboard-connection-panel .settings-form button[type=submit]{margin-top:0;min-height:42px}.settings-form button[type=submit]{margin-top:20px}.settings-subpanel{margin-top:8px}.settings-checkbox{display:flex;gap:10px;align-items:flex-start;margin-top:0}.settings-checkbox input{width:auto;margin-top:2px}.tool-row input{min-width:220px;flex:1;margin-top:0}.duplicate-merge-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.duplicate-merge-toolbar .hint{margin:0}.notice-text{color:#7a4b00}.merge-status-host{padding-bottom:98px}.merge-status-bar{position:fixed;z-index:45;right:0;bottom:0;left:280px;border-top:1px solid #253b54;background:#142539;color:#e5edf8;box-shadow:0 -10px 28px #0814252e}.merge-status-bar.has-active{border-top-color:#41c86a80}.merge-status-summary{min-height:72px;display:grid;grid-template-columns:minmax(280px,1.5fr) auto auto;align-items:center;gap:18px;padding:10px 18px}.merge-status-title{min-width:0;display:flex;align-items:center;gap:12px;padding:4px 0;border:0;background:transparent;color:#fff;text-align:left}.merge-status-title:hover{background:transparent;transform:none}.merge-status-title strong{display:block;font-size:14px}.merge-status-title small{display:block;margin-top:4px;color:#afc1d8;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.merge-status-indicator{flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:#718399}.merge-status-indicator.is-running{background:#41c86a;box-shadow:0 0 0 6px #41c86a29;animation:merge-status-pulse 1.8s infinite}.merge-status-indicator.is-queued{background:#efb22d}.merge-status-indicator.is-error{background:#e45a50}@keyframes merge-status-pulse{0%,to{box-shadow:0 0 0 4px #41c86a29}50%{box-shadow:0 0 0 8px #41c86a0f}}.merge-status-counters,.merge-status-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.merge-status-counter{padding:6px 9px;border:1px solid rgba(201,217,237,.18);border-radius:999px;color:#d2dfef;font-size:12px;font-weight:700}.merge-status-counter.is-running{border-color:#41c86a61;color:#80e29d}.merge-status-counter.is-queued{border-color:#efb22d6b;color:#ffd274}.merge-status-actions button{padding:8px 12px;border-color:#cddcef3d;background:#ffffff0f;color:#fff}.merge-status-actions button:hover{background:#ffffff24}.merge-status-details{max-height:min(54vh,540px);padding:0 18px 16px;border-top:1px solid rgba(205,220,239,.14);background:#fff;color:var(--text);overflow-y:auto}.merge-status-error,.merge-status-empty{margin:14px 0 0}.merge-status-error{color:var(--bad)}.merge-status-empty{color:var(--muted)}.merge-status-table-wrap{margin-top:12px;overflow-x:auto}.merge-status-table{min-width:1080px}.merge-status-muted{display:block;margin-top:4px;color:var(--muted)}.merge-status-counterparties{min-width:220px;overflow-wrap:anywhere}.merge-status-timestamps{min-width:208px}.merge-status-timestamps span{display:block;line-height:1.55;white-space:nowrap}.merge-status-result{min-width:210px;max-width:380px}@media (max-width: 1080px){.merge-status-summary{grid-template-columns:1fr auto}.merge-status-counters{grid-column:1 / -1;grid-row:2}}@media (max-width: 720px){.merge-status-host{padding-bottom:154px}.merge-status-bar{left:0}.merge-status-summary{grid-template-columns:1fr;gap:10px}.merge-status-counters,.merge-status-actions{grid-column:auto;grid-row:auto}.merge-status-actions button{flex:1 1 auto}}.duplicate-group-summary{justify-content:flex-start;align-items:center;gap:8px;margin:0 0 6px;flex-wrap:wrap}.duplicate-group-summary>strong{order:1}.duplicate-group-values{order:3;max-width:100%}.duplicate-group-summary .mono{margin-bottom:0}.duplicate-select-all-button{order:2;padding:6px 10px;border-radius:8px;font-size:13px}.duplicate-group th,.duplicate-group td{padding:8px 10px}.duplicate-counterparty-name-cell{justify-content:flex-start;align-items:center;gap:8px}.duplicate-archived-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:#fff2db;color:#8a4b00;font-size:12px;font-weight:700}.duplicate-merge-panel{margin-top:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:stretch;justify-content:center;padding:18px;background:#111c2b75;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(1240px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 42px #0a1c3833;padding:18px}.modal-overlay-nested{z-index:60;padding:28px;background:#09121f80}.modal-close-button{align-self:flex-start}.modal-actions{justify-content:flex-end;margin-top:16px;margin-bottom:0}.counterparty-attributes-modal{width:min(860px,100%)}.user-management-modal{width:min(980px,100%)}.user-management-heading-actions{justify-content:flex-end;margin-bottom:0}.user-management-table-wrap{overflow-x:auto}.user-management-table th:last-child,.user-management-table td:last-child{min-width:260px}.user-management-email{display:flex;flex-wrap:wrap;gap:8px;align-items:center;overflow-wrap:anywhere}.user-management-actions{margin-bottom:0}.user-management-delete{border-color:#e1a5a0;background:#fff7f6;color:#9d2c22}.user-management-delete:hover{background:#ffe9e6}.counterparty-edit-modal{width:min(980px,100%)}.counterparty-edit-summary{margin-bottom:14px}.counterparty-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.counterparty-edit-field{margin-top:0}.counterparty-edit-field-wide{grid-column:1 / -1}.counterparty-edit-attributes{display:grid;gap:10px;margin-top:12px}.counterparty-edit-attribute{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px}.counterparty-edit-attribute-head{margin:0 0 8px;align-items:center}.counterparty-edit-attribute label{margin-top:10px}.counterparty-edit-locked-value{margin-top:10px;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:13px}.counterparty-edit-checkbox{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--text)}.counterparty-edit-checkbox input{width:auto;margin:0}.counterparty-attributes-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 12px}.counterparty-attributes-list{display:grid;gap:10px;margin-top:14px}.counterparty-attributes-option{margin-top:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;color:var(--text)}.counterparty-attributes-option.is-enabled{border-color:#79a8ff;background:#f7fbff}.counterparty-attributes-option input{width:auto;margin:2px 0 0}.counterparty-attributes-meta{display:flex;flex-direction:column;gap:6px}.duplicate-exclusions-modal{width:min(900px,100%)}.duplicate-exclusions-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:14px 0 12px}.duplicate-exclusions-list{display:grid;gap:10px;margin-top:14px}.duplicate-limits-modal{width:min(660px,100%)}.duplicate-limits-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 12px}.duplicate-exclusions-row{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.duplicate-exclusions-row label{margin-top:0}.duplicate-exclusions-field,.duplicate-exclusions-value{min-width:0}.duplicate-exclusions-field select,.duplicate-exclusions-value input{width:100%}.duplicate-exclusions-remove{align-self:center}.duplicate-merge-primary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:10px}.duplicate-merge-documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.duplicate-merge-documents-grid-multiple{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.duplicate-merge-documents-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.duplicate-merge-documents-actions{margin-top:10px;margin-bottom:10px}.duplicate-merge-documents-meta{margin:10px 0 12px}.duplicate-merge-non-transferred-notice{margin-top:0}.duplicate-merge-non-transferred-notice p{margin:0}.duplicate-merge-documents-table th,.duplicate-merge-documents-table td{font-size:13px}.duplicate-merge-primary-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;color:var(--text);margin-top:0}.duplicate-merge-primary-option.is-primary{border-color:#79a8ff;box-shadow:0 0 0 1px #4f79ff2e}.duplicate-merge-primary-meta{display:flex;flex-direction:column;gap:4px}.duplicate-merge-primary-option input,.duplicate-merge-selection-cell input{width:auto;margin:2px 0 0}.duplicate-merge-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:#e8f1ff;color:#2459c4;font-size:12px;font-weight:700}.duplicate-merge-comparison-scroll{margin-top:12px;overflow-x:auto;padding-bottom:4px}.duplicate-merge-comparison-grid{display:grid;grid-template-columns:minmax(150px,180px) repeat(2,minmax(240px,1fr)) minmax(260px,1.05fr);min-width:980px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.duplicate-merge-comparison-head,.duplicate-merge-field-name,.duplicate-merge-selection-cell,.duplicate-merge-result-cell{min-height:100%;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.duplicate-merge-comparison-grid>:nth-child(4n){border-right:none}.duplicate-merge-comparison-grid>:nth-last-child(-n+4){border-bottom:none}.duplicate-merge-comparison-head{display:flex;flex-direction:column;gap:8px;justify-content:space-between;padding:14px;background:var(--surface-strong)}.duplicate-merge-comparison-head-card{align-items:flex-start}.duplicate-merge-field-name-head,.duplicate-merge-result-head{justify-content:center}.duplicate-merge-column-actions{display:flex;flex-wrap:wrap;gap:8px}.duplicate-merge-link-button{padding:0;border:none;background:transparent;color:var(--accent);font-weight:600;cursor:pointer}.duplicate-merge-link-button:disabled{color:var(--muted)}.duplicate-merge-field-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;background:#fbfcff}.duplicate-merge-selection-cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:14px;background:#fff;color:var(--text);margin-top:0;cursor:pointer}.duplicate-merge-selection-cell.is-selected{background:#f1f6ff}.duplicate-merge-selection-value,.duplicate-merge-result-value{overflow-wrap:anywhere;line-height:1.45}.duplicate-merge-result-cell{display:flex;flex-direction:column;gap:10px;padding:14px;background:#fff}.duplicate-merge-result-cell.is-custom{background:#f8fbff}.duplicate-merge-result-cell-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.duplicate-merge-documents-viewer{width:min(1380px,100%)}.duplicate-merge-multi-table-wrap{margin-top:12px;overflow-x:auto}.duplicate-merge-multi-table{min-width:1080px}.duplicate-merge-multi-table th,.duplicate-merge-multi-table td{min-width:220px;vertical-align:top}.duplicate-merge-multi-table th:first-child,.duplicate-merge-multi-table td:first-child{min-width:180px}.duplicate-merge-multi-table th:last-child,.duplicate-merge-multi-table td:last-child{min-width:280px}.duplicate-merge-multi-head-card{display:flex;flex-direction:column;gap:8px}.duplicate-merge-multi-field-head,.duplicate-merge-multi-field-name{background:#fbfcff}.duplicate-merge-multi-field-name{font-weight:700}.duplicate-merge-multi-field-name .hint{margin-top:4px;font-weight:400}.duplicate-merge-multi-selection-cell{padding:0}.duplicate-merge-multi-selection-cell .duplicate-merge-selection-cell{height:100%;border:none}@media (max-width: 860px){.duplicate-merge-documents-grid,.duplicate-exclusions-row{grid-template-columns:1fr}.duplicate-exclusions-remove{justify-self:start}}.json-tree{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;max-height:56vh;overflow:auto;font-family:IBM Plex Mono,Consolas,monospace;font-size:13px;line-height:1.45}details{margin-left:12px}summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}summary::-webkit-details-marker{display:none}.json-pair{margin-left:26px}.json-key{color:var(--key);font-weight:700}.json-meta{color:var(--muted);font-size:12px}.json-string{color:var(--str)}.json-number{color:var(--num)}.json-boolean{color:var(--bool)}.json-null{color:var(--null);font-style:italic}.doc-selected td{background:#ebf4ff}.selected-document,.scalar-fields{margin-top:12px}.hint,.empty-state{color:var(--muted)}.metric-cell{display:flex;align-items:center;gap:10px;min-width:220px}.metric-track{width:140px;height:8px;background:#e6eef9;border-radius:999px;overflow:hidden}.metric-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0072d6,#4aa6ff)}.error-text{color:var(--bad)}@media (max-width: 1080px){.section-title{align-items:flex-start}.section-actions{width:100%;flex-wrap:wrap}.section-actions input{min-width:220px}.duplicates-controls-layout{grid-template-columns:1fr}.duplicates-actions-row,.duplicates-custom-panel{grid-column:auto}}
