/* akquise.css — Akquise-Liste Neukunden (Surface 'akquise').
   Hero, Cards, Tabellen, Badges, Buttons kommen aus template.css / dashboard.css.
   Hier nur surface-eigene Bausteine, ausschliesslich Tokens aus tokens.css. */

.ak-page > .dash-hero-quiet { margin-bottom: var(--sp-lg); }
.ak-page .dash-sub { max-width: 52rem; }
.ak-page .dash-section + .dash-section { margin-top: var(--sp-xl); padding-top: 0; border-top: 0; }

/* ── Kennzahlen ──────────────────────────────────────────────────────────── */
.ak-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: var(--sp-3);
  margin: 0 0 var(--sp-lg);
}
.ak-stat {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--bdr-def);
  border-radius: var(--r-md);
  background: var(--bg-surface);
  min-width: 0;
}
.ak-stat-l { font-size: var(--t-sm); color: var(--tx-2); }
.ak-stat-v { font-size: var(--t-lg); font-weight: 600; color: var(--tx-0); }
.ak-stat-s { font-size: var(--t-xs); color: var(--tx-2); }

/* ── Automatik ein/aus ───────────────────────────────────────────────────── */
.ak-auto {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  margin: 0 0 var(--sp-4);
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--bdr-def);
  border-radius: var(--r-md);
  background: var(--bg-surface);
}
.ak-auto--aus { background: var(--bg-el); }
.ak-auto-text { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2); min-width: 0; }
.ak-auto-t { font-weight: 600; color: var(--tx-0); }
.ak-auto .ak-meta { overflow-wrap: anywhere; }

/* ── Werkzeugleiste ──────────────────────────────────────────────────────── */
.ak-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin: 0 0 var(--sp-4);
}
.ak-input,
.ak-field input,
.ak-field select {
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--bdr-def);
  border-radius: var(--r-sm);
  background: var(--bg-surface);
  color: var(--tx-0);
  font: inherit;
  font-size: var(--t-sm);
  min-width: 0;
}
.ak-input:focus,
.ak-field input:focus,
.ak-field select:focus { outline: 0.125rem solid var(--bdr-str); outline-offset: 1px; }
.ak-suche { flex: 1 1 16rem; }
.ak-grow { flex: 1 1 16rem; }

/* ── Liste ───────────────────────────────────────────────────────────────── */
.ak-kopf,
.ak-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 7rem 3.5rem 4.5rem 12rem;
  gap: var(--sp-3);
  align-items: center;
}
.ak-kopf {
  padding: 0 var(--sp-4) var(--sp-2);
  font-size: var(--t-xs);
  color: var(--tx-2);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ak-r, .ak-tbl th.ak-r, .ak-tbl td.ak-r { text-align: right; }
.ak-card {
  margin: 0 0 var(--sp-2);
  padding: 0;
  overflow: hidden;
}
.ak-row {
  width: 100%;
  padding: var(--sp-3) var(--sp-4);
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: var(--tx-0);
}
.ak-row:hover { background: var(--bg-el); }
.ak-row:focus-visible { outline: 0.125rem solid var(--bdr-str); outline-offset: -0.125rem; }
.ak-card--open .ak-row { border-bottom: 1px solid var(--bdr-def); background: var(--bg-el); }
.ak-firma { display: flex; flex-direction: column; gap: var(--sp-1); min-width: 0; }
.ak-name {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ak-meta {
  color: var(--tx-2);
  font-size: var(--t-sm);
  overflow: hidden;
  text-overflow: ellipsis;
}
.ak-firma .ak-meta { white-space: nowrap; }
.ak-cell { font-size: var(--t-sm); color: var(--tx-1); min-width: 0; }
.ak-cell-num { text-align: right; }
.ak-cell-l { display: none; }
.ak-cell-status { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
.ak-num { }
.ak-cell-num strong { font-size: var(--t-base); color: var(--tx-0); }

/* ── Steckbrief ──────────────────────────────────────────────────────────── */
.ak-detail {
  padding: var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.ak-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--sp-lg);
  align-items: start;
}
.ak-col { display: flex; flex-direction: column; gap: var(--sp-lg); min-width: 0; }
.ak-block { min-width: 0; }
.ak-block-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-3);
  margin: 0 0 var(--sp-2);
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid var(--bdr-faint);
}
.ak-block-t {
  margin: 0;
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--tx-0);
  text-transform: none;
  letter-spacing: 0;
}
.ak-sub-t {
  margin: var(--sp-3) 0 var(--sp-2);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--tx-1);
}
.ak-text {
  margin: 0 0 var(--sp-2);
  color: var(--tx-1);
  font-size: var(--t-sm);
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.ak-text strong { color: var(--tx-0); font-weight: 600; }
.ak-fein { margin: var(--sp-1) 0 0; color: var(--tx-2); font-size: var(--t-xs); line-height: 1.5; overflow-wrap: anywhere; }
.ak-leer { margin: 0; color: var(--tx-2); font-size: var(--t-sm); }
.ak-dim { opacity: 0.6; }
.ak-link { color: var(--tx-1); text-decoration: underline; text-underline-offset: 0.125rem; overflow-wrap: anywhere; }
.ak-link:hover { color: var(--tx-0); }

.ak-hinweis {
  margin: 0;
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--bdr-def);
  border-left-width: 0.1875rem;
  border-radius: var(--r-md);
  background: var(--bg-surface);
  color: var(--tx-0);
  font-size: var(--t-sm);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.ak-hinweis--er { border-color: var(--er-bd); background: var(--er-bg); }
.ak-hinweis ul { margin: var(--sp-1) 0 0; padding-left: var(--sp-lg); }

.ak-fragen { margin: 0; padding-left: var(--sp-lg); color: var(--tx-1); font-size: var(--t-sm); line-height: 1.6; }

.ak-dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: var(--sp-1) var(--sp-3);
  margin: 0;
  font-size: var(--t-sm);
}
.ak-dl dt { color: var(--tx-2); }
.ak-dl dd { margin: 0; color: var(--tx-0); overflow-wrap: anywhere; }

/* Scores */
.ak-scores {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3);
}
.ak-score {
  padding: var(--sp-3);
  border: 1px solid var(--bdr-def);
  border-radius: var(--r-md);
  min-width: 0;
}
.ak-score-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
  font-size: var(--t-sm);
  color: var(--tx-1);
}
.ak-score-head strong { font-size: var(--t-xl); color: var(--tx-0); font-weight: 600; }
.ak-score-list { list-style: none; margin: 0; padding: 0; font-size: var(--t-xs); }
.ak-score-list li {
  display: flex;
  justify-content: space-between;
  gap: var(--sp-2);
  padding: var(--sp-1) 0;
  border-top: 1px solid var(--bdr-faint);
  color: var(--tx-1);
}

/* Pruefliste (Gates, Datenqualitaet, Kanaele, Geschaeftsfuehrung) */
.ak-checks { list-style: none; margin: var(--sp-3) 0 0; padding: 0; }
.ak-checks li {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: var(--sp-1) var(--sp-3);
  align-items: baseline;
  padding: var(--sp-2) 0;
  border-top: 1px solid var(--bdr-faint);
  font-size: var(--t-sm);
}
.ak-checks li:first-child { border-top: 0; }
.ak-checks .badge { justify-self: start; white-space: nowrap; }
.ak-check-t { color: var(--tx-0); font-weight: 500; overflow-wrap: anywhere; }
.ak-check-g { grid-column: 2; color: var(--tx-2); font-size: var(--t-xs); line-height: 1.5; overflow-wrap: anywhere; }
.ak-ew { display: block; margin-top: var(--sp-1); color: var(--tx-1); }

/* Signale und Belege */
.ak-signale,
.ak-belege { list-style: none; margin: 0; padding: 0; }
.ak-belege { margin-top: var(--sp-3); }
.ak-signale li,
.ak-belege li {
  padding: var(--sp-2) 0 var(--sp-3);
  border-top: 1px solid var(--bdr-faint);
}
.ak-signale li:first-child,
.ak-belege li:first-child { border-top: 0; }
.ak-signal-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-2);
  margin-bottom: var(--sp-1);
}
.ak-signal-t { font-weight: 600; font-size: var(--t-sm); color: var(--tx-0); }
.ak-signale .ak-text { margin-bottom: var(--sp-1); }
.ak-signale .ak-link { font-size: var(--t-xs); }
.ak-zitat {
  margin: var(--sp-1) 0;
  padding: var(--sp-1) 0 var(--sp-1) var(--sp-3);
  border-left: 0.125rem solid var(--bdr-str);
  color: var(--tx-1);
  font-size: var(--t-sm);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

/* ── Aktionen ────────────────────────────────────────────────────────────── */
.ak-aktionen {
  border: 1px solid var(--bdr-def);
  border-radius: var(--r-md);
  background: var(--bg-el);
}
.ak-aktionen-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-3);
  border-bottom: 1px solid var(--bdr-def);
}
.ak-tabs { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
.ak-tab {
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  background: none;
  color: var(--tx-1);
  font: inherit;
  font-size: var(--t-sm);
  cursor: pointer;
}
.ak-tab:hover { color: var(--tx-0); background: var(--bg-surface); }
.ak-tab--on { color: var(--tx-0); font-weight: 600; background: var(--bg-surface); border-color: var(--bdr-def); }
.ak-form {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4) var(--sp-4);
}
.ak-form .ak-checks { margin-top: 0; }
.ak-form-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  align-items: flex-end;
}
.ak-form-checks { flex-direction: column; align-items: flex-start; gap: var(--sp-2); }
.ak-field {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  flex: 0 1 13rem;
  min-width: 0;
}
.ak-field-wide { flex: 1 1 18rem; }
.ak-field span { font-size: var(--t-xs); color: var(--tx-2); }
.ak-check {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  font-size: var(--t-sm);
  color: var(--tx-1);
  cursor: pointer;
  line-height: 1.45;
}
.ak-check input { margin: var(--sp-1) 0 0; flex: 0 0 auto; }
.ak-form-lauf {
  margin-top: var(--sp-3);
  padding: var(--sp-4);
  border: 1px solid var(--bdr-def);
  border-radius: var(--r-md);
  background: var(--bg-el);
}

/* ── Laeufe ──────────────────────────────────────────────────────────────── */
.ak-tbl-wrap { padding: 0; overflow-x: auto; }
.ak-tbl { width: 100%; }
.ak-tbl td, .ak-tbl th { white-space: nowrap; }
.ak-klick { cursor: pointer; }
.ak-klick:hover td { background: var(--bg-el); }
.ak-prot-row td { background: var(--bg-el); white-space: normal; }
.ak-prot { list-style: none; margin: 0; padding: 0; font-size: var(--t-sm); }
.ak-prot li { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-3); padding: var(--sp-1) 0; }
.ak-prot li > span:first-child { color: var(--tx-0); font-weight: 500; min-width: 12rem; }

.ak-leer-card { padding: var(--sp-xl) var(--sp-4); text-align: center; color: var(--tx-2); }
.ak-fehler-card {
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--er-bd);
  background: var(--er-bg);
  color: var(--tx-1);
}

/* ── Schmale Bildschirme ─────────────────────────────────────────────────── */
@media (max-width: 68.75em) {
  .ak-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 56em) {
  .ak-kopf { display: none; }
  .ak-row {
    grid-template-columns: repeat(3, minmax(0, auto)) minmax(0, 1fr);
    gap: var(--sp-2) var(--sp-4);
    align-items: end;
  }
  .ak-firma { grid-column: 1 / -1; }
  .ak-cell-l { display: block; font-size: var(--t-xs); color: var(--tx-2); }
  .ak-cell-num { text-align: left; }
  .ak-cell-status { justify-content: flex-end; }
  .ak-detail { padding: var(--sp-3); }
  .ak-checks li { grid-template-columns: auto minmax(0, 1fr); }
  .ak-input, .ak-field input, .ak-field select { font-size: 1rem; }
  .ak-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ak-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ak-toolbar .ak-input { flex: 1 1 100%; }
  .ak-name, .ak-firma .ak-meta { white-space: normal; }
  .ak-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .ak-tab { text-align: center; }
  .ak-scores { grid-template-columns: minmax(0, 1fr); }
  .ak-form { padding: var(--sp-3); }
  .ak-field { flex: 1 1 100%; }
  .ak-form-row .btn { flex: 1 1 auto; justify-content: center; }
  .ak-aktionen-head .btn, .ak-auto .btn { width: 100%; justify-content: center; }
  /* Laeufe-Tabelle als gestapelte Zeilen */
  .ak-tbl thead { display: none; }
  .ak-tbl, .ak-tbl tbody { display: block; }
  .ak-tbl tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-2) var(--sp-3);
    padding: var(--sp-3);
    border-bottom: 1px solid var(--bdr-faint);
  }
  .ak-tbl tr td { display: block; padding: 0; border: 0; white-space: normal; text-align: left; }
  .ak-tbl td[data-l]::before {
    content: attr(data-l);
    display: block;
    font-size: var(--t-xs);
    color: var(--tx-2);
    margin-bottom: var(--sp-1);
  }
  .ak-tbl tr.ak-prot-row { display: block; }
  .ak-tbl tr td.ak-r { text-align: left; }
  .ak-prot li > span:first-child { min-width: 0; }
  .ak-tbl .ak-klick:hover td, .ak-tbl .ak-prot-row td { background: none; }
  .ak-tbl .ak-klick:hover, .ak-tbl .ak-prot-row { background: var(--bg-el); }
}
