.csv-panel{margin-top:24px}.csv-body{padding:0 22px 24px;display:grid;gap:14px}.csv-body>label,.csv-actions label{display:grid;gap:6px;font-size:13px;font-weight:600}.csv-body>p{font-size:12px}.csv-actions{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.csv-actions input[type=file]{display:block;max-width:100%;border:1px solid var(--line);padding:10px;background:var(--white);border-radius:6px}.csv-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.csv-map-grid label{display:grid;gap:5px;align-content:start;min-width:0;font-size:12px}.csv-map-grid select{width:100%;min-width:0}.csv-map-grid small{font-weight:400;overflow-wrap:anywhere}.csv-reference{padding:14px;background:var(--paper);border:1px solid var(--line);margin-bottom:18px;overflow-wrap:anywhere}.csv-reference summary{cursor:pointer;min-height:36px}.csv-reference h4{margin:12px 0}.csv-reference ul{max-height:220px;overflow:auto;padding-left:20px}.csv-counts{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0}.csv-counts p{padding:12px 18px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.csv-counts strong{font-size:24px;display:block;color:var(--ink)}.csv-callout{padding:12px;border-left:3px solid var(--orange);background:#fff1e1;overflow-wrap:anywhere}.csv-success{padding:14px;border-left:3px solid var(--green);background:#edf2e8;color:var(--green);overflow-wrap:anywhere}.csv-preview-rows{max-height:560px;overflow:auto;margin:18px 0;border:1px solid var(--line);border-radius:6px}.csv-row{border-bottom:1px solid var(--line);padding:12px 16px;overflow-wrap:anywhere}.csv-row summary{min-height:36px;font-weight:650;cursor:pointer}.csv-row.error{border-left:3px solid #a9431f}.csv-row.duplicate{border-left:3px solid #b5944c}.csv-row.ready{border-left:3px solid var(--green)}.csv-row p{font-size:12px}.csv-row dl{display:grid;gap:8px;font-size:12px}.csv-row dl>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px}.csv-row dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.csv-row dt{color:var(--muted)}.csv-confirm{display:flex;align-items:center;gap:10px;margin:18px 0}.csv-confirm input{width:20px;min-height:24px;flex-shrink:0}#csv-error:empty{display:none}#csv-preview h3,#csv-mapping h3{margin:12px 0}#csv-commit-error{margin-top:10px}
@media(max-width:900px){.csv-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.csv-body{padding:0 16px 20px}.csv-map-grid{grid-template-columns:1fr}.csv-map-grid select,.csv-body select{font-size:16px}.csv-actions{display:grid;grid-template-columns:minmax(0,1fr)}.csv-actions>button{white-space:normal;min-height:44px}.csv-file{min-width:0}.csv-file input{width:100%;min-width:0;font-size:12px}.csv-row dl>div{grid-template-columns:1fr;gap:3px}.csv-counts{gap:8px}.csv-counts p{flex:1;padding:9px;font-size:11px;min-width:0}.csv-counts strong{font-size:22px}.csv-confirm{align-items:flex-start;font-size:12px}#csv-commit{width:100%;white-space:normal;min-height:44px}}
