/* Tabellen-Import — baut auf dem Design-System in style.css auf. */

.uploadRow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.uploadRow input[type=file]{font-size:.88rem;color:var(--text-2)}
.uploadRow input[type=file]::file-selector-button{font:inherit;font-size:.88rem;padding:7px 14px;
  margin-right:10px;border:1px solid var(--border-strong);border-radius:var(--radius-s);
  background:var(--surface);color:var(--text);cursor:pointer}
.uploadRow input[type=file]::file-selector-button:hover{background:var(--surface-2)}
.pasteBox{margin-top:12px;font-size:.9rem}
.pasteBox summary{cursor:pointer;color:var(--accent)}
.pasteBox textarea{width:100%;margin:10px 0 8px 0;font-family:var(--mono);font-size:.85rem}
#parseStatus{margin-top:8px}

/* Vorschau + Mapping */
.tableWrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-s)}
#previewTable{border-collapse:collapse;font-size:.82rem;min-width:100%}
#previewTable th,#previewTable td{border-bottom:1px solid #f0f2f5;border-right:1px solid #f6f8fa;
  padding:5px 9px;text-align:left;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
#previewTable tbody tr:last-child td{border-bottom:none}
#previewTable thead th{background:var(--surface-2);font-weight:600;color:var(--text)}
#previewTable thead select{width:100%;font:inherit;font-size:.8rem;padding:3px 4px;
  border:1px solid var(--border-strong);border-radius:6px;background:#fff;margin-bottom:5px;color:var(--text-2)}
#previewTable thead select.mapped{border-color:var(--accent);background:var(--accent-soft);color:var(--navy);font-weight:600}
.runRow{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.progressWrap{display:flex;align-items:center;gap:10px;flex:1 1 240px}
.progressBar{flex:1;height:8px;background:#e7ebf1;border-radius:4px;overflow:hidden}
#progressFill{height:100%;width:0;background:var(--accent);border-radius:4px;transition:width .2s}
#progressText{font-size:.82rem;color:var(--text-2);white-space:nowrap}

/* Ergebnis */
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}
.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-s);
  padding:10px 12px;text-align:center}
.stat b{display:block;font-size:1.4rem;color:var(--navy);font-variant-numeric:tabular-nums}
.stat span{font-size:.78rem;color:var(--text-2)}
.filterBtns{display:flex;gap:6px;flex-wrap:wrap;flex:1;padding-bottom:2px}
.filterBtns button{font:inherit;font-size:.8rem;padding:4px 12px;border-radius:20px;
  border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text-2)}
.filterBtns button:hover{background:var(--surface-2)}
.filterBtns button.active{background:var(--navy);border-color:var(--navy);color:#fff}
#resultBlock .listControls{align-items:center}

.matchList{list-style:none;padding:0;margin:0}
.matchList li{border-top:1px solid #f0f2f5;padding:10px 8px;margin:0 -8px}
.matchList li:first-child{border-top:none}
.matchRow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.matchRow .rownum{color:var(--text-3);font-size:.78rem;min-width:2.5em;font-variant-numeric:tabular-nums}
.matchRow .input{font-weight:600;color:var(--navy)}
.matchRow .inputMeta{color:var(--text-3);font-size:.82rem}
.badge.eindeutig{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}
.badge.mehrdeutig{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}
.badge.unspezifisch{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-border)}
.badge.neu{background:#edf0f4;color:#556;border-color:#d8dce2}
.badge.leer{background:#f5f6f7;color:#9aa;border-color:#e5e7ea}
.bestMatch{margin-top:3px;font-size:.88rem;color:#46505c}
.bestMatch a{color:var(--navy);text-decoration:none;font-weight:600}
.bestMatch a:hover{text-decoration:underline}
.bestMatch .qid{color:var(--text-3);font-size:.8rem;font-family:var(--mono)}
.reasons{color:var(--text-2);font-size:.8rem}
.candToggle{margin-top:4px;font-size:.8rem}
.candToggle summary{cursor:pointer;color:var(--accent)}
.candToggle table{border-collapse:collapse;margin-top:6px;font-size:.8rem}
.candToggle td,.candToggle th{padding:3px 10px 3px 0;text-align:left;vertical-align:top;color:#46505c}
.candToggle th{color:var(--text-3);font-weight:600}
