/* ============================================================
   Onboarding · Tagesmodus · Lead-Hygiene · Materielles Ziel · Support · Themes
   ============================================================ */

/* ---------- Onboarding ---------- */
.ob { flex: 1; display: grid; place-content: center; min-height: 100dvh; padding: var(--s-24); background: var(--bg); }
.ob-card { width: min(460px, 92vw); background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-xl); padding: var(--s-32); box-shadow: var(--shadow); }
.ob-mark { font-size: var(--fs-15); font-weight: 640; letter-spacing: -0.015em; margin-bottom: var(--s-24); }
.ob-mark span { color: var(--accent); }
.ob-eyebrow { font-size: var(--fs-12); font-weight: 550; color: var(--ink-faint); margin-bottom: 6px; }
.ob-card h1 { font-size: var(--fs-20); margin-bottom: 6px; }
.ob-sub { font-size: var(--fs-13); color: var(--ink-dim); line-height: 1.6; margin-bottom: var(--s-24); }
.ob-nav { display: flex; justify-content: space-between; gap: var(--s-12); margin-top: var(--s-24); }
.ob-nav .btn--primary { flex: 1; }
.ob-dots { display: flex; gap: 6px; justify-content: center; margin-top: var(--s-24); }
.ob-dot { width: 24px; height: 3px; border-radius: 2px; background: var(--line); }
.ob-dot.is-on { background: var(--accent); }
.ob-dot.is-done { background: var(--ok); }
.ob-goals { display: flex; flex-direction: column; gap: var(--s-8); }
.ob-goal { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border: 1px solid var(--line-strong); border-radius: var(--r); background: var(--panel); font-size: var(--fs-14); font-weight: 500; }

/* ---------- Tagesmodus (Dashboard) ---------- */
.tg-eyebrow { font-size: var(--fs-12); font-weight: 600; color: var(--accent); margin-bottom: var(--s-20); }
.tg-row { margin-bottom: var(--s-16); }
.tg-row:last-of-type { margin-bottom: var(--s-8); }
.tg-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 7px; }
.tg-label { font-size: var(--fs-15); font-weight: 550; }
.tg-count { font-size: var(--fs-18); font-weight: 640; font-feature-settings: 'tnum'; }
.tg-count span { color: var(--ink-faint); font-weight: 500; font-size: var(--fs-14); }
.tg-bar { position: relative; height: 10px; background: var(--bg-deep); border-radius: var(--r-full); overflow: hidden; }
.tg-fill { position: absolute; inset: 0 auto 0 0; background: var(--accent); border-radius: var(--r-full); transition: width 0.5s var(--ease); }
.tg-fill--done { background: var(--ok); }
.tg-label .ico { color: var(--ok); vertical-align: -1px; }
.tg--done { border-color: color-mix(in srgb, var(--ok) 40%, var(--line)); background: linear-gradient(180deg, var(--ok-wash), var(--panel) 60%); }
.tg-badge { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-12); font-weight: 650; color: var(--ok-deep); background: var(--ok-wash); border: 1px solid color-mix(in srgb, var(--ok) 35%, transparent); padding: 2px 9px; border-radius: var(--r-full); }
.tg-seg { display: none; }
.tg-hint { font-size: var(--fs-14); color: var(--ink-dim); margin-top: var(--s-16); }
.tg-hint b { color: var(--ink); font-weight: 600; }

.dash-sec { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--s-12); }
.mini-stat { background: var(--panel); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 16px; font-size: var(--fs-13); color: var(--ink-dim); box-shadow: var(--shadow-sm); }
.mini-stat span { display: block; font-size: var(--fs-20); font-weight: 640; color: var(--ink); font-feature-settings: 'tnum'; letter-spacing: -0.02em; margin-bottom: 2px; }
.mini-stat--warn span { color: var(--accent); }

/* ---------- Lead-Hygiene ---------- */
.hygiene { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--panel); }
.hygiene__head { padding: 12px 16px; background: var(--bg-deep); border-bottom: 1px solid var(--line); font-size: var(--fs-12); font-weight: 550; color: var(--ink-dim); }
.hygiene__row { display: flex; align-items: baseline; gap: var(--s-12); padding: 12px 16px; border-top: 1px solid var(--line-soft); }
.hygiene__row:first-of-type { border-top: 0; }
.hygiene__dot { width: 8px; height: 8px; border-radius: 50%; flex: none; align-self: center; background: var(--ink-faint); }
.hygiene__row--ok .hygiene__dot { background: var(--ok); }
.hygiene__row--warn .hygiene__dot { background: var(--warn); }
.hygiene__row--danger .hygiene__dot { background: var(--danger); }
.hygiene__n { font-size: var(--fs-18); font-weight: 640; font-feature-settings: 'tnum'; min-width: 3ch; }
.hygiene__row--ok .hygiene__n { color: var(--ok); }
.hygiene__row--danger .hygiene__n { color: var(--danger); }
.hygiene__label { font-size: var(--fs-13); }
.hygiene__hint { margin-left: auto; font-size: var(--fs-12); color: var(--ink-faint); }

/* ---------- Ziele: „Der Weg zum Ziel" ---------- */
.zw { display: grid; grid-template-columns: minmax(0, 300px) 1fr; gap: var(--s-32); align-items: start; }
.zw-shop {
  position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-lg); overflow: hidden;
  border: 1px solid var(--line); background: var(--bg-deep);
}
.zw-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.zw-img--motif { position: absolute; inset: 0; background:
  radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 60%),
  linear-gradient(135deg, var(--bg-deep), var(--panel)); }
.zw-img--motif::after { content: ""; position: absolute; inset: 30%; border: 2px dashed var(--ink-faint); border-radius: var(--r); opacity: 0.5; }
.zw-shop--blank { display: grid; place-items: center; background:
  repeating-linear-gradient(45deg, var(--bg-deep) 0 10px, var(--panel) 10px 20px); }
.zw-blank { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--ink-faint); font-size: var(--fs-12); }
.zw-shop--blank .zp-pct { position: absolute; right: 10px; bottom: 10px; }

.verlauf-weeknav { display: flex; align-items: center; justify-content: center; gap: var(--s-12); margin: var(--s-12) 0; }
.verlauf-weeknav span { font-size: var(--fs-13); font-weight: 600; text-align: center; display: flex; flex-direction: column; }
.verlauf-weeknav span em { font-style: normal; font-weight: 400; font-size: var(--fs-11); color: var(--ink-faint); }
.verlauf-weeknav .chip { padding: 4px 8px; }


/* Puzzle: Motiv in jigsaw-Teile geschnitten, Teile fliegen aus dem Karton an ihren Platz */
.zw-left { min-width: 0; }
.zw-puzzle { position: relative; min-width: 0; }
.pz-svg { display: block; width: 100%; height: auto; border-radius: var(--r-lg); }
.pz-piece {
  transform-box: fill-box; transform-origin: center;
  animation: pz-place 0.55s var(--ease) backwards;
  animation-delay: calc(var(--i) * 60ms);
}
@keyframes pz-place {
  from { opacity: 0; transform: translate(var(--sx, 0), var(--sy, 20px)) rotate(var(--sr, 8deg)); }
  to   { opacity: 1; transform: translate(0, 0) rotate(0); }
}
.zp-pct {
  position: absolute; right: 10px; top: 10px; z-index: 1;
  font-size: var(--fs-11); font-weight: 650; font-feature-settings: 'tnum';
  background: var(--accent); color: var(--accent-ink); padding: 2px 8px; border-radius: var(--r-full);
}
@media (prefers-reduced-motion: reduce) { .pz-piece { animation: none; } }
.zw-info { min-width: 0; }
.zw-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-16); margin-bottom: var(--s-24); }
.zw-name { font-size: var(--fs-20); font-weight: 640; letter-spacing: -0.02em; }
.zw-price { font-size: var(--fs-13); color: var(--ink-dim); margin-top: 3px; }
.zw-why { color: var(--ink-faint); font-style: italic; }
.zw-fig { font-size: var(--fs-24); font-weight: 640; font-feature-settings: 'tnum'; letter-spacing: -0.02em; white-space: nowrap; }
.zw-fig span { color: var(--ink-faint); font-size: var(--fs-15); }

.zw-track { position: relative; margin: var(--s-16) 0 var(--s-40); padding-top: 4px; }
.zw-track__line { position: relative; height: 6px; border-radius: var(--r-full); background: var(--bg-deep); }
.zw-track__line > span { position: absolute; inset: 0 auto 0 0; border-radius: var(--r-full); background: var(--accent); transition: width 0.5s var(--ease); }
.zw-ms { position: absolute; top: -2px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 5px; background: none; }
.zw-ms--start { transform: translateX(0); align-items: flex-start; }
.zw-ms--end { transform: translateX(-100%); align-items: flex-end; }
.zw-ms--end .zw-ms__lbl { text-align: right; }
.zw-ms__dot { width: 14px; height: 14px; border-radius: 50%; background: var(--panel); border: 2px solid var(--line-strong); display: grid; place-content: center; color: var(--accent-ink); }
.zw-ms.is-hit .zw-ms__dot { background: var(--accent); border-color: var(--accent); }
.zw-ms__lbl { font-size: var(--fs-11); color: var(--ink-faint); white-space: nowrap; max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
.zw-ms.is-hit .zw-ms__lbl { color: var(--ink-dim); }
.zw-ms:hover .zw-ms__lbl { color: var(--accent); text-decoration: underline; }

.zw-hint { font-size: var(--fs-14); color: var(--ink-dim); }
.zw-hint b { color: var(--ink); }
.zw-week { margin-top: var(--s-16); display: grid; gap: 6px; font-size: var(--fs-12); color: var(--ink-dim); }
.zw-week__bar { height: 8px; border-radius: var(--r-full); background: var(--bg-deep); overflow: hidden; }
.zw-week__bar > span { display: block; height: 100%; background: var(--ok); border-radius: var(--r-full); transition: width 0.5s var(--ease); }
.zw-week__n { font-feature-settings: 'tnum'; color: var(--ink-faint); }
.zw-actions { display: flex; gap: var(--s-8); flex-wrap: wrap; margin-top: var(--s-24); }
@media (max-width: 760px) { .zw { grid-template-columns: 1fr; } .zw-shop { max-width: 340px; } }

/* Bild-Auswahl im Ziel-Editor */
.ze-photo { display: flex; gap: var(--s-12); align-items: flex-start; }
.ze-photo__prev { width: 72px; height: 72px; flex: none; border-radius: var(--r); border: 1px solid var(--line);
  background: var(--bg-deep) center/cover no-repeat; display: flex; align-items: center; justify-content: center; color: var(--ink-faint); }
.ze-photo__prev.has-img { border-style: solid; }

/* Step-up-Sicherheitsabfrage */
.stepup-dlg { max-width: 360px; }
.stepup { padding: var(--s-24); display: flex; flex-direction: column; gap: var(--s-12); }
.stepup__head { display: flex; align-items: center; gap: 8px; }
.stepup__head h2 { font-size: var(--fs-16); }
.stepup__head .ico { color: var(--accent); }
.stepup p { font-size: var(--fs-13); color: var(--ink-dim); line-height: 1.55; }
.stepup .code-input { margin: 4px 0; }
.stepup__foot { display: flex; justify-content: flex-end; gap: var(--s-8); margin-top: 4px; }

/* Ziel-erreicht Pop-up (beim Verlassen des Telefon-Modus) */
.goal-dlg { max-width: 380px; text-align: center; }
.goal-modal { padding: var(--s-32) var(--s-24) var(--s-24); display: flex; flex-direction: column; align-items: center; gap: var(--s-8); }
.goal-modal__burst {
  width: 60px; height: 60px; border-radius: 50%; display: grid; place-content: center;
  background: var(--ok-wash); color: var(--ok); margin-bottom: var(--s-8);
}
.goal-modal h2 { font-size: var(--fs-20); }
.goal-modal p { font-size: var(--fs-14); color: var(--ink-dim); line-height: 1.6; }
.goal-modal b { color: var(--ink); }
.goal-modal__why { margin-top: 4px; color: var(--ink); font-style: italic; }
.goal-modal .btn { margin-top: var(--s-16); }

/* Ziel erreicht */
.zgoal-done {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: var(--fs-13); font-weight: 650; color: var(--ok-deep);
  background: var(--ok-wash); border: 1px solid color-mix(in srgb, var(--ok) 35%, transparent);
  padding: 7px 14px; border-radius: var(--r-full); margin-bottom: var(--s-16);
}
.zw.is-done .zw-shop { box-shadow: 0 0 0 2px var(--ok) inset, 0 0 22px -6px color-mix(in srgb, var(--ok) 60%, transparent); }
.zw.is-done .pz-svg { box-shadow: 0 0 0 2px var(--ok), 0 0 22px -6px color-mix(in srgb, var(--ok) 60%, transparent); }
.zk.is-done .zk-bar > span { background: var(--ok); }
.zw.is-done .zw-track__line > span, .zk.is-done .zw-track__line > span { background: var(--ok); }
.zw.is-done .zw-hint b, .zk.is-done .zw-hint b { color: var(--ok-deep); }

/* Kennzahl-Ziel */
.zk { display: grid; gap: var(--s-16); }
.zk-bar { position: relative; height: 26px; border-radius: var(--r-full); background: var(--bg-deep); overflow: hidden; display: flex; align-items: center; }
.zk-bar > span { position: absolute; inset: 0 auto 0 0; background: var(--accent); border-radius: var(--r-full); transition: width 0.5s var(--ease); }
.zk-bar > em { position: relative; margin-left: auto; padding-right: 10px; font-style: normal; font-size: var(--fs-12); font-weight: 650; color: var(--ink-dim); font-feature-settings: 'tnum'; }

/* Wachstums-Motiv */
.zm { max-width: 200px; }
.zm svg { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: var(--r); }

/* Ziel-Liste */
.zl { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--s-12); }
.zl-card { border: 1px solid var(--line); border-radius: var(--r); padding: var(--s-16); background: var(--panel); display: grid; gap: var(--s-8); }
.zl-card.is-active { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset; }
.zl-card__top { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-8); }
.zl-card__name { font-weight: 600; }
.zl-card__pct { font-size: var(--fs-13); font-weight: 650; color: var(--accent); font-feature-settings: 'tnum'; }
.zl-card__bar { height: 5px; border-radius: var(--r-full); background: var(--bg-deep); overflow: hidden; }
.zl-card__bar > span { display: block; height: 100%; background: var(--accent); }
.zl-card__foot { display: flex; justify-content: space-between; align-items: center; gap: var(--s-8); font-size: var(--fs-12); color: var(--ink-faint); }
.zl-card__acts { display: flex; align-items: center; gap: var(--s-8); flex: none; }
.zl-badge { font-size: var(--fs-11); font-weight: 600; color: var(--accent); }
.zl-badge--team { background: var(--accent-wash); color: var(--accent); padding: 1px 6px; border-radius: var(--r-full); }

/* ---------- Statistik: Verlauf ---------- */
.verlauf-cmp { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-12); margin: var(--s-16) 0; }
.verlauf-cmp > div { display: flex; flex-direction: column; gap: 3px; }
.verlauf-cmp__v { font-size: var(--fs-18); font-weight: 640; font-feature-settings: 'tnum'; display: flex; align-items: baseline; gap: 6px; }
.delta { font-size: var(--fs-11); font-weight: 600; padding: 1px 5px; border-radius: var(--r-full); background: var(--bg-deep); color: var(--ink-dim); }
.delta--up { color: var(--ok-deep); background: var(--ok-wash); }
.delta--down { color: var(--danger); background: var(--danger-wash); }

/* ---------- kleine Helfer ---------- */
.plate--alert { border-color: var(--danger); box-shadow: 0 0 0 1px var(--danger) inset; }
.save-tag { display: inline-block; margin-left: 6px; font-size: var(--fs-11); font-weight: 600; color: var(--ok-deep); background: var(--ok-wash); padding: 1px 7px; border-radius: var(--r-full); letter-spacing: 0; }
.scroll-x { overflow-x: auto; }

/* Diagramm-Legende + Kreis-Layout */
.chart-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 4px 0 10px; }
.chart-legend__item { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-12); color: var(--ink-dim); }
.chart-legend__dot { width: 9px; height: 9px; border-radius: 3px; flex: none; }
.verlauf-donut { display: flex; align-items: center; gap: var(--s-20); flex-wrap: wrap; }
.verlauf-donut svg { max-width: 220px; }
.verlauf-donut .chart-legend { flex-direction: column; gap: 8px; margin: 0; }
.link { background: none; color: var(--accent); font-size: var(--fs-12); font-weight: 550; }
.link:hover { text-decoration: underline; }
.link--danger { color: var(--danger); }
.num { font-feature-settings: 'tnum'; }
span.muted, .muted { color: var(--ink-faint); }

/* ---------- Gesprächsleitfaden (Editor) ---------- */
.pb-item, .pb-obj { border: 1px solid var(--line); border-radius: var(--r); padding: var(--s-12); background: var(--bg-deep); display: grid; gap: 10px; }
.pb-item__bar { display: flex; gap: 8px; align-items: center; }
.pb-item__title { font-weight: 600; }
.pb-item__tools { display: flex; gap: 2px; flex: none; }
.pb-item__tools .btn { padding: 5px; }
.pb-obj__row { display: flex; gap: 8px; align-items: center; }
.pb-obj__row .input { flex: 1; }

/* Leitfaden-Panel im Telefon-Modus */
.tm-guide { border: 1px solid var(--line-strong); border-radius: var(--r); background: var(--panel); margin: var(--s-16) 0 0; }
.tm-guide > summary { padding: 10px 14px; cursor: pointer; font-size: var(--fs-13); font-weight: 600; color: var(--ink); display: flex; align-items: center; gap: 7px; list-style: none; }
.tm-guide > summary::-webkit-details-marker { display: none; }
.tm-guide > summary .ico { color: var(--accent); }
.tm-guide[open] > summary { border-bottom: 1px solid var(--line); }
.tm-guide__body { padding: 12px 14px; display: flex; flex-direction: column; gap: 14px; max-height: 46vh; overflow-y: auto; }
.tm-guide__tabs { display: flex; gap: 6px; }
.tm-guide__tab { padding: 5px 12px; border-radius: var(--r-full); border: 1px solid var(--line-strong); background: var(--panel); font-size: var(--fs-12); font-weight: 550; color: var(--ink-dim); }
.tm-guide__tab.is-on { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.tm-guide__sec h4 { font-size: var(--fs-13); margin-bottom: 3px; }
.tm-guide__sec p { font-size: var(--fs-13); line-height: 1.6; color: var(--ink-dim); white-space: pre-wrap; }
.tm-guide__obj { border-left: 2px solid var(--accent); padding-left: 10px; }
.tm-guide__obj b { font-size: var(--fs-13); display: block; }
.tm-guide__obj span { font-size: var(--fs-13); color: var(--ink-dim); white-space: pre-wrap; }

/* ---------- Leadliste: Seiten, Mehrfachauswahl, Verlauf ---------- */
.lead-tbl__ck { width: 34px; text-align: center; }
.lead-tbl__ck input { width: 15px; height: 15px; accent-color: var(--accent); cursor: pointer; }
.lead-tbl tbody tr { cursor: pointer; }
.lead-tbl__go { color: var(--ink-faint); }

/* Handy: Leadliste als Karten statt Tabelle (keine horizontale Scrollerei) */
@media (max-width: 640px) {
  .table-wrap:has(> .lead-tbl) { background: var(--panel); overflow: visible; }
  table.data.lead-tbl { border-collapse: separate; display: block; }
  table.data.lead-tbl thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  table.data.lead-tbl tbody { display: flex; flex-direction: column; }
  table.data.lead-tbl tbody tr {
    display: grid; grid-template-columns: 1fr 24px;
    column-gap: 10px; row-gap: 1px;
    padding: 13px 14px;
    border-bottom: 1px solid var(--line);
  }
  table.data.lead-tbl tbody tr:last-child { border-bottom: 0; }
  table.data.lead-tbl td { display: block; padding: 1px 0; border: 0; font-size: var(--fs-13); }
  table.data.lead-tbl .lead-tbl__ck { grid-column: 2; grid-row: 1; align-self: start; width: auto; text-align: right; }
  table.data.lead-tbl .lead-tbl__ck input { width: 19px; height: 19px; }
  table.data.lead-tbl .lead-tbl__name { grid-column: 1; grid-row: 1; font-size: var(--fs-15); font-weight: 600; color: var(--ink); }
  table.data.lead-tbl .lead-tbl__status { grid-column: 1 / -1; grid-row: 2; margin: 3px 0 5px; }
  table.data.lead-tbl td[data-label] { grid-column: 1 / -1; color: var(--ink-dim); display: flex; gap: 6px; line-height: 1.5; }
  table.data.lead-tbl td[data-label]::before { content: attr(data-label); color: var(--ink-faint); flex: none; min-width: 66px; }
  table.data.lead-tbl td.num { text-align: left; }
  table.data.lead-tbl .lead-tbl__go { display: none; }
}

.lead-pager { display: flex; align-items: center; justify-content: space-between; gap: var(--s-12); margin-top: var(--s-12); flex-wrap: wrap; font-size: var(--fs-12); }
.lead-pager__nav { display: flex; gap: 4px; flex-wrap: wrap; }
.lead-pager__nav .btn { padding: 5px 9px; min-width: 30px; justify-content: center; }
.lead-pager__nav .ico { width: 12px; height: 12px; margin: 0 -2px; }
.lead-pager__gap { padding: 0 4px; color: var(--ink-faint); align-self: center; }

.bulkbar {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s-12); flex-wrap: wrap;
  background: var(--accent-wash); border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
  border-radius: var(--r); padding: 10px 14px; margin-bottom: var(--s-12); font-size: var(--fs-13);
}
.bulkbar[hidden] { display: none; }
.bulkbar__acts { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.select--sm { padding: 5px 8px; font-size: var(--fs-12); max-width: 170px; }

.lead-hist { border: 1px solid var(--line); border-radius: var(--r); background: var(--panel); }
.lead-hist > summary { padding: 10px 14px; cursor: pointer; font-size: var(--fs-13); font-weight: 550; color: var(--ink-dim); display: flex; align-items: center; gap: 6px; }
.lead-hist[open] > summary { border-bottom: 1px solid var(--line); }
.lead-hist__list { padding: 8px 14px 12px; display: flex; flex-direction: column; gap: 8px; }
.lead-hist__list li { display: grid; gap: 2px; font-size: var(--fs-12); padding-bottom: 8px; border-bottom: 1px solid var(--line-soft); }
.lead-hist__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.lead-hist__t { color: var(--ink-faint); font-feature-settings: 'tnum'; }
.lead-hist__o { color: var(--ink); font-weight: 500; }
.lead-hist__b { color: var(--ink-dim); }

.lead-proof { margin-top: 8px; }
.lead-mail { border-top: 1px solid var(--line); padding-top: var(--s-16); margin-top: var(--s-4); display: grid; gap: 8px; }
.lead-proof__has { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }

/* ---------- Team-Vergleich ---------- */
.data.tv td, .data.tv th { padding: 9px 12px; }
.tv-avg td { font-weight: 600; color: var(--ink-dim); border-top: 1px solid var(--line-strong); background: var(--bg-deep); }
.tv-rank {
  display: inline-grid; place-content: center; width: 22px; height: 22px; border-radius: 50%;
  background: var(--bg-deep); color: var(--ink-dim); font-size: var(--fs-12); font-weight: 650;
}
.tv-rank--top { background: var(--accent); color: var(--accent-ink); }
.tv-bar { display: inline-block; width: 90px; height: 6px; border-radius: var(--r-full); background: var(--bg-deep); vertical-align: middle; overflow: hidden; }
.tv-bar > span { display: block; height: 100%; background: var(--accent); border-radius: var(--r-full); }
.tv-bar__v { margin-left: 8px; font-size: var(--fs-12); font-weight: 600; font-feature-settings: 'tnum'; color: var(--ink-dim); }

/* Top-3-Podest */
.podium { display: flex; align-items: flex-end; justify-content: center; gap: 10px; margin: 6px 0; }
.podium__col { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 33%; max-width: 150px; min-width: 0; }
.podium__name { font-size: var(--fs-13); font-weight: 550; color: var(--ink); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.podium__val { font-size: var(--fs-12); color: var(--ink-dim); font-feature-settings: 'tnum'; }
.podium__block {
  width: 100%; border-radius: var(--r) var(--r) 0 0; background: var(--bg-deep);
  display: flex; align-items: flex-start; justify-content: center; padding-top: 8px;
  font-size: var(--fs-18); font-weight: 700; color: var(--ink-faint); font-feature-settings: 'tnum';
}
.podium__block--1 { background: var(--accent); color: var(--accent-ink); }
.podium__block--2 { background: color-mix(in srgb, var(--accent) 26%, var(--bg-deep)); color: var(--ink); }
.podium__block--3 { background: color-mix(in srgb, var(--accent) 12%, var(--bg-deep)); color: var(--ink-dim); }

/* ---------- Toast (Terminerinnerung) ---------- */
.toast-stack { position: fixed; right: var(--s-24); bottom: 84px; z-index: var(--z-toast); display: flex; flex-direction: column; gap: 8px; max-width: min(360px, calc(100vw - 32px)); }
.toast {
  display: flex; align-items: flex-start; gap: 10px;
  background: var(--panel); border: 1px solid var(--line-strong); border-left: 3px solid var(--accent);
  border-radius: var(--r); padding: 12px 14px; box-shadow: var(--shadow-lg);
  animation: toast-in 0.28s var(--ease);
}
.toast--out { animation: toast-out 0.25s var(--ease) forwards; }
.toast__body { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-13); }
.toast__body b { font-weight: 650; }
.toast__body span { color: var(--ink-dim); }
.toast__acts { margin-left: auto; display: flex; flex-direction: column; gap: 4px; align-items: flex-end; flex: none; }
.toast__go { font-size: var(--fs-12); font-weight: 600; color: var(--accent); }
.toast__x { font-size: var(--fs-12); color: var(--ink-faint); }
.toast__x:hover { color: var(--ink); }
@keyframes toast-in { from { opacity: 0; transform: translateX(20px); } }
@keyframes toast-out { to { opacity: 0; transform: translateX(20px); } }
@media (max-width: 560px) { .toast-stack { right: var(--s-16); left: var(--s-16); bottom: 76px; max-width: none; } }

/* ---------- Tagesstart + Nachfassen ---------- */
.ts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s-8); }
.ts-item {
  text-align: left; padding: 14px; border: 1px solid var(--line); border-radius: var(--r);
  background: var(--panel); font-size: var(--fs-12); color: var(--ink-dim); line-height: 1.35;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.ts-item:hover { border-color: var(--ink-faint); }
.ts-item__n { display: block; font-size: var(--fs-24); font-weight: 680; color: var(--ink); letter-spacing: -0.02em; font-feature-settings: 'tnum'; margin-bottom: 2px; }
.ts-item.is-hot { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); background: var(--accent-wash); }
.ts-item.is-hot .ts-item__n { color: var(--accent); }

.nf-list { display: flex; flex-direction: column; gap: var(--s-8); }
.nf-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s-12); flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--r); background: var(--panel); font-size: var(--fs-13); }
.nf-row__acts { display: flex; gap: 6px; flex-wrap: wrap; }

/* ---------- Erste Schritte (Tour-Checkliste) ---------- */
.tour-list { display: flex; flex-direction: column; gap: var(--s-8); }
.tour-item { display: flex; align-items: center; gap: var(--s-12); font-size: var(--fs-14); }
.tour-item__box { flex: none; width: 22px; height: 22px; border: 1px solid var(--line-strong); border-radius: 6px;
  display: flex; align-items: center; justify-content: center; color: var(--accent);
  background: var(--panel); cursor: pointer; transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease); }
.tour-item__box:hover { border-color: var(--accent); }
.tour-item__box:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tour-item.is-done .tour-item__box { background: var(--accent-wash); border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); }
.tour-item.is-done .tour-item__label { color: var(--ink-dim); text-decoration: line-through; }
.tour-item__label { flex: 1; min-width: 0; }
@media (max-width: 560px) {
  .tour-item { flex-wrap: wrap; }
  .tour-item__label { flex-basis: calc(100% - 32px); }
  .verlauf-donut { justify-content: center; }
}

/* ---------- Startseite (geführter Einstieg) ---------- */
.start-steps { display: flex; flex-direction: column; gap: var(--s-12); counter-reset: step; }
.start-step {
  display: grid; grid-template-columns: auto auto 1fr; gap: var(--s-16); align-items: start;
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: var(--s-20) var(--s-24); box-shadow: var(--shadow-sm);
}
.start-step__n {
  width: 26px; height: 26px; border-radius: 50%; display: grid; place-content: center;
  background: var(--accent-wash); color: var(--accent); font-size: var(--fs-13); font-weight: 650;
}
.start-step__ic { color: var(--ink-faint); margin-top: 2px; }
.start-step__body h3 { font-size: var(--fs-15); margin-bottom: 4px; }
.start-step__body p { font-size: var(--fs-13); color: var(--ink-dim); line-height: 1.6; max-width: 62ch; }
.start-step__actions { display: flex; gap: var(--s-8); flex-wrap: wrap; margin-top: var(--s-12); }
@media (max-width: 560px) {
  .start-step { grid-template-columns: auto 1fr; }
  .start-step__ic { display: none; }
}

/* ---------- Theme-Button ---------- */
#themeBtn { padding: 0 8px; }
#themeBtn .ico { width: 16px; height: 16px; }

/* ---------- Support ---------- */
.support-fab {
  position: fixed; right: var(--s-24); bottom: var(--s-24); z-index: var(--z-toast);
  width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-content: center;
  background: var(--accent); color: var(--accent-ink);
  border: 1px solid transparent; box-shadow: var(--shadow-md);
  transition: transform var(--dur) var(--ease), background var(--dur) var(--ease);
}
.support-fab:hover { transform: translateY(-2px); background: var(--accent-deep); }
@media (max-width: 560px) { .support-fab { right: var(--s-16); bottom: var(--s-16); } }

.support-dlg { max-width: 440px; }
.support { display: flex; flex-direction: column; max-height: 78vh; }
.support__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-12); padding: var(--s-24) var(--s-24) var(--s-16); }
.support__head h2 { font-size: var(--fs-16); }
.support__head p { font-size: var(--fs-12); color: var(--ink-faint); margin-top: 4px; line-height: 1.5; }
.support__thread { flex: 1; overflow-y: auto; padding: 0 var(--s-24) var(--s-16); display: flex; flex-direction: column; gap: var(--s-8); min-height: 180px; }
.support__hint { font-size: var(--fs-12); font-weight: 550; color: var(--ink-faint); margin-top: var(--s-8); }
.support__chips { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.support__chips .chip { text-align: left; white-space: normal; border-radius: var(--r-sm); }
.support__msg { max-width: 88%; padding: 9px 12px; font-size: var(--fs-13); line-height: 1.55; border-radius: var(--r); }
.support__msg--you { align-self: flex-end; background: var(--accent); color: var(--accent-ink); }
.support__msg--bot { align-self: flex-start; background: var(--bg-deep); border: 1px solid var(--line); color: var(--ink); }
.support__form { display: flex; gap: var(--s-8); padding: var(--s-16) var(--s-24) var(--s-8); border-top: 1px solid var(--line); }
.support__form .input { flex: 1; }
.support__ticket { margin: 0 var(--s-24) var(--s-24); align-self: flex-start; }

/* ---------- Reaktivierung ---------- */
.re-cb { width: 16px; height: 16px; accent-color: var(--accent); }

/* ---------- E-Mail-Vorlagen ---------- */
.mail-ph { display: grid; gap: 6px; }
.mail-ph__row { display: flex; gap: 12px; align-items: baseline; font-size: var(--fs-13); }
.mail-ph__row code {
  flex: none; min-width: 130px; font-size: var(--fs-12);
  background: var(--bg-deep); padding: 2px 6px; border-radius: var(--r-sm); color: var(--accent);
}
.mail-ph__row span { color: var(--ink-dim); }
.mail-prev { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 14px; }
.mail-prev__lab { font-size: var(--fs-11); font-weight: 600; color: var(--ink-faint); text-transform: uppercase; letter-spacing: 0.04em; }
.mail-prev__subj { font-weight: 600; margin: 8px 0 4px; font-size: var(--fs-14); }
.mail-prev__body {
  margin: 0; white-space: pre-wrap; font-family: var(--font-mono); font-size: var(--fs-12);
  color: var(--ink-dim); background: var(--bg-deep); border-radius: var(--r); padding: 12px 14px;
  overflow-x: auto;
}

/* ---------- E-Mail-Postausgang ---------- */
.ob-list { display: flex; flex-direction: column; gap: var(--s-8); }
.ob-row { border: 1px solid var(--line); border-radius: var(--r); padding: 12px 14px; background: var(--panel); }
.ob-row__main { margin-bottom: 8px; }
.ob-row__acts { display: flex; gap: 6px; flex-wrap: wrap; }
.ob-details { margin-top: 10px; border-top: 1px solid var(--line-soft); padding-top: 10px; }
.ob-details summary { cursor: pointer; font-size: var(--fs-13); color: var(--accent); font-weight: 550; }
.ob-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.ob-fields .field__label { display: block; margin-bottom: 4px; }
@media (max-width: 560px) { .ob-fields { grid-template-columns: 1fr; } }

/* ---------- Arbeitszeit ---------- */
.wt-today { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.wt-nums { display: flex; gap: 22px; flex-wrap: wrap; }
.wt-nums > div { display: flex; flex-direction: column; }
.wt-nums b { font-size: var(--fs-18); font-variant-numeric: tabular-nums; }
.wt-nums span { font-size: var(--fs-11); color: var(--ink-faint); }
.wt-bars {
  display: flex; align-items: flex-end; gap: 5px; height: 96px;
  padding-top: 6px; overflow-x: auto;
}
.wt-bar {
  flex: 1 0 18px; min-width: 18px; height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 5px;
}
.wt-bar__fill {
  width: 100%; min-height: 2px; border-radius: 3px 3px 0 0;
  background: var(--accent); transition: height .2s;
}
.wt-bar__fill--est { background: var(--line); }
.wt-bar__lab { font-size: var(--fs-10); color: var(--ink-faint); }

/* ---------- Team-Roster ---------- */
.roster { display: flex; flex-direction: column; }
.roster__row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0; border-bottom: 1px solid var(--line-soft);
}
.roster__row:last-child { border-bottom: none; }
.roster__av {
  flex: none; width: 34px; height: 34px; border-radius: var(--r-full);
  display: grid; place-content: center; font-size: var(--fs-12); font-weight: 600;
  background: var(--bg-deep); color: var(--ink-dim);
}
.roster__name { flex: 1; font-weight: 550; min-width: 0; }
.roster__tag {
  flex: none; font-size: var(--fs-11); color: var(--ink-faint);
  background: var(--bg-deep); border-radius: var(--r-full); padding: 3px 10px;
}
.roster__tag--on { color: var(--ok); background: var(--ok-bg, rgba(34,197,94,.12)); }
.roster__kick { flex: none; color: var(--ink-faint); }
.roster__kick:hover { color: var(--danger); }

/* ---------- Team-Mitglied-Detail ---------- */
.tv-detail {
  margin-top: 14px; border: 1px solid var(--line); border-radius: var(--r);
  background: var(--panel); padding: 16px;
}
.tv-detail__head { display: flex; align-items: center; justify-content: space-between; }
.tv-detail__name { font-weight: 600; font-size: var(--fs-15); }

/* ---------- Listen verwalten (Leads) ---------- */
.fm-list { display: flex; flex-direction: column; gap: 2px; max-height: 52vh; overflow-y: auto; }
.fm-row {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 4px; border-bottom: 1px solid var(--line);
}
.fm-row:last-child { border-bottom: 0; }
.fm-row__name { flex: 1; min-width: 0; text-align: left; font-weight: 550; }

/* ---------- Team-Ziele (gemeinsam) ---------- */
.tg-group { display: flex; flex-direction: column; }
.tg-goal { padding: 12px 0; border-bottom: 1px solid var(--line); }
.tg-goal:last-child { border-bottom: 0; }
.tg-goal__top { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.tg-goal__top b { font-weight: 600; }
.tg-goal__tag {
  font-size: var(--fs-11); color: var(--ink-faint);
  background: var(--bg-deep); border-radius: var(--r-full); padding: 2px 9px;
}
.tg-goal__top .link--danger { margin-left: auto; }
.tg-goal__foot {
  display: flex; justify-content: space-between; gap: 10px;
  margin-top: 6px; font-size: var(--fs-12); color: var(--ink-dim);
  font-variant-numeric: tabular-nums;
}

/* ---------- Team v41: Mitglied-Detail (Listen / Agenda / Ziel) ---------- */
.md-lists { display: flex; flex-direction: column; gap: 2px; }
.md-list { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: var(--fs-13); }
.md-list:last-child { border-bottom: 0; }
.md-list__n { font-weight: 550; }
.md-agenda { display: flex; flex-direction: column; gap: 10px; }
.md-agenda__day { }
.md-agenda__date { font-size: var(--fs-12); color: var(--ink-faint); text-transform: capitalize; display: block; margin-bottom: 4px; }
.md-agenda__row { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: var(--fs-13); font-variant-numeric: tabular-nums; }
.md-agenda__k, .ta-agenda .md-agenda__k {
  font-size: var(--fs-11); padding: 1px 8px; border-radius: var(--r-full);
  background: var(--bg-deep); color: var(--ink-dim); flex: none;
}
.md-agenda__k--abschluss { background: color-mix(in srgb, var(--ok) 18%, transparent); color: var(--ok); }
.md-agenda__k--aftersales { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }
.md-agenda__lead, .ta-agenda__lead { color: var(--ink-dim); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md-tgt { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 4px; }

/* ---------- Team v41: Team-Kalender & Aktivität ---------- */
.ta-activity { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.ta-act { display: flex; align-items: center; gap: 10px; font-size: var(--fs-13); }
.ta-act__dot { flex: none; width: 8px; height: 8px; border-radius: var(--r-full); background: var(--ink-faint); }
.ta-act__dot.is-live { background: var(--ok); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ok) 25%, transparent); }
.ta-act__name { font-weight: 550; }
.ta-agenda { display: flex; flex-direction: column; gap: 12px; }
.ta-agenda__date { font-size: var(--fs-12); color: var(--ink-faint); text-transform: capitalize; margin-bottom: 5px; font-weight: 550; }
.ta-agenda__row { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid var(--line); font-size: var(--fs-13); font-variant-numeric: tabular-nums; }
.ta-agenda__row:last-child { border-bottom: 0; }
.ta-agenda__t { flex: none; width: 46px; color: var(--ink-dim); }
.ta-agenda__who { flex: none; font-weight: 550; min-width: 64px; }

/* ---------- Support: Kategorien ---------- */
.support__cats { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }

/* ================= v43 ================= */

/* Rückgängig-Toast */
.undo-toast {
  position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%);
  z-index: 60; display: flex; align-items: center; gap: 14px;
  background: var(--ink); color: var(--bg); padding: 10px 12px 10px 16px;
  border-radius: var(--r); box-shadow: 0 12px 32px rgba(0,0,0,.28); font-size: var(--fs-13);
  max-width: min(92vw, 460px);
}
.undo-toast__btn {
  display: inline-flex; align-items: center; gap: 5px;
  background: color-mix(in srgb, var(--bg) 18%, transparent); color: var(--bg);
  border: 0; border-radius: var(--r-sm); padding: 6px 12px; font-weight: 600; cursor: pointer;
}
.undo-toast__btn:hover { background: color-mix(in srgb, var(--bg) 30%, transparent); }

/* Schnellsuche */
.cmdk::backdrop { background: rgba(10,13,19,.5); }
.cmdk { border: 0; background: transparent; padding: 0; margin: 0; width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; display: flex; align-items: flex-start; justify-content: center; }
.cmdk__box { width: min(92vw, 560px); margin-top: 10vh; background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; box-shadow: 0 24px 64px rgba(0,0,0,.3); }
.cmdk__inp { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); color: var(--ink-faint); }
.cmdk__x { flex: none; border: 0; background: transparent; color: var(--ink-faint); cursor: pointer; display: flex; padding: 4px; border-radius: var(--r-sm); }
.cmdk__x:hover { color: var(--ink); background: var(--bg-deep); }
.cmdk__inp input { flex: 1; border: 0; background: transparent; font-size: var(--fs-15); color: var(--ink); outline: none; }
.cmdk__list { max-height: 52vh; overflow-y: auto; padding: 6px; }
.cmdk__row { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; width: 100%; text-align: left; border: 0; background: transparent; padding: 9px 10px; border-radius: var(--r-sm); cursor: pointer; }
.cmdk__row.is-sel { background: var(--bg-deep); }
.cmdk__name { font-weight: 550; }
.cmdk__meta { grid-column: 1; color: var(--ink-dim); font-size: var(--fs-12); }
.cmdk__badge { grid-row: 1 / span 2; align-self: center; font-size: var(--fs-11); color: var(--ink-faint); }
.cmdk__empty { padding: 24px; text-align: center; color: var(--ink-faint); font-size: var(--fs-13); }
.cmdk__foot { padding: 8px 16px; border-top: 1px solid var(--line); font-size: var(--fs-11); color: var(--ink-faint); }
.topbar__search kbd { margin-left: 6px; font-size: var(--fs-11); opacity: .7; border: 1px solid var(--line); border-radius: 4px; padding: 0 4px; }
@media (max-width: 720px) { .topbar__search .tb-lbl, .topbar__search kbd { display: none; } }

/* Kalender: Monat/Woche-Umschalter + Wochenansicht */
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.seg__b { border: 0; background: transparent; padding: 5px 12px; font-size: var(--fs-12); font-weight: 550; color: var(--ink-dim); cursor: pointer; }
.seg__b.is-on { background: var(--accent); color: #fff; }
/* Wochenansicht: Kalender nimmt die volle Breite, Tages-Panel + Agenda darunter */
.cal-layout--week { grid-template-columns: 1fr; }
.cal-grid--week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.calw-col { border: 1px solid var(--line); border-radius: var(--r-sm); min-height: 420px; display: flex; flex-direction: column; overflow: hidden; }
.calw-col.is-today { border-color: var(--accent); }
.calw-col.is-sel { background: var(--bg-deep); }
.calw-col.is-drop { outline: 2px dashed var(--accent); outline-offset: -2px; }
.calw-col__head { border: 0; background: var(--bg-deep); font-size: var(--fs-13); font-weight: 650; padding: 9px 10px; text-align: left; cursor: pointer; color: var(--ink); }
.calw-col.is-today .calw-col__head { color: var(--accent); }
.calw-col__body { padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.calw-col__empty { color: var(--ink-faint); font-size: var(--fs-12); padding: 6px 2px; }
.calw-ev { display: flex; flex-direction: column; gap: 2px; border: 0; background: var(--panel); border-left: 3px solid var(--accent); border-radius: 5px; padding: 7px 9px; font-size: var(--fs-12); cursor: grab; text-align: left; }
.calw-ev.cal-item--abschluss { border-left-color: var(--ok); }
.calw-ev.cal-item--wiedervorlage { border-left-color: var(--warn, #d9a441); }
.calw-ev.cal-item--block { border-left-color: var(--ink-faint); }
.calw-ev__t { flex: none; color: var(--ink-dim); font-variant-numeric: tabular-nums; font-size: var(--fs-11); }
.calw-ev__x { font-weight: 550; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cal-cell.is-drop { outline: 2px dashed var(--accent); outline-offset: -2px; }
.cal-dot--block { background: var(--ink-faint); }
@media (max-width: 860px) { .cal-grid--week { grid-template-columns: 1fr 1fr; } .calw-col { min-height: 220px; } }
@media (max-width: 480px) { .cal-grid--week { grid-template-columns: 1fr; } }

/* Telefon-Modus: Resume, Nummer-Edit */
.tm-resume { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--bg-deep); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px 12px; margin-bottom: 14px; font-size: var(--fs-13); }
.tm-navbtn--sm { padding: 4px 10px; font-size: var(--fs-12); }
.tm-numedit { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.tm-numedit .input { max-width: 220px; }

/* Team: Mitglied-Detail Ergänzungen */
.md-oc { display: flex; flex-wrap: wrap; gap: 6px; }
.md-oc__pill { font-size: var(--fs-12); background: var(--bg-deep); border-radius: var(--r-full); padding: 3px 10px; }
.md-dm { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 4px; }

/* Team: Trend + Listen-Konversion */
.tv-trend { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 4px 0 16px; }
.tv-trend__c { background: var(--bg-deep); border-radius: var(--r-sm); padding: 10px; }
.tv-trend__n { font-size: var(--fs-18); font-weight: 650; font-variant-numeric: tabular-nums; display: block; }
.tv-trend__l { font-size: var(--fs-11); color: var(--ink-faint); display: block; }
.tv-trend__d { font-size: var(--fs-11); font-weight: 600; }
.tv-trend__d--up { color: var(--ok); }
.tv-trend__d--down { color: var(--danger); }
.tv-trend__d--flat { color: var(--ink-faint); }
.tv-lists { margin: 4px 0 16px; }
.tv-list { display: grid; grid-template-columns: 140px 1fr auto; gap: 10px; align-items: center; padding: 5px 0; font-size: var(--fs-12); }
.tv-list__n { font-weight: 550; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tv-list__bar { height: 7px; background: var(--bg-deep); border-radius: var(--r-full); overflow: hidden; }
.tv-list__bar > span { display: block; height: 100%; background: var(--accent); }
.tv-list__v { color: var(--ink-dim); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 640px) { .tv-trend { grid-template-columns: repeat(2, 1fr); } .tv-list { grid-template-columns: 1fr auto; } .tv-list__bar { display: none; } }

/* Leads: Doppelte */
.dupe-grp { padding: 10px 0; border-bottom: 1px solid var(--line); }
.dupe-grp:last-child { border-bottom: 0; }
.dupe-grp__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.dupe-grp__head .btn { margin-left: auto; }
.dupe-row { font-size: var(--fs-12); padding: 2px 0; }

/* Dashboard: Morgen-Übersicht */
.morning-card { border-color: color-mix(in srgb, var(--accent) 30%, var(--line)); }
.morning-card__row { display: flex; align-items: center; gap: 12px; }
.morning-card__ico { flex: none; color: var(--accent); display: flex; }
.morning-card__txt { display: flex; flex-direction: column; }
.morning-card__txt b { font-size: var(--fs-14); }
.morning-card__txt span { font-size: var(--fs-13); color: var(--ink-dim); }
.morning-card__row .btn { margin-left: auto; }
.morning-card__acts { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.morning-card__acts:empty { display: none; }

/* Upload: Google-Sheets-Import */
.gs-import { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }

/* ---------- v46: Mitteilungen ans Team ---------- */
.ann-pop::backdrop { background: rgba(10,13,19,.55); }
.ann-pop { border: 0; background: transparent; padding: 0; margin: 0; width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; display: flex; align-items: center; justify-content: center; }
.ann-pop__box { width: min(92vw, 460px); background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px; box-shadow: 0 24px 64px rgba(0,0,0,.32); }
.ann-pop__head { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; color: var(--accent); }
.ann-pop__head b { color: var(--ink); }
.ann-pop__list { display: flex; flex-direction: column; gap: 12px; max-height: 50vh; overflow-y: auto; margin-bottom: 16px; }
.ann-pop__item { background: var(--bg-deep); border-radius: var(--r-sm); padding: 12px; }
.ann-pop__item p { margin: 0 0 6px; white-space: pre-wrap; }
.ann-pop__meta { font-size: var(--fs-11); color: var(--ink-faint); }
.ann-hist { display: flex; flex-direction: column; }
.ann-hist__row { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--line); }
.ann-hist__row:last-child { border-bottom: 0; }
.ann-hist__row > div:first-child { flex: 1; min-width: 0; }
