/*
 * Forensik-Board – Stylesheet
 *
 * Geplante Klassen-Hierarchie:
 *
 *   .forensics-board           Wurzelelement des Forensik-Boards
 *     .forensics-summary       Einzeiler-Kopfzeile (Befund-Anzahl, Zeitraum)
 *     .forensics-class-grid    Grid/Liste der Diagnoseklassen
 *       .forensics-class       Eine Diagnoseklasse (z. B. Zeitintegrität)
 *         .forensics-class-header
 *         .forensics-finding-card  Ein einzelner Befund
 *           .forensics-evidence    Evidence-Rows innerhalb eines Befunds
 *           .forensics-copy-button Kopierbarer Support-Text-Button
 */

/* ── Wrapper ─────────────────────────────────────────────────────── */
.forensics-board {
}

/* ── Zusammenfassung (Kopfzeile) ─────────────────────────────────── */
.forensics-summary {
}

/* ── Klassen-Grid ────────────────────────────────────────────────── */
.forensics-class-grid {
}

/* ── Einzelne Diagnoseklasse ─────────────────────────────────────── */
.forensics-class {
}

/* ── Befund-Karte ────────────────────────────────────────────────── */
.forensics-finding-card {
}

/* ── Evidence-Bereich innerhalb einer Karte ──────────────────────── */
.forensics-evidence {
}

/* ── Kopier-Button für Support-Text ──────────────────────────────── */
.forensics-copy-button {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 6px);
  background: transparent;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
  line-height: 1.5;
}

.forensics-copy-button:hover {
  border-color: var(--accent, #4a8fa8);
  color: var(--text-primary);
  background: var(--bg-surface-hover, rgba(74, 143, 168, 0.07));
}

.forensics-copy-button:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-copy-button--success {
  border-color: var(--sev-notice, #2563eb);
  color: var(--sev-notice, #2563eb);
  background: var(--sev-notice-bg, rgba(37, 99, 235, 0.07));
}

.forensics-copy-button--error {
  border-color: var(--sev-critical, #dc2626);
  color: var(--sev-critical, #dc2626);
  background: var(--sev-critical-bg, rgba(220, 38, 38, 0.07));
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Swimlane (M3-03)
   ════════════════════════════════════════════════════════════════════ */

.forensics-swimlane {
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-surface);
  margin-bottom: 1rem;
  overflow: hidden;
}

.forensics-swimlane__header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.875rem;
  background: var(--bg-surface-2, var(--bg-inset, rgba(0,0,0,.03)));
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
}

.forensics-swimlane__title-row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
}

.forensics-swimlane__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-secondary);
  white-space: nowrap;
}

.forensics-swimlane__subtitle {
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.forensics-swimlane__meta {
  font-size: 11px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}

.forensics-swimlane__warning {
  font-size: 10px;
  font-weight: 700;
  color: var(--sev-warning, #d97706);
  white-space: nowrap;
  margin-left: 0.25rem;
}

.forensics-swimlane__toggle {
  flex-shrink: 0;
  background: transparent;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm, 4px);
  color: var(--text-muted);
  font-size: 11px;
  padding: 0.2rem 0.55rem;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 120ms ease, color 120ms ease;
}

.forensics-swimlane__toggle:hover {
  border-color: var(--accent, #4a8fa8);
  color: var(--text-primary);
}

.forensics-swimlane__toggle:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

/* ── Body ─────────────────────────────────────────────────────── */

.forensics-swimlane__body {
  overflow-x: auto;
}

.forensics-swimlane__scroll {
  min-width: 540px;
  padding: 0.5rem 0.875rem 0.625rem;
}

/* ── Zoom-Controls (M3-04B) ────────────────────────────────────── */

.forensics-swimlane__zoom {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-shrink: 0;
}

.forensics-swimlane__zoom-label {
  font-size: 10px;
  color: var(--text-muted);
  margin-right: 0.1rem;
  user-select: none;
}

.forensics-swimlane__zoom-button {
  background: transparent;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm, 4px);
  color: var(--text-muted);
  font-size: 10px;
  font-family: inherit;
  padding: 0.15rem 0.45rem;
  cursor: pointer;
  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
  white-space: nowrap;
}

.forensics-swimlane__zoom-button:hover {
  border-color: var(--accent, #4a8fa8);
  color: var(--text-primary);
}

.forensics-swimlane__zoom-button--active {
  background: var(--accent, #4a8fa8);
  border-color: var(--accent, #4a8fa8);
  color: #fff;
  font-weight: 600;
}

.forensics-swimlane__zoom-button:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

/* ── Zeitachse mit Tick-Marks (M3-04B) ─────────────────────────── */

.forensics-swimlane__axis {
  padding-left: 9rem;
  margin-bottom: 0.25rem;
}

.forensics-swimlane__axis-ticks {
  position: relative;
  height: 22px;
  overflow: visible;
}

.forensics-swimlane__axis-tick {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
}

.forensics-swimlane__axis-tick::before {
  content: '';
  display: block;
  width: 1px;
  height: 5px;
  background: var(--border-muted, #cbd5e1);
  margin-bottom: 2px;
}

.forensics-swimlane__axis-tick-label {
  font-size: 9px;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  line-height: 1;
}

/* ── Lane ──────────────────────────────────────────────────────── */

.forensics-swimlane__lane {
  display: flex;
  align-items: center;
  min-height: 34px;
  margin-bottom: 5px;
}

.forensics-swimlane__lane-label {
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--bg-surface, #fff);
  box-shadow: 2px 0 6px -2px rgba(0, 0, 0, 0.1);
  width: 9rem;
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-right: 0.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.forensics-swimlane__track {
  flex: 1 1 auto;
  position: relative;
  height: 30px;
  background: var(--bg-inset, rgba(0,0,0,.04));
  border-radius: 3px;
  overflow: hidden;
}

.forensics-swimlane__track-empty {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 10px;
  color: var(--text-muted);
  opacity: 0.4;
  pointer-events: none;
}

/* ── Items ─────────────────────────────────────────────────────── */

.forensics-swimlane__item {
  position: absolute;
  top: 2px;
  height: 26px;
  border-radius: 2px;
  overflow: hidden;
  white-space: nowrap;
  display: flex;
  align-items: center;
  padding: 0 3px;
  cursor: default;
  box-sizing: border-box;
  min-width: 4px;
}

/* Phase-Balken */
.forensics-swimlane__item--span {
  opacity: 0.82;
  min-width: 6px;
}

/* Observations: dezenter Tick, vertikal zentriert */
.forensics-swimlane__item--marker.forensics-swimlane__item--observation {
  width: 2px;
  padding: 0;
  border-radius: 1px;
  top: 9px;
  height: 12px;
  opacity: 0.38;
  min-width: 2px;
}

/* Findings: deutlicher Marker, volle Track-Höhe, klickbar erkennbar */
.forensics-swimlane__item--marker.forensics-swimlane__item--finding {
  width: 6px;
  padding: 0;
  top: 0;
  height: 30px;
  border-radius: 2px;
  opacity: 1;
  min-width: 6px;
}

/* ── Klickbare Finding-Items (M3-04) ──────────────────────────── */

/* Button-Reset: nur für Swimlane-Finding-Buttons, nicht global */
button.forensics-swimlane__item--clickable {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  font: inherit;
  cursor: pointer;
}

.forensics-swimlane__item--clickable:hover {
  opacity: 1;
  filter: brightness(1.18);
}

.forensics-swimlane__item--clickable:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

/* ── M6-05: Aktiver Swimlane-Finding-Marker ─────────────────── */
.forensics-swimlane-item--active {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
  filter: brightness(1.25);
}

/* ── Severity-Farben ──────────────────────────────────────────── */

.forensics-swimlane__item--sev-critical {
  background: var(--sev-critical, #dc2626);
  color: #fff;
}

.forensics-swimlane__item--sev-warning {
  background: var(--sev-warning, #d97706);
  color: #fff;
}

.forensics-swimlane__item--sev-notice {
  background: var(--sev-notice, #2563eb);
  color: #fff;
}

.forensics-swimlane__item--sev-info {
  background: var(--border-muted, #9ca3af);
  color: #fff;
}

.forensics-swimlane__item--sev-data-gap {
  background: var(--sev-data-gap, #7c3aed);
  color: #fff;
}

/* Kein Severity → neutral */
.forensics-swimlane__item:not([class*="--sev-"]) {
  background: var(--border-default, #94a3b8);
  color: #fff;
}

/* Label-Text innerhalb von Spans */
.forensics-swimlane__item-label {
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  font-weight: 600;
  font-size: 9px;
  letter-spacing: 0.02em;
  color: inherit;
}

/* ── Swimlane-Legende (M3-07) ──────────────────────────────────── */

.forensics-swimlane__legend-toggle {
  flex-shrink: 0;
  background: transparent;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm, 4px);
  color: var(--text-muted);
  font-size: 11px;
  padding: 0.2rem 0.55rem;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 120ms ease, color 120ms ease;
}

.forensics-swimlane__legend-toggle:hover {
  border-color: var(--accent, #4a8fa8);
  color: var(--text-primary);
}

.forensics-swimlane__legend-toggle:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-swimlane__legend {
  padding: 0.5rem 0.875rem 0.625rem;
  background: var(--bg-inset, rgba(0,0,0,.025));
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
}

/* display:flex überschreibt sonst das hidden-Attribut */
.forensics-swimlane__legend[hidden] {
  display: none;
}

.forensics-swimlane__legend-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  align-items: center;
}

.forensics-swimlane__legend-row {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 11px;
  color: var(--text-secondary);
  white-space: nowrap;
}

.forensics-swimlane__legend-sample {
  display: inline-block;
  flex-shrink: 0;
  border-radius: 2px;
  background: var(--border-default, #94a3b8);
}

/* Balken-Muster: breit und mittelgroß */
.forensics-swimlane__legend-sample--span {
  width: 28px;
  height: 10px;
  opacity: 0.82;
}

/* Observations: schmaler Tick */
.forensics-swimlane__legend-sample--observation {
  width: 2px;
  height: 12px;
  border-radius: 1px;
  opacity: 0.45;
  background: var(--sev-notice, #2563eb);
}

/* Findings: deutlicher Marker, accent-Farbe */
.forensics-swimlane__legend-sample--finding {
  width: 6px;
  height: 14px;
  background: var(--sev-critical, #dc2626);
  opacity: 1;
}

.forensics-swimlane__legend-text {
  line-height: 1.3;
}

.forensics-swimlane__legend-notes {
  flex: 1 1 18rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.forensics-swimlane__legend-note {
  font-size: 10px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.4;
}

.forensics-swimlane__legend-note--warn {
  color: var(--sev-warning, #d97706);
  font-weight: 600;
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board 2.0: Fallkopf (M2-01)
   Oberhalb der bestehenden fdiag-summary.
   ════════════════════════════════════════════════════════════════════ */

.forensics-casehead {
  padding: 1rem 0 0.875rem;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 0.5rem;
}

/* ── Titelzeile ───────────────────────────────────────────────────── */
.forensics-casehead__title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.3rem 0.6rem;
  margin-bottom: 0.65rem;
}

.forensics-casehead__title-main {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.01em;
}

.forensics-casehead__title-sub {
  font-size: 10px;
  font-weight: 500;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.7px;
}

/* ── Metadaten-Zeile ─────────────────────────────────────────────── */
.forensics-casehead__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.9rem;
  margin-bottom: 0.75rem;
}

.forensics-casehead__meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  font-size: 12px;
  line-height: 1.5;
}

.forensics-casehead__meta-key {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-muted);
  white-space: nowrap;
}

.forensics-casehead__meta-val {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ── Diagnose-Kachel-Grid ────────────────────────────────────────── */
.forensics-diagnostic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.4rem 0.5rem;
}

/* ── Einzelne Diagnose-Kachel ────────────────────────────────────── */
.forensics-diagnostic-card {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.45rem 0.6rem 0.4rem;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-surface);
}

/* Status-Tinting — ruhig, nicht alarmistisch */
.forensics-diagnostic-card--ok {
  border-left-color: rgba(34, 197, 94, 0.45);
}

.forensics-diagnostic-card--notice {
  border-left-color: var(--sev-notice);
  background: var(--sev-notice-bg);
}

.forensics-diagnostic-card--warning {
  border-left-color: var(--sev-warning);
  background: var(--sev-warning-bg);
}

.forensics-diagnostic-card--critical {
  border-left-color: var(--sev-critical);
  background: var(--sev-critical-bg);
}

.forensics-diagnostic-card--unclear {
  border-left-color: var(--border-subtle);
  opacity: 0.65;
}

/* ── Kachel-Elemente ─────────────────────────────────────────────── */
.forensics-diagnostic-card__label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.forensics-diagnostic-card__status {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
}

.forensics-diagnostic-card--ok .forensics-diagnostic-card__status {
  color: var(--text-secondary);
  font-weight: 500;
}

.forensics-diagnostic-card__count {
  font-size: 10px;
  color: var(--text-muted);
  font-weight: 400;
}

.forensics-diagnostic-card__badge {
  font-size: 9px;
  padding: 0.1rem 0.3rem;
  line-height: 1.4;
  align-self: flex-start;
}

@media (max-width: 600px) {
  .forensics-diagnostic-grid {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  }
  .forensics-casehead__meta {
    gap: 0.2rem 0.6rem;
  }
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board 2.0: Finding-Übersicht (M2-02)
   ════════════════════════════════════════════════════════════════════ */

/* ── Findings-Wrapper ────────────────────────────────────────────── */
.forensics-findings {
  padding: 0.875rem 0 0.75rem;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 0.5rem;
}

.forensics-findings__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.7rem;
  margin-bottom: 0.75rem;
}

.forensics-findings__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
}

.forensics-findings__subtitle {
  font-size: 11px;
  color: var(--text-muted);
}

.forensics-findings__empty {
  font-size: 12px;
  color: var(--text-muted);
  font-style: italic;
  padding: 0.25rem 0;
}

/* ── Finding-Gruppe ──────────────────────────────────────────────── */
.forensics-finding-group {
  margin-bottom: 0.875rem;
}

.forensics-finding-group__header {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin-bottom: 0.4rem;
}

.forensics-finding-group__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--text-muted);
}

.forensics-finding-group__count {
  font-size: 10px;
  color: var(--text-muted);
  font-weight: 400;
}

/* ── Finding-Grid ────────────────────────────────────────────────── */
.forensics-finding-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.5rem;
}

/* ── Finding-Karte ───────────────────────────────────────────────── */
.forensics-finding-card {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.6rem 0.7rem 0.55rem;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-surface);
  min-width: 0;
  overflow: hidden;
}

.forensics-finding-card--critical {
  border-left-color: var(--sev-critical);
  background: var(--sev-critical-bg);
}

.forensics-finding-card--warning {
  border-left-color: var(--sev-warning);
  background: var(--sev-warning-bg);
}

.forensics-finding-card--notice {
  border-left-color: var(--sev-notice);
  background: var(--sev-notice-bg);
}

.forensics-finding-card--info {
  border-left-color: var(--border-subtle);
}

.forensics-finding-card--data-gap {
  border-left-color: var(--sev-data-gap);
  background: var(--sev-gap-bg);
}

/* ── M6-05: Aktive Finding-Karte ────────────────────────────────── */
.forensics-finding-card--active {
  box-shadow: 0 0 0 2px var(--accent, #4a8fa8);
}

/* ── Karten-Header ───────────────────────────────────────────────── */
.forensics-finding-card__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem;
}

/* ── Titel ───────────────────────────────────────────────────────── */
.forensics-finding-card__title {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.35;
}

/* ── Beschreibung ────────────────────────────────────────────────── */
.forensics-finding-card__desc {
  font-size: 11px;
  color: var(--text-secondary);
  line-height: 1.45;
}

/* ── Confidence-Badge ────────────────────────────────────────────── */
.forensics-confidence {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
  padding: 0.1rem 0.4rem;
  border-radius: var(--radius-sm, 4px);
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid transparent;
}

.forensics-confidence--high {
  background: rgba(34, 197, 94, 0.12);
  color: #16a34a;
  border-color: rgba(34, 197, 94, 0.25);
}

.forensics-confidence--medium {
  background: rgba(249, 115, 22, 0.10);
  color: var(--sev-warning, #c2410c);
  border-color: rgba(249, 115, 22, 0.22);
}

.forensics-confidence--low {
  background: rgba(107, 114, 128, 0.10);
  color: var(--text-muted);
  border-color: var(--border-subtle);
}

.forensics-confidence--unclear {
  background: transparent;
  color: var(--text-muted);
  border-color: var(--border-subtle);
  opacity: 0.7;
}

/* ── Meta-Zeile ──────────────────────────────────────────────────── */
.forensics-finding-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.7rem;
  margin-top: 0.1rem;
}

.forensics-finding-meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  font-size: 10px;
}

.forensics-finding-meta-key {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  white-space: nowrap;
}

.forensics-finding-meta-val {
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
}

/* ── Stützende Signale ───────────────────────────────────────────── */
.forensics-finding-signals {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.15rem 0.4rem;
  margin-top: 0.1rem;
}

.forensics-finding-signals__label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.forensics-finding-signal-item {
  font-size: 10px;
  color: var(--text-secondary);
  white-space: nowrap;
}

.forensics-finding-signal-more {
  font-size: 10px;
  color: var(--text-muted);
  font-style: italic;
}

/* ── Einschränkungen / Counterevidence ───────────────────────────── */
.forensics-finding-limitations {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.15rem 0.4rem;
  margin-top: 0.05rem;
}

.forensics-finding-limitations__label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.forensics-finding-limit-item {
  font-size: 10px;
  color: var(--text-muted);
  white-space: nowrap;
}

.forensics-finding-limit-more {
  font-size: 10px;
  color: var(--text-muted);
  font-style: italic;
}

@media (max-width: 600px) {
  .forensics-finding-grid {
    grid-template-columns: 1fr;
  }
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board 2.0: Finding-Navigation (M2-03)
   ════════════════════════════════════════════════════════════════════ */

/* ── Diagnostic Card als Button ──────────────────────────────────── */
button.forensics-diagnostic-card {
  cursor: pointer;
  text-align: left;
  transition: box-shadow 120ms ease, border-left-color 120ms ease, opacity 120ms ease;
}

button.forensics-diagnostic-card:hover {
  box-shadow: 0 0 0 2px var(--accent, #4a8fa8);
  opacity: 1;
}

button.forensics-diagnostic-card:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-diagnostic-card.forensics-diagnostic-card--active {
  box-shadow: 0 0 0 2px var(--accent, #4a8fa8) !important;
  border-left-width: 4px !important;
}

/* ── Filter-Leiste ───────────────────────────────────────────────── */
.forensics-finding-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.3rem;
  margin-bottom: 0.6rem;
}

.forensics-finding-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 6px);
  background: transparent;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
  line-height: 1.5;
}

.forensics-finding-filter:hover {
  border-color: var(--accent, #4a8fa8);
  color: var(--text-primary);
  background: var(--bg-surface-hover, rgba(74, 143, 168, 0.07));
}

.forensics-finding-filter:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-finding-filter--active {
  background: var(--accent, #4a8fa8);
  border-color: var(--accent, #4a8fa8);
  color: #fff;
}

.forensics-finding-filter__count {
  font-size: 10px;
  font-weight: 700;
  opacity: 0.75;
}

.forensics-finding-filter--active .forensics-finding-filter__count {
  opacity: 0.9;
}

/* ── Filter-Status-Text ──────────────────────────────────────────── */
.forensics-findings__filter-status {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--accent, #4a8fa8);
  margin-bottom: 0.35rem;
  min-height: 1em;
}

/* ── Leerer Filterzustand ────────────────────────────────────────── */
.forensics-findings__filter-empty {
  font-size: 12px;
  color: var(--text-muted);
  font-style: italic;
  padding: 0.5rem 0;
}

/* ── Finding-Gruppe ausgeblendet ─────────────────────────────────── */
.forensics-finding-group.is-hidden {
  display: none;
}

/* ── Gruppenheader als Button ────────────────────────────────────── */
button.forensics-finding-group__header {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
  text-align: left;
  transition: opacity 120ms ease;
}

button.forensics-finding-group__header:hover {
  opacity: 0.75;
}

button.forensics-finding-group__header:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
  border-radius: 2px;
}

@media (max-width: 600px) {
  .forensics-finding-filterbar {
    gap: 0.2rem 0.25rem;
  }
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board 2.0: Evidence-Kurzansicht (M2-04)
   Aufklappbarer Evidence-Bereich innerhalb einer Finding-Karte.
   ════════════════════════════════════════════════════════════════════ */

/* ── Toggle-Button ───────────────────────────────────────────────── */
.forensics-evidence-toggle {
  display: inline-flex;
  align-items: center;
  margin-top: 0.4rem;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 6px);
  background: transparent;
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
  line-height: 1.5;
}

.forensics-evidence-toggle:hover {
  border-color: var(--accent, #4a8fa8);
  color: var(--text-primary);
  background: var(--bg-surface-hover, rgba(74, 143, 168, 0.07));
}

.forensics-evidence-toggle:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-evidence-toggle[aria-expanded="true"] {
  border-color: var(--accent, #4a8fa8);
  color: var(--accent, #4a8fa8);
  background: var(--bg-surface-hover, rgba(74, 143, 168, 0.07));
}

/* ── Evidence-Vorschau-Container ─────────────────────────────────── */
.forensics-evidence-preview {
  margin-top: 0.45rem;
  padding: 0.45rem 0.5rem 0.4rem;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-elevated, rgba(0, 0, 0, 0.04));
  overflow-x: hidden;
  min-width: 0;
}

.forensics-evidence-preview[hidden] {
  display: none;
}

/* ── Evidence-Liste ──────────────────────────────────────────────── */
.forensics-evidence-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* ── Evidence-Item ───────────────────────────────────────────────── */
.forensics-evidence-item {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: baseline;
  gap: 0 0.45rem;
  font-size: 10px;
  line-height: 1.45;
  padding: 0.2rem 0;
  border-bottom: 1px solid var(--border-subtle);
}

.forensics-evidence-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.forensics-evidence-item__signal {
  color: var(--text-secondary);
  font-family: monospace;
  font-size: 10px;
  white-space: nowrap;
}

.forensics-evidence-item__value {
  color: var(--text-primary);
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.forensics-evidence-item__meta {
  color: var(--text-muted);
  font-size: 10px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* ── Rollen-Badge ────────────────────────────────────────────────── */
.forensics-evidence-role {
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  padding: 0.05rem 0.3rem;
  border-radius: var(--radius-sm, 4px);
  white-space: nowrap;
  line-height: 1.5;
  border: 1px solid transparent;
}

.forensics-evidence-role--supporting {
  background: rgba(34, 197, 94, 0.10);
  color: #16a34a;
  border-color: rgba(34, 197, 94, 0.22);
}

.forensics-evidence-role--limiting {
  background: rgba(249, 115, 22, 0.10);
  color: var(--sev-warning, #c2410c);
  border-color: rgba(249, 115, 22, 0.22);
}

.forensics-evidence-role--counterevidence {
  background: rgba(239, 68, 68, 0.09);
  color: var(--sev-critical, #dc2626);
  border-color: rgba(239, 68, 68, 0.20);
}

.forensics-evidence-role--context {
  background: rgba(107, 114, 128, 0.08);
  color: var(--text-muted);
  border-color: var(--border-subtle);
}

.forensics-evidence-role--unknown {
  background: transparent;
  color: var(--text-muted);
  border-color: var(--border-subtle);
  opacity: 0.8;
}

@media (max-width: 600px) {
  .forensics-evidence-item {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
  .forensics-evidence-item__signal {
    grid-column: 2;
    grid-row: 1;
  }
  .forensics-evidence-item__value {
    grid-column: 1 / -1;
    grid-row: 2;
    white-space: normal;
  }
  .forensics-evidence-item__meta {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}

/* ── Evidence-Kurzansicht: kompaktes vertikales Layout in Karten ── */
/* Verhindert horizontalen Überlauf bei langen Signal-/Meta-Texten. */
/* Der Drawer nutzt .forensics-drawer__evidence-list und ist nicht betroffen. */
.forensics-evidence-preview .forensics-evidence-item {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  align-items: flex-start;
  min-width: 0;
}

.forensics-evidence-preview .forensics-evidence-item__signal {
  white-space: normal;
  word-break: break-all;
  min-width: 0;
}

.forensics-evidence-preview .forensics-evidence-item__value {
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  max-width: 100%;
}

.forensics-evidence-preview .forensics-evidence-item__meta {
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
}

.forensics-evidence-preview__more {
  margin: 0.3rem 0 0;
  padding: 0;
  font-size: 9px;
  color: var(--text-muted);
  font-style: italic;
  line-height: 1.4;
}

/* ── M2-05: Evidence-Drawer ──────────────────────────────────────── */

.forensics-finding-open-drawer {
  display: inline-flex;
  align-items: center;
  appearance: none;
  -webkit-appearance: none;
  margin-top: 8px;
  padding: 5px 12px;
  font-size: 0.78rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--accent, #4a8fa8);
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  line-height: 1.4;
}

.forensics-finding-open-drawer:hover {
  background: var(--accent-dim, rgba(74, 143, 168, 0.07));
}

.forensics-finding-open-drawer:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-drawer {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  justify-content: flex-end;
}

.forensics-drawer[hidden] {
  display: none;
}

.forensics-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  cursor: pointer;
}

.forensics-drawer__panel {
  position: relative;
  z-index: 1;
  width: 520px;
  max-width: 95vw;
  height: 100%;
  background: var(--bg-surface, #ffffff);
  border-left: 1px solid var(--border-default, #c6c6c6);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.forensics-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-subtle, #e0e0e0);
  background: var(--bg-surface, #ffffff);
  flex-shrink: 0;
}

.forensics-drawer__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary, #161616);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forensics-drawer__close {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 1px solid var(--border-default, #c6c6c6);
  color: var(--text-muted, #8d8d8d);
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1;
  padding: 4px 9px;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}

.forensics-drawer__close:hover {
  background: var(--bg-hover, #e8e8e8);
  color: var(--text-primary, #161616);
}

.forensics-drawer__close:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.forensics-drawer__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.forensics-drawer__diag-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
  background: var(--bg-elevated, #f4f4f4);
  padding: 2px 8px;
  border-radius: 3px;
  border: 1px solid var(--border-subtle, #e0e0e0);
}

.forensics-drawer__desc {
  color: var(--text-secondary, #525252);
  font-size: 0.875rem;
  line-height: 1.55;
  margin: 0;
}

.forensics-drawer__section {
  border-top: 1px solid var(--border-subtle, #e0e0e0);
  padding-top: 14px;
}

.forensics-drawer__section-title {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
  margin: 0 0 8px;
}

.forensics-drawer__signal-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.forensics-drawer__signal-item {
  font-size: 0.8rem;
  color: var(--text-secondary, #525252);
  padding: 5px 10px;
  background: var(--bg-elevated, #f4f4f4);
  border-radius: 3px;
  border-left: 2px solid var(--accent-light, #d0e2ff);
  line-height: 1.4;
}

.forensics-drawer__empty-hint {
  font-size: 0.8rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 0;
  padding: 2px 0;
}

.forensics-drawer__evidence-list {
  max-height: 380px;
  overflow-y: auto;
}

.forensics-drawer__footer {
  padding: 12px 20px;
  border-top: 1px solid var(--border-subtle, #e0e0e0);
  background: var(--bg-elevated, #f4f4f4);
  flex-shrink: 0;
}

.forensics-drawer__disclaimer {
  font-size: 0.72rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 0;
  line-height: 1.45;
}

@media (max-width: 600px) {
  .forensics-drawer__panel {
    width: 100%;
    max-width: 100%;
  }
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board 2.0: Evidence Record Link (M2-07)
   Dezenter Textlink-Button in Evidence-Items des Drawers.
   ════════════════════════════════════════════════════════════════════ */

.forensics-record-link {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 10px;
  color: var(--accent, #4a8fa8);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: transparent;
  transition: color 120ms ease, text-decoration-color 120ms ease;
  white-space: nowrap;
  line-height: inherit;
}

.forensics-record-link:hover {
  color: var(--accent-hover, #2e6f8a);
  text-decoration-color: currentColor;
}

.forensics-record-link:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ── Record-Zeilen-Highlight im Records-Tab ──────────────────────── */
/* outline on <tr> is unreliable in Chrome table layout — use td rules instead */

.record-row--forensics-target td {
  background-color: var(--sev-notice-bg, rgba(59, 130, 246, 0.08)) !important;
  border-top: 1px solid var(--accent, #0043ce) !important;
  border-bottom: 1px solid var(--accent, #0043ce) !important;
  transition: background-color 300ms ease, border-color 300ms ease;
}

.record-row--forensics-target td:first-child {
  border-left: 2px solid var(--accent, #0043ce) !important;
}

/* ── M6-03: Finding-Kontext-Zeilen im Records-Tab ──────────────────── */

/* Primärrecord: kräftiger Akzentrahmen links, leicht blaue Füllung */
.record-row--context-primary td {
  background-color: rgba(0, 67, 206, 0.10) !important;
  border-top:    1px solid rgba(0, 67, 206, 0.28) !important;
  border-bottom: 1px solid rgba(0, 67, 206, 0.28) !important;
}
.record-row--context-primary td:first-child {
  border-left: 3px solid var(--accent, #0043ce) !important;
}

/* Evidence-Record: schwächerer blauer Balken */
.record-row--context-evidence td {
  background-color: rgba(0, 67, 206, 0.04) !important;
}
.record-row--context-evidence td:first-child {
  border-left: 2px solid rgba(0, 67, 206, 0.45) !important;
}

/* Kontext-Record (relatedRecord): dezent grau */
.record-row--context-related td {
  opacity: 0.82;
}
.record-row--context-related td:first-child {
  border-left: 2px solid rgba(120, 120, 120, 0.30) !important;
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board 2.0: Supporttext in Befundakte (M2-08)
   ════════════════════════════════════════════════════════════════════ */

.forensics-supporttext {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.forensics-supporttext__header {
  margin-bottom: 0;
}

.forensics-supporttext__textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--text-secondary, #525252);
  background: var(--bg-elevated, #f4f4f4);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-radius: 4px;
  padding: 10px 12px;
  resize: vertical;
  outline: none;
}

.forensics-supporttext__textarea:focus {
  border-color: var(--accent, #4a8fa8);
  box-shadow: 0 0 0 2px rgba(74, 143, 168, 0.18);
}

.forensics-supporttext__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.forensics-supporttext__copy {
  appearance: none;
  -webkit-appearance: none;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 4px;
  color: var(--text-secondary, #525252);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  padding: 5px 14px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.forensics-supporttext__copy:hover {
  background: var(--bg-hover, #e8e8e8);
  color: var(--text-primary, #161616);
  border-color: var(--accent, #4a8fa8);
}

.forensics-supporttext__copy:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-supporttext__status {
  font-size: 0.75rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  min-height: 1em;
}

@media (max-width: 600px) {
  .forensics-supporttext__textarea {
    font-size: 0.7rem;
  }
}

/* ════════════════════════════════════════════════════════════════════
   Swimlane-Tooltip (M3-08)
   position: fixed – liegt über Swimlane, unter Drawer (z-index 310)
   ════════════════════════════════════════════════════════════════════ */

.forensics-swimlane-tooltip {
  position: fixed;
  z-index: 310;
  max-width: 300px;
  min-width: 160px;
  padding: 0.45rem 0.65rem 0.5rem;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  box-shadow: 0 4px 12px rgba(0,0,0,.14), 0 1px 3px rgba(0,0,0,.08);
  font-size: 11.5px;
  line-height: 1.45;
  color: #1e293b;
  pointer-events: none;
  user-select: none;
}

.forensics-swimlane-tooltip[hidden] {
  display: none;
}

.forensics-swimlane-tooltip__title {
  font-weight: 600;
  font-size: 12px;
  color: #0f172a;
  margin-bottom: 0.3rem;
  word-break: break-word;
}

.forensics-swimlane-tooltip__meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.forensics-swimlane-tooltip__row {
  color: #475569;
  font-size: 11px;
}

.forensics-swimlane-tooltip__hint {
  margin-top: 0.35rem;
  padding-top: 0.3rem;
  border-top: 1px solid #e2e8f0;
  font-size: 10.5px;
  color: #2563eb;
  font-style: italic;
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board M4-02: Prüffragen im Befund-Drawer
   Dezente Prüfhilfe — kein Befund-Layout, keine Severity-Farben.
   ════════════════════════════════════════════════════════════════════ */

.forensics-questions__title {
  /* Inherits .forensics-drawer__section-title — no override needed */
}

.forensics-questions__intro {
  font-size: 0.77rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 0 0 10px;
  line-height: 1.45;
}

.forensics-questions__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.forensics-questions__item {
  padding: 8px 12px;
  background: var(--bg-elevated, #f4f4f4);
  border-radius: 4px;
  border-left: 2px solid var(--border-subtle, #e0e0e0);
}

.forensics-questions__category {
  display: block;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
  margin-bottom: 3px;
}

.forensics-questions__question {
  font-size: 0.8rem;
  color: var(--text-secondary, #525252);
  margin: 0;
  line-height: 1.45;
}

@media (max-width: 600px) {
  .forensics-questions__question {
    font-size: 0.75rem;
  }
}

/* ════════════════════════════════════════════════════════════════════
   Forensik-Board M4-05: Fallakten-Zusammenfassung
   Neutrale Prüfhilfe — kein Befund-Layout, keine Severity-Ampel.
   ════════════════════════════════════════════════════════════════════ */

.forensics-case-file {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin: 16px 0;
  overflow: hidden;
}

.forensics-case-file__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

.forensics-case-file__title-group {
  min-width: 0;
}

.forensics-case-file__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 2px;
  line-height: 1.3;
}

.forensics-case-file__intro {
  font-size: 0.77rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 0;
  line-height: 1.4;
}

.forensics-case-file__toggle {
  flex-shrink: 0;
  padding: 6px 12px;
  font-size: 0.77rem;
  font-weight: 500;
  color: #374151;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.4;
}

.forensics-case-file__toggle:hover {
  background: #f3f4f6;
  border-color: #9ca3af;
}

.forensics-case-file__body {
  padding: 16px 18px;
  display: grid;
  gap: 16px;
}

.forensics-case-file__body[hidden] {
  display: none;
}

.forensics-case-file__notice {
  font-size: 0.8rem;
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 4px;
  padding: 8px 12px;
  line-height: 1.5;
}

/* Metrics */

.forensics-case-file__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}

.forensics-case-file__metric {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
}

.forensics-case-file__metric-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-case-file__metric-value {
  font-size: 1rem;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.2;
}

.forensics-case-file__metric-note {
  font-size: 0.7rem;
  color: #92400e;
  font-style: italic;
}

/* DiagClass-Tabelle */

.forensics-case-file__diag-table {
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}

.forensics-case-file__diag-table-head {
  display: grid;
  grid-template-columns: 1fr 60px 120px;
  gap: 8px;
  padding: 6px 12px;
  background: #f1f5f9;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-case-file__diag-row {
  display: grid;
  grid-template-columns: 1fr 60px 120px;
  gap: 8px;
  padding: 7px 12px;
  font-size: 0.8rem;
  border-top: 1px solid #f1f5f9;
  align-items: center;
}

.forensics-case-file__diag-row--empty {
  opacity: 0.45;
}

.forensics-case-file__diag-label {
  color: #374151;
  font-weight: 500;
}

.forensics-case-file__diag-count {
  color: #374151;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.forensics-case-file__diag-sev {
  font-size: 0.72rem;
  color: #6b7280;
}

.forensics-case-file__diag-sev--critical { color: #dc2626; font-weight: 600; }
.forensics-case-file__diag-sev--warning  { color: #d97706; font-weight: 600; }
.forensics-case-file__diag-sev--notice   { color: #2563eb; }
.forensics-case-file__diag-sev--data-gap { color: #7c3aed; }
.forensics-case-file__diag-sev--info     { color: #6b7280; }

/* M9-08: Allgemeine Prüfhinweise (eingeklappt per <details>) */

.forensics-case-file__prompts {
  margin: 0;
}

.forensics-case-file__prompts-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #374151;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}

/* Default-Disclosure-Marker entfernen, eigenen Indikator nutzen */
.forensics-case-file__prompts-title::-webkit-details-marker {
  display: none;
}

.forensics-case-file__prompts-title::after {
  content: '▸';
  margin-left: 4px;
  font-size: 0.7rem;
  color: var(--text-muted, #8d8d8d);
}

.forensics-case-file__prompts[open] > .forensics-case-file__prompts-title::after {
  content: '▾';
}

.forensics-case-file__prompts[open] > .forensics-case-file__prompts-title {
  margin-bottom: 8px;
}

.forensics-case-file__prompts-hint {
  font-size: 0.78rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 0 0 10px;
  line-height: 1.45;
}

/* M9-08: Hinweis auf die manuelle Fallakte als primären Support-Copy-Flow */
.forensics-case-file__manual-hint {
  font-size: 0.8rem;
  color: #1e3a5f;
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: 4px;
  padding: 8px 12px;
  margin: 0;
  line-height: 1.5;
}

.forensics-case-file__prompts-count {
  font-weight: 400;
  color: var(--text-muted, #8d8d8d);
  font-size: 0.75rem;
}

.forensics-case-file__prompts-empty {
  font-size: 0.8rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 0;
}

.forensics-case-file__prompt-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.forensics-case-file__prompt {
  padding: 8px 12px;
  background: var(--bg-elevated, #f4f4f4);
  border-radius: 4px;
  border-left: 2px solid #cbd5e1;
}

.forensics-case-file__prompt-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.forensics-case-file__prompt-category {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-case-file__prompt-finding {
  font-size: 0.72rem;
  color: #374151;
  font-weight: 500;
}

.forensics-case-file__prompt-conf {
  font-size: 0.68rem;
  color: #6b7280;
  font-style: italic;
}

.forensics-case-file__prompt-text {
  font-size: 0.8rem;
  color: #374151;
  margin: 0;
  line-height: 1.45;
}

.forensics-case-file__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.forensics-case-file__copy {
  flex-shrink: 0;
  padding: 6px 12px;
  font-size: 0.77rem;
  font-weight: 500;
  color: #374151;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.4;
}

.forensics-case-file__copy:hover {
  background: #f3f4f6;
  border-color: #9ca3af;
}

.forensics-case-file__copy:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

@media (max-width: 600px) {
  .forensics-case-file__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .forensics-case-file__actions {
    align-self: flex-start;
  }

  .forensics-case-file__toggle {
    align-self: flex-start;
  }

  .forensics-case-file__diag-table-head,
  .forensics-case-file__diag-row {
    grid-template-columns: 1fr 40px 90px;
  }

  .forensics-case-file__metrics {
    grid-template-columns: 1fr 1fr;
  }
}

/* ════════════════════════════════════════════════════════════════════
   M6-03: Kontext-Notice und Context-Button
   M6-04: Rückweg-Button in Kontext-Notice
   ════════════════════════════════════════════════════════════════════ */

/* Persistente Kontext-Notice (kein Auto-Remove) */
.records-context-notice {
  flex-shrink: 0;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 7px 16px;
  font-size: 12px;
  color: var(--accent, #0043ce);
  background: rgba(0, 67, 206, 0.06);
  border-bottom: 1px solid rgba(0, 67, 206, 0.20);
}

/* Rückweg-Button in der Records-Kontext-Notice (M6-04) */
.records-context-return-btn {
  flex-shrink: 0;
  margin-left: auto;
  appearance: none;
  border: 1px solid var(--accent, #0043ce);
  border-radius: 4px;
  background: transparent;
  color: var(--accent, #0043ce);
  font-size: 11px;
  padding: 2px 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--t-fast, 120ms);
}

.records-context-return-btn:hover {
  background: rgba(0, 67, 206, 0.10);
}

.records-context-return-btn:focus-visible {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 2px;
}

/* Context-Button im Evidence-Drawer */
.forensics-drawer__context-action {
  margin-top: 10px;
}

.forensics-finding-context-btn {
  appearance: none;
  border: 1px solid var(--accent, #0043ce);
  border-radius: 4px;
  background: transparent;
  color: var(--accent, #0043ce);
  font-size: 12px;
  padding: 4px 10px;
  cursor: pointer;
  transition: background var(--t-fast, 120ms), color var(--t-fast, 120ms);
}

.forensics-finding-context-btn:hover {
  background: rgba(0, 67, 206, 0.08);
}

.forensics-finding-context-btn:focus-visible {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ════════════════════════════════════════════════════════════════════
   M7-03: Diagnosefragen-Fokus
   ════════════════════════════════════════════════════════════════════ */

.forensics-dq-section {
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-surface);
  margin-bottom: 1rem;
  padding: 0.75rem 0.875rem 0.625rem;
}

.forensics-dq-section__header {
  display: flex;
  align-items: baseline;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
  flex-wrap: wrap;
}

.forensics-dq-section__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-secondary);
  white-space: nowrap;
}

.forensics-dq-section__desc {
  font-size: 11px;
  color: var(--text-muted);
}

/* Card grid — 4 columns on wide, 2 on narrow */
.forensics-dq-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}

/* Base card shared by active (button) and disabled (div) */
.forensics-dq-card {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--border-subtle);
  border-radius: 5px;
  background: var(--bg-elevated, #f4f4f4);
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}

/* Button reset */
button.forensics-dq-card {
  appearance: none;
}

.forensics-dq-card:not(.forensics-dq-card--disabled):hover {
  border-color: var(--accent, #0043ce);
  background: var(--accent-dim, rgba(0,67,206,.04));
}

.forensics-dq-card:not(.forensics-dq-card--disabled):focus-visible {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 2px;
}

/* Active DQ card */
.forensics-dq-card--active {
  border-color: var(--accent, #0043ce) !important;
  background: var(--accent-dim, rgba(0,67,206,.07)) !important;
  box-shadow: 0 0 0 1px var(--accent, #0043ce);
}

/* Disabled DQ card */
.forensics-dq-card--disabled {
  cursor: default;
  opacity: 0.55;
}

.forensics-dq-card__id {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.03em;
}

.forensics-dq-card--active .forensics-dq-card__id {
  color: var(--accent, #0043ce);
}

.forensics-dq-card__label {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.35;
}

.forensics-dq-card__count {
  font-size: 11px;
  color: var(--text-secondary);
  margin-top: 1px;
}

.forensics-dq-card--active .forensics-dq-card__count {
  color: var(--accent, #0043ce);
  font-weight: 600;
}

/* "später" badge for disabled questions */
.forensics-dq-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  border-radius: 3px;
  padding: 0 5px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.forensics-dq-badge--later {
  background: var(--bg-hover, #e8e8e8);
  color: var(--text-muted);
  border: 1px solid var(--border-subtle);
}

/* Focus notice below the grid */
.forensics-dq-focus-notice {
  margin-top: 0.5rem;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  color: var(--accent, #0043ce);
  background: var(--accent-dim, rgba(0,67,206,.06));
  border: 1px solid rgba(0,67,206,0.18);
}

/* ── DQ Fokus: Finding-Karten ───────────────────────────────────── */

.forensics-finding-card--dq-match {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 1px;
}

.forensics-finding-card--dq-dimmed {
  opacity: 0.5;
}

/* When a finding is both active (drawer open) and DQ-match — keep it visible */
.forensics-finding-card--active.forensics-finding-card--dq-match {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 1px;
  opacity: 1;
}

/* Active finding that's not a DQ match — still clearly visible */
.forensics-finding-card--active.forensics-finding-card--dq-dimmed {
  opacity: 1;
  outline: 2px solid var(--sev-notice, #3b82f6);
  outline-offset: 1px;
}

/* ── DQ Fokus: Swimlane-Marker ──────────────────────────────────── */

.forensics-swimlane__item--dq-match {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 1px;
  z-index: 5;
}

.forensics-swimlane__item--dq-dimmed {
  opacity: 0.4;
}

/* Active Swimlane-Marker bleibt sichtbar auch wenn DQ ihn dimmt */
.forensics-swimlane-item--active.forensics-swimlane__item--dq-dimmed {
  opacity: 1;
}

/* M7-04: Fokus-aufheben-Button innerhalb der Focus-Notice */
.forensics-dq-clear-btn {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 1px solid currentColor;
  border-radius: 3px;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  padding: 0 6px;
  line-height: 1.6;
  vertical-align: baseline;
  opacity: 0.8;
  transition: opacity 120ms ease;
}

.forensics-dq-clear-btn:hover {
  opacity: 1;
}

.forensics-dq-clear-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ── Responsive: 2 columns on narrow viewports ──────────────────── */
@media (max-width: 640px) {
  .forensics-dq-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ════════════════════════════════════════════════════════════════════
   M8-16A: Read-only Relationship-Hinweise im Drawer
   Dezente Listendarstellung; weder Evidence noch Supporttext sollen
   visuell vom Hauptbefund verdrängt werden.
   ════════════════════════════════════════════════════════════════════ */

.forensics-relationship-hints {
  /* erbt .forensics-drawer__section (Trennlinie + padding-top) */
}

.forensics-relationship-hints__title {
  /* erbt .forensics-drawer__section-title */
}

.forensics-relationship-hints__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.forensics-relationship-hints__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 10px;
  background: var(--bg-elevated, #f4f4f4);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-left: 2px solid var(--accent-light, #d0e2ff);
  border-radius: 3px;
}

.forensics-relationship-hints__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-relationship-hints__finding {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--text-primary, #161616);
  line-height: 1.4;
}

.forensics-relationship-hints__reason {
  font-size: 0.78rem;
  color: var(--text-secondary, #525252);
  line-height: 1.45;
  margin: 0;
}

.forensics-relationship-hints__action {
  display: flex;
  justify-content: flex-start;
  margin-top: 2px;
}

.forensics-relationship-hints__open {
  appearance: none;
  -webkit-appearance: none;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 4px;
  color: var(--text-secondary, #525252);
  cursor: pointer;
  font: inherit;
  font-size: 0.74rem;
  padding: 4px 10px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.forensics-relationship-hints__open:hover {
  background: var(--accent-light, #d0e2ff);
  border-color: var(--accent, #4a8fa8);
  color: var(--accent-hover, #2e6f8a);
}

.forensics-relationship-hints__open:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-relationship-hints__more {
  font-size: 0.72rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 8px 0 0;
}

/* ════════════════════════════════════════════════════════════════════
   M8-18B: Relationship-Fallakte Copy-MVP
   Separater, bewusster Workflow.
   - Vorbereiten-Button bleibt im Hinweise-Abschnitt sichtbar
   - Vorschau-Block ist eine eigene, anf\xe4nglich versteckte Drawer-Section
   ════════════════════════════════════════════════════════════════════ */

.forensics-relationship-hints__casefile-action {
  margin-top: 10px;
  display: flex;
  justify-content: flex-start;
}

.forensics-relationship-hints__casefile-prepare {
  appearance: none;
  -webkit-appearance: none;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--accent, #4a8fa8);
  border-radius: 4px;
  color: var(--accent-hover, #2e6f8a);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 500;
  padding: 6px 12px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.forensics-relationship-hints__casefile-prepare:hover {
  background: var(--accent-light, #d0e2ff);
  border-color: var(--accent-hover, #2e6f8a);
  color: var(--accent-hover, #2e6f8a);
}

.forensics-relationship-hints__casefile-prepare:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-relationship-casefile {
  /* erbt .forensics-drawer__section (Trennlinie + padding-top) */
  /* M8-19C: optisch klar vom vorhergehenden Hinweise-Abschnitt absetzen. */
  background: var(--bg-subtle, #fafafa);
  border-radius: 4px;
  padding-left: 10px;
  padding-right: 10px;
}

.forensics-relationship-casefile[hidden] {
  display: none;
}

.forensics-relationship-casefile__title {
  /* erbt .forensics-drawer__section-title */
}

.forensics-relationship-casefile__intro {
  font-size: 0.78rem;
  color: var(--text-secondary, #525252);
  line-height: 1.45;
  margin: 0 0 10px;
}

.forensics-relationship-casefile__context {
  margin-bottom: 10px;
}

.forensics-relationship-casefile__context-title {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
  margin: 0 0 4px;
}

/* M8-19C: Auswahlhinweis erklärt knapp, was passiert und welches Limit gilt. */
.forensics-relationship-casefile__context-hint {
  font-size: 0.74rem;
  color: var(--text-secondary, #525252);
  line-height: 1.4;
  margin: 0 0 4px;
}

/* M8-19C: Live-Auswahlzähler („X von Y Kontextbefund(en) ausgewählt"). */
.forensics-relationship-casefile__counter {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-primary, #161616);
  margin: 0 0 6px;
}

.forensics-relationship-casefile__context-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.forensics-relationship-casefile__context-item {
  margin: 0;
  padding: 0;
}

.forensics-relationship-casefile__context-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--text-primary, #161616);
  cursor: pointer;
  line-height: 1.4;
  /* M8-19C: dezente Trennfläche pro Kontextbefund — klare Klickfläche. */
  padding: 4px 6px;
  border-radius: 3px;
}

.forensics-relationship-casefile__context-label:hover {
  background: var(--bg-elevated, #f4f4f4);
}

.forensics-relationship-casefile__context-checkbox {
  margin-top: 3px;
  flex-shrink: 0;
}

.forensics-relationship-casefile__context-text {
  flex: 1;
  min-width: 0;
}

/* ── M8-22B: Einschränkungen in Relationship-Fallakte Vorschau ───────
   Eigene Gruppe für R-013/R-014 unter „Einschränkungen". Visuell
   abgegrenzt vom Kontextblock (linker Strich in dezentem Grau,
   nicht alarmistisch), aber klar als Teil derselben Vorschau erkennbar.
   selectedRestrictions bleibt reiner DOM-State (Checkbox-Zustand).
   Scoped — kein globaler CSS-Leak.
   ──────────────────────────────────────────────────────────────────── */

.forensics-relationship-casefile__restrictions {
  margin-bottom: 10px;
  padding: 6px 8px;
  border-left: 2px solid var(--text-muted, #8d8d8d);
  background: var(--bg-elevated, #f4f4f4);
  border-radius: 3px;
}

.forensics-relationship-casefile__restrictions-title {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
  margin: 0 0 4px;
}

.forensics-relationship-casefile__restrictions-hint {
  font-size: 0.74rem;
  color: var(--text-secondary, #525252);
  line-height: 1.4;
  margin: 0 0 4px;
}

.forensics-relationship-casefile__restriction-counter {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-primary, #161616);
  margin: 0 0 6px;
}

.forensics-relationship-casefile__restriction-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.forensics-relationship-casefile__restriction-item {
  margin: 0;
  padding: 0;
}

.forensics-relationship-casefile__restriction-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--text-primary, #161616);
  cursor: pointer;
  line-height: 1.4;
  padding: 4px 6px;
  border-radius: 3px;
}

.forensics-relationship-casefile__restriction-label:hover {
  background: var(--bg-surface, #ffffff);
}

.forensics-relationship-casefile__restriction-checkbox {
  margin-top: 3px;
  flex-shrink: 0;
}

.forensics-relationship-casefile__restriction-text {
  flex: 1;
  min-width: 0;
}

.forensics-relationship-casefile__preview {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas,
               "Liberation Mono", "Courier New", monospace;
  font-size: 0.72rem;
  line-height: 1.5;
  color: var(--text-primary, #161616);
  background: var(--bg-elevated, #f4f4f4);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-left: 3px solid var(--accent, #4a8fa8);
  border-radius: 3px;
  padding: 10px 12px;
  margin: 0 0 10px;
  max-height: 280px;
  overflow: auto;
  /* M8-19C: lesbarere Zeilenumbrüche im Vorschau-Pre. */
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
}

.forensics-relationship-casefile__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}

.forensics-relationship-casefile__copy {
  appearance: none;
  -webkit-appearance: none;
  background: var(--accent, #4a8fa8);
  border: 1px solid var(--accent, #4a8fa8);
  border-radius: 4px;
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 500;
  padding: 6px 12px;
  transition: background 0.15s, border-color 0.15s;
}

.forensics-relationship-casefile__copy:hover {
  background: var(--accent-hover, #2e6f8a);
  border-color: var(--accent-hover, #2e6f8a);
}

.forensics-relationship-casefile__copy:focus-visible {
  outline: 2px solid var(--accent-hover, #2e6f8a);
  outline-offset: 2px;
}

.forensics-relationship-casefile__status {
  font-size: 0.74rem;
  color: var(--text-secondary, #525252);
}

/* ── M8-24F: Kontext zur Bewertung in Relationship-Fallakte Vorschau ──
   Eigene Gruppe für R-011/R-012 unter „Kontext zur Bewertung". Visuell
   neutral und klar abgegrenzt — nicht wie SUPPORTS-Erfolg (kein Accent),
   nicht wie LIMITS-Warnung (kein Restriction-Stil). selectedContexts
   bleibt reiner DOM-State. Scoped — kein globaler CSS-Leak.
   ──────────────────────────────────────────────────────────────────── */

.forensics-relationship-casefile__contexts {
  margin-bottom: 10px;
  padding: 6px 8px;
  border-left: 2px solid var(--border-default, #c6c6c6);
  background: var(--bg-surface, #ffffff);
  border-radius: 3px;
}

.forensics-relationship-casefile__contexts-title {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
  margin: 0 0 4px;
}

.forensics-relationship-casefile__context-counter {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-primary, #161616);
  margin: 0 0 6px;
}

.forensics-relationship-casefile__context-explain-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.forensics-relationship-casefile__context-explain-item {
  margin: 0;
  padding: 0;
}

.forensics-relationship-casefile__context-explain-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--text-primary, #161616);
  cursor: pointer;
  line-height: 1.4;
  padding: 4px 6px;
  border-radius: 3px;
}

.forensics-relationship-casefile__context-explain-label:hover {
  background: var(--bg-elevated, #f4f4f4);
}

.forensics-relationship-casefile__context-explain-checkbox {
  margin-top: 3px;
  flex-shrink: 0;
}

.forensics-relationship-casefile__context-explain-text {
  flex: 1;
  min-width: 0;
}

/* ════════════════════════════════════════════════════════════════════
   M8-22A: Read-only LIMITS-Hinweise im Drawer
   Eigene Sektion „Einschränkungen zur Aussagekraft" — visuell klar von
   „Zusammenhängende Befunde" getrennt, aber dezent (keine Alarmoptik).
   Scoped auf den Forensik-Drawer; kein globaler CSS-Leak.
   ════════════════════════════════════════════════════════════════════ */

.forensics-relationship-limits {
  /* erbt .forensics-drawer__section (Trennlinie + padding-top) */
}

.forensics-relationship-limits__header {
  /* erbt .forensics-drawer__section-title */
}

.forensics-relationship-limits__intro {
  font-size: 0.78rem;
  color: var(--text-secondary, #525252);
  line-height: 1.45;
  margin: 0 0 8px;
}

.forensics-relationship-limits__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.forensics-relationship-limits__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 10px;
  background: var(--bg-elevated, #f4f4f4);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-left: 2px solid var(--text-muted, #8d8d8d);
  border-radius: 3px;
}

.forensics-relationship-limits__badge {
  display: inline-block;
  align-self: flex-start;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary, #525252);
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 3px;
  padding: 2px 6px;
}

.forensics-relationship-limits__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-relationship-limits__finding {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--text-primary, #161616);
  line-height: 1.4;
}

.forensics-relationship-limits__reason {
  font-size: 0.78rem;
  color: var(--text-secondary, #525252);
  line-height: 1.45;
  margin: 0;
}

.forensics-relationship-limits__meta {
  font-size: 0.72rem;
  color: var(--text-muted, #8d8d8d);
  line-height: 1.4;
}

.forensics-relationship-limits__actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 2px;
}

.forensics-relationship-limits__open {
  appearance: none;
  -webkit-appearance: none;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 4px;
  color: var(--text-secondary, #525252);
  cursor: pointer;
  font: inherit;
  font-size: 0.74rem;
  padding: 4px 10px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.forensics-relationship-limits__open:hover {
  background: var(--accent-light, #d0e2ff);
  border-color: var(--accent, #4a8fa8);
  color: var(--accent-hover, #2e6f8a);
}

.forensics-relationship-limits__open:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

.forensics-relationship-limits__more {
  font-size: 0.72rem;
  color: var(--text-muted, #8d8d8d);
  font-style: italic;
  margin: 8px 0 0;
}

/* ════════════════════════════════════════════════════════════════════
   M8-24D: EXPLAINS_CONTEXT_FOR — read-only Sektion „Kontext zur Bewertung"
   für R-011/R-012 im MissingTrip-Drawer. Liegt fachlich zwischen
   „Zusammenhängende Befunde" (SUPPORTS) und „Einschränkungen zur
   Aussagekraft" (LIMITS). Optik bewusst neutral/ruhig: kein
   Erfolgs-Grün, kein Warn-Gelb/Rot, kein LIMITS-Look. Dezenter
   petrol-blauer Akzent passt zur bestehenden Drawer-Sprache, ohne
   Beweis- oder Alarmcharakter zu suggerieren. Scoped, kein globaler
   CSS-Eingriff. Wording-Guardrails (kein „verursacht"/„beweist") und
   Copy-Abgrenzung (keine Checkbox, kein Copy-Button) sind im UI-JS
   verankert; das CSS unterstützt diese Trennung visuell.
   ════════════════════════════════════════════════════════════════════ */

.forensics-relationship-context {
  /* erbt .forensics-drawer__section (Trennlinie + padding-top) */
}

.forensics-relationship-context__header {
  /* erbt .forensics-drawer__section-title */
}

.forensics-relationship-context__intro {
  font-size: 0.78rem;
  color: var(--text-secondary, #525252);
  line-height: 1.45;
  margin: 0 0 8px;
}

.forensics-relationship-context__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.forensics-relationship-context__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 10px;
  background: var(--bg-elevated, #f4f4f4);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-left: 2px solid var(--accent, #4a8fa8);
  border-radius: 3px;
}

.forensics-relationship-context__badge {
  display: inline-block;
  align-self: flex-start;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary, #525252);
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 3px;
  padding: 2px 6px;
}

.forensics-relationship-context__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-relationship-context__reason {
  font-size: 0.78rem;
  color: var(--text-secondary, #525252);
  line-height: 1.45;
  margin: 0;
  overflow-wrap: break-word;
  white-space: pre-wrap;
}

.forensics-relationship-context__actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 2px;
}

.forensics-relationship-context__open {
  appearance: none;
  -webkit-appearance: none;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 4px;
  color: var(--text-secondary, #525252);
  cursor: pointer;
  font: inherit;
  font-size: 0.74rem;
  padding: 4px 10px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.forensics-relationship-context__open:hover {
  background: var(--accent-light, #d0e2ff);
  border-color: var(--accent, #4a8fa8);
  color: var(--accent-hover, #2e6f8a);
}

.forensics-relationship-context__open:focus-visible {
  outline: 2px solid var(--accent, #4a8fa8);
  outline-offset: 2px;
}

/* ── M9-06: Manual Case Link — UX-/Styling-Hardening ────────────────
 *
 * Reines Styling für die manuelle Fallakte (Drawer-Abschnitt + Board-Panel).
 * Keine Engine-/Produktlogik. Eigener `manual-case-*`-Klassennamensraum für die
 * geteilten Buttons; die bestehenden `forensics-manual-case*`-BEM-Klassen und
 * der `data-manual-case-*`-Namensraum bleiben unverändert erhalten.
 * ------------------------------------------------------------------ */

/* Geteilte Aktions-Buttons (Drawer-Add/Remove + Panel-Aktionen). Maße,
 * Border-Radius und Font an die bestehenden Forensik-Buttons angeglichen
 * (vgl. .forensics-supporttext__copy / .forensics-relationship-casefile__copy). */
.manual-case-button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 4px;
  color: var(--text-secondary, #525252);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 6px 14px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.manual-case-button:hover {
  background: var(--bg-hover, #e8e8e8);
  color: var(--text-primary, #161616);
  border-color: var(--accent, #0043ce);
}

.manual-case-button:focus-visible {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 2px;
}

.manual-case-button:disabled,
.manual-case-button[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Primäraktion (Add / Kopieren): accent-outlined, füllt sich beim Hover. */
.manual-case-button.primary {
  background: var(--bg-surface, #ffffff);
  border-color: var(--accent, #0043ce);
  color: var(--accent, #0043ce);
}

.manual-case-button.primary:hover {
  background: var(--accent, #0043ce);
  border-color: var(--accent, #0043ce);
  color: #ffffff;
}

/* Sekundäraktion (Vorschau / Zurücksetzen): neutral. */
.manual-case-button.secondary {
  background: var(--bg-surface, #ffffff);
  border-color: var(--border-default, #c6c6c6);
  color: var(--text-secondary, #525252);
}

.manual-case-button.secondary:hover {
  background: var(--bg-hover, #e8e8e8);
  border-color: var(--accent, #0043ce);
  color: var(--text-primary, #161616);
}

/* Entfernen: zurückhaltend (danger-light), erst beim Hover dezent rötlich. */
.manual-case-button.danger {
  background: var(--bg-surface, #ffffff);
  border-color: var(--border-default, #c6c6c6);
  color: var(--text-secondary, #525252);
}

.manual-case-button.danger:hover {
  background: var(--sev-critical-bg, rgba(239, 68, 68, 0.08));
  border-color: var(--sev-critical, #ef4444);
  color: #b91c1c;
}

.manual-case-button.danger:focus-visible {
  outline-color: var(--sev-critical, #ef4444);
}

/* ── Drawer-Abschnitt „Manuelle Fallakte" ─────────────────────────── */
.manual-case-drawer-section {
  /* erbt .forensics-drawer__section (Trennlinie + padding-top) */
  background: var(--bg-subtle, #fafafa);
  border-radius: 4px;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 12px;
}

.manual-case-drawer-help {
  font-size: 0.76rem;
  color: var(--text-secondary, #525252);
  line-height: 1.45;
  margin: 0 0 8px;
}

/* Hilfehinweis unter den Aktionen (Verweis auf das Forensik-Panel). */
.forensics-manual-case-drawer__help.manual-case-drawer-help {
  margin: 10px 0 0;
  color: var(--text-muted, #8d8d8d);
}

.manual-case-drawer-status {
  font-size: 0.76rem;
  font-weight: 500;
  color: var(--text-secondary, #525252);
  margin: 0 0 8px;
}

.manual-case-drawer-status[data-manual-case-state="selected"] {
  color: var(--accent, #0043ce);
}

.manual-case-drawer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

/* ── Board-Panel „Manuelle Fallakte" ──────────────────────────────── */
.forensics-manual-case {
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-radius: 8px;
  margin: 16px 0;
  padding: 0 0 16px;
  overflow: hidden;
}

.forensics-manual-case__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: var(--bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--border-subtle, #e0e0e0);
}

.forensics-manual-case__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-primary, #161616);
  margin: 0;
  line-height: 1.3;
}

.forensics-manual-case__badge {
  flex-shrink: 0;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--accent, #0043ce);
  background: var(--accent-light, #d0e2ff);
  border-radius: 999px;
  padding: 3px 10px;
  white-space: nowrap;
}

.forensics-manual-case__desc {
  font-size: 0.8rem;
  color: var(--text-secondary, #525252);
  line-height: 1.5;
  margin: 14px 18px 0;
}

.forensics-manual-case__count {
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--text-primary, #161616);
  margin: 10px 18px 0;
}

.forensics-manual-case__empty,
.forensics-manual-case__guidance {
  font-size: 0.78rem;
  color: var(--text-secondary, #525252);
  line-height: 1.5;
  margin: 6px 18px 0;
}

.forensics-manual-case__empty[hidden],
.forensics-manual-case__guidance[hidden] {
  display: none;
}

.forensics-manual-case__list {
  list-style: none;
  margin: 10px 18px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.forensics-manual-case__item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  background: var(--bg-elevated, #f4f4f4);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-left: 3px solid var(--accent, #0043ce);
  border-radius: 4px;
}

.forensics-manual-case__item-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.forensics-manual-case__item-type {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-manual-case__item-title {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--text-primary, #161616);
  line-height: 1.35;
}

.forensics-manual-case__item-range,
.forensics-manual-case__item-index {
  font-size: 0.72rem;
  color: var(--text-secondary, #525252);
}

.forensics-manual-case__item-remove {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  align-self: center;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 4px;
  color: var(--text-secondary, #525252);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  padding: 4px 10px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.forensics-manual-case__item-remove:hover {
  background: var(--sev-critical-bg, rgba(239, 68, 68, 0.08));
  border-color: var(--sev-critical, #ef4444);
  color: #b91c1c;
}

.forensics-manual-case__item-remove:focus-visible {
  outline: 2px solid var(--sev-critical, #ef4444);
  outline-offset: 2px;
}

.forensics-manual-case__note-wrap {
  margin: 14px 18px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.forensics-manual-case__note-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8d8d8d);
}

.forensics-manual-case__note-hint {
  font-size: 0.73rem;
  color: var(--text-muted, #8d8d8d);
  line-height: 1.4;
  margin: 0;
}

.forensics-manual-case__note {
  font: inherit;
  font-size: 0.8rem;
  color: var(--text-primary, #161616);
  background: var(--bg-input, #ffffff);
  border: 1px solid var(--border-default, #c6c6c6);
  border-radius: 4px;
  padding: 8px 10px;
  resize: vertical;
  min-height: 60px;
}

.forensics-manual-case__note:focus-visible {
  outline: 2px solid var(--accent, #0043ce);
  outline-offset: 1px;
  border-color: var(--accent, #0043ce);
}

.forensics-manual-case__actions {
  margin: 14px 18px 0;
}

.forensics-manual-case__preview {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas,
               "Liberation Mono", "Courier New", monospace;
  font-size: 0.72rem;
  line-height: 1.5;
  color: var(--text-primary, #161616);
  background: var(--bg-elevated, #f4f4f4);
  border: 1px solid var(--border-subtle, #e0e0e0);
  border-left: 3px solid var(--accent, #0043ce);
  border-radius: 3px;
  padding: 10px 12px;
  margin: 14px 18px 0;
  max-height: 280px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
}

.forensics-manual-case__status {
  display: block;
  font-size: 0.74rem;
  color: var(--text-secondary, #525252);
  margin: 8px 18px 0;
  min-height: 1em;
}

/* ── M9-06A: Manual Case Link — Nutzbarkeit (Kartenmarker, Item-Aktionen) ──
 *
 * Reines Styling für die M9-06A-Erweiterungen: Befundkarten-Marker + Badge
 * sowie die zweite Item-Aktion ("Befund öffnen") im Panel. Keine Engine-/
 * Produktlogik, keine globalen Button-Regeln.
 * ------------------------------------------------------------------ */

/* Befundkarten-Marker: dezenter Accent-Outline (separate Eigenschaft, damit der
 * box-shadow der aktiven Karte .forensics-finding-card--active erhalten bleibt).
 * Keine aggressive Warnfarbe. */
.manual-case-card-selected {
  outline: 2px solid var(--accent-light, #d0e2ff);
  outline-offset: -2px;
}

/* Badge auf der Befundkarte ("In manueller Fallakte") — Accent-Pill, kompakter
 * als das Panel-Badge, fügt sich in den Karten-Header (flex-wrap) ein. */
.manual-case-card-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--accent, #0043ce);
  background: var(--accent-light, #d0e2ff);
  border-radius: 999px;
  padding: 2px 8px;
  line-height: 1.4;
  white-space: nowrap;
}

/* Panel-Listeneintrag: Hauptbereich wächst, Aktionen rechts gestapelt. */
.manual-case-item-main {
  flex: 1 1 auto;
  min-width: 0;
}

.manual-case-item-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
  align-items: stretch;
}

/* Kompakte Aktions-Buttons im Listeneintrag; überstimmt die Basis-Maße der
 * geteilten .manual-case-button-Klasse, hebt die align-self-Mitte des
 * Entfernen-Buttons (M9-06) auf, damit Öffnen + Entfernen gleich breit sind. */
.manual-case-item-actions .manual-case-button {
  font-size: 0.72rem;
  padding: 4px 10px;
  align-self: stretch;
}
