/* Dubletten-Report — baut auf dem Design-System in style.css auf. */

/* Tabs als Segmented Control */
.tabs{display:inline-flex;flex-wrap:wrap;gap:2px;background:#e6eaf1;padding:4px;
  border-radius:10px;margin-bottom:18px}
.tabs button{font:inherit;border:none;background:transparent;padding:7px 14px;font-size:.88rem;
  color:var(--text-2);cursor:pointer;border-radius:7px;line-height:1.3}
.tabs button:hover{color:var(--text)}
.tabs button.active{color:var(--navy);font-weight:600;background:#fff;
  box-shadow:0 1px 2px rgba(17,29,47,.1)}

/* Überschriften-Zusatz (z. B. Verifikations-Status) nicht mit-kapitälchen */
.block h2 .muted{text-transform:none;letter-spacing:0;font-weight:400}

/* Kennzahl-Kacheln */
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:14px 16px;box-shadow:var(--shadow)}
.stat .num{font-size:1.7rem;font-weight:700;color:var(--navy);line-height:1.1;
  font-variant-numeric:tabular-nums}
.stat .lbl{color:var(--text-2);font-size:.8rem;margin-top:3px}
.stat.accent .num{color:#b23a48}

/* Balken */
.bars{display:flex;flex-direction:column;gap:7px}
.bar{display:grid;grid-template-columns:210px 1fr 110px;align-items:center;gap:10px;font-size:.85rem}
.bar .blabel{color:#46505c;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .track{background:#edf0f5;border-radius:5px;height:18px;overflow:hidden}
.bar .fill{height:100%;border-radius:5px;background:var(--accent)}
.bar .fill.hoch{background:#2a9d5c}
.bar .fill.mittel{background:#e0922f}
.bar .fill.niedrig{background:#c96b4a}
.bar .fill.review{background:#b23a48}
.bar .bval{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:640px){.bar{grid-template-columns:110px 1fr auto}.bar .bval{white-space:normal}}

/* Badge-Varianten */
.badge.hoch{background:var(--ok-bg);color:#1d6b3f;border-color:var(--ok-border)}
.badge.mittel{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}
.badge.niedrig{background:var(--orange-bg);color:#9a4a25;border-color:var(--orange-border)}
.badge.review{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}
.badge.sig{background:var(--accent-soft);color:var(--navy);border-color:var(--accent-border)}
.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}

/* Filterleisten über den Listen */
.controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap}
.controls .check{padding-bottom:9px}
.controls .listCount{padding-bottom:9px}
.field.inline.narrow{flex:0 0 auto}

/* Karten-Listen */
.cards{display:flex;flex-direction:column;gap:10px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:12px 16px;box-shadow:var(--shadow)}
.card .chead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;cursor:pointer}
.card .chead .size{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.card .chead .grow{flex:1;color:#46505c}
.card .chead .toggle{color:var(--accent);font-size:.8rem;white-space:nowrap}

/* Mitglieder-Zeilen im Cluster */
.members{display:flex;flex-direction:column}
.member{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;
  padding:6px 0;border-top:1px solid #f0f2f5}
.member:first-child{border-top:none}
.member .sex{font-size:.95rem;width:1.1em;text-align:center;color:var(--text-3)}
.member .mlabel{color:var(--text)}
.member .mlabel b{color:var(--navy)}
.member .qid{color:var(--text-3);font-size:.78rem;margin-left:5px;font-family:var(--mono)}
.member .yrs{color:var(--text-2);font-size:.82rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.member .extids{display:block;color:#8a6d3b;font-size:.74rem;margin-top:2px}
.member.canon .mlabel:before{content:"★ ";color:#e0922f}

/* Paar-Ansicht (Review / Konflikte) */
.pair{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}
.pair .side{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-s);
  padding:8px 11px}
.pair .side .nm{font-weight:600;color:var(--navy)}
.pair .side .qid{color:var(--text-3);font-size:.78rem;font-family:var(--mono)}
.pair .side .yrs{color:var(--text-2);font-size:.82rem;margin-top:2px}
.pair .vs{align-self:center;color:var(--text-3);font-size:.85rem}
@media (max-width:640px){.pair{grid-template-columns:1fr}.pair .vs{display:none}}

/* Begründungs-Chips */
.reasons{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px}
.reasons .r{background:var(--accent-soft);border:1px solid var(--accent-border);color:#33506f;
  border-radius:20px;padding:1px 9px;font-size:.76rem}
.reasons .r.neg{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}
.reasons .r.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}
.scorepill{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}

/* Paar-Belege im Cluster-Detail */
.edges{margin-top:8px;border-top:1px dashed var(--border);padding-top:8px}
.edge{font-size:.82rem;color:var(--text-2);padding:4px 0}
.edge .ids{color:var(--text-3);font-family:var(--mono);font-size:.78rem}

/* Verifikation */
.issues{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.issue{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-s);
  padding:7px 11px;font-size:.85rem;color:#5a4214}
.issue b{color:var(--warn)}
.narrative{font-size:.9rem;color:var(--text)}
.narrative p{margin:0 0 8px 0}

.loadmore{text-align:center;margin:14px 0}
.spin{color:var(--accent);font-size:.85rem;padding:14px;display:inline-block}
