/* CRM: Antworten auf Angebote und Nachfassen (seit 0.12, Paket C). Nur Variablen aus app.css, hell und dunkel. */
[data-ca-angebot]:empty { display: none; }
.ca-karte { margin-bottom: 18px; overflow: hidden; }
.ca-zeile { display: flex; align-items: center; gap: 14px; padding: 14px 18px; flex-wrap: wrap; }
.ca-zeile + .ca-zeile { border-top: 1px solid var(--line); }
.ca-zeile .grow { flex: 1; min-width: 220px; display: grid; gap: 2px; }
.ca-zeile .grow strong { font-weight: 600; }
.ca-ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: var(--surface-2); color: var(--ink-3); }
.ca-knoepfe { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; flex: none; }
.ca-zeile.neu { background: var(--info-tint); }
.ca-zeile.neu .ca-ico { background: var(--surface); color: var(--info); }
.ca-zeile.faellig { background: var(--copper-tint); }
.ca-zeile.faellig .ca-ico { background: var(--surface); color: var(--copper-dark); }
.ca-zeile.warn { background: var(--warn-tint); }
.ca-zeile.warn .ca-ico { background: var(--surface); color: var(--warn); }
.ca-zeile.ruhig .ca-ico { color: var(--ink-3); }
.ca-zeile .small { font-size: 13px; }
.ca-zeile .muted { color: var(--ink-3); }

/* „Vom Kunden angefragt“ am Angebot */
.ca-angefragt { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 18px; border-top: 1px solid var(--line); cursor: pointer; }
.ca-angefragt input { margin-top: 3px; accent-color: var(--copper); flex: none; }
.ca-angefragt > span { display: grid; gap: 2px; font-weight: 500; }
.ca-angefragt small { font-weight: 400; font-size: 12.5px; line-height: 1.45; }

/* Liste „Nachfassen“ über den Angeboten */
.ca-nachfassen { margin-bottom: 18px; }
.ca-nachfassen .card-head { flex-wrap: wrap; }
.ca-nachfassen .card-head .grow { flex: 1; min-width: 180px; display: grid; gap: 2px; }
.ca-nachfassen .card-head .grow small { color: var(--ink-3); font-size: 12.5px; }
.ca-nf-zeile { flex-wrap: wrap; align-items: flex-start; }
.list .ca-nf-zeile .t { white-space: normal; }
.ca-nf-zeile .t a { color: inherit; text-decoration: none; }
.ca-nf-zeile .t a:hover { text-decoration: underline; }
.ca-nf-zeile .m .ico { display: inline-block; vertical-align: -2px; }
.ca-nf-zeile .m.small { font-size: 12.5px; }
.ca-mehr summary { display: flex; align-items: center; gap: 10px; padding: 12px 18px; cursor: pointer; list-style: none; }
.ca-mehr summary::-webkit-details-marker { display: none; }
.ca-mehr summary::after { content: '›'; margin-left: auto; color: var(--ink-3); transition: transform .15s; }
.ca-mehr[open] summary::after { transform: rotate(90deg); }
.ca-mehr[open] summary { border-bottom: 1px solid var(--line); }

/* Übersicht: Antworten auf Angebote */
.ca-antworten .list li, .ca-ruecklaeufer .list li { cursor: pointer; }
.ca-ruecklaeufer .list .m, .ca-ruecklaeufer .list .m span { white-space: normal; }
.ca-ruecklaeufer .list li > .ico { flex: none; color: var(--warn); }
.ca-antworten .ca-neu-punkt { width: 9px; height: 9px; border-radius: 50%; background: var(--info); flex: none; }

/* Zeilen in der Angebotsliste */
.ca-antwort-t { color: var(--info); font-weight: 500; }
.ca-antwort-t.erledigt { color: var(--ink-3); font-weight: 400; }

/* Einstellungen */
.ca-einst .ca-ausschluesse { margin: 4px 0 0; padding-left: 20px; color: var(--ink-2); font-size: 13.5px; }
.ca-einst .ca-ausschluesse li + li { margin-top: 2px; }
/* CRM-Einstellungen, E-Rechnung: Hinweis nur bei „Nur PDF“ (Korrektur 0.12) */
.ca-pdf-hinweis { display: none; }
label:has(select[name="eRechnung"] option[value="pdf"]:checked) .ca-pdf-hinweis { display: block; color: var(--ink-2); }

/* Einrichtung: Schritt „Rechnungen und Angebote“ (Karten wie die übrigen Schritte: ef-karte aus einrichtung.css) */
.ca-schritt { display: grid; gap: 16px; }
.ca-schritt .card { margin: 0; }
.ca-schritt [data-vorschau] { white-space: nowrap; }
.ca-wahl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ca-wahl-karte { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--surface); cursor: pointer; }
.ca-wahl-karte .grow { display: grid; gap: 3px; }
.ca-wahl-karte small { color: var(--ink-2); font-size: 12.5px; line-height: 1.45; }
.ca-wahl-karte input { margin-top: 3px; accent-color: var(--copper); }
.ca-wahl-karte:has(input:checked) { border-color: var(--copper); background: var(--copper-tint); }
.ca-wahl-karte:focus-within { outline: 2px solid var(--copper); outline-offset: 2px; }

/* CRM-Übersicht am Handy: Spalten dürfen schmaler als ihr längster Text werden (Korrektur 0.12, N17: „Meine Wiedervorlagen“
   war 17 px zu breit, weil 1fr nicht unter die Mindestbreite des Inhalts geht) */
.app-crm .zwei-spalten > * { min-width: 0; }

@media (max-width: 700px) {
  .app-crm .crm-wv .t { white-space: normal; overflow-wrap: anywhere; }
  .ca-wahl { grid-template-columns: 1fr; }
  .ca-zeile { padding: 12px 14px; }
  .ca-knoepfe { width: 100%; justify-content: flex-start; }
  .ca-knoepfe .btn { flex: 1 1 auto; }
}
:root[data-theme="dark"] .ca-zeile.faellig .ca-ico, :root[data-theme="dark"] .ca-zeile.faellig strong { color: var(--copper-light); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ca-zeile.faellig .ca-ico, :root:not([data-theme="light"]) .ca-zeile.faellig strong { color: var(--copper-light); } }
