.source-replacement{display:grid;gap:var(--space-5)}
.source-files-label,.source-row label{display:grid;gap:var(--space-2);min-width:0;font-size:var(--font-size-sm)}
#replaceSourcesViewer :is(input,select,button){min-height:44px;font:inherit;max-width:100%}
#replaceSourcesViewer select{height:44px}
.source-replacement :is(input,select){width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-main)}
.source-files-label{max-width:40rem}
.source-rows{display:grid;gap:var(--space-4)}
.source-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.65fr);align-items:start;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-soft);border-radius:var(--radius-md)}
.source-identity{min-width:0;overflow-wrap:anywhere}.source-identity h2{font-size:var(--font-size-md);margin:0}.source-identity p{font-size:var(--font-size-sm);color:var(--text-muted);margin:var(--space-2) 0 0}
.source-row [hidden]{display:none}.source-preview{grid-column:1/-1;margin:0;font-size:var(--font-size-sm)}.source-preview:empty{display:none}
.source-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.source-replacement [data-source-status]{margin:0;overflow-wrap:anywhere}.source-replacement [data-source-status]:empty{display:none}.source-replacement .is-error{color:var(--polish-danger-strong)}
.source-replacement :is(input,select,button):focus-visible{outline:3px solid var(--accent-focus);outline-offset:2px}
@media(max-width:700px){.source-row{grid-template-columns:minmax(0,1fr)}.source-files-label{max-width:none}}

.source-identity button{margin-top:var(--space-3)}.source-replacement [hidden]{display:none!important}
.source-column-mapping{grid-column:1/-1;display:grid;gap:var(--space-3);min-width:0}
.source-column-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--space-3)}
.source-column-choices label{overflow-wrap:anywhere}
.source-row .source-extra-choice{display:flex;align-items:center;gap:var(--space-3);min-height:44px;overflow-wrap:anywhere}
#replaceSourcesViewer .source-extra-choice input{flex:0 0 24px;width:24px;height:44px;min-height:44px;margin:0;padding:0;accent-color:var(--accent-focus)}
