/* ============================================================
   ADRESSBUCH/STYLE.CSS - Seitenspezifische Styles
   ============================================================
   Nur Styles, die AUSSCHLIESSLICH auf der Adressbuch-Seite
   verwendet werden. Gemeinsam genutzte Komponenten (Toolbar,
   Buttons, Tabelle, Karten, Dialog, Tabs, Formularfelder)
   liegen in assets/components.css.
   ============================================================
   Inhalt:
   1. Reiter „Verein“ (Mitgliedschaft)
   ============================================================ */

/* 1. Reiter „Verein“ */
.ab-verein-hinweis { margin: 0 0 14px; font-size: 13px; color: var(--muted, var(--pal-grau)); }
.ab-antrag { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; font-size: 14px; }
.ab-antrag:empty { display: none; }
.ab-antrag label { display: inline-flex; align-items: center; gap: 4px; font-weight: normal; color: var(--muted, var(--pal-grau)); }
.ab-mitglied-aus { color: var(--muted, var(--pal-grau)); }
#tab-verein textarea { width: 100%; resize: vertical; font: inherit; }

/* Reiter „Verein“: Mitgliedschaft als Verknüpfung zu Verein → Mitglieder */
.ab-mg-karte { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 4px 0; }
.ab-mg-karte > .material-icons { font-size: 28px; color: var(--accent-dark); }
.ab-mg-leer > .material-icons { color: var(--ink-faint); }
.ab-mg-text { display: flex; flex-direction: column; flex: 1; min-width: 180px; font-size: 14px; }
.ab-mg-text span { color: var(--ink-soft); font-size: 13px; }

/* ---------- Spaltenbreiten der Kontaktliste (Desktop) ----------
   Kundennummer und Aktionen schmal, Kontakt und E-Mail breiter,
   Schnellzugriff in einer Zeile */
@media (min-width: 901px) {
  .table-equal-columns.table-adressbuch { min-width: 1080px; }
  .table-adressbuch th:nth-child(1) { width: 9%; white-space: nowrap; }    /* Nr. */
  .table-adressbuch th:nth-child(2) { width: 28%; }   /* Kontakt mit Anschrift */
  .table-adressbuch th:nth-child(3) { width: 12%; }   /* Mobil */
  .table-adressbuch th:nth-child(4) { width: 12%; }   /* Telefon */
  .table-adressbuch th:nth-child(5) { width: 18%; }   /* E-Mail */
  .table-adressbuch th:nth-child(6) { width: 12%; }   /* Schnellzugriff */
  .table-adressbuch th:nth-child(7) { width: 9%; }    /* Aktionen */
  .table-adressbuch .col-quickactions .table-entry-actions { flex-wrap: nowrap; gap: 6px; }
  .table-adressbuch .col-actions .table-entry-actions { flex-wrap: nowrap; justify-content: flex-end; }
  /* innen etwas enger, aber linker und rechter Rand wie bei allen Tabellen */
  .table-adressbuch :is(td, th):not(:first-child) { padding-left: 14px; }
  .table-adressbuch :is(td, th):not(:last-child) { padding-right: 14px; }
  .table-adressbuch .col-email { overflow-wrap: anywhere; }
}

/* Kategorien in den Reitern Lieferant / Land / Region – Design wie „Mitgliedsstatus“ */
.ve-st-zeile .ab-kat-desc { font-size: 13px; color: var(--ink-soft); }
.ve-st.badge-category-interessent { background: var(--pal-senf-hell); }
.ve-st.badge-category-elektriker { background: var(--pal-blau-hell); }
.ve-st.badge-category-netzbetreiber { background: var(--pal-indigo-hell); }
.ve-st.badge-category-behoerde { background: var(--pal-grau-hell, var(--neutral-100)); }
/* Kontaktart – Farben wie in Ninox */
.ab-art { font-weight: 600; }
.ab-art-kunde { background: color-mix(in srgb, #52CC74 22%, #fff); }
.ab-art-lieferant { background: color-mix(in srgb, #64C1FA 25%, #fff); }
.ab-art-subunternehmer { background: color-mix(in srgb, #FF7F66 22%, #fff); }
.ab-art-serviceunternehmen { background: color-mix(in srgb, #9485F2 22%, #fff); }
.ab-art-gesellschafter { background: color-mix(in srgb, #FADA33 35%, #fff); }
.ab-art-mitarbeiter { background: color-mix(in srgb, #0041a8 18%, #fff); }
.table-entry-title-wrap .ab-art { margin-left: 2px; }
.ab-notiz { margin: 4px 0 12px; white-space: normal; line-height: 1.5; }
@media (max-width: 600px) { .ve-st-zeile { flex-wrap: wrap; } .ve-st-zeile .ab-kat-desc { flex-basis: 100%; padding-left: 30px; } }
.category-checkbox-list.ve-st-liste { gap: 0; margin-top: 0; }

/* Kontakt-Reiter: Zwischentitel „Ansprechpartner“ (nur bei Firma/Verein/Gemeinde),
   Felder einer Zeile unten bündig, falls eine Beschriftung umbricht */
.ab-zwischentitel { margin: 4px 0 10px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 700; color: var(--ink); }
.ab-zwischentitel[hidden], #wrap-unternehmen[hidden] { display: none !important; }
#tab-kontakt .field-row { align-items: flex-end; }

/* Kontakt-Spalte wie in der Mitglieder-Tabelle: Anschrift ohne Zeilenumbruch */
.table-adressbuch .col-identity .table-entry-subtitle { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.table-adressbuch .col-identity .table-identity > div:last-child { min-width: 0; }

/* Mobil, Telefon, E-Mail: je eine Spalte, anklickbar, ohne Umbruch */
.table-adressbuch :is(.col-mobil, .col-phone, .col-email) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.table-adressbuch .ab-link { color: inherit; text-decoration: none; }
.table-adressbuch .ab-link.link-accent { color: var(--accent-dark, var(--gold-mittel)); }
.table-adressbuch .ab-link:hover { text-decoration: underline; }
@media (max-width: 900px) { .table-adressbuch .col-mobil { display: none; } }

/* Neue Angaben aus Formularen prüfen (ADRESSBUCH.Daten_Pruefen) */
.ab-pruefen { display: inline-flex; align-items: center; gap: 2px; font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 999px;
  background: var(--el-meldung-hinweis-hell, var(--pal-senf-hell)); color: var(--el-meldung-hinweis-dunkel, var(--gold-dunkel)); border: 1px solid var(--el-meldung-hinweis-mittel, var(--pal-senf-mittel)); }
.ab-pruefen i { font-size: 14px; }
.ab-pruefen-box { border-color: var(--el-meldung-hinweis-mittel, var(--pal-senf-mittel)) !important; background: var(--el-meldung-hinweis-hell, var(--pal-senf-hell)); }
.ab-pruefen-hinweis { margin: 0 0 8px; font-size: 13px; color: var(--el-meldung-hinweis-dunkel, var(--gold-dunkel)); }
.ab-pruefen-zeile { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--el-meldung-hinweis-mittel, var(--pal-senf-mittel)); }
.ab-pruefen-zeile small { display: block; font-size: 12px; color: var(--ink-soft); }
.ab-pruefen-knoepfe { display: flex; gap: 6px; flex: none; }
