/* Level Marketing – Akquise-Tool. Farben wie in der Quick-Win-PDF
   (Akquise/vorlagen/style.css): Markenblau #467FF7, Poppins. */
:root {
  --lm-blau: #467FF7;
  --lm-blau-dunkel: #2F5FCC;
  --lm-blau-hell: #EEF3FE;
  --lm-tinte: #111827;
  --lm-text: #374151;
  --lm-grau: #6B7280;
  --lm-linie: #E5E7EB;
  --navbar-height: 64px;
  --bs-primary: #467FF7;
  --bs-primary-rgb: 70, 127, 247;
  --bs-link-color: #2F5FCC;
  --bs-link-color-rgb: 47, 95, 204;
  --bs-link-hover-color: #1E4396;
  --bs-body-font-family: "Poppins", "Helvetica Neue", Arial, sans-serif;
  --bs-body-color: #374151;
}
body { background: #F5F7FB; margin: 0; font-size: .92rem; }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 { color: var(--lm-tinte); font-weight: 600; }

.lm-navbar {
  background: #fff; border-bottom: 3px solid var(--lm-blau);
  position: sticky; top: 0; z-index: 1030; min-height: var(--navbar-height);
}
.lm-logo { height: 34px; width: auto; }
.lm-brand-label {
  font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--lm-blau-dunkel); background: var(--lm-blau-hell); border-radius: 99px; padding: .2rem .7rem;
}
.lm-rahmen { min-height: calc(100vh - var(--navbar-height)); }
.lm-sidebar {
  width: 240px; flex-shrink: 0; background: #fff; border-right: 1px solid var(--lm-linie);
  position: sticky; top: var(--navbar-height); align-self: flex-start;
  height: calc(100vh - var(--navbar-height)); overflow-y: auto;
}
.lm-sidebar .sidebar-section-label {
  font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  color: var(--lm-grau); padding: 0 .25rem; margin-bottom: .4rem;
}
.lm-sidebar .nav-link { color: var(--lm-text); border-radius: .5rem; padding: .5rem .65rem; font-size: .9rem; }
.lm-sidebar .nav-link:hover, .lm-sidebar .nav-link.active { background: var(--lm-blau-hell); color: var(--lm-blau-dunkel); }
.lm-main { flex-grow: 1; min-width: 0; padding: 1.5rem 2rem 3rem; }
@media (max-width: 767px) {
  .lm-sidebar { display: none; }
  .lm-main { padding: 1rem; }
}

.card { border: 1px solid var(--lm-linie); box-shadow: 0 1px 3px rgba(17,24,39,.05); border-radius: .75rem; }
.card-header { background: #fff; font-weight: 600; border-bottom: 1px solid var(--lm-linie); }
.card-header:first-child { border-radius: .75rem .75rem 0 0; }
.table th { font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--lm-grau); }
.table > :not(caption) > * > * { padding: .7rem .75rem; }
.table-hover tbody tr[data-href] { cursor: pointer; }

.btn-primary { --bs-btn-bg: #467FF7; --bs-btn-border-color: #467FF7; --bs-btn-hover-bg: #2F5FCC;
  --bs-btn-hover-border-color: #2F5FCC; --bs-btn-active-bg: #2F5FCC; --bs-btn-active-border-color: #2F5FCC;
  --bs-btn-disabled-bg: #467FF7; --bs-btn-disabled-border-color: #467FF7; }
.btn-outline-primary { --bs-btn-color: #2F5FCC; --bs-btn-border-color: #467FF7; --bs-btn-hover-bg: #467FF7;
  --bs-btn-hover-border-color: #467FF7; --bs-btn-active-bg: #2F5FCC; }
.text-bg-primary { background-color: #467FF7 !important; }
.form-control:focus, .form-select:focus { border-color: #9DB9FB; box-shadow: 0 0 0 .2rem rgba(70,127,247,.2); }
.form-check-input:checked { background-color: #467FF7; border-color: #467FF7; }

/* Kennzahl-Kacheln auf der Übersicht */
.kachel { padding: 1rem 1.25rem; }
.kachel .zahl { font-size: 1.9rem; font-weight: 600; color: var(--lm-tinte); line-height: 1.1; }
.kachel .label { font-size: .8rem; color: var(--lm-grau); }

/* Pipeline: ein Balken je Status */
.pipeline-stufe { display: flex; align-items: center; gap: .75rem; padding: .35rem 0; text-decoration: none; color: inherit; }
.pipeline-stufe:hover .pipeline-name { color: var(--lm-blau-dunkel); }
.pipeline-name { width: 140px; flex-shrink: 0; font-size: .85rem; }
.pipeline-balken { flex-grow: 1; height: 8px; background: var(--lm-blau-hell); border-radius: 99px; overflow: hidden; }
.pipeline-balken span { display: block; height: 100%; background: var(--lm-blau); border-radius: 99px; }
.pipeline-zahl { width: 2.5rem; text-align: right; font-weight: 600; font-size: .85rem; }

/* Profil */
.profil-kopf { background: #fff; border: 1px solid var(--lm-linie); border-radius: .75rem; padding: 1.25rem 1.5rem; }
.profil-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; font-size: .85rem; color: var(--lm-grau); }
.profil-meta a { color: var(--lm-grau); }
.entscheider-karte { border-left: 4px solid var(--lm-blau); }
.person + .person { border-top: 1px solid var(--lm-linie); }
.badge-entscheider { background: var(--lm-blau-hell); color: var(--lm-blau-dunkel); font-weight: 600; }
.quickwin { display: flex; gap: .75rem; }
.quickwin .nr { flex: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--lm-blau); color: #fff;
  font-weight: 600; font-size: .8rem; display: flex; align-items: center; justify-content: center; }

/* Mail-Ansicht */
.mail-text { white-space: pre-wrap; font-family: inherit; font-size: .92rem; line-height: 1.6; margin: 0; color: var(--lm-tinte); }
.mail-kopf dt { font-weight: 500; color: var(--lm-grau); }
.anhang-chip { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--lm-linie); border-radius: .5rem;
  padding: .35rem .65rem; background: #fff; text-decoration: none; color: var(--lm-tinte); font-size: .85rem; }
.anhang-chip:hover { border-color: var(--lm-blau); color: var(--lm-blau-dunkel); }
.anhang-chip .bi-file-earmark-pdf { color: #D93025; }

.timeline-eintrag { display: flex; gap: .75rem; padding: .65rem 0; }
.timeline-eintrag + .timeline-eintrag { border-top: 1px dashed var(--lm-linie); }
.timeline-icon { flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--lm-blau-hell);
  color: var(--lm-blau-dunkel); display: flex; align-items: center; justify-content: center; }

.platzhalter code { cursor: pointer; }
.login-karte { max-width: 400px; margin: 8vh auto; }
.mail-tabelle td:nth-child(2) { min-width: 220px; }
