.af-kontakte-dialog { width: min(980px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); box-sizing: border-box; overflow: auto; padding: 22px; color: #1f2328; background: #fff; border: 1px solid #ded7d7; border-radius: 14px; box-shadow: 0 20px 80px #0004; }
.af-kontakte-dialog::backdrop { background: #20191b80; }
.af-kontakte-kopf { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.af-kontakte-kopf h2 { margin: 0; font-size: 21px; }
.af-kontakte-kopf p { margin: 5px 0 0; color: #665c5f; }
.af-kontakte-einleitung, .af-kontakte-hinweis { line-height: 1.5; }
.af-kontakte-werkzeuge, .af-kontakte-suche { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.af-kontakte-suche { margin-top: 10px; }
.af-kontakte-suche[hidden], .af-kontakte-fehler[hidden] { display: none; }
.af-kontakte-suche input { flex: 1 1 240px; min-width: 0; padding: 9px 11px; border: 1px solid #bfb6b9; border-radius: 7px; font: inherit; }
.af-kontakte-status, .af-kontakte-quelle { color: #665c5f; font-size: 12px; }
.af-kontakte-fehler, .af-kontakte-warnung { padding: 10px 12px; border-radius: 7px; line-height: 1.5; }
.af-kontakte-fehler { color: #8b211c; background: #fde9e7; }
.af-kontakte-warnung { color: #784e05; background: #fff2d6; }
.af-kontakte-liste { display: grid; gap: 12px; }
.af-kontakte-kandidat { border: 1px solid #ded7d7; border-radius: 10px; overflow: hidden; }
.af-kontakte-kandidat summary { cursor: pointer; padding: 13px 15px; background: #faf8f8; }
.af-kontakte-name { font-weight: 700; }
.af-kontakte-pruefen { display: inline-block; margin-left: 10px; padding: 2px 8px; border-radius: 20px; background: #fff0cb; color: #784e05; font-size: 12px; }
.af-kontakte-kurz { display: block; margin-top: 5px; color: #665c5f; font-size: 12px; }
.af-kontakte-inhalt { padding: 0 15px 15px; }
.af-kontakte-tabelle { overflow-x: auto; }
.af-kontakte-vergleich { width: 100%; border-collapse: collapse; font-size: 13px; }
.af-kontakte-vergleich caption { text-align: left; font-weight: 600; padding: 5px 0 8px; }
.af-kontakte-vergleich th, .af-kontakte-vergleich td { text-align: left; vertical-align: top; padding: 9px 10px; border-bottom: 1px solid #e9e3e5; overflow-wrap: anywhere; }
.af-kontakte-vergleich thead { background: #f6f3f4; }
.af-kontakte-vergleich tbody th { white-space: nowrap; }
.af-kontakte-neu td:last-child { color: #22683c; font-weight: 600; }
.af-kontakte-abweichend td:last-child { color: #87570b; font-weight: 600; }
.af-kontakte-dialog button:disabled { cursor: wait; opacity: .55; }
@media (max-width: 600px) { .af-kontakte-dialog { padding: 15px; width: calc(100vw - 16px); max-height: calc(100dvh - 24px); } .af-kontakte-kopf h2 { font-size: 18px; } .af-kontakte-vergleich { min-width: 580px; } .af-kontakte-inhalt > .af-knopf { width: 100%; line-height: 1.4; } }

.af-kontakte-auto { margin: 0 0 10px; border: 1px solid #ded7d7; border-radius: 8px; background: #faf8f8; }
.af-kontakte-auto > .af-kontakte-auto-kopf { display: flex; align-items: center; gap: 7px 10px; padding: 7px 10px; cursor: pointer; list-style: none; font-size: 13px; line-height: 1.4; }
.af-kontakte-auto > .af-kontakte-auto-kopf::-webkit-details-marker { display: none; }
.af-kontakte-auto > .af-kontakte-auto-kopf::before { content: '▸'; flex: 0 0 auto; color: #6b7079; }
.af-kontakte-auto[open] > .af-kontakte-auto-kopf::before { content: '▾'; }
.af-kontakte-auto > .af-kontakte-auto-kopf > b { flex: 0 0 auto; }
.af-kontakte-auto > .af-kontakte-auto-kopf:focus-visible { outline: 2px solid #8e0038; outline-offset: 2px; border-radius: 8px; }
.af-kontakte-auto-zahlen { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 2px 10px; margin-left: auto; color: #665c5f; font-size: 12px; }
.af-kontakte-auto-zahlen .pruefen { color: #784e05; font-weight: 600; }
.af-kontakte-auto-zahlen .fehler { color: #8b211c; font-weight: 700; }
.af-kontakte-auto-inhalt { padding: 0 12px 12px; border-top: 1px solid #e9e3e5; }
.af-kontakte-auto p { margin: 8px 0; }
.af-kontakte-auto-inhalt > button { margin: 10px 8px 0 0; }
.af-kontakte-ergebnisse > summary { cursor: pointer; margin-top: 10px; }
@media (max-width: 600px) { .af-kontakte-auto > .af-kontakte-auto-kopf { flex-wrap: wrap; } .af-kontakte-auto-zahlen { flex-basis: 100%; justify-content: flex-start; margin-left: 18px; } }
.af-kontakte-ergebnis { padding: 10px 0; border-bottom: 1px solid #e9e3e5; }
.af-kontakte-job { margin: 8px 0; padding: 10px 12px; border-left: 3px solid #8b8285; background: #f3f1f2; line-height: 1.5; }
.af-kontakte-job.fertig { border-color: #22683c; background: #edf7ef; }
.af-kontakte-job.pruefen { border-color: #b7831a; background: #fff5de; }


