/* Zielkunden-Werkstatt: Ergänzungen zu styles.css */
.top .wrap { display: flex; align-items: center; gap: 18px; min-height: 64px; }
.lbl { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 8px; border-radius: 8px; font-weight: 700; font-size: .9rem; font-family: var(--sans); }
.lbl.A { background: #1E7A6F; color: #fff; }
.lbl.B { background: var(--gold-soft); color: #8A6B12; border: 1px solid #EBDDB3; }
.lbl.C { background: var(--bg-2); color: var(--ink-3); }
.lbl.leer { background: transparent; color: var(--ink-3); border: 1px dashed var(--line-2); }
.lbl.big { min-width: 54px; height: 54px; font-size: 1.6rem; border-radius: 14px; }
.pipe { display: inline-flex; gap: 4px; align-items: center; }
.pipe i { width: 10px; height: 10px; border-radius: 50%; background: var(--line); display: inline-block; }
.pipe i.fertig { background: var(--teal); }
.pipe i.laeuft { background: var(--accent); animation: puls 1.2s ease-in-out infinite; }
.pipe i.fehler { background: var(--red); }
.pipe i.uebersprungen { background: transparent; border: 1px solid var(--line-2); }
@keyframes puls { 50% { opacity: .35; } }
tr.klick { cursor: pointer; }
tr.klick:hover td { background: var(--bg-2); }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
.firmenname { font-weight: 600; }
.sub { color: var(--ink-3); font-size: .84rem; }
.scorebox { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.scorebox .gesamt { font-family: var(--serif); font-size: 3rem; line-height: 1; }
.scorebox .gesamt small { font-size: 1.1rem; color: var(--ink-3); }
.teil { display: grid; grid-template-columns: repeat(3, auto); gap: 4px 18px; font-size: .92rem; }
.teil b { font-variant-numeric: tabular-nums; }
.st { display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: .76rem; font-weight: 600; white-space: nowrap; }
.st.ja, .st.belegt { background: var(--teal-soft); color: #1E7A6F; }
.st.proxy { background: var(--gold-soft); color: #8A6B12; }
.st.nein { background: var(--red-soft); color: var(--red); }
.st.unklar, .st.ohne-begruendung { background: var(--bg-2); color: var(--ink-3); }
.st.aktiv { background: var(--bg-2); color: var(--ink-2); }
.st.ausgeschlossen, .st.verworfen { background: var(--red-soft); color: var(--red); }
.st.nurture, .st.zurueckgestellt, .st.reserve { background: var(--bg-2); color: var(--ink-3); }
.st.freigegeben { background: var(--teal-soft); color: #1E7A6F; }
.st.exportiert { background: var(--navy); color: #fff; }
.modulkarte h4 { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.staerke { font-family: var(--serif); font-size: 1.6rem; }
.staerke small { font-size: .9rem; color: var(--ink-3); }
.signale { list-style: none; padding: 0; margin: 10px 0 0; }
.signale li { padding: 8px 0; border-top: 1px solid var(--line); font-size: .9rem; }
.signale .meta { color: var(--ink-3); font-size: .8rem; }
.balken { height: 8px; background: var(--bg-2); border-radius: 999px; overflow: hidden; margin: 6px 0 2px; }
.balken > span { display: block; height: 100%; background: var(--accent); }
.filter { display: flex; gap: 6px; flex-wrap: wrap; margin: 18px 0 12px; }
.filter a { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); font-size: .88rem; color: var(--ink-2); }
.filter a.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.filter a:hover { text-decoration: none; }
.aktionen { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.lauf-karte { display: block; color: inherit; }
.lauf-karte:hover { text-decoration: none; border-color: var(--line-2); }
.lauf-karte .zahlen { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 10px; font-size: .9rem; color: var(--ink-2); }
.statusleiste { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.chip2 { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); font-size: .82rem; color: var(--ink-2); }
.chip2 .d { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); }
.chip2 .d.aus { background: var(--line-2); }
.chip2 .d.warn { background: var(--gold); }
pre.json { background: var(--bg-2); padding: 12px 14px; border-radius: var(--radius-s); font-size: .8rem; overflow: auto; max-height: 420px; white-space: pre-wrap; word-break: break-word; }
.abschnitt { margin-top: 30px; }
.abschnitt > h2 { font-size: 1.5rem; }
.login { max-width: 460px; margin: 60px auto; }
.checks label { display: flex; gap: 8px; align-items: center; font-size: .93rem; color: var(--ink); margin: 6px 0; }
.checks input { width: auto; }
.kal { display: flex; gap: 18px; flex-wrap: wrap; align-items: baseline; }
.treffer { color: #1E7A6F; font-weight: 600; }
.daneben { color: var(--red); font-weight: 600; }
.ext { word-break: break-all; }
@media (max-width: 720px) { .teil { grid-template-columns: 1fr; } .hide-s { display: none; } }
