/* Top 100 & Titel nachziehen (01.10.2026) */
.ca .ad-karte { margin-bottom: 16px; }
.ca-kopf { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ca-kopf h2 { margin: 0; }
.ca-zustand { font-size: .85rem; padding: 3px 10px; border-radius: 6px; background: rgba(127,127,127,.12); }
.ca-zustand.is-live { background: rgba(34,160,90,.16); color: #5ad694; font-weight: 600; }
.ca-schritte { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 14px 0 8px; counter-reset: s; }
.ca-schritte li { counter-increment: s; font-size: .82rem; padding: 4px 9px; border-radius: 6px; border: 1px solid var(--ru-line-2); opacity: .55; }
.ca-schritte li::before { content: counter(s) ". "; }
.ca-schritte li.is-fertig { opacity: 1; border-color: rgba(34,160,90,.45); }
.ca-schritte li.is-fertig::after { content: " ✓"; color: #5ad694; }
.ca-schritte li.is-jetzt { opacity: 1; border-color: var(--ru-cyan); font-weight: 600; }
.ca-schritte small { font-weight: 400; opacity: .75; }
.ca details { margin-top: 10px; }
.ca summary { cursor: pointer; font-weight: 600; }
.ca-liste, .ca-fehlt, .ca-auftraege { list-style: none; padding: 0; margin: 8px 0 0; }
.ca-liste li, .ca-fehlt li, .ca-auftraege li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--ru-line-2); }
.ca-pl { width: 2.2em; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.ca-bew { width: 2.6em; text-align: center; font-size: .75rem; font-weight: 700; }
.ca-rauf { color: #5ad694; } .ca-runter { color: #ff7b6e; } .ca-neu { color: var(--ru-cyan); } .ca-wieder { color: #f2b84b; } .ca-gleich { opacity: .6; }
.ca-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ca-t b, .ca-t small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ca-t small { opacity: .7; }
.ca-pk { font-variant-numeric: tabular-nums; opacity: .7; font-size: .85rem; }
.ca-log { max-height: 320px; overflow: auto; font-size: .78rem; white-space: pre-wrap; background: rgba(127,127,127,.08); padding: 10px; border-radius: 8px; }
.ca-link form { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 8px; }
.ca-link input { min-width: 0; }
.ca-meldung:empty { display: none; }
.ca-st { font-size: .78rem; padding: 2px 8px; border-radius: 6px; white-space: nowrap; background: rgba(127,127,127,.12); }
.ca-a-fertig .ca-st, .ca-st.ca-a-fertig { background: rgba(34,160,90,.16); color: #5ad694; }
.ca-a-fehler .ca-st, .ca-st.ca-a-fehler, .ca-a-nicht_gefunden .ca-st, .ca-st.ca-a-nicht_gefunden { background: rgba(192,57,43,.13); color: #ff7b6e; }
.ca-a-laedt .ca-st, .ca-st.ca-a-laedt, .ca-a-wartet .ca-st { background: rgba(123,92,255,.14); }
@media (max-width: 700px) {
  .ca-link form { grid-template-columns: 1fr; }
  .ca-pk { display: none; }
}

.ca-pls { grid-column: 1 / -1; border: 1px solid var(--ru-line-2); border-radius: 8px; padding: 8px 12px; margin: 4px 0 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 4px 14px; max-height: 260px; overflow: auto; }
.ca-pls legend { font-size: .85rem; padding: 0 6px; }
.ca-pls label { display: flex; align-items: center; gap: 6px; font-size: .88rem; }
.ca-pls small { opacity: .6; }
.ca-hoeren { width: 34px; height: 34px; flex: none; border-radius: 50%; border: 1px solid var(--ru-line-2); background: none; color: inherit; cursor: pointer; font-size: .8rem; }
.ca-hoeren:hover { border-color: var(--ru-cyan); color: var(--ru-cyan); }
.ca-hoeren-leer { width: 34px; flex: none; }
.ca-akt { display: flex; gap: 6px; flex: none; }
.ca-weg.is-sicher { background: rgba(192,57,43,.2); color: #ff8a7e; }
.ca-balken { display: block; height: 6px; border-radius: 3px; background: rgba(127,127,127,.18); overflow: hidden; margin: 6px 0 2px; }
.ca-balken i { display: block; height: 100%; background: var(--ru-cyan); transition: width .8s ease; }
.ca-gruppe .ca-balken { height: 8px; margin: 10px 0 6px; }
.ca-fort-text { font-size: .78rem; opacity: .75; }
.ca-a-geloescht, .ca-a-abgebrochen { opacity: .55; }
@media (max-width: 700px) {
  .ca-auftraege li { flex-wrap: wrap; }
  .ca-zeit { display: none; }
  .ca-akt { width: 100%; justify-content: flex-end; }
}
