/** * Admin AI-Diagnose:Läufe, Modellvergleich und Spur * Ergänzt admin_ai_dashboard.css. Eigene Klassennamen statt .sTbl/.sTblContent — * dort blendet eine Sammelregel das zweite Kind des Containers aus. */ /* ============================================ Abschnitt „Diagnoseläufe" im Fallkasten ============================================ */ .aiLaufAbschnitt{margin:1.5rem 0}.aiLaufAbschnitt > strong{display:flex;align-items:center;gap:0.35rem;margin-bottom:0.5rem}.aiLaufMeldung{display:inline-flex;margin:0.5rem 0}.aiLaufForm{margin:0.75rem 0}.aiLaufOption{display:inline-flex;align-items:center;gap:0.35rem;margin-bottom:0.5rem;font-weight:400}/* ============================================ Lauf-Tabelle ============================================ */ .aiLaufListe{width:100%;border-collapse:collapse;font-size:0.9rem}.aiLaufListe th,
.aiLaufListe td{padding:0.5rem 0.65rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-light, #eee)}/* Die Kopfzeile steht ohne thead direkt in der Tabelle */
.aiLaufListe th{font-weight:600;white-space:nowrap;background-color:var(--color-table-background1, #ebf1f2)}.aiLaufListe tr:hover td{background-color:rgba(0, 34, 75, 0.04)}/* ============================================ Vergleich zweier Läufe ============================================ */ .aiLaufDetail{margin-top:0.5rem}.aiVergleich{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem;align-items:start;margin-top:1rem}@media (max-width:900px){.aiVergleich{grid-template-columns:1fr}}.aiVergleichSpalte{min-width:0;padding:1rem;background:#fff;border:1px solid var(--color-boxed-border, #d4dadb);border-radius:8px}.aiVergleichKopf{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;margin-bottom:0.75rem;font-weight:600}/* ============================================ Antwortkästen ============================================ */ .aiAntwort{margin:0.75rem 0;padding:0.75rem 1rem;background:var(--bg-light, #f8fafc);border-left:4px solid var(--hgk-blue, #003366);border-radius:8px}.aiAntwortKopf{display:flex;align-items:center;gap:0.35rem;margin-bottom:0.35rem;font-weight:600;color:var(--text-muted, #666)}.aiAntwortText{line-height:1.55;white-space:pre-line;word-break:break-word}/* Die Antwort aus dem Protokoll zum Vergleich, optisch zurückgenommen */
.aiAntwortOriginal{border-left-color:var(--text-muted, #888)}/* Die Antwort des Laufs — das Ergebnis, auf das es ankommt */
.aiAntwortNeu{border-left-color:var(--hgk-blue, #003366);background:#f0f8ff}/* ============================================ Spur eines Laufs ============================================ */ .aiSpur{margin-top:1rem;font-size:0.9rem}.aiSpurKopf{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:0.75rem}.aiSpurHinweis{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;padding:0.5rem 0.75rem;background:#fdecea;color:#8a1c1c;border-radius:8px}.aiSpurSchritt{padding:0.5rem 0;border-bottom:1px solid var(--border-light, #eee)}.aiSpurSchritt:last-child{border-bottom:none}.aiSpurKopfzeile{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.5rem}.aiSpurZeit{min-width:5rem;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted, #888)}.aiSpurArt{white-space:nowrap}.aiSpurZusammenfassung{flex:1;min-width:0;word-break:break-word}.aiSpurDetails{margin:0.5rem 0 0 5.5rem;max-height:26rem;overflow:auto;padding:0.5rem 0.75rem;background:var(--bg-code, #f5f5f5);border:1px solid var(--border-light, #eee);border-radius:6px}.aiSpurDetails > summary{cursor:pointer;user-select:none;font-weight:600}@media (max-width:768px){.aiSpurDetails{margin-left:0}}.aiSpurBlock{margin-top:0.5rem}.aiSpurText{margin-top:0.25rem;white-space:pre-wrap;word-break:break-word}.aiSpurJson{margin:0.25rem 0 0 0;padding:0.5rem;background:#fff;border:1px solid var(--border-light, #eee);border-radius:4px;font-size:0.8rem;white-space:pre-wrap;word-break:break-word}.aiSpurGekuerzt{font-size:0.8rem;color:#8a1c1c}.aiSpurNachricht{margin-top:0.5rem;padding-left:0.5rem;border-left:3px solid var(--border-light, #ddd)}/* ============================================ Trefferliste in der Spur ============================================ */ .aiSpurTreffer{width:100%;border-collapse:collapse;margin-top:0.25rem;font-size:0.8rem}.aiSpurTreffer th,
.aiSpurTreffer td{padding:0.35rem 0.5rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-light, #eee)}.aiSpurTreffer thead th{white-space:nowrap;background-color:var(--color-table-background1, #ebf1f2)}.aiSpurTreffer .aiSpurTrefferText{min-width:14rem;word-break:break-word}/* Vom Rollen-/Bereichsfilter entfernte Treffer */
.aiSpurTreffer .aiSpurVerworfen td{color:var(--text-muted, #888);background-color:rgba(0, 0, 0, 0.02)}