:root{color-scheme:dark;--bg:#101019;--panel:#1b1b29;--ink:#f4f1fa;--muted:#b7b4c8;--accent:#b88aef;--line:#3c394e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,sans-serif}header{padding:20px max(20px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}nav{display:flex;gap:20px}a{color:var(--accent)}main{max-width:1100px;margin:32px auto;padding:0 20px 70px}h1{font-size:clamp(28px,4vw,40px);line-height:1.2}h2{font-size:22px}h3{font-size:17px}p{max-width:85ch}.muted,small{color:var(--muted)}section,.row-card{padding:22px;border:1px solid var(--line);background:var(--panel);border-radius:16px;margin:20px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}label{display:block;margin-bottom:12px}input,select,button{font:inherit}input:not([type=checkbox]),select{display:block;max-width:100%;width:100%;margin-top:5px;padding:12px;border:1px solid var(--line);background:#12121d;color:var(--ink);border-radius:9px}button,.button{display:inline-block;min-height:44px;padding:10px 17px;background:var(--accent);color:#181122;border:0;border-radius:9px;font-weight:650;cursor:pointer;text-decoration:none}button:disabled{opacity:.45;cursor:default}.secondary{background:#343045;color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.status{color:#ffd999;overflow-wrap:anywhere}.summary{font-size:19px;color:#dac1fa}.row-card{margin:10px 0;padding:14px;overflow-wrap:anywhere}.row-card[data-status=invalid]{border-left:4px solid #ff9e9e}.row-card[data-status=duplicate]{border-left:4px solid #e1bf7b}.row-card[data-status=ready],.row-card[data-status=imported]{border-left:4px solid #85dfb5}.fields{font-size:14px;display:flex;flex-wrap:wrap;gap:8px 20px}.fields span{max-width:100%;overflow-wrap:anywhere}.check{display:flex;gap:10px;align-items:flex-start}.check input{width:22px;height:22px;flex-shrink:0}details{margin:12px 0}summary{cursor:pointer}#batch-list{display:flex;gap:10px;flex-wrap:wrap}#batch-list button{font-size:14px}input:focus,button:focus,select:focus,a:focus{outline:3px solid #d8bef8;outline-offset:3px}@media(max-width:500px){main{margin-top:24px;padding:0 14px 40px}section{padding:16px}.grid{grid-template-columns:1fr}header{padding:16px}.actions button{width:100%}}

/* Identifiable batches, including long source filenames on Mobile. */
#batch-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px;margin-top:16px}
#batch-list button{text-align:left;min-width:0;max-width:100%;overflow-wrap:anywhere}
#batch-list strong,#batch-list small,#batch-list span{display:block;white-space:normal}
#batch-list strong{font-size:16px}#batch-list small{margin:5px 0}#batch-list span{font-size:13px}
@media(max-width:500px){#batch-list{grid-template-columns:minmax(0,1fr)}}
