.duplicate-launcher[hidden], .member-duplicates-dialog [hidden] { display: none !important; }
.duplicate-launcher { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; margin-bottom:18px; }
.duplicate-launcher h3 { margin:0 0 5px; font-size:17px; }
.duplicate-launcher p { margin:0; color:#796774; font-size:13px; line-height:1.7; }
.duplicate-launcher .btn { flex-shrink:0; }
.member-duplicates-dialog { width:min(1000px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #ead6df; border-radius:18px; color:#42333d; background:#fff; overflow:auto; box-shadow:0 20px 80px #43273730; }
.member-duplicates-dialog::backdrop { background:#25172380; }
.member-duplicates-dialog *, .duplicate-launcher * { box-sizing:border-box; }
.duplicate-dialog-head { display:flex; justify-content:space-between; align-items:start; gap:18px; padding:24px 26px 18px; border-bottom:1px solid #ead8e1; }
.duplicate-dialog-head h2 { margin:0 0 6px; font-size:23px; }
.duplicate-dialog-head p { margin:0; color:#7b6773; font-size:13px; line-height:1.7; }
.duplicate-dialog-head .btn { flex-shrink:0; }
.duplicate-body { padding:22px 26px 28px; }
.duplicate-message { margin:18px 26px 0; padding:12px 14px; border-radius:10px; background:#eaf7f0; color:#286e4e; font-size:14px; overflow-wrap:anywhere; }
.duplicate-message.is-error { color:#972c40; background:#fff1f2; }
.duplicate-message .btn { margin-top:8px; }
.duplicate-list-toolbar, .duplicate-comparison-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:12px; margin-bottom:16px; }
.duplicate-list-toolbar .form-field { min-width:220px; margin:0; }
.duplicate-meta { color:#7c6774; font-size:12px; line-height:1.7; margin:5px 0 10px; overflow-wrap:anywhere; }
.duplicate-guidance { color:#725660; background:#fcf5f8; padding:12px 15px; border-radius:10px; font-size:13px; line-height:1.8; margin:0 0 18px; }
.duplicate-candidates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.duplicate-candidate { min-width:0; border:1px solid #e8d7df; border-radius:12px; padding:17px; display:flex; flex-direction:column; align-items:start; }
.duplicate-candidate .btn { margin-top:auto; }
.duplicate-status { display:inline-block; border-radius:6px; background:#fff1de; color:#8c5c20; padding:4px 8px; font-size:12px; }
.duplicate-status.is-linked { background:#e7f5ee; color:#2c7556; }
.duplicate-candidate-names { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 9px; margin:12px 0 3px; font-size:15px; overflow-wrap:anywhere; }
.duplicate-candidate-names span { color:#8d7785; font-size:12px; }
.duplicate-empty { padding:28px 10px; text-align:center; color:#806c78; grid-column:1/-1; line-height:1.7; }
.duplicate-manual { margin-top:22px; border-top:1px solid #ead8e1; padding-top:18px; font-size:13px; }
.duplicate-manual summary { cursor:pointer; padding:5px 0; font-weight:600; }
.duplicate-manual p { color:#7b6773; line-height:1.7; }
.duplicate-manual-fields, .duplicate-compare-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:15px 0; }
.duplicate-manual-fields .form-field { min-width:0; }
.duplicate-manual-fields select, .duplicate-manual-fields input, .member-duplicates-dialog textarea { width:100%; min-width:0; }
.duplicate-identity-comparison { margin:16px 0 20px; border:1px solid #e9d6e0; border-radius:12px; overflow:hidden; }
.duplicate-identity-comparison h3 { margin:0; padding:15px 16px; font-size:16px; }
.duplicate-identity-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:13px; line-height:1.65; text-align:left; }
.duplicate-identity-table th, .duplicate-identity-table td { padding:11px 13px; vertical-align:top; border-top:1px solid #ead8e1; overflow-wrap:anywhere; }
.duplicate-identity-table tr > :first-child { width:20%; color:#806b78; font-size:12px; }
.duplicate-identity-table tr > :not(:first-child) { width:40%; border-left:1px solid #ead8e1; }
.duplicate-identity-table thead th { background:#fcf7f9; }
.duplicate-identity-table thead span { display:block; font-weight:400; color:#806b78; font-size:11px; margin-bottom:4px; }
.duplicate-identity-table thead strong { display:block; font-weight:600; }
.duplicate-identity-table tbody th { font-weight:500; }
.duplicate-member-card { min-width:0; padding:19px; border:1px solid #e9d6e0; border-radius:12px; }
.duplicate-member-card:first-child { border-top:4px solid #c64c86; padding-top:16px; }
.duplicate-member-card h3 { font-size:13px; color:#8d5a74; margin:0 0 12px; }
.duplicate-member-name { font-size:19px; line-height:1.6; overflow-wrap:anywhere; }
.duplicate-member-card dl { margin:16px 0; font-size:13px; line-height:1.7; }
.duplicate-member-card dl > div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:9px; padding:8px 0; border-bottom:1px solid #f0e4ea; }
.duplicate-member-card dt { color:#806b78; }
.duplicate-member-card dd { margin:0; overflow-wrap:anywhere; }
.duplicate-review-section { padding:20px; margin-top:20px; background:#fcf7f9; border-radius:12px; }
.duplicate-review-section h3, .duplicate-confirmation h3 { margin:0 0 9px; font-size:17px; }
.duplicate-review-section > p, .duplicate-confirmation p, .duplicate-confirmation li { font-size:13px; line-height:1.8; }
.duplicate-decision { display:flex; flex-wrap:wrap; gap:10px; margin:17px 0; padding:0; border:0; }
.duplicate-decision label { display:flex; align-items:center; gap:7px; min-height:44px; background:#fff; border:1px solid #dfcad6; border-radius:9px; padding:10px 14px; font-size:14px; cursor:pointer; }
.duplicate-decision label:has(input:checked) { border-color:#bb477f; background:#fff0f7; }
.duplicate-decision input { width:16px; height:16px; accent-color:#bd417f; margin:0; }
.duplicate-review-section .form-field { margin:15px 0; }
.duplicate-form-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.duplicate-blockers { background:#fff5e9; color:#86581b; font-size:13px; padding:13px 15px; margin:14px 0; border-radius:9px; line-height:1.8; }
.duplicate-blockers ul { padding-left:20px; margin:7px 0 0; }
.duplicate-confirmation { border:2px solid #c45287; padding:20px; border-radius:12px; margin-top:20px; }
.duplicate-member-sources { border:1px solid #dfcad6; border-radius:12px; padding:17px; margin-bottom:20px; }
.duplicate-member-sources h4 { margin:0 0 7px; }
.duplicate-member-sources p { font-size:13px; line-height:1.7; }
.duplicate-member-sources > div { display:flex; flex-wrap:wrap; gap:9px; margin:14px 0; }
.duplicate-member-sources > div .btn { display:grid; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.duplicate-member-sources small { font-size:11px; font-weight:400; margin-top:5px; }
.duplicate-alias-note { display:block; color:#8b5e75; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
@media(max-width:680px) {
  .duplicate-launcher { align-items:start; flex-direction:column; padding:17px; gap:12px; }
  .duplicate-launcher .btn { width:100%; }
  .member-duplicates-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); border-radius:13px; }
  .duplicate-dialog-head { padding:18px 16px 14px; gap:10px; }
  .duplicate-dialog-head h2 { font-size:19px; }
  .duplicate-dialog-head p { font-size:12px; }
  .duplicate-dialog-head .btn { padding:9px 12px; }
  .duplicate-body { padding:17px 15px 22px; }
  .duplicate-message { margin:14px 15px 0; }
  .duplicate-list-toolbar .form-field { min-width:0; flex:1 1 170px; }
  .duplicate-candidates, .duplicate-manual-fields, .duplicate-compare-grid { grid-template-columns:minmax(0,1fr); }
  .duplicate-candidate, .duplicate-member-card { padding:16px; }
  .duplicate-candidate .btn { width:100%; }
  .duplicate-member-card:first-child { padding-top:13px; }
  .duplicate-review-section, .duplicate-confirmation { padding:16px; }
  .duplicate-decision { gap:8px; }
  .duplicate-decision label { flex:1 1 auto; padding:10px; font-size:13px; }
  .duplicate-form-actions { flex-direction:column; }
  .duplicate-form-actions .btn { width:100%; white-space:normal; }
  .duplicate-comparison-toolbar { gap:9px; }
  .duplicate-comparison-toolbar .btn { width:100%; }
  .duplicate-identity-comparison h3 { padding:13px 11px; font-size:15px; }
  .duplicate-identity-table th, .duplicate-identity-table td { padding:10px 8px; }
  .duplicate-member-card dl > div { grid-template-columns:90px minmax(0,1fr); gap:7px; }
  .duplicate-member-sources > div .btn { width:100%; }
}

/* Operational comparison: primary facts first, the rest is optional. */
.duplicate-launcher p,.duplicate-launcher .btn,.duplicate-candidate-names span {font-size:16px;}
.member-duplicates-dialog { color:#382632; }
.member-duplicates-dialog :is(p,li,dt,small,.duplicate-meta,.duplicate-message,.duplicate-status,.duplicate-dialog-head p,.duplicate-manual,.duplicate-alias-note,.duplicate-blockers,.duplicate-review-section>p,.duplicate-confirmation p,.duplicate-confirmation li) { font-size:16px; color:#55404e; }
.duplicate-identity-table { font-size:18px; }
.duplicate-identity-table tr>:first-child,.duplicate-identity-table thead span { font-size:16px; color:#55404e; }
.duplicate-identity-comparison h3,.duplicate-review-section h3,.duplicate-confirmation h3 { font-size:20px; }
.duplicate-decision label,.duplicate-name-choices label,.duplicate-list-toolbar .form-field,.member-duplicates-dialog .btn { font-size:18px; }
.duplicate-extra { margin:16px 0; }
.duplicate-extra summary,.duplicate-name-choices legend { font-size:18px; font-weight:600; padding:12px 0; cursor:pointer; }
.duplicate-name-choices { margin:18px 0; border:0; padding:0; }
.duplicate-name-choices label { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid #dbc5d1; border-radius:10px; margin:8px 0; overflow-wrap:anywhere; }
.duplicate-name-choices input { flex:0 0 auto; width:19px; height:19px; }
.duplicate-name-choices p { margin:10px 0; }
.duplicate-member-card dl,.duplicate-member-card h3 { font-size:16px; }
.duplicate-member-card dl>div { grid-template-columns:100px minmax(0,1fr); }
.duplicate-mobile-origin { display:none; }
@media(max-width:680px) {
  .member-duplicates-dialog { width:calc(100% - 20px); max-width:calc(100% - 20px); }
  .duplicate-dialog-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .duplicate-dialog-head>div { display:contents; }
  .duplicate-dialog-head h2 { grid-column:1; grid-row:1; font-size:20px; margin:0; align-self:center; }
  .duplicate-dialog-head p { grid-column:1 / -1; grid-row:2; }
  .duplicate-dialog-head>.btn { grid-column:2; grid-row:1; font-size:16px; }
  .duplicate-identity-table,.duplicate-identity-table tbody,.duplicate-identity-table tr,.duplicate-identity-table th,.duplicate-identity-table td { display:block; width:100%; }
  .duplicate-identity-table thead { display:none; }
  .duplicate-identity-table tr>:first-child,.duplicate-identity-table tr>:not(:first-child) { width:100%; border-left:0; }
  .duplicate-identity-table tbody th { background:#fcf7f9; font-size:18px; font-weight:600; padding:10px 12px; }
  .duplicate-identity-table tbody td { font-size:18px; border-top:0; padding:10px 12px; }
  .duplicate-mobile-origin { display:block; font-size:16px; line-height:1.6; color:#55404e; margin-bottom:4px; }
  .duplicate-decision { display:grid; }
}

.duplicate-family-summary { padding:16px; margin:16px 0; border:1px solid #d9c4d0; border-radius:12px; background:#fcf7f9; }
.duplicate-family-summary h3 { font-size:20px; margin:0 0 8px; }
.member-duplicates-dialog .duplicate-family-summary p,.duplicate-member-sources .duplicate-family-summary p { font-size:18px; margin:0; color:#382632; line-height:1.8; }
.duplicate-family-fields { margin:18px 0; padding:0; border:0; }
.duplicate-family-fields legend { font-size:18px; font-weight:600; }
.duplicate-family-fields>div { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.duplicate-family-fields input { min-width:0; width:100%; font-size:18px; }
.member-family-label { font-size:18px; color:#382632; white-space:normal; overflow-wrap:anywhere; margin:8px 0; }
@media(max-width:680px) { .duplicate-family-fields>div { grid-template-columns:1fr; gap:0; } }
