.csv-workspace{display:grid;gap:1rem;padding:clamp(1rem,3vw,2rem);margin-bottom:var(--tool-section-gap);min-width:0}
.csv-workspace>h2,.csv-workspace>p,.csv-rules>p{margin:0}
.csv-workspace :is(.field,.tool-form,fieldset){min-width:0}
.csv-workspace textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.csv-workspace [hidden]{display:none!important}
.csv-workspace :is([tabindex="-1"],textarea){scroll-margin-top:6rem}
.csv-workspace [tabindex="-1"]:focus{outline:3px solid var(--brand);outline-offset:4px}
.csv-workspace :is(fieldset,.csv-result){display:grid;gap:1rem}
.csv-workspace fieldset{border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem}
.csv-workspace legend{padding-inline:.5rem;font-weight:700}
.csv-workspace .csv-fields,.csv-column-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.csv-column-list{display:grid;gap:.5rem;max-height:18rem;overflow:auto;overscroll-behavior:contain;padding:.25rem;scrollbar-gutter:stable}
.csv-column-list label{min-height:44px;overflow-wrap:anywhere}
.csv-column-list input{flex-shrink:0}
.csv-selection-actions,.csv-result .result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.csv-workspace summary{min-height:48px;cursor:pointer;padding:.75rem 0;font-weight:600}
.csv-workspace :is([data-csv-error],[data-input-status],[data-csv-status]):empty{display:none}
.csv-result{min-width:0;margin:0;overflow-wrap:anywhere}
.csv-result>*,.csv-result .utility-result-grid{margin:0}
.csv-result .metric strong{margin-top:.5rem}
.csv-workspace .check-row{align-items:center;min-height:44px}
.csv-workspace .csv-file::file-selector-button{min-height:48px;margin-inline-end:.75rem}
@media(max-width:650px){.csv-workspace .csv-fields,.csv-column-groups,.csv-result .utility-result-grid,.csv-selection-actions,.csv-result .result-actions{grid-template-columns:minmax(0,1fr)}}
