/* CRM – Branding Teal / Dunkelgrau, mobile-tauglich */
:root{
  --teal:#0097b1; --teal-dark:#0182a0; --teal-deep:#01657c;  /* Marken-Blau aus dem Logo (#0097b1) */
  --ink:#1E2229; --ink-2:#2A2F3A; --ink-3:#353B47;
  --line:#3a4150; --text:#E7EBF0; --muted:#9AA6B5; --bg:#11141a;
  --card:#222834; --danger:#C0504D; --won:#2E9E5B;
  --radius:12px; --shadow:0 2px 10px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--text);font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}
a{color:var(--teal);text-decoration:none}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}

/* Topbar */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;
  background:transparent;border:none;padding:10px 16px;
  padding-top:max(10px,env(safe-area-inset-top));pointer-events:none}
.topbar > *{pointer-events:auto}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:18px;color:#fff;letter-spacing:.3px}
.brand-mark{width:28px;height:28px;border-radius:9px;vertical-align:middle;box-shadow:0 2px 8px rgba(0,151,177,.35)}
.spacer{flex:1}
.user-chip{color:#c7d6de;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.logout{color:#c7d6de;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.hamburger{display:none;background:none;border:0;color:#fff;font-size:22px;cursor:pointer}

/* Sidebar */
.sidebar{position:fixed;top:0;left:0;bottom:0;width:286px;background:rgba(20,24,31,.92);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:1px;z-index:20;
  overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
/* Logo oben in der Seitenleiste (wie im Maklercockpit) */
.sidebar a.sb-brand{flex:0 0 auto;display:block;text-decoration:none;padding:6px 8px 14px;
  margin-bottom:6px;border-bottom:1px solid var(--line);background:none;border-radius:0}
.sidebar a.sb-brand:hover{background:none}
.sb-logo{display:block;width:100%;max-width:200px;height:auto;margin:2px 0 9px}
.sb-tagline{display:block;font-size:11.5px;color:#8798a5;font-weight:600;line-height:1.35;letter-spacing:.02em}
/* Marken-Logo in der Topbar am Desktop ausblenden (Sidebar zeigt es); mobil sichtbar */
@media (min-width:901px){.topbar .brand{display:none}}
.sidebar::-webkit-scrollbar{width:8px}
.sidebar::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}
.sidebar a{flex:0 0 auto}
/* Seitenleiste – feine Linien-Icons (Maklercockpit-Stil) */
.sidebar a{display:flex;align-items:center;gap:11px;color:#8ecfe0;padding:9px 11px;border-radius:8px;font-weight:500;font-size:17px;
  transition:background .12s,color .12s}
.sidebar a .ic{width:22px;height:22px;flex:0 0 22px;display:flex;align-items:center;justify-content:center;color:#4fb4cd;transition:color .12s}
.sidebar a .ic .nic{width:21px;height:21px}
.sidebar a:hover{background:rgba(0,151,177,.12);color:#d6f1f8}
.sidebar a:hover .ic{color:#7fd6e8}
.sidebar a.active{background:rgba(0,151,177,.16);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(0,151,177,.55)}
.sidebar a.active .ic{color:#3cc6e0}
.nav-lbl{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;color:#5b6874;font-weight:600;padding:13px 10px 4px}
.nav-badge{margin-left:auto;background:rgba(255,255,255,.08);color:var(--muted);font-size:10.5px;padding:1px 7px;border-radius:20px;font-weight:600}
.sidebar a.active .nav-badge{background:rgba(0,151,177,.28);color:#eaf6f9}
.nav-spacer{flex:1;min-height:10px}
.sidebar .api-link{color:#63707f;font-weight:500;font-size:12.5px}
.sidebar .api-link:hover{color:var(--text)}
.nav-backdrop{display:none}
/* Stufen-Checkliste im Deal */
.chk-progress{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:4px 0 8px}
.chk-bar{flex:1;height:6px;background:var(--ink-3);border-radius:6px;overflow:hidden}
.chk-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal-deep),var(--teal))}
.chklist{display:flex;flex-direction:column;gap:2px}
.chk-item{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:14px;color:var(--text);cursor:pointer;margin:0}
.chk-item input{width:17px;height:17px;margin:0;flex:0 0 17px;accent-color:var(--teal);cursor:pointer}
.chk-item.on span{color:var(--muted);text-decoration:line-through}

/* Content */
.content{margin-left:286px;padding:20px 24px 60px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.page-head h1{font-size:24px;margin:0}
.page-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kpi{color:var(--muted);font-size:14px}
.kpi strong{color:var(--teal)}
.back{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:4px}

/* Buttons */
.btn{background:var(--ink-3);color:var(--text);border:1px solid var(--line);border-radius:9px;
  padding:9px 14px;font-size:14px;cursor:pointer;font-weight:600}
.btn:hover{background:var(--ink-2)}
.btn-primary{background:var(--teal);border-color:var(--teal);color:#04201d}
.btn-primary:hover{background:var(--teal-dark)}
.btn-danger{color:#ffb3b1;border-color:#5a3a3a}
.btn-sm{padding:5px 9px;font-size:12px}
.btn-block{width:100%}

/* Board / Kanban */
.board{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px;align-items:stretch;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.board::-webkit-scrollbar{height:10px}
.board::-webkit-scrollbar-track{background:transparent}
.board::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.board::-webkit-scrollbar-thumb:hover{background:var(--muted)}
.column{flex:0 0 260px;background:var(--ink-2);border-radius:var(--radius);min-height:120px;display:flex;flex-direction:column}
.column-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;
  font-weight:700;border-top:3px solid var(--teal);border-radius:var(--radius) var(--radius) 0 0}
.column-head .count{background:var(--ink);color:var(--muted);border-radius:20px;padding:1px 9px;font-size:12px}
.column-head{gap:8px}
.column-head .ch-title{flex:1 1 auto;min-width:0}
.col-selall{display:inline-flex;align-items:center;cursor:pointer}
.col-selall input{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--teal)}
.dropzone{padding:10px;display:flex;flex-direction:column;gap:10px;min-height:60px;flex:1}
.dropzone.drag-over{background:rgba(0,151,177,.12);outline:2px dashed var(--teal);outline-offset:-6px;border-radius:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px;box-shadow:var(--shadow)}
.deal-card{cursor:grab;position:relative}
/* Deals ohne Aufgabe blinken gelb, mit verpasster (überfälliger) Aufgabe rot */
@keyframes blinkYellow{0%,100%{box-shadow:0 0 0 0 rgba(234,179,8,0)}50%{box-shadow:0 0 0 2px rgba(234,179,8,.9),0 0 12px rgba(234,179,8,.5)}}
@keyframes blinkRed{0%,100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}50%{box-shadow:0 0 0 2px rgba(229,72,77,.95),0 0 14px rgba(229,72,77,.6)}}
.deal-card.blink-none{animation:blinkYellow 1.4s ease-in-out infinite}
.deal-card.blink-overdue{animation:blinkRed 1.1s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.deal-card.blink-none,.deal-card.blink-overdue{animation:none;box-shadow:0 0 0 2px rgba(234,179,8,.7)}.deal-card.blink-overdue{box-shadow:0 0 0 2px rgba(229,72,77,.8)}}
.card-sel{position:absolute;top:7px;right:7px;width:16px;height:16px;cursor:pointer;z-index:3;opacity:.4}
.deal-card:hover .card-sel,.card-sel:checked{opacity:1}
.deal-card.sel{outline:2px solid var(--teal);outline-offset:-2px}
.abr-selbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;display:flex;
  align-items:center;gap:14px;background:var(--ink,#12181f);border:1px solid var(--teal);border-radius:999px;
  padding:9px 18px;box-shadow:0 6px 26px rgba(0,0,0,.45);max-width:calc(100vw - 24px)}
.abr-selbar[hidden]{display:none}   /* nur sichtbar, wenn ein Deal markiert ist */
.abr-selinfo{font-size:14px;white-space:nowrap}
.deal-card.dragging{opacity:.5}
.card-title{font-weight:600;margin-bottom:6px}
.card-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.tag{background:var(--ink-3);color:var(--muted);font-size:11px;padding:2px 7px;border-radius:6px}
.tag.owner-tag{background:rgba(0,151,177,.16);color:#5fd0e4;border:1px solid rgba(0,151,177,.4);font-weight:600}
/* „Ansehen als"-Banner */
.viewas-bar{position:sticky;top:0;z-index:29;background:linear-gradient(90deg,#7a4b00,#b5720a);
  color:#fff;padding:8px 16px;font-size:13.5px;font-weight:600;text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.3)}
.viewas-bar .viewas-exit{color:#fff;text-decoration:underline;margin-left:10px;white-space:nowrap}
/* Besitzer-Auswahl auf der Karte (nur Admin) */
.card-owner{display:inline-flex;align-items:center;gap:6px;position:relative}
.owner-ava{width:24px;height:24px;border-radius:50%;overflow:hidden;padding:0;flex:0 0 auto;
  border:1px solid rgba(255,255,255,.25);background:rgba(0,151,177,.18);cursor:pointer;
  display:inline-grid;place-items:center}
.owner-ava img{width:100%;height:100%;object-fit:cover;display:block}
.ava-ph{font-size:11.5px;font-weight:700;color:#bfe9f2;line-height:1}
button.owner-ava:hover{border-color:var(--teal)}
.owner-sel{font-size:11.5px;padding:2px 6px;border-radius:7px;border:1px solid rgba(0,151,177,.4);
  background:rgba(0,151,177,.12);color:#bfe9f2;max-width:150px}
.owner-sel:hover{border-color:rgba(0,151,177,.8)}
/* Owner-Filter im Board */
.owner-filter{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;font-size:13px;color:var(--muted)}
.owner-filter select{padding:5px 10px;border-radius:8px;border:1px solid var(--border,#2a2f38);
  background:var(--panel,#1b1f26);color:var(--text,#e6e9ee);font-size:13px}
.card.owner-hide{display:none!important}
.owner-hero-sel{padding:7px 10px;max-width:200px;cursor:pointer;font-size:13px}
/* Registrierungslink-Box in Einstellungen */
.reglink-box{margin-top:12px;padding:12px 14px;border-radius:10px;
  background:rgba(0,151,177,.10);border:1px solid rgba(0,151,177,.4)}
.reglink-row{display:flex;gap:8px;margin-top:8px}
.reglink-row input{flex:1;padding:7px 10px;border-radius:8px;border:1px solid var(--border,#2a2f38);
  background:var(--panel,#12161c);color:var(--text,#e6e9ee);font-size:12.5px}
.card-value{color:var(--teal);font-weight:700;font-size:14px}

/* Tables */
.table-wrap{overflow-x:auto;background:var(--ink-2);border-radius:var(--radius);border:1px solid var(--line)}
.data-table{width:100%;border-collapse:collapse;min-width:560px}
.data-table th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;
  letter-spacing:.04em;padding:12px 14px;border-bottom:1px solid var(--line)}
.data-table td{padding:11px 14px;border-bottom:1px solid var(--ink-3)}
.data-table tr:last-child td{border-bottom:0}
.fs-remove-cell{text-align:right;width:40px}
.fs-remove{background:none;border:0;cursor:pointer;font-size:17px;line-height:1;opacity:.55;padding:4px}
.fs-remove:hover{opacity:1;filter:drop-shadow(0 0 4px rgba(233,72,77,.6))}
.data-table tr:hover td{background:var(--ink-3)}
.empty{color:var(--muted);text-align:center;padding:24px}
.key{word-break:break-all;color:var(--teal)}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.actions form{display:inline}

/* Panels & forms */
.panel{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px}
.panel h2{margin:0 0 14px;font-size:17px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.muted{color:var(--muted);font-size:13px}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}
input,select,textarea{width:100%;margin-top:5px;background:var(--ink);color:var(--text);
  border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal)}
.row{display:flex;gap:12px}
.row>label{flex:1}
.stack>*{margin-bottom:10px}
.inline-form{display:flex;gap:8px;align-items:flex-start;margin-bottom:14px;flex-wrap:wrap}
.inline-form input,.inline-form select{width:auto;flex:1;min-width:120px;margin-top:0}
.inline-form .btn{margin-top:0}
.search input{width:200px}
.saved-hint{color:var(--won);font-size:13px;margin-left:10px}

/* Activities & notes */
.activity-list,.note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.activity-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;
  background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 11px}
.activity-list li.done .asubj{text-decoration:line-through;color:var(--muted)}
.chk{display:flex;align-items:center;gap:8px;margin:0;flex:1}
.chk input{width:auto;margin:0}
.atype{font-size:10px;text-transform:uppercase;background:var(--ink-3);padding:2px 6px;border-radius:5px;color:var(--muted)}
.t-call{color:#7fc7ff}.t-email{color:#ffd27f}.t-meeting{color:#c9a3ff}
.asubj{color:var(--text)}
.adue{color:var(--muted);font-size:12px;white-space:nowrap}
.note-list li{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.note-body{white-space:pre-wrap}
.note-meta{color:var(--muted);font-size:12px;margin-top:5px}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;
  justify-content:center;z-index:50;padding:16px}
.modal-backdrop[hidden]{display:none}
.modal{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;width:100%;max-width:440px;box-shadow:var(--shadow)}
.modal h2{margin:0 0 16px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}

/* Alerts */
.alert{background:#3a2422;border:1px solid var(--danger);color:#ffb3b1;padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:14px}

/* Login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:
  radial-gradient(1200px 600px at 70% -10%,rgba(0,151,177,.18),transparent),var(--bg)}
.login-card{background:var(--ink-2);border:1px solid var(--line);border-radius:16px;padding:30px;
  width:100%;max-width:360px;box-shadow:var(--shadow);margin:16px}
.login-brand{font-size:26px;font-weight:800;text-align:center}
.login-logo{max-height:72px;max-width:220px;width:auto;object-fit:contain;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.login-sub{text-align:center;color:var(--muted);margin:4px 0 20px}

/* Pipeline-Tabs */
.pipeline-tabs{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:16px;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pipeline-tabs::-webkit-scrollbar{display:none}
.pipeline-tab{flex:0 0 auto;white-space:nowrap;padding:8px 15px;border-radius:20px;color:var(--muted);font-weight:600;font-size:14px;border:1px solid var(--line);background:var(--ink);transition:background .15s,color .15s}
.pipeline-tab:hover{background:var(--ink-2);color:var(--text)}
.view-toggle{display:inline-flex;gap:2px;margin:10px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.view-toggle .vt{padding:7px 14px;color:var(--muted);font-weight:600;font-size:13px}
.view-toggle .vt:hover{background:var(--ink-2);color:var(--text)}
.view-toggle .vt.on{background:var(--teal);color:#04201d}
.list-filters{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px}
.list-filters .lf-in{background:var(--ink);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px}
.list-filters .lf-in#lfQ{min-width:260px;flex:1;max-width:420px}
.list-table td, .list-table th{white-space:nowrap}
.list-table tr.deal-row:hover{background:var(--ink-2)}
/* Platzhalter-Buttons im Vorlagen-Editor */
.ph-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0}
.ph-bar .ph-lbl{font-size:11px;color:var(--muted);margin-right:2px}
.ph-btn{background:var(--ink-3);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:12px;cursor:pointer}
.ph-btn:hover{background:var(--teal);color:#04201d;border-color:var(--teal)}
.pipeline-tab.active{background:var(--teal);color:#04201d;border-color:transparent}
/* Tabs sind klickbar UND per Drag sortierbar */
.pipeline-tab[data-pipe-id]{cursor:grab}
.pipeline-tab[data-pipe-id]:active{cursor:grabbing}
.pipeline-tab.sortable-ghost{opacity:.35}
.pipeline-tab.sortable-chosen{box-shadow:0 0 0 2px var(--teal)}
/* „Pipelines bearbeiten"-Button am Ende der Tab-Leiste (nicht ziehbar) */
.pt-edit{cursor:pointer;border-style:dashed;color:var(--teal);border-color:var(--teal);background:transparent}
.pt-edit:hover{background:var(--teal);color:#04201d}

/* Rollen-Abschnitte (Deal-Detail) */
.role-card{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:12px}
.role-card h3{margin:0 0 10px;font-size:14px;color:var(--teal);display:flex;align-items:center;gap:8px}
.role-card .contact-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:13px}
.contact-links a{display:inline-flex;align-items:center;gap:4px;background:var(--ink-3);
  padding:4px 9px;border-radius:6px;color:var(--text)}
.contact-links a.wa{color:#5bd96a}.contact-links a.mail{color:#ffd27f}.contact-links a.tel{color:#7fc7ff}
.role-empty{color:var(--muted);font-size:13px;font-style:italic}

/* Badges (Rollen / Mitwirkung) */
.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:700;
  background:var(--ink-3);color:var(--muted)}
.badge.kunde{background:#1d3a2e;color:#7fe0a8}
.badge.tippgeber{background:#3a341d;color:#ffd27f}
.badge.finanzierer{background:#1d2f3a;color:#7fc7ff}
.badge.bankberater{background:#1d2f3a;color:#9fd5ff}
.badge.bautraeger_ap{background:#33223a;color:#d9a3ff}
.badge.aftersales{background:#3a2422;color:#ffb3a1}

/* Foto / Avatar */
.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--ink-3);vertical-align:middle}
.avatar-lg{width:84px;height:84px;border-radius:14px;object-fit:cover;border:1px solid var(--line);background:var(--ink-3)}
.avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}

/* Dokumente */
.doc-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.doc-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;
  background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 12px}
.doc-list .doc-name{display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis}
.doc-audio{display:block;height:34px;max-width:280px;margin:5px 0 2px}
.mail-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.mail-att{display:inline-flex;align-items:center;gap:4px;background:var(--ink-3);border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:2px 4px 2px 8px;font-size:12px}
.mail-att>a{color:var(--teal);text-decoration:none}
.mail-att>a:hover{text-decoration:underline}
.mail-att-dl{font-size:13px;padding:0 4px;border-left:1px solid rgba(255,255,255,.12)}
.doc-kind{font-size:10px;text-transform:uppercase;background:var(--teal);color:#04201d;padding:2px 6px;border-radius:5px;font-weight:700}
.doc-kind.dokument{background:var(--ink-3);color:var(--muted)}
.doc-kind.foto{background:#33223a;color:#d9a3ff}

/* Kommunikations-Timeline */
.timeline{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.timeline li{background:var(--ink);border:1px solid var(--line);border-left:3px solid var(--line);
  border-radius:8px;padding:10px 12px}
.timeline li.c-whatsapp,.timeline li.c-whatsapp_group{border-left-color:#5bd96a}
.timeline li.c-email{border-left-color:#ffd27f}
.timeline li.c-call{border-left-color:#7fc7ff}
.timeline li.c-meeting{border-left-color:#c9a3ff}
.tl-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:4px}
.tl-chan{font-weight:700;text-transform:uppercase;font-size:10px}
.tl-dir{font-size:10px;padding:1px 6px;border-radius:5px;background:var(--ink-3)}
.tl-body{white-space:pre-wrap;font-size:14px}
.tl-subj{font-weight:600}
/* Kommunikations-Timeline: durchgehende Linie + Zeit-Abstände GANZ LINKS,
   neueste Nachricht oben, aufklappbare Mails */
.commtl{position:relative;list-style:none;margin:12px 0 0;padding:0}
.commtl::before{content:"";position:absolute;left:118px;top:6px;bottom:6px;width:2px;
  background:var(--line);border-radius:2px}
.commtl > li:not(.tl-gap){position:relative;margin-left:140px}
.commtl > li:not(.tl-gap)::before{content:"";position:absolute;left:-28px;top:18px;
  width:13px;height:13px;border-radius:50%;background:var(--ink);border:2px solid var(--muted);
  box-shadow:0 0 0 4px var(--ink);z-index:1}
.commtl > li.c-whatsapp::before,.commtl > li.c-whatsapp_group::before{border-color:#5bd96a}
.commtl > li.c-email::before{border-color:#ffd27f}
.commtl > li.c-call::before{border-color:#7fc7ff}
.commtl > li.c-meeting::before{border-color:#c9a3ff}
/* Zeit-Abstand als Label in der linken Spalte, an der Linie ausgerichtet */
.tl-gap{background:none !important;border:none !important;padding:0 !important;margin:4px 0;display:block}
.tl-gap span{display:inline-block;width:118px;box-sizing:border-box;text-align:right;padding-right:16px;
  font-size:11px;color:var(--muted);white-space:nowrap;line-height:1.2}
.tl-body.clamp{max-height:120px;overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.tl-body.clamp.open{max-height:none;-webkit-mask-image:none;mask-image:none}
.tl-more{background:none;border:none;color:var(--teal);font-size:12px;cursor:pointer;padding:4px 0;font-weight:600}
.tl-more:hover{text-decoration:underline}

/* Mitwirkung-Liste */
.partic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.partic-list li{display:flex;align-items:center;gap:10px;background:var(--ink);
  border:1px solid var(--line);border-radius:8px;padding:9px 12px}
.partic-list .pl-title{flex:1}
.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}
.section-head h2{margin:0}
.full-width{grid-column:1 / -1}

/* Key-Value-Zeilen (Objekt, Kontakt-Stammdaten) */
.kv{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px;border-bottom:1px solid var(--line)}
.kv span{color:var(--muted)}

/* Ghost-Button (Entfernen/Löschen) + Aufklapp-Formular */
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}
.btn-ghost:hover{color:#ffb3a1;border-color:#ffb3a1}
.mini-form{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.mini-form>summary{cursor:pointer;color:var(--teal);font-size:13px;font-weight:600;list-style:none}
.mini-form[open]>summary{margin-bottom:10px}

/* Kunden-Dubletten-Abgleich (Deal-Modal) */
.cust-match{background:#3a3322;border:1px solid #C9912F;border-radius:9px;padding:10px 12px;margin-bottom:12px}
.match-head{color:#f1c66b;font-size:13px;font-weight:600;margin-bottom:8px}
.match-card{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 10px;margin-bottom:8px}
.match-name{font-size:14px;font-weight:600;margin-bottom:6px}
.match-deals{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}
.match-deals li{display:flex;justify-content:space-between;gap:10px;font-size:12px;align-items:baseline}
.md-obj{color:var(--text)}
.md-meta{color:var(--muted);white-space:nowrap}
.match-deals-empty{color:var(--muted);font-size:12px;font-style:italic;margin-bottom:8px}
.match-linked{color:var(--won);font-size:13px;font-weight:600}
.match-why{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px;background:var(--ink-3);color:var(--muted);margin-left:6px}
.match-why.strong{background:#5a2222;color:#ff9b9b}
.match-lost{background:#2a2418;border:1px solid #5a4a1f;color:#e8c878;border-radius:7px;padding:6px 9px;font-size:12px;margin:2px 0 8px}

/* ── Gewonnen/Verloren-Dialoge + Feier-Animation ────────────────────────── */
.win-modal{text-align:center;position:relative}
.modal-x{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--muted);
  font-size:20px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:8px}
.modal-x:hover{color:var(--text);background:rgba(255,255,255,.06)}
.btn-abbruch{display:block;margin:14px auto 0;background:none;border:none;color:var(--muted);
  font-size:12px;cursor:pointer;text-decoration:underline;padding:4px}
.btn-abbruch:hover{color:var(--text)}
.modal .big{font-size:48px;line-height:1;margin-bottom:6px;text-align:center}
.win-modal h2{margin:2px 0 4px}
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 14px}
.reason{border:1px solid var(--line);background:var(--ink-2);border-radius:9px;padding:9px 12px;font-size:13px;cursor:pointer;user-select:none}
.reason:hover{border-color:var(--muted)}
.reason.sel{border-color:var(--danger);background:#3a2222;color:#ffb3b3}
#lostModal .modal,#winModal .modal{max-width:460px}
/* Termin-Nachbereitung Pop-up */
#mfModal .modal{max-width:480px;text-align:left}
.mf-modal .big,.mf-modal h2,.mf-modal #mfSub{text-align:center}
.mf-modal h2{margin:2px 0 4px}
.mf-modal #mfSub{margin-bottom:4px}
.mf-deallink{display:block;text-align:center;color:var(--teal);text-decoration:none;font-size:13px;margin-bottom:10px}
.mf-deallink:hover{text-decoration:underline}
.mf-deallink[hidden]{display:none}
.mf-modal label{display:block;font-size:13px;font-weight:600;margin-top:10px}
.mf-modal textarea,.mf-modal input{width:100%;margin-top:5px}
.mf-alts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
/* Abschluss-Art (Pflicht) im Gewonnen-Dialog */
.win-branche{display:block;text-align:left;margin:6px 0 14px;font-size:13px;font-weight:600}
.win-branche select{width:100%;margin-top:5px}
.win-branche .req{color:var(--danger)}
.btn.is-disabled{opacity:.5;cursor:not-allowed}
.pill-warn{background:#5a2b2b !important;color:#ffb3b3 !important}

.celebrate{position:fixed;inset:0;z-index:120;pointer-events:none;overflow:hidden}
.cel-emoji{position:absolute;top:-8%;animation:cel-fall 3.4s linear forwards}
@keyframes cel-fall{to{transform:translateY(112vh) rotate(360deg);opacity:.9}}
.cel-confetti{position:absolute;top:-5%;width:9px;height:14px;border-radius:2px;animation:cel-fall 3.2s linear forwards}
.cel-spark{position:absolute;width:7px;height:7px;border-radius:50%;animation:cel-spark .9s ease-out forwards}
@keyframes cel-spark{0%{transform:translate(0,0);opacity:1}100%{transform:translate(var(--dx),var(--dy));opacity:0}}
/* Provisions-Aufteilung im Deal (einklappbar) */
.prov-details>summary{list-style:none;cursor:pointer}
.prov-details>summary::-webkit-details-marker{display:none}
.prov-toggle{font-size:11px;color:var(--muted);font-weight:600}
.prov-details[open] .prov-toggle{color:var(--teal)}
.prov-details:not([open]) .prov-toggle::before{content:"▸ "}
.prov-details[open] .prov-toggle::before{content:"▾ "}
.prov-split{margin:4px 0 0 29px;border-left:2px solid var(--line);padding-left:13px;display:flex;flex-direction:column;gap:5px}
.prov-split .ln{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.prov-split .ln>span:first-child{color:var(--muted)}
.prov-split .eur{font-variant-numeric:tabular-nums;white-space:nowrap}
.prov-split .eur.vt{color:#7fd4a0}.prov-split .eur.tl{color:#c4a3ff}.prov-split .eur.me{color:var(--teal)}
.stufe-chip{display:inline-flex;align-items:center;gap:8px;background:var(--ink-2);border:1px solid var(--line);border-radius:7px;padding:3px 10px;font-size:12px;margin:8px 0 0 29px}
.stufe-chip .sync{color:var(--teal);font-size:11px}
.chk-line{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13px}
.chk-line input{width:auto;margin:0}
.prov-form .note{font-size:11px;color:var(--teal);margin:-4px 0 4px}
.prov-form .note.muted{color:var(--muted)}
.prov-form .live{background:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px;margin:6px 0;display:flex;flex-direction:column;gap:5px}
.prov-form .live .ln{display:flex;justify-content:space-between;font-size:13px}
.prov-form .live .eur{font-variant-numeric:tabular-nums}
.prov-form .live .eur.vt{color:#7fd4a0}.prov-form .live .eur.tl{color:#c4a3ff}.prov-form .live .eur.me{color:var(--teal)}
.lr-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.lr-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:14px}

/* Board-Feinschliff */
.ch-title{display:flex;align-items:center;gap:8px;font-size:14px}
.ch-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.column-sum{padding:0 14px 8px;color:var(--muted);font-size:12px;font-weight:600;margin-top:-4px}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.owner-chip{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  border-radius:50%;background:var(--teal-deep);color:#cdfff7;font-size:11px;font-weight:700;flex:0 0 auto}
.deal-card.is-won{border-left:3px solid var(--won)}
.deal-card.is-lost{border-left:3px solid var(--danger)}

/* Dashboard */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.stat-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.stat-card.stat-won{border-color:var(--won);background:linear-gradient(180deg,rgba(46,158,91,.12),var(--ink-2))}
.stat-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.stat-num{font-size:30px;font-weight:800;margin:6px 0 2px;color:var(--text)}
.stat-card.stat-won .stat-num{color:var(--won)}
.stat-sub{color:var(--muted);font-size:13px}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}

.pl-stats{display:flex;flex-direction:column;gap:14px}
.pl-row{display:block;padding:4px 0}
.pl-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.pl-row-head strong{color:var(--text);font-size:15px}
.pl-bar{height:10px;background:var(--ink);border-radius:6px;overflow:hidden}
.pl-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-deep));border-radius:6px;min-width:3px}
.pl-row-foot{display:flex;justify-content:space-between;margin-top:5px;font-size:13px}
.pl-val{color:var(--teal);font-weight:600}

.lb-table td{vertical-align:middle}
.lb-rank{font-size:18px;text-align:center;width:42px;color:var(--muted);font-weight:700}
.lb-name{font-weight:600;margin-bottom:5px}
.lb-bar{height:6px;background:var(--ink);border-radius:4px;overflow:hidden;max-width:220px}
.lb-bar-fill{height:100%;background:linear-gradient(90deg,var(--won),#1d6b3e);border-radius:4px;min-width:2px}
.lb-rev{color:var(--won);font-weight:700;white-space:nowrap}
.lb-top td{background:rgba(46,158,91,.08)}
.lb-person{display:flex;align-items:center;gap:10px}
.lb-person .avatar{width:34px;height:34px}
.lb-person .lb-name a{color:var(--text);text-decoration:none}
.lb-person .lb-name a:hover{text-decoration:underline}
.period-tabs{display:flex;gap:4px;flex-wrap:wrap}
.period-tab{padding:4px 10px;border-radius:7px;font-size:12px;color:var(--muted);text-decoration:none;border:1px solid var(--line)}
.period-tab:hover{color:var(--text)}
.period-tab.active{background:var(--teal);color:#04201d;border-color:transparent;font-weight:700}
.lb-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.lb-filters .period-tabs{align-items:center}
/* Dashboard: Filter, Donuts, Trend */
.dash-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.dash-filters .period-tabs{align-items:center}
.kpi-grid{grid-template-columns:repeat(5,1fr)}
.donut-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:stretch;margin-bottom:16px}
.donut-card{display:flex;flex-direction:column}
.donut-card h2{margin-bottom:14px}
/* Breitere 2er-Karten: Donut + Legende nebeneinander (bricht auf schmal um) */
.donut-wrap{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px}
.donut-wrap .donut-legend{flex:1;min-width:200px;width:auto}
.donut{width:170px;height:170px;border-radius:50%;position:relative;flex:none}
.donut-hole{position:absolute;inset:26px;background:var(--ink-2);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.donut-total{font-size:16px;font-weight:800;color:var(--text)}
.donut-sub{font-size:11px;color:var(--muted);margin-top:2px}
.donut-legend{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px}
.donut-legend li{display:flex;align-items:center;gap:8px;font-size:12.5px}
.lg-dot{width:10px;height:10px;border-radius:3px;flex:none}
.lg-label{font-weight:600;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-pct{font-weight:700;color:var(--text)}
.lg-val{font-size:11px;white-space:nowrap}
.donut.clickable{cursor:pointer}
.donut.clickable:hover{filter:brightness(1.06)}
.lg-row{cursor:pointer;border-radius:6px;padding:2px 4px;margin:-2px -4px}
.lg-row:hover{background:var(--ink-3)}
.seg-modal{max-width:560px;width:92%;max-height:80vh;overflow:auto}
.seg-modal .lg-dot{width:12px;height:12px;display:inline-block;vertical-align:middle}
.seg-modal tbody tr:hover td{background:var(--ink-3)}
.seg-modal tfoot td{border-top:2px solid var(--line);padding-top:8px}
.stat-card.clickable{cursor:pointer;transition:border-color .12s}
.stat-card.clickable:hover{border-color:var(--teal)}
.trend-chart{display:flex;align-items:flex-end;gap:10px;height:180px;padding:8px 4px 0}
.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}
.trend-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}
.trend-bar{width:60%;max-width:44px;min-height:2px;border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,var(--teal),var(--teal-deep))}
.trend-col:hover .trend-bar{filter:brightness(1.2)}
.trend-x{font-size:11px;color:var(--muted);margin-top:6px}
@media(max-width:1100px){.donut-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
/* Objekte: Merge-Leiste + Dubletten-Markierung */
.obj-mergebar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;
  background:var(--ink-2);border:1px solid var(--teal);border-radius:10px;padding:10px 14px;margin-bottom:10px;font-size:13px}
.obj-mergebar[hidden]{display:none}
tr.obj-dup td{background:rgba(233,169,59,.07)}
tr.obj-dup td:first-child{border-left:3px solid #e8a93b}
/* Objekte: Projekt-Gruppen (aufklappbar) */
.obj-projects{display:flex;flex-direction:column;gap:10px}
.obj-project{border:1px solid var(--line);border-radius:12px;background:var(--ink-2);overflow:hidden}
.op-head{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer}
.op-head:hover{background:var(--ink-3)}
.op-chev{color:var(--teal);font-size:13px;width:14px;flex:none}
.op-title{flex:1;min-width:0}
.op-city{font-size:21px;font-weight:800;line-height:1.15}
.op-street{font-size:13px;color:var(--muted);margin-top:2px}
.op-meta{font-size:12px;color:var(--muted);white-space:nowrap;background:var(--ink);border:1px solid var(--line);border-radius:20px;padding:4px 12px}
.obj-project.open .op-head{border-bottom:1px solid var(--line)}
.op-units{padding:4px 8px 8px}
.op-units .data-table{margin:0}
/* Bestand: Dropzone + Dokumente */
.dropzone-box{border:2px dashed var(--line);border-radius:12px;padding:16px;text-align:center;margin:8px 0 14px;transition:all .12s}
.dropzone-box.over{border-color:var(--teal);background:rgba(0,151,177,.06)}
.dz-pick{color:var(--teal);cursor:pointer;text-decoration:underline}
.dz-list{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.dz-file{font-size:13px;background:var(--ink);border:1px solid var(--line);border-radius:7px;padding:5px 10px;display:flex;justify-content:space-between}
.dz-file a{color:var(--danger);cursor:pointer;margin-left:10px}
/* Unterlagen-Slots im After-Sales-Deal (Kaufvertragsentwurf, Kaufvertrag, …) */
.doc-slots{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.doc-slot{border:1px dashed var(--line);border-radius:9px;padding:7px 9px;transition:all .12s}
.doc-slot.drag-over{border-color:var(--teal);background:rgba(0,151,177,.08);border-style:solid}
.doc-slot.has-docs{border-style:solid}
.ds-head{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13px}
.ds-mark{flex:0 0 auto}
.ds-label{font-weight:600;flex:1}
.ds-hint{color:var(--teal);font-size:11px;opacity:0;transition:opacity .12s}
.doc-slot:hover .ds-hint{opacity:1}
.ds-doc{display:flex;align-items:center;gap:8px;font-size:12px;margin:5px 0 0 21px}
.ds-doc a:first-child{color:var(--text);text-decoration:none;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-doc a:first-child:hover{text-decoration:underline}
.ds-date{color:var(--muted);font-size:11px;flex:0 0 auto}
.ds-del{color:var(--muted);cursor:pointer;flex:0 0 auto}
.ds-del:hover{color:var(--danger)}

/* Calendly-Details in der Timeline: aufklappbar */
.cal-det{margin:6px 0 2px 29px;border:1px solid var(--line);border-radius:9px;background:var(--ink)}
.cal-det>summary{cursor:pointer;padding:6px 10px;font-size:12px;color:var(--teal);user-select:none;list-style:none}
.cal-det>summary::-webkit-details-marker{display:none}
.cal-det>summary::before{content:"▸ ";color:var(--muted)}
.cal-det[open]>summary::before{content:"▾ "}
.cal-det>summary:hover{background:var(--ink-2);border-radius:9px}
.cal-cancel{background:rgba(233,143,140,.14);color:#e98f8c;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;margin-left:6px}
.cal-count{background:var(--ink-3);color:var(--muted);font-size:10px;padding:1px 7px;border-radius:20px;margin-left:6px}
.cal-body{padding:4px 12px 10px;border-top:1px solid var(--line)}
.cal-kv{display:grid;grid-template-columns:150px 1fr;gap:8px;padding:3px 0;font-size:12px;align-items:start}
.cal-kv .k{color:var(--muted)}
.cal-kv a{color:var(--teal);word-break:break-all}
.cal-inv{margin-top:8px;padding-top:6px;border-top:1px dashed var(--line)}
.cal-inv-head{font-size:12px;font-weight:600;margin-bottom:3px}
.cal-acts{display:flex;gap:12px;margin-top:5px;font-size:11px}
.cal-acts a{color:var(--muted)}
.cal-acts a:hover{color:var(--teal)}

/* Workshop-Teilnahme (keine Kundenbeziehung) */
.ws-pill{background:rgba(0,151,177,.13);color:var(--teal);border:1px solid var(--teal-deep);
  font-size:11px;font-weight:700;padding:1px 8px;border-radius:20px;margin-left:6px}

/* Eigengeschaeft: Vertriebler kauft selbst */
.eigen-pill{background:rgba(233,169,59,.14);color:#e8a93b;border:1px solid #5a4a1f;
  font-size:11px;font-weight:700;padding:1px 8px;border-radius:20px;margin-left:6px}

/* Sortierbare Tabellen: Spaltenkopf anklicken */
th.sortable-th{cursor:pointer;user-select:none;position:relative;padding-right:14px}
th.sortable-th:hover{color:var(--teal)}
th.sortable-th::after{content:"⇅";position:absolute;right:3px;opacity:.25;font-size:10px}
th.sortable-th.sort-asc::after{content:"▲";opacity:.9;color:var(--teal)}
th.sortable-th.sort-desc::after{content:"▼";opacity:.9;color:var(--teal)}

/* Mehrere E-Mail-Adressen bei Kontakt und Firma */
.mail-block{margin-top:10px}
.mail-head{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:6px}
.mail-list{display:flex;flex-direction:column;gap:5px}
.mail-row{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}
.mail-addr{color:var(--text);text-decoration:none}
.mail-addr:hover{text-decoration:underline}
.mail-row.is-primary .mail-addr{font-weight:600}
.mail-label{background:var(--ink-3);color:var(--muted);font-size:11px;padding:1px 7px;border-radius:6px}
.mail-badge{background:var(--teal-deep);color:#cdfff7;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px}
.mail-warn{color:#e8a93b;font-size:11px;cursor:help}
.mail-act{color:var(--teal);cursor:pointer;font-size:11px}
.mail-del{color:var(--muted);cursor:pointer;margin-left:auto}
.mail-del:hover{color:var(--danger)}
.mail-add{margin-top:4px}
.mail-add summary{font-size:12px;color:var(--teal);cursor:pointer}

/* Bank-Historie im Deal: aktive Bank normal, abgelöste durchgestrichen */
.bank-list{display:flex;flex-direction:column;gap:9px;margin:8px 0}
/* Finanzierung als Info-Feld (statt Kästen): je Bank Summe·Zins·Rate + Gesamtzeile */
.fin-info{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
/* Ein Baustein: Kopf (Bank + Aktionen) + aufgeschlüsselte Konditionen (Label · Wert). */
.fin-bk{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--ink-2)}
.fin-bk-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fin-bname{font-weight:700;color:var(--text);line-height:1.25;overflow-wrap:anywhere}
.fin-kv{display:flex;flex-direction:column;gap:2px;margin-top:5px}
.fin-krow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px}
.fin-k{color:var(--muted);flex:0 1 auto}
.fin-v{color:var(--text);font-weight:600;text-align:right;white-space:nowrap}
.fin-bk.fin-off{opacity:.6}
.fin-bk.fin-off .fin-bname,.fin-bk.fin-off .fin-v{text-decoration:line-through}
.fin-acts{display:inline-flex;gap:9px;flex:0 0 auto}
.fin-acts a{color:var(--muted);cursor:pointer;font-size:12px}
.fin-acts a:hover{color:var(--text)}
.fin-sum2{background:rgba(0,151,177,.06);border-color:var(--teal)}
.fin-sum2 .fin-bname{color:var(--teal)}
.fin-offers{display:flex;flex-direction:column;gap:3px;margin:3px 0}
.fin-off-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fin-off-row.is-active{padding:2px 6px;border-radius:6px;background:rgba(20,160,120,.08)}
.fin-off-link{font-size:12px;color:var(--muted);text-decoration:none}
.fin-off-link:hover{color:var(--teal);text-decoration:underline}
.fin-off-badge{font-size:11px;color:var(--teal);font-weight:600;white-space:nowrap}
.fin-off-btn{font-size:11px;color:var(--teal);background:none;border:1px solid var(--teal);
  border-radius:6px;padding:1px 8px;cursor:pointer;white-space:nowrap}
.fin-off-btn:hover{background:var(--teal);color:#fff}
.fin-off-hint{font-size:11px;margin-left:6px}
.fin-add summary{cursor:pointer;color:var(--teal);font-size:12.5px;margin-top:2px}

/* In-App-Dokumentenansicht (Overlay mit Zurück-Button, iPhone-tauglich) */
body.dv-open{overflow:hidden}
.doc-viewer{position:fixed;inset:0;z-index:1000;background:var(--bg,#fff);display:flex;flex-direction:column}
.doc-viewer[hidden]{display:none}   /* sonst überschreibt display:flex das hidden-Attribut → Overlay klebt über jeder Seite */
.dv-bar{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px;
  border-bottom:1px solid var(--border,#e5e7eb);background:var(--card,#fff);flex:0 0 auto}
.dv-back{font-size:15px;font-weight:600;color:var(--teal);background:none;border:none;cursor:pointer;
  padding:6px 8px;margin:-6px -2px;border-radius:8px}
.dv-back:hover{background:rgba(20,160,120,.08)}
.dv-title{flex:1 1 auto;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-acts{flex:0 0 auto;display:flex;gap:4px}
.dv-acts a{color:#cfd6dd;text-decoration:none;font-size:17px;padding:4px 8px;border-radius:8px}
.dv-acts a:hover{background:rgba(255,255,255,.12);color:#fff}
.dv-body{flex:1 1 auto;min-height:0;background:#525659;overflow:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px}
.dv-body .dv-frame{align-self:stretch;flex:1 1 auto;min-height:0;width:100%;height:100%;border:0;display:block;background:#fff}
.dv-page{max-width:100%;height:auto;box-shadow:0 1px 6px rgba(0,0,0,.4);background:#fff;border-radius:2px}
.dv-img{max-width:100%;height:auto;box-shadow:0 1px 6px rgba(0,0,0,.4);background:#fff;border-radius:2px}
.dv-loading{color:#fff;opacity:.85;font-size:14px;margin:auto;padding:24px}
.dv-fallback{color:#fff;text-align:center;font-size:14px;margin:auto;padding:24px;line-height:1.6}
.dv-fallback a{color:#8fe3c8;font-weight:600}
.dv-diag{color:#9aa4ad;font-size:11px}
.bank-item{border:1px solid var(--line);border-radius:9px;padding:8px 10px}
.bank-item.is-off{opacity:.6}
.bank-item.is-off .bk-name{text-decoration:line-through}
.bk-head{display:flex;align-items:center;gap:8px}
.bk-name{font-weight:600;flex:1;min-width:0}
.bk-badge{background:var(--teal-deep);color:#cdfff7;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;flex:0 0 auto}
.bk-act{color:var(--teal);cursor:pointer;font-size:11px;flex:0 0 auto}
.bk-del{color:var(--muted);cursor:pointer;flex:0 0 auto}
.bk-del:hover{color:var(--danger)}
.bk-reason{color:var(--muted);font-size:11px;margin-top:3px;font-style:italic}
.bk-darlehen{display:flex;align-items:center;gap:6px;margin-top:6px}
.bk-darlehen .bk-dl-ic{font-size:13px;opacity:.85}
.bk-dl-input{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:7px;
  color:var(--text);padding:5px 8px;font-size:13px}
.bk-dl-input::placeholder{color:var(--muted)}
.bk-dl-input.dl-saved{border-color:var(--won,#3fb950)}
.bk-offers{margin-top:6px;border:1px dashed var(--line);border-radius:8px;padding:6px 8px;cursor:pointer;transition:all .12s}
.bk-offers.drag-over{border-color:var(--teal);background:rgba(0,151,177,.08);border-style:solid}
.bk-off-label{font-size:12px;color:var(--muted)}

/* Beteiligte in der Onboarding-Akte */
.ob-parts{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.obp-row{display:flex;align-items:center;gap:8px;font-size:13px}
.obp-main{flex:1;min-width:0}
.obp-name{color:var(--text);text-decoration:none;font-weight:600}
.obp-name:hover{text-decoration:underline}
.obp-role{color:var(--muted);font-size:11px;margin-left:6px}
.obp-meta{display:flex;flex-direction:column;font-size:11px;color:var(--muted);text-align:right}
.obp-meta a{color:var(--muted)}
.obp-del{color:var(--muted);cursor:pointer;flex:0 0 auto}
.obp-del:hover{color:var(--danger)}

.doc-cat{font-size:13px;color:var(--teal);font-weight:700;margin:16px 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}
.best-doc{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--line)}
.best-doc .doc-name{flex:1;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.best-doc .doc-name:hover{text-decoration:underline}
.doc-assign{font-size:12px;background:var(--ink);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 4px;max-width:150px}
.best-doc .doc-del{color:var(--danger);cursor:pointer;font-weight:700}
.pill-won{background:rgba(46,158,91,.16);color:var(--won)}
.pill-lost{background:rgba(233,143,140,.16);color:#e98f8c}
.prod-badge{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px;white-space:nowrap}
.prod-kapi{background:rgba(0,151,177,.18);color:#0097b1}
.prod-fin{background:rgba(59,130,246,.18);color:#6ea8fe}
.prod-pv{background:rgba(234,179,8,.18);color:#eab308}
/* E-Mail-Composer (aufgewertet) */
/* Als flex-Spalte mit begrenzter Höhe: Kopf fix, Formular scrollt, Fuß bleibt sichtbar */
.mail-composer{max-width:640px;width:94%;padding:0;overflow:hidden;
  display:flex;flex-direction:column;max-height:calc(100vh - 32px)}
.mc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;flex:0 0 auto;
  background:linear-gradient(180deg,rgba(0,151,177,.12),transparent);border-bottom:1px solid var(--line)}
.mc-head h2{margin:0;font-size:17px}
.mc-x{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px}
.mc-x:hover{background:var(--ink-3);color:var(--text)}
.mail-composer form{padding:16px 20px;display:flex;flex-direction:column;gap:10px;
  overflow-y:auto;min-height:0;flex:1 1 auto}
.mc-row{display:flex;align-items:center;gap:10px;font-size:13px}
.mc-lbl{color:var(--muted);min-width:60px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.mc-val{font-weight:600}
.mc-tpl{flex:1;background:var(--ink);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:6px 8px}
.mc-subject{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:8px;color:var(--text);
  padding:10px 12px;font-size:15px;font-weight:600}
.mc-toolbar{display:flex;gap:6px;flex-wrap:wrap}
.mc-stagetpl{background:rgba(0,151,177,.10);border:1px solid rgba(0,151,177,.4);border-radius:10px;
  padding:8px 12px;font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mc-stagetpl-btn{background:var(--teal);color:#04201d;border:none;border-radius:16px;padding:5px 14px;
  font-size:12px;font-weight:600;cursor:pointer}
.mc-stagetpl-btn:hover{filter:brightness(1.06)}
/* WhatsApp-Vorschau im CRM-WhatsApp-Popup */
.wa-prev-wrap{margin:10px 0 4px}
.wa-prev-lab{font-size:11.5px;color:var(--muted);margin-bottom:5px}
.wa-prev-phone{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0b141a}
.wa-prev-head{display:flex;align-items:center;gap:9px;padding:8px 12px;background:#1f2c33;color:#e9edef}
.wa-prev-av{width:30px;height:30px;border-radius:50%;background:#0097b1;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:0 0 30px}
.wa-prev-nm{font-size:13px;font-weight:600;line-height:1.1}
.wa-prev-sub{font-size:10.5px;color:#8aa0ad}
.wa-prev-body{padding:14px 12px;min-height:70px;
  background:#0b141a url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><circle cx='20' cy='20' r='1.2' fill='%23122029'/></svg>")}
.wa-prev-bubble{position:relative;background:#005c4b;color:#e9edef;padding:8px 12px 18px;border-radius:8px;
  max-width:82%;margin-left:auto;font-size:13.5px;line-height:1.4;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 1px rgba(0,0,0,.25)}
.wa-prev-time{position:absolute;right:9px;bottom:4px;font-size:9.5px;color:rgba(233,237,239,.6)}
/* 24-h-Fenster-zu-Hilfe im WhatsApp-Popup */
.wa-closed{border:1px solid #6b5a2a;background:rgba(224,160,79,.08);border-radius:10px;padding:10px 12px;font-size:12.5px}
.wa-closed-h{color:#e0a04f;font-weight:600;margin-bottom:8px}
.wa-closed-opt{margin-top:8px}
.wa-start-row{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap;align-items:center}
.wa-start-row input,.wa-start-row select{flex:1;min-width:150px;background:var(--ink);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:7px 9px;font-size:12px}
/* Kampagnen-Foto-Kachel (Meta Ads) */
.campaign-tile{cursor:pointer;position:relative}
.campaign-tile .camp-thumb{margin-top:6px;width:100%;max-height:70px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.campaign-tile:hover{border-color:var(--teal)}
/* Vollbild-Mail-Vorschau (Handy: „alles sehen") */
.mc-prev-overlay{position:fixed;inset:0;z-index:2000;background:#0b1319;display:flex;flex-direction:column}
.mc-prev-overlay[hidden]{display:none!important}   /* hidden-Attribut muss display:flex schlagen */
.mc-prev-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#0f1a22;border-bottom:1px solid var(--line);color:#eaf6f9}
.mc-prev-title{font-weight:700}
.mc-prev-x{background:var(--ink-3);color:var(--text);border:1px solid var(--line);border-radius:20px;
  padding:8px 16px;font-size:14px;cursor:pointer}
.mc-prev-x:hover{background:var(--teal);color:#04201d;border-color:var(--teal)}
#mcPrevFrame{flex:1;width:100%;border:0;background:#eceef0}
.mc-prev-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.mc-body{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:10px;color:var(--text);
  padding:12px;font-size:14px;line-height:1.55;resize:vertical;min-height:150px;font-family:inherit}
.mc-attach{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mc-attach-btn{background:var(--ink-3);border:1px solid var(--line);border-radius:8px;padding:6px 12px;
  font-size:13px;cursor:pointer;color:var(--text)}
.mc-attach-btn:hover{border-color:var(--teal)}
.mc-files{display:flex;gap:6px;flex-wrap:wrap}
.mc-file-chip{background:var(--ink);border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:12px}
.mc-sig{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;background:var(--ink-2)}
.mc-sig-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:8px}
.mc-sig-prev{transition:opacity .15s}
.mc-sig-text{white-space:pre-wrap;font-size:13px;color:#cbd3dd}
.mc-sig-img{max-width:240px;height:auto;background:#fff;border-radius:8px;padding:5px;margin-top:8px;display:block}
.mc-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);
  padding:12px 0 4px;margin-top:2px;position:sticky;bottom:0;background:var(--ink-2);z-index:2}
.mc-foot #mailResult{margin-right:auto}
.mc-track{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);flex-wrap:wrap}
/* Composer-Checkboxen (Tracking / Signatur) klein halten – sonst schiebt die
   globale Regel input{width:100%} das Label nach rechts aus dem Dialog */
.mc-track input[type=checkbox],.mc-sig-toggle input[type=checkbox]{
  width:16px;height:16px;flex:0 0 auto;margin:0;accent-color:var(--teal);cursor:pointer}
.mail-composer form{overflow-x:hidden}
/* KI-Antwortvorschläge */
.ph-ai{border-color:var(--teal);color:var(--teal)}
.mc-suggest{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--ink)}
.mc-sg-h{font-size:12px;color:var(--muted)}
.mc-sg-load{font-size:13px;color:var(--muted)}
.mc-sg-err{font-size:13px;color:#ffb3b1}
.mc-sg-card{border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;background:var(--ink-2);transition:border-color .12s}
.mc-sg-card:hover{border-color:var(--teal)}
.mc-sg-badge{font-size:10px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}
.mc-sg-txt{font-size:12.5px;color:var(--text);white-space:pre-wrap;line-height:1.5;max-height:130px;overflow:auto}
.filter-label{font-size:12px;color:var(--muted);margin-right:4px;min-width:62px;display:inline-block}
.add-toggle{margin-top:6px}
.add-toggle>summary{cursor:pointer;font-size:12px;color:var(--muted);padding:4px 0;list-style:none;user-select:none}
.add-toggle>summary::-webkit-details-marker{display:none}
.add-toggle>summary:hover{color:var(--teal)}
.add-toggle[open]>summary{color:var(--text);margin-bottom:6px}
.add-toggle .inline-form{margin-top:0}
.icon-btn{background:none;border:1px solid var(--line);color:var(--muted);border-radius:7px;cursor:pointer;font-size:14px;line-height:1;padding:5px 8px}
.icon-btn:hover{color:var(--teal);border-color:var(--teal)}
.kv-list{display:flex;flex-direction:column}
.kv-list .kv:last-child{border-bottom:none}
.kv-list .kv strong{text-align:right}
.status-pill{display:inline-block;padding:2px 11px;border-radius:20px;font-size:12px;font-weight:700}
.status-pill.s-open{background:rgba(0,151,177,.16);color:var(--teal)}
.status-pill.s-won{background:rgba(46,158,91,.20);color:var(--won)}
.status-pill.s-lost{background:rgba(192,80,77,.20);color:var(--danger)}
/* Status-Schnellbearbeitung (Dropdown in Listen) */
.status-sel{border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700;background:var(--ink-2);cursor:pointer}
.status-sel.s-open{color:var(--teal);border-color:rgba(0,151,177,.5)}
.status-sel.s-won{color:var(--won);border-color:rgba(46,158,91,.5)}
.status-sel.s-lost{color:var(--danger);border-color:rgba(192,80,77,.5)}
/* Aufgaben-Status-Flag (Pipeline-Karten + Deal-Kopf) */
.task-flag{font-size:14px;line-height:1}
.task-flag.tf-overdue{animation:tf-pulse 1.1s ease-in-out infinite}
@keyframes tf-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.dname .task-flag{font-size:20px;margin-right:6px;vertical-align:middle}
/* Deal-Detail: Topbar / Verschieben / Tabs */
.deal-topbar{margin-bottom:10px}
.deal-namerow{display:flex;align-items:center;gap:10px;margin-top:4px}
.navbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;color:var(--text);font-size:14px;flex:0 0 auto}
.navbtn:hover{background:var(--ink-2)}
.navbtn.disabled{color:var(--line);pointer-events:none}
.deal-name{margin:0;font-size:24px}
.deal-namerow .kpi{margin-left:auto;white-space:nowrap}
.deal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.move-details>summary{cursor:pointer;font-size:12px;color:var(--muted);list-style:none;user-select:none;padding:4px 0}
.move-details>summary::-webkit-details-marker{display:none}
.move-details>summary:hover{color:var(--teal)}
.move-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin-top:6px}
.move-form select{min-width:130px;padding:6px 8px}
.row-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.obj-map{display:block;margin-top:10px;height:160px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.obj-map iframe{width:100%;height:100%;border:0;pointer-events:none}
.topsearch{margin-left:14px;display:flex;gap:6px;align-items:center}
.topsearch input{background:var(--ink-2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:7px 12px;width:230px;font-size:14px}
.topsearch input:focus{outline:none;border-color:var(--teal)}
.topsearch-btn{background:var(--ink-2);border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer;font-size:14px;line-height:1}
.topsearch-btn:hover{border-color:var(--teal)}
@media(max-width:760px){.topsearch{display:none}}
/* Suche im Menü (Sidebar): nur Handy – Desktop hat die Topbar-Suche */
.sb-search{display:none}
.sb-search input{flex:1;min-width:0;background:var(--ink-2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:9px 12px;font-size:15px}
.sb-search input:focus{outline:none;border-color:var(--teal)}
.sb-search button{background:var(--ink-2);border:1px solid var(--line);border-radius:9px;padding:9px 12px;cursor:pointer;font-size:15px;line-height:1}
@media(max-width:760px){.sb-search{display:flex;gap:6px;align-items:center;margin:4px 10px 12px}}
.deal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}
.deal-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;font-size:15px;padding:9px 16px;cursor:pointer}
.deal-tab:hover{color:var(--text)}
.deal-tab.active{color:var(--teal);border-bottom-color:var(--teal)}
.mail-tpl{border:1px solid var(--line);border-radius:9px;padding:10px;margin:8px 0;background:var(--ink-2)}
.mail-tpl-head{display:flex;align-items:center;gap:8px}
.mail-tpl-head .ch-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.mail-active{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}
/* Stage-Vorlagen: verschachtelte Stage-Ebene + Empfänger-Pills */
.stage-mail{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}
.stage-mail>summary{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600}
.stage-mail>summary .ch-dot{width:10px;height:10px}
.tpl-badge{font-size:11px;font-weight:700;color:#04201d;background:var(--teal);border-radius:20px;padding:1px 9px}
.role-pill{font-size:12px;font-weight:700;border-radius:20px;padding:2px 11px;color:#fff}
.role-kunde{background:#3b82f6}
.role-tippgeber{background:#8b5cf6}
.role-finanzierer{background:#0ea5a4}
.role-bautraeger{background:#f59e0b;color:#1a1205}
.role-owner{background:#64748b}
.reminder-block{margin-top:10px;border-top:1px dashed var(--line)}
.reminder-block>summary{color:var(--muted);font-weight:600}
.rem-days{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}
.rem-days input{width:56px}
/* Tracking-Badges in der Kommunikations-Historie */
.track-badge{font-size:11px;font-weight:600;border-radius:20px;padding:1px 8px;margin-left:6px;white-space:nowrap}
.track-open{background:rgba(16,185,129,.16);color:#10b981}
.track-none{background:var(--ink-3);color:var(--muted)}
.track-click{background:rgba(59,130,246,.16);color:#3b82f6}

/* ════ Deal-Detail (Pipedrive-Stil) ═════════════════════════════════════ */
/* Kopf */
.dtop{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.dtop .back-ico{color:var(--muted);font-size:18px;text-decoration:none}
.dtop .dname{font-size:25px;font-weight:700;margin:0}
.dtop-right{margin-left:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dtop-right .dval{color:var(--muted);font-size:14px;margin-right:4px;white-space:nowrap}
.btn-won{background:var(--won);border-color:var(--won);color:#fff}
.btn-lost{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-won.btn-o{background:transparent;color:var(--won)}
.btn-lost.btn-o{background:transparent;color:var(--danger)}

/* Stufenbalken (Chevrons) */
.stages{display:flex;gap:3px;margin:0 0 8px;overflow-x:auto}
.stages .stage{flex:1 1 0;min-width:74px;position:relative;padding:7px 8px 7px 20px;cursor:pointer;
  background:var(--ink);font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%)}
.stages .stage:hover{filter:brightness(1.25)}
.stages .stage:first-child{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);padding-left:12px;border-radius:7px 0 0 7px}
.stages .stage.done{background:var(--teal-deep);color:#dff5f2}
.stages .stage.active{background:var(--teal);color:#06201e;font-weight:700}
.stages.status-lost .stage.active{background:var(--danger);color:#fff}
.stages.status-won .stage{background:var(--won);color:#eafaef}
.crumb{font-size:13px;margin-bottom:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.crumb a{color:var(--teal)}.crumb span{color:var(--muted)}
.move-inline{display:inline}
.move-inline>summary{cursor:pointer;color:var(--muted);font-size:12px;list-style:none}
.move-inline>summary::-webkit-details-marker{display:none}
.move-inline>summary:hover{color:var(--teal)}

/* Zwei Spalten */
.deal-layout{display:grid;grid-template-columns:330px 1fr;gap:26px;align-items:start}
.deal-feed{min-width:0}   /* Grid-Kind muss schrumpfen dürfen, sonst Überlauf am Handy */

/* Linke Spalte: flache Icon-Liste, KEINE Boxen */
.sec-h{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:700;font-size:15px;margin:0 0 8px}
.sec-h .chev{color:var(--muted);font-size:13px}
.sec-h .sum-edit{margin-left:auto}
.flist{display:flex;flex-direction:column}
.fitem{display:flex;flex-direction:column}
.frow{display:flex;align-items:flex-start;gap:11px;padding:6px 0;min-height:32px}
.frow .ico{width:18px;text-align:center;color:var(--muted);flex:0 0 auto;font-size:15px;line-height:1.5}
.frow .ico.av-ico{width:34px;height:34px;line-height:0;display:inline-flex;align-items:center;justify-content:center}
.frow .val{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.frow .val .role{font-size:11px;color:var(--muted);line-height:1.2}
.frow .val .nm{color:var(--text)}
.frow .val a.nm{color:var(--teal)}
.frow .actlink{color:var(--teal);cursor:pointer}
.frow .pill{align-self:flex-start;display:inline-block;background:#5a4a1f;color:#e8a93b;font-size:11px;font-weight:700;padding:2px 9px;border-radius:5px;text-transform:uppercase}
/* Name + Schnellaktionen in einer Zeile, einheitliche SVG-Icons */
.nm-row{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}
.nm-row>.nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.doc-panel{margin-top:6px}
/* Unterlagen: Checklisten (links) + Dokumente (rechts) */
.doc-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:20px;align-items:start;min-width:0}
.doc-checklists{display:flex;flex-direction:column;gap:16px;position:sticky;top:12px}
.cl-block{border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:var(--ink-2)}
.cl-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.cl-count{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted);background:var(--ink);border-radius:20px;padding:1px 9px}
.cl-count.full{color:#06201e;background:var(--teal)}
.cl-bar{height:5px;background:var(--ink);border-radius:4px;overflow:hidden;margin:8px 0 10px}
.cl-bar i{display:block;height:100%;background:var(--teal);border-radius:4px;transition:width .3s}
.cl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.cl-item{display:flex;gap:9px;padding:6px 4px;border-radius:7px}
.cl-item.done{background:rgba(0,151,177,.06)}
.cl-check{flex:0 0 18px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:transparent;margin-top:1px}
.cl-item.done .cl-check{background:var(--teal);border-color:var(--teal);color:#06201e;font-weight:800}
.cl-main{min-width:0;flex:1}
.cl-title{font-size:12.5px;font-weight:600;line-height:1.3}
.cl-item:not(.done) .cl-title{color:var(--muted);font-weight:500}
.cl-hint{display:block;font-size:11px;color:var(--muted);font-weight:400}
.cl-doc{display:flex;align-items:baseline;gap:6px;margin-top:3px;flex-wrap:wrap}
.cl-doc a.cl-doc-name{font-size:11.5px;color:var(--teal);text-decoration:none;white-space:normal;overflow-wrap:anywhere;flex:1 1 auto;min-width:0}
.cl-doc-src{flex:0 0 auto;font-size:10.5px;color:var(--muted);white-space:nowrap}
.cl-doc-x{flex:0 0 auto;color:var(--muted);cursor:pointer;font-size:11px}
.cl-doc-x:hover{color:var(--danger)}
.cl-doc-sign{flex:0 0 auto;font-size:10.5px;color:var(--teal);background:none;
  border:1px solid var(--teal);border-radius:6px;padding:0 6px;cursor:pointer;white-space:nowrap}
.cl-doc-sign:hover{background:var(--teal);color:#fff}
.doc-unassigned-h{color:#e8a93b;border-color:rgba(233,169,59,.4)}
.doc-slot-sel{margin:0;padding:4px 8px;font-size:12px;max-width:210px}
@media(max-width:900px){.doc-layout{grid-template-columns:1fr}.doc-checklists{position:static}
  .doc-checklists,.doc-main{min-width:0}
  .doc-add input[type=file]{max-width:100%;width:100%}
  .doc-list li{flex-wrap:wrap}
  .doc-slot-sel{max-width:100%}
  .doc-name{min-width:0}}
/* Gruppen-Überschrift im Unterlagen-Reiter (Angebote/Bonität/Sonstige) */
.doc-group-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:14px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.doc-group-h:first-of-type{margin-top:4px}
.doc-linkadd{margin-top:-4px}
.doc-linkadd input[type=url]{flex:1;min-width:180px}
.doc-ic.doc-mt{color:#f5a623}
.doc-pw{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}
.doc-pw code{background:var(--ink-3);padding:1px 6px;border-radius:5px;color:var(--text);font-size:11px}
.doc-pw a{cursor:pointer}
.doc-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;margin-bottom:12px;background:var(--ink-3)}
.doc-add input,.doc-add select{width:auto;margin:0}
.doc-add input[type=file]{max-width:220px}
.doc-add .doc-src{flex:1;min-width:160px}
.doc-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.doc-toolbar .spacer{flex:1}
.doc-selall{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
/* Checkboxen klein halten (globales input{width:100%} überschreiben) */
.doc-selall input,.doc-chk{width:16px;height:16px;flex:0 0 auto;margin:0;accent-color:var(--teal);cursor:pointer}
.doc-list{list-style:none;margin:0;padding:0}
.doc-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--card)}
.doc-item .doc-ic{font-size:15px;flex:0 0 auto}
.doc-ic.doc-wa{color:#25D366}.doc-ic.doc-mail{color:var(--teal)}.doc-ic.doc-up{color:var(--muted)}
.doc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.doc-name{font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.doc-src{font-weight:600;color:var(--text);white-space:nowrap}
.neu-badge{display:inline-block;background:var(--teal);color:#04222a;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:1px 5px;border-radius:5px;vertical-align:middle;text-transform:uppercase}
.mtnew-list{list-style:none;margin:8px 0 12px;padding:0;text-align:left;max-height:320px;overflow:auto}
.mtnew-list li{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:6px 2px;border-bottom:1px solid var(--line)}
.mtnew-name{font-size:13px}
.tsig{margin-top:6px}
.tsig-img{max-width:300px;width:auto;height:auto;display:block;border-radius:6px;opacity:.92}
.acc-badge{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;vertical-align:middle}
.acc-blocked{background:#5a1e1e;color:#ffd9d9}
.acc-req{background:#4a3a12;color:#ffe6ad}
.doc-link-blocked .doc-name{opacity:.85}
.mt-transfer{max-width:520px}
.mt-transfer-sub{font-size:13.5px;color:var(--text);margin:6px 0 10px}
.mt-fehlt-list{list-style:none;margin:0 0 12px;padding:0;max-height:40vh;overflow:auto;display:flex;flex-direction:column;gap:6px}
.mt-fehlt-list li{font-size:13px;color:var(--text);padding:7px 10px;background:var(--ink-3);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:7px}
.mt-sig{color:var(--teal);font-size:11px}
.dup-box{max-width:560px}
.dup-groups{display:flex;flex-direction:column;gap:14px;max-height:56vh;overflow:auto}
.dup-group{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--ink-3)}
.dup-g-title{font-weight:700;font-size:13.5px;color:var(--text);margin-bottom:7px}
.dup-docs{display:flex;flex-direction:column;gap:5px;margin-bottom:9px}
.dup-doc{display:flex;flex-direction:column;gap:1px}
.dup-name{font-size:13px;color:var(--teal);text-decoration:none}
.dup-meta{font-size:11px;color:var(--muted)}
.dup-ask{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text)}
.dup-same,.dup-diff{margin-top:9px;display:flex;flex-direction:column;gap:6px}
.dup-same[hidden],.dup-diff[hidden]{display:none}
.dup-opt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}
.dup-opt input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--teal)}
.dup-rename{width:100%;padding:7px 9px;border-radius:7px;border:1px solid var(--line);background:var(--ink);color:var(--text);font-size:13px}
.son-row{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--ink-3)}
.son-chk{flex:0 0 auto;width:16px;height:16px;margin:3px 0 0;accent-color:var(--teal)}
.son-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.son-name{width:100%;padding:6px 9px;border-radius:7px;border:1px solid var(--line);background:var(--ink);color:var(--text);font-size:13px}
.son-meta{font-size:11px;color:var(--muted)}
.son-meta a{color:var(--teal);text-decoration:none}
.doc-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;border:1px solid var(--line)}
.doc-badge.doc-wa{background:rgba(37,211,102,.14);color:#25D366;border-color:rgba(37,211,102,.4)}
.doc-badge.doc-mail{background:rgba(0,151,177,.14);color:var(--teal);border-color:rgba(0,151,177,.4)}
.doc-badge.doc-up{background:var(--ink-3);color:var(--muted)}
.doc-acts{display:flex;align-items:center;gap:10px;flex:0 0 auto;font-size:13px}
.doc-acts a{cursor:pointer;color:var(--muted);text-decoration:none}
.doc-acts .doc-open{color:var(--teal);font-weight:600}
.doc-acts .doc-del:hover{color:#e98f8c}
/* Lupe = Auslöser der Schnellansicht; Download-Pfeil größer */
.doc-acts .doc-eye{font-size:18px;cursor:zoom-in}
.doc-acts .doc-eye:hover{color:var(--teal)}
.doc-acts .doc-dl{font-size:20px;color:var(--teal)}
.doc-acts .doc-dl:hover{color:#fff}
.doc-item.dp-active{border-color:var(--teal)}
/* Schnellansicht (Hover-Vorschau mit Blättern) – doppelt so groß */
.doc-preview{position:fixed;z-index:1000;width:760px;max-height:88vh;display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.doc-preview .dp-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--ink-3)}
.dp-title{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-count{flex:0 0 auto;font-size:11px;color:var(--muted)}
.dp-nav{flex:0 0 auto;cursor:pointer;color:var(--teal);font-size:22px;line-height:1;padding:0 4px;user-select:none}
.dp-nav:hover{color:#fff}
.dp-body{flex:1;min-height:0;overflow:auto;background:#0d1116;display:flex;align-items:center;justify-content:center}
.dp-body img{max-width:100%;max-height:82vh;display:block}
.dp-body iframe{width:100%;height:80vh;border:0;background:#fff}
.dp-none{padding:34px 16px;text-align:center;color:var(--muted);font-size:13px}
.dp-none a{color:var(--teal)}
.dp-back{flex:0 0 auto;cursor:pointer;background:var(--ink-3);border:1px solid var(--line);color:var(--teal);font-weight:700;font-size:13px;border-radius:8px;padding:6px 12px}
.dp-back:hover{color:#fff}
.dp-open{flex:0 0 auto;color:var(--teal);font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap}
.dp-open:hover{color:#fff}
.doc-preview:not(.dp-sticky) .dp-back{display:none}   /* Zurück nur im Tap-/Overlay-Modus */
body.dp-modal-open::after{content:"";position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.55)}
.doc-preview.dp-sticky{left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:min(760px,94vw);max-height:90vh}
@media(max-width:760px){
  .doc-preview.dp-sticky{left:0!important;top:0!important;transform:none;width:100%;max-width:100%;max-height:100vh;height:100%;border-radius:0}
  .doc-preview.dp-sticky .dp-body img{max-height:none}
  .doc-preview.dp-sticky .dp-body iframe{height:100%}
}
/* Auswahl-Dialog (Termin: eigen/Calendly · Video: Teams/Meet) */
.choose-bd{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}
.choose-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;min-width:300px;max-width:90vw;box-shadow:var(--shadow)}
.choose-t{font-weight:700;font-size:15px;margin-bottom:14px;color:var(--text)}
.choose-opts{display:flex;flex-direction:column;gap:10px}
.choose-opts .btn{width:100%}
/* Feld-Vergleich beim Zusammenführen */
.mc-box{min-width:420px;max-width:560px}
.mc-fields{display:flex;flex-direction:column;gap:12px;max-height:56vh;overflow:auto}
.mc-field{border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.mc-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:5px}
.mc-opt{display:flex;align-items:center;gap:9px;padding:5px 4px;cursor:pointer;font-size:14px;margin:0}
.mc-opt input{width:16px;height:16px;margin:0;flex:0 0 16px;accent-color:var(--teal)}
.mc-opt span{flex:1;color:var(--text);word-break:break-word}
.mc-opt em{color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap}
.mc-opt input:checked ~ em{color:var(--teal);font-weight:700}
.mc-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.stufe-show{display:inline-flex;align-items:center;gap:8px;font-size:14px}
.stufe-show .edit-act{cursor:pointer;color:var(--teal);font-size:14px;text-decoration:none}
.klabels{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.klabel{font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:20px;background:rgba(0,151,177,.16);color:var(--teal);border:1px solid rgba(0,151,177,.4)}
/* Portal-Zugänge im Deal */
.deal-portal{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px 12px;margin-bottom:14px}
.dp-head{font-weight:600;font-size:13px;margin-bottom:2px;display:flex;align-items:center;gap:6px;color:var(--muted)}
.dp-close{margin-left:auto;cursor:pointer;color:var(--muted);font-weight:700;padding:0 4px}
.dp-close:hover{color:var(--danger)}
.ctab-portal{color:var(--teal)}
.doc-pin{font-size:11px;margin-left:2px}
.doc-links-h{color:var(--teal)}
.portal-acc{display:flex;flex-direction:column;gap:8px;margin-top:6px;width:100%}
.pa-row{background:var(--ink-3);border:1px solid var(--line);border-radius:9px;padding:8px 11px}
.pa-who{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pa-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px}
.pa-badge.ok{background:rgba(0,151,177,.16);color:var(--teal)}
.pa-badge.warn{background:rgba(233,169,59,.16);color:#e8a93b}
.pa-badge.off{background:rgba(233,143,140,.16);color:#e98f8c}
.pa-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:12.5px}
.pa-acts a{cursor:pointer;color:var(--teal);text-decoration:none}
.pa-acts a.pa-danger{color:#e98f8c}
.frow-links{display:inline-flex;align-items:center;gap:10px;margin-left:auto;flex:0 0 auto}
/* Kontakt-Symbole (Anruf/Mail/WhatsApp/Termin/Video) direkt unter dem Namen */
.frow-links-under{margin-left:0;margin-top:7px;gap:16px}
.frow-links-under a svg,.frow-links-under a{width:auto}
/* Symbole in der Lead-Visitenkarte (unter dem Namen, in der Box) */
.lvc-links{display:flex;gap:18px;margin:2px 0 12px}
.lvc-links a{color:#8ecfe0}
.lvc-links a:hover{color:#fff}
.lvc-links a.wa{color:#25d366}
/* CRM-WhatsApp-Icon (030) – teal, zur Unterscheidung vom persönlichen (grau) */
a.wa.wacrm, .contact-links a.wa.wacrm, .frow-links a.wa.wacrm, .lvc-links a.wa.wacrm{color:#19b6d0 !important}
a.wa.wacrm svg,a.wa.wacrm .ai{fill:#19b6d0}
/* Persönliches WhatsApp (Handynummer) = grau, klar unterscheidbar von CRM-030 (teal) */
.kc-wa,.ac-wa,a.wa:not(.wacrm),.contact-links a.wa:not(.wacrm),.lvc-links a.wa:not(.wacrm),.frow-links a.wa:not(.wacrm){color:#8aa0ad !important}
.kc-wa .ai,.ac-wa .ai,a.wa:not(.wacrm) .ai{fill:#8aa0ad !important}
/* Bei Leads doppeltes „Kunde"-Tile in der Ansicht ausblenden (Edit-Modus zeigt es) */
.deal-summary:not(.editing) .lead-kunde{display:none}
/* Finanzierung erst zeigen, wenn eine Bank/Angebot da ist – im Bearbeiten-Modus
   trotzdem sichtbar, um die erste Bank manuell anlegen zu können. */
.fin-tile.fin-empty{display:none}
.deal-summary.editing .fin-tile.fin-empty{display:block}
.frow-links a{color:var(--muted);line-height:0;text-decoration:none;display:inline-flex}
.frow-links a:hover{color:var(--teal)}
.frow-links a.wa{color:#25D366}
.frow-links .ai{width:21px;height:21px;display:block}
.frow-links .edit-act{font-size:16px;line-height:1}
.deal-summary:not(.editing) .frow-links .edit-act{display:none}
.obj-map{display:block;margin:6px 0 4px 29px;height:140px;border-radius:9px;overflow:hidden;border:1px solid var(--line)}
.obj-map iframe{width:100%;height:100%;border:0;pointer-events:none}

/* Zusammenfassung: Kopf (Deal-Wert) + Mikro-Tabs */
.dsum-hero{text-align:center;padding:2px 4px 13px;border-bottom:1px solid var(--line);margin-bottom:11px}
.dsum-val{font-size:26px;font-weight:800;letter-spacing:-.6px;line-height:1.1}
.dsum-hero .pill{margin-top:9px;display:inline-block;background:#5a4a1f;color:#e8a93b;font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;text-transform:uppercase}
.dsum-name{font-size:13px;color:var(--muted);margin-top:8px}
.sum-tabs{display:flex;gap:4px;background:var(--ink-3);border-radius:9px;padding:3px;margin-bottom:12px}
.sum-tabs .sumtab{flex:1;border:0;background:transparent;color:var(--muted);font-weight:600;font-size:12px;padding:6px 4px;border-radius:7px;cursor:pointer}
.sum-tabs .sumtab:hover{color:var(--text)}
.sum-tabs .sumtab.on{background:var(--teal);color:#04201d}
/* Nur der aktive Tab sichtbar – im Bearbeiten-Modus zeigt :not(.editing) alles wieder an. */
.deal-summary:not(.editing) .fitem.st-off{display:none}
.deal-summary.editing .sum-tabs{display:none}
/* Recap-Karte (Übersicht) – nur Anzeige, im Bearbeiten-Modus ausgeblendet. */
.dsum-recap{border:1px solid var(--line);border-radius:10px;background:var(--ink-2);padding:9px 11px}
.dsum-recap .fin-krow{padding:2px 0}
.deal-summary.editing .dsum-recap{display:none}

/* Bearbeiten-Modus: „alle" (Kopf-Stift) ODER einzelnes Feld (Feld-Stift) */
.deal-summary .edit-only{display:none}
.deal-summary.editing .edit-only{display:block;margin:4px 0 10px 29px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.deal-summary.editing .frow-links .edit-act{display:inline}
.mini-sep{height:1px;background:var(--line);margin:10px 0;opacity:.6}

/* Tippgeber-Stufe: klein & grau, direkt unter dem Namen */
.stufe-mini{margin-top:-2px}
.stufe-mini .stufe-show{font-size:11px;color:var(--muted);font-weight:400}
.stufe-mini .stufe-show b{font-weight:400}
.stufe-mini .edit-act{font-size:11px}
.obj-danger{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.obj-status{font-size:13px;color:var(--muted);min-height:18px;margin:6px 0}
.obj-confirm-box{border:1px solid var(--teal);border-radius:9px;background:rgba(0,151,177,.08);
  padding:12px 14px;margin:8px 0;font-size:14px;line-height:1.5}
/* Mehrere Exposé-Links im Popup (+ Rechnung je Objekt) */
.obj-link-row{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;
  border:1px solid var(--line);border-radius:9px;padding:8px 9px}
.olr-top{display:flex;align-items:center;gap:6px}
.olr-top .obj-link-url{flex:1;margin:0}
.obj-link-del{background:none;border:0;color:var(--muted);font-size:15px;cursor:pointer;padding:2px 6px;line-height:1}
.obj-link-del:hover{color:var(--danger)}
.obj-link-add{margin:2px 0 4px}
.olr-rech{display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;
  border:1.5px dashed var(--line);border-radius:8px;padding:8px;font-size:12.5px;color:var(--muted);
  transition:border-color .12s,background .12s}
.olr-rech:hover,.olr-rech.drag-over{border-color:var(--teal);background:rgba(0,151,177,.08);color:var(--text)}
.olr-rech.has-file{border-style:solid;border-color:var(--teal);color:var(--text)}
/* Angebotene Objekte (DealImmo-Liste am Deal) */
.immo-offers{gap:9px;margin-top:6px}
.io-head{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:2px}
.io-head .ico{width:21px;text-align:center}
/* Angebots-Karten – einheitlich hoch, dreigeteilt (Titel / Links / Aktionen) */
.io-row{display:flex;flex-direction:column;gap:8px;
  border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--ink-2)}
.io-row.accepted{border-color:var(--teal);background:rgba(0,151,177,.07)}
.io-row.drag-over{border-color:var(--teal);background:rgba(0,151,177,.14)}
.io-more{margin-top:2px}
.io-more>summary{cursor:pointer;color:var(--muted);font-size:12px;padding:4px 2px;list-style:none;user-select:none}
.io-more>summary::-webkit-details-marker{display:none}
.io-more>summary::before{content:"▸ ";color:var(--teal)}
.io-more[open]>summary::before{content:"▾ "}
.io-more>summary:hover{color:var(--text)}
.io-more .io-row{margin-top:8px}
.io-main{min-width:0}
.io-label{font-size:13px;font-weight:600;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(2 * 1.35em)}      /* 2 Zeilen reserviert → alle Karten gleich hoch */
.io-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:2px}
.io-link{font-size:12px;color:var(--teal);white-space:nowrap;text-decoration:none}
.io-link:hover{text-decoration:underline}
.io-we-edit{display:flex;align-items:center;gap:6px;margin-top:2px}
.io-we-input{width:130px;margin:0;padding:4px 7px;font-size:12.5px}
.io-actions{display:flex;align-items:center;gap:7px;margin-top:1px}
.io-badge{font-size:12px;color:var(--teal);font-weight:600;white-space:nowrap}
.io-rech-add{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:11.5px;
  color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:4px 9px;white-space:nowrap}
.io-rech-add:hover{border-color:var(--teal);color:var(--text)}
.io-del{margin-left:auto;color:var(--muted)}
.io-del:hover{color:var(--danger)}
.kp-drop{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
  border:2px dashed var(--line);border-radius:12px;padding:26px 18px;margin:10px 0;cursor:pointer;
  transition:border-color .15s,background .15s}
.kp-drop:hover{border-color:var(--teal)}
.kp-drop.drag-over{border-color:var(--teal);background:rgba(0,151,177,.10)}
.kp-drop-ico{font-size:30px;line-height:1;color:var(--teal)}

/* ── Pipeline-Verwaltungsseite ── */
.pm-hint{margin:-6px 0 18px;font-size:13px}
.pm-pipes{display:flex;flex-direction:column;gap:14px;max-width:820px}
.pm-pipe{border:1px solid var(--line);border-radius:12px;background:var(--ink);overflow:hidden}
.pm-pipe.sortable-ghost,.pm-stage.sortable-ghost{opacity:.4}
.pm-pipe-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--ink-2);border-bottom:1px solid var(--line)}
.pm-handle{cursor:grab;color:var(--muted);font-size:16px;user-select:none;flex:0 0 auto;line-height:1}
.pm-handle:active{cursor:grabbing}
.pm-name{font:inherit;background:transparent;border:1px solid transparent;border-radius:7px;
  padding:5px 8px;color:var(--text);min-width:120px}
.pm-name:hover{border-color:var(--line)}
.pm-name:focus{outline:none;border-color:var(--teal);background:var(--card,#12181f)}
.pm-pipe-name{font-size:16px;font-weight:700;flex:1}
.pm-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);
  border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.pm-pipe-count{font-size:12px;color:var(--muted);flex:0 0 auto}
.pm-stages{display:flex;flex-direction:column;gap:6px;padding:12px 14px}
.pm-stage{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);
  border-radius:9px;background:var(--card,#12181f)}
.pm-stage-name{flex:1;font-size:14px}
.pm-count{font-size:11px;color:var(--muted);flex:0 0 auto}
.pm-del{flex:0 0 auto;border:none;background:transparent;color:var(--muted);cursor:pointer;
  font-size:14px;padding:2px 6px;border-radius:6px}
.pm-del:hover{color:#e5484d;background:rgba(229,72,77,.1)}
.pm-add-stage{align-self:flex-start;margin-top:4px;padding:7px 14px;border:1px dashed var(--line);
  border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}
.pm-add-stage:hover{border-color:var(--teal);color:var(--teal)}
.pm-card-sec{margin:28px 0 10px;max-width:820px}
.pm-card-sec h2{font-size:17px;margin-bottom:4px}
.pm-cardcfg{display:flex;flex-wrap:wrap;gap:10px 22px;margin:12px 0}
.pm-chk{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.pm-chk input{width:16px;height:16px;cursor:pointer}

/* ── Immo-Angebote (Kapital Vertrieb) ── */
.immo-list{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}
.immo-row{display:flex;align-items:center;gap:8px;justify-content:space-between;
  padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff)}
.immo-row.is-accepted{border-color:var(--teal);background:rgba(0,151,177,.08)}
.immo-link{font-size:13px;font-weight:600;color:var(--text);text-decoration:none;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.immo-link:hover{color:var(--teal);text-decoration:underline}
.immo-acts{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.immo-accept{font-size:11px;padding:3px 9px;border:1px solid var(--teal);color:var(--teal);
  background:transparent;border-radius:999px;cursor:pointer;white-space:nowrap}
.immo-accept:hover{background:var(--teal);color:#06201e}
.immo-accept.on{background:var(--teal);color:#06201e;cursor:default}
.immo-del{color:var(--muted);cursor:pointer;font-size:13px;padding:0 2px}
.immo-del:hover{color:#e5484d}
.immo-add summary{font-size:12px;cursor:pointer;color:var(--teal)}

/* ── Pipeline-/Stufen-Bearbeitung am Board ── */
.ch-drag,.ch-del{display:none}
.board-edit .ch-drag{display:inline;cursor:grab;color:var(--muted);margin-right:4px;font-size:13px}
.board-edit .column-head{cursor:grab}
.board-edit .ch-del{display:inline;cursor:pointer;color:var(--muted);font-size:12px;margin-left:6px}
.board-edit .ch-del:hover{color:#e5484d}
.board-edit .ch-name{cursor:text}
.column.col-dragging{opacity:.5}
/* „＋ Stufe" nur im Bearbeiten-Modus – sonst würde die Spalte unnötig die Scroll-Leiste erzwingen */
.column.col-add{display:none}
.board-edit .column.col-add{min-width:110px;display:flex;align-items:flex-start;justify-content:center;
  background:transparent;border:none;box-shadow:none}
.add-stage-btn{margin-top:6px;padding:8px 14px;border:1px dashed var(--line);border-radius:10px;
  background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}
.add-stage-btn:hover{border-color:var(--teal);color:var(--teal)}
/* Pipeline-Tabs im Bearbeiten-Modus: ziehen zum Sortieren, Klick = umbenennen */
.board-edit .pipeline-tab{cursor:grab}
.pipeline-tab.pipe-dragging{opacity:.5}
/* Inline-Umbenennen (Stufe & Pipeline) */
.rename-inp{font:inherit;font-weight:600;font-size:14px;padding:2px 6px;border:1px solid var(--teal);
  border-radius:6px;background:var(--ink);color:var(--text);min-width:90px;max-width:220px}
.deal-summary.editing .sum-edit{background:var(--teal);color:#06201e;border-color:var(--teal)}
.deal-summary.editing .view-only .actlink{display:none}
/* Einzelfeld-Bearbeitung: nur das angeklickte Feld öffnet */
.fitem{position:relative}
.deal-summary .fitem.editing .edit-only{display:block;margin:4px 0 10px 29px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.deal-summary .fitem.editing .view-only{display:none}
.deal-summary .fitem.editing .frow-links .edit-act{display:inline}
.fld-edit{position:absolute;top:0;right:0;background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;opacity:0;transition:opacity .12s;padding:3px 6px;border-radius:6px;z-index:2}
.fitem:hover .fld-edit{opacity:.75}
.fld-edit:hover{opacity:1;color:var(--teal);background:var(--ink-2)}
.fitem.editing .fld-edit{opacity:1;color:var(--teal)}
.fld-cancel{display:inline-block;margin-left:14px;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:none}
.fld-cancel:hover{color:var(--text)}
/* Provision immer ans Ende der Zusammenfassung */
#provFitem{order:100}
/* Leere Felder in der Ansicht ausblenden – erst im Bearbeiten-Modus („✎ alle") sichtbar */
.deal-summary:not(.editing) .fitem.is-empty{display:none}
/* „In den Call gehen" – hervorgehobener Button für den nächsten Video-Termin */
.call-join{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;
  background:linear-gradient(135deg,#0182a0,#0097b1);color:#06201e;text-decoration:none;
  font-size:13px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.call-join:hover{filter:brightness(1.06)}
.call-join .cj-ico{font-size:20px;line-height:1}
.call-join .cj-txt{display:flex;flex-direction:column;line-height:1.3}
.call-join .cj-txt .muted{color:#06403b;font-size:11px}
/* Video-Link-Eingabe im Termin-Composer */
.composer-join{width:100%;margin-top:6px}
/* Kleiner „In den Call"-Link am Termin im Verlauf/Fokus */
.call-inline{color:var(--teal);font-weight:600;margin-left:8px;text-decoration:none;white-space:nowrap}
.call-inline:hover{text-decoration:underline}

/* Rechte Spalte: Verlauf */
.composer-tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.ctab{display:inline-flex;align-items:center;gap:5px;padding:9px 13px;font-size:13px;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;cursor:pointer}
.ctab:hover{color:var(--text)}
.ctab.active{color:var(--teal);border-bottom-color:var(--teal)}
.composer-body{background:var(--ink);border:1px solid var(--line);border-radius:9px;padding:11px;margin:12px 0 22px}
.composer-body .composer-subj{margin-bottom:6px}
.composer-body textarea{width:100%;margin-bottom:6px}
.composer-foot{display:flex;align-items:center;gap:10px}
.composer-foot .btn{margin-left:auto}
.composer-due{width:auto}
.feed-section-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin:0 0 10px;color:var(--text)}
.feed-section-h .chev{color:var(--muted);font-size:13px}
.feed-tabs{display:flex;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:4px}
.feed-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;font-size:13px;padding:6px 0;cursor:pointer}
.feed-tab:hover{color:var(--text)}
.feed-tab.active{color:var(--teal);border-bottom-color:var(--teal)}
.feed-tab b{color:var(--muted);font-weight:600}

/* Timeline mit Linie + runden Icons */
.tl{position:relative;margin:0;padding:0;list-style:none}
.tl:before{content:"";position:absolute;left:17px;top:14px;bottom:14px;width:2px;background:var(--line)}
.tl>li{position:relative;padding:14px 0 14px 50px;background:none;border:none}
.tl .ticon{position:absolute;left:0;top:14px;width:36px;height:36px;border-radius:50%;background:var(--ink-3);border:2px solid var(--bg);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}
.tl .ttitle{font-size:14px;color:var(--text);font-weight:600;margin-bottom:3px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}
.tl .ttitle .check{color:var(--won)}
.tl .ttitle input[type=checkbox]{width:auto;margin:0;flex:0 0 auto}
.tl li.done .asubj{text-decoration:line-through;color:var(--muted)}
/* Termine (Calendly-Meetings) NICHT durchstreichen, wenn erledigt – sie haben
   stattgefunden, „durchgestrichen" liest sich fälschlich wie abgesagt. */
.tl li.done.atype-meeting .asubj{text-decoration:none;color:var(--text)}
.tl .badge{background:#5a2222;color:#ff9b9b;font-size:10px;font-weight:800;padding:2px 7px;border-radius:5px;text-transform:uppercase}
.tl .tmeta{font-size:12px;color:var(--muted);margin-bottom:6px}
.tl .tbody{font-size:13px;color:#c4cdd9;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
/* Design-Mail im Verlauf: gebrandete Vorschau im Iframe + Umschalter */
.tl .tbody.tmaildesign,.tl .tbody.tmaildesign.clamped{white-space:normal;max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}
.tmail-switch{display:flex;gap:6px;margin-bottom:6px}
.tmail-switch .reply{font-size:12px;padding:2px 9px;border:1px solid var(--line,#2a3442);border-radius:999px;opacity:.7;cursor:pointer}
.tmail-switch .reply.on{opacity:1;background:var(--teal,#0f7d94);border-color:transparent;color:#fff}
.tmail-frame{width:100%;max-width:620px;border:0;border-radius:12px;background:#eceef0;display:block;height:520px;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.tmail-text{font-size:13px;color:#c4cdd9;white-space:pre-wrap;overflow-wrap:anywhere}
.tl .tbody.clamped{max-height:140px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 64%,transparent);mask-image:linear-gradient(180deg,#000 64%,transparent)}
.tbody-more{display:inline-block;margin-top:3px;color:var(--teal);cursor:pointer;font-size:12.5px}
.tl .tbody details.tquote{margin-top:8px}
.tl .tbody details.tquote>summary{cursor:pointer;color:var(--teal);font-size:12.5px;list-style:none;user-select:none}
.tl .tbody details.tquote>summary::-webkit-details-marker{display:none}
.tl .tbody details.tquote>summary::before{content:"▸ "}
.tl .tbody details.tquote[open]>summary::before{content:"▾ "}
.tl .tbody .tquote-body{margin-top:6px;padding-left:10px;border-left:2px solid var(--line);color:var(--muted);font-size:12.5px}
.mt-mentions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}
.mt-chip{cursor:pointer;font-size:12px;font-weight:600;color:var(--teal);background:rgba(0,151,177,.14);border:1px solid rgba(0,151,177,.4);border-radius:20px;padding:2px 9px}
.mt-chip:hover{background:rgba(0,151,177,.26)}
.tl .reply{margin-left:auto;color:var(--teal);font-weight:600;cursor:pointer;font-size:13px}
/* Bearbeiten + Löschen einer Aktivität/Notiz: zusammen, rechts gruppiert */
.tl .ttitle .tl-actbtns{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.tl .ttitle .tl-actbtns .tl-act-btn{cursor:pointer;font-size:13px;line-height:1;opacity:.6;padding:2px 5px;border-radius:6px;border:1px solid transparent;color:var(--teal)}
.tl .ttitle .tl-actbtns .tl-act-btn:hover{opacity:1;background:var(--ink-3);border-color:rgba(255,255,255,.08)}
.tl .ttitle .tl-actbtns .tl-act-btn.del:hover{color:#ff6b6b}
/* wenn die Admin-Gruppe da ist, Pin direkt daneben (kein zweiter auto-Abstand) */
.tl .ttitle .tl-actbtns + .tl-pin{margin-left:0}

@media(max-width:980px){.deal-layout{grid-template-columns:1fr}}

/* ════ Suchbare Auswahl (combobox) ══════════════════════════════════════ */
.ss-wrap{position:relative}
.ss-input{width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:9px 12px;font-size:14px}
.ss-input:focus{outline:none;border-color:var(--teal)}
.ss-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 3px);max-height:260px;overflow-y:auto;
  background:var(--ink-2);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}
.ss-opt{padding:8px 12px;font-size:14px;cursor:pointer}
.ss-opt:hover{background:var(--ink-3)}
.ss-opt.sel{color:var(--teal)}

/* Avatare (klein, neben Namen) */
.av-sm{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto;display:inline-flex}
.av-sm.ph{background:var(--ink-3);align-items:center;justify-content:center;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}

/* Firmen-/Bauträger-Logos */
.org-logo-sm{width:34px;height:34px;border-radius:7px;object-fit:contain;background:#fff;padding:2px;flex:0 0 auto;display:inline-flex}
.org-logo-sm.ph{background:var(--ink-3);align-items:center;justify-content:center;font-size:16px;padding:0}
.org-logo-lg{width:100%;height:100%;border-radius:14px;object-fit:contain;background:#fff}
.org-logo-lg.ph{background:transparent;display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--muted)}
.logo-form{display:inline}
.logo-form .btn{display:inline-block}
.org-cell{display:inline-flex;align-items:center;gap:8px}
.logo-link{color:var(--muted);font-size:11px;cursor:pointer}
.logo-link:hover{color:var(--teal)}
.av-xs{width:20px;height:20px;border-radius:50%;object-fit:cover;flex:0 0 auto;display:inline-flex;vertical-align:middle}
.av-xs.ph{background:var(--ink-3);align-items:center;justify-content:center;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}

/* ════ Vertriebler ══════════════════════════════════════════════════════ */
.vfilter{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.v-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.v-search{flex:1;min-width:240px;background:var(--ink-2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:9px 13px;font-size:14px}
.v-search:focus{outline:none;border-color:var(--teal)}
.v-selall{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;white-space:nowrap}
.v-selall input{width:22px;height:22px;margin:0;accent-color:var(--teal);cursor:pointer}
.vtbl .cbcol{width:44px;text-align:center;display:none}
.vtbl .vsel{width:22px;height:22px;margin:0;cursor:pointer;accent-color:var(--teal)}
/* Aktions-Leiste je Liste: „Auswählen" immer sichtbar, Rest nur im Modus */
.vgrp-actions{display:flex;align-items:center;gap:14px;margin:0 0 8px}
.vgroup:not(.selecting) .vgrp-when-sel{display:none}
.vgroup.selecting .vtbl .cbcol{display:table-cell}
.vgroup.selecting tr.v-row{cursor:pointer}
.period-tab.on{background:var(--teal);border-color:var(--teal);color:#06201e}
.vgroup{margin-bottom:26px}
.firma-h{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-weight:700;font-size:15px}
.vtbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px}
.vtbl{width:100%;border-collapse:collapse;font-size:14px}
.vtbl th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.vtbl th.num,.vtbl td.num{text-align:right}
.vtbl td{padding:10px 12px;border-bottom:1px solid var(--line)}
.vtbl tbody tr{cursor:pointer}
.vtbl tbody tr:hover td{background:var(--ink)}
.vtbl .eur{font-variant-numeric:tabular-nums;white-space:nowrap}
.vtbl .eur.vt{color:#7fd4a0}.vtbl .eur.tl{color:#c4a3ff}.vtbl .eur.me{color:var(--teal)}
.vtbl .totrow td{font-weight:700;border-top:2px solid var(--line);background:var(--ink);cursor:default}
.vtbl.compact td,.vtbl.compact th{padding:8px 10px}
.who{display:flex;align-items:center;gap:11px}
.who .av{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.who .av.ph{background:var(--ink-3);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;font-weight:700}
.who .nm{font-weight:600;color:var(--teal)}.who .st{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px;margin-top:2px}
.beruf-inline{width:auto;margin:0;background:var(--ink);border:1px solid var(--line);color:var(--text);border-radius:6px;font-size:11px;padding:2px 4px}
.who .st .stufe-tag{white-space:nowrap}

/* Detail */
.vd-top{display:flex;gap:22px;align-items:flex-start;margin:12px 0 22px}
.vd-photo{width:188px;height:188px;border-radius:16px;background:var(--ink-3);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:48px;font-weight:700;flex:0 0 auto;overflow:hidden}
.vd-photo img{width:100%;height:100%;object-fit:cover}
.vd-steck h1{margin:0 0 2px;font-size:23px}
.vd-actions{display:flex;gap:16px;align-items:center;margin:0 0 12px}
.vd-actions a{font-size:22px;line-height:1;color:var(--muted);text-decoration:none}
.vd-actions a:hover{color:var(--teal)}
.vd-actions a.wa{color:#25D366}
.vd-kvs{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;font-size:13px;max-width:560px}
.vd-kvs .k{color:var(--muted)}
.vd-btns{margin-left:auto;display:flex;flex-direction:column;gap:8px}
.portal-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:9px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px}
.portal-box[hidden]{display:none}
.book-mode{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.book-mode .bm-lab{font-weight:700;font-size:14px;margin-bottom:10px}
.book-mode .bm-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bm-opt{display:flex;flex-direction:column;gap:3px;border:2px solid var(--line);border-radius:10px;padding:11px 13px;cursor:pointer;background:var(--bg)}
.bm-opt.on{border-color:var(--teal);background:rgba(0,151,177,.08)}
.bm-opt input{position:absolute;opacity:0;width:0;height:0}
.bm-opt .bm-t{font-weight:700;font-size:14px}
.bm-opt .bm-s{font-size:11px;color:var(--muted);font-family:monospace;word-break:break-all}
@media(max-width:720px){.book-mode .bm-opts{grid-template-columns:1fr}}
.portal-box .pb-lab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.portal-box input{flex:1;min-width:220px;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:7px 9px;font-size:12px;font-family:monospace}
.portal-box .pb-sent{font-size:11px;color:var(--muted)}
.vd-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.vcard{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:13px 14px}
.vcard .lab{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.vcard .big{font-size:20px;font-weight:700;margin-top:5px}
.vcard .big.teal{color:var(--teal)}.vcard .big.lead{color:#c4a3ff}.vcard .big.green{color:#7fd4a0}

.mind{padding:4px 0}
/* Zentrierte Struktur (Firma → Teamleiter → Vertriebler → Team-Kollegen) */
.mind-centered{display:flex;flex-direction:column;align-items:center;gap:0;padding:14px 0}
.mind-centered .mlvl{margin:0;text-align:center}
.mind-centered .mconn{width:2px;height:22px;background:var(--line)}
/* Kacheln deutlich größer, Fotos am größten */
.mind-centered .mnode{font-size:13px;padding:8px 14px;border-radius:11px;gap:9px}
.mind-centered .mnode .av-xs{width:28px;height:28px}
.mind-centered .mnode .av-xs.ph{font-size:12px}
.mind-centered .mnode.self{font-size:14px;padding:10px 16px}
.mind-centered .mnode.self .av-xs{width:38px;height:38px}
.mind-centered .mnode.lead{font-size:12.5px;padding:7px 12px}
.mind-centered .mnode.lead .av-xs{width:26px;height:26px}
.mcolls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}
.mind-centered .mcoll{font-size:14px;padding:8px 14px}
.mind-centered .mcoll .av-xs{width:34px;height:34px}
/* Pipeline: Aktions-Leiste beim Ziehen (Gewonnen/Verloren/Löschen) */
.drag-actions{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:900;display:flex;gap:34px;
  padding:18px 26px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.drag-actions[hidden]{display:none}   /* nur beim Ziehen sichtbar (überschreibt display:flex) */
.da-zone{min-width:220px;text-align:center;padding:28px 30px;border-radius:13px;font-weight:800;font-size:17px;
  border:2px dashed var(--line);color:var(--text);transition:transform .1s}
.da-zone.da-won{border-color:#2c5a4f;background:rgba(0,151,177,.10);color:var(--won)}
.da-zone.da-lost{border-color:#5a2222;background:rgba(233,143,140,.10);color:#e98f8c}
.da-zone.da-del{border-color:#5a4a1f;background:rgba(233,169,59,.10);color:#e8a93b}
.da-zone.over{transform:scale(1.06);filter:brightness(1.25);border-style:solid}
/* Vertriebler: Mehrfachauswahl + Löschen in der Kunden/Deals-Tabelle */
.vd-tools{display:flex;justify-content:flex-end;margin-bottom:8px}
.vtbl .chkcol{width:30px;text-align:center}
.vtbl .vd-chk,.vtbl .chkcol input{width:16px;height:16px;margin:0;accent-color:var(--teal);cursor:pointer}
.mlvl{margin:0 0 6px}
.mnode{display:inline-flex;align-items:center;gap:8px;background:var(--ink-2);border:1px solid var(--line);border-radius:9px;padding:7px 13px;font-weight:600;font-size:13px}
a.mnode{text-decoration:none;cursor:pointer;transition:filter .12s}
a.mnode:hover{filter:brightness(1.12)}
.mnode.firma{background:#23303a;border-color:#2c5a4f}
.mnode.lead{background:#2b2540;border-color:#4a3d6b;color:#c4a3ff}
.mnode.self{background:var(--teal);border-color:var(--teal);color:#06201e}
.mind-in{margin-left:16px;border-left:2px solid var(--line);padding-left:18px;padding-top:4px}
.mcust{display:inline-flex;align-items:center;gap:7px;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:13px;margin:3px 6px 3px 0}
.mcust .dot{width:8px;height:8px;border-radius:50%;background:var(--won);flex:0 0 auto}
.mcust .dot.open{background:var(--amber)}
.mcoll{display:inline-flex;align-items:center;gap:6px;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:13px;margin:3px 6px 3px 0}
.mnode{gap:7px}
.cell-who{display:inline-flex;align-items:center;gap:8px}

@media(max-width:980px){.vd-cards{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.vd-top{flex-wrap:wrap}.vd-btns{margin-left:0;flex-direction:row}}

/* Responsive */
@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}
@media(max-width:860px){.detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .hamburger{display:block}
  .sidebar{transform:translateX(-100%);transition:transform .2s;width:230px}
  body.nav-open .sidebar{transform:translateX(0)}
  body.nav-open .nav-backdrop{display:block;position:fixed;inset:53px 0 0 0;background:rgba(0,0,0,.5);z-index:15}
  .content{margin-left:0;padding:16px 12px;overflow-x:clip}   /* kein horizontales Wackeln der Seite */
  .user-chip{display:none}
  /* Deal-Kopf: Titel + Aktions-Buttons umbrechen statt seitlich rauszuragen */
  .dtop{flex-wrap:wrap}
  .dtop-right{margin-left:0;width:100%}
  .dtop-right .btn{flex:1 1 auto}
  /* Reiter-Leisten (Notiz/…/Termin und Alle/…/Unterlagen) sauber umbrechen */
  .composer-tabs,.feed-tabs{flex-wrap:wrap}
  /* Board handytauglich: Stufen UNTEREINANDER – nie horizontal wischen nötig */
  .board{flex-direction:column;gap:12px;overflow-x:visible;padding-bottom:0}
  .column{flex:1 1 auto;width:100%;max-width:none}
  .pipeline-tabs{flex-wrap:wrap;overflow-x:visible}   /* Tabs umbrechen statt scrollen */
  /* Karten-Checkbox ohne Hover immer sichtbar und fingergerecht */
  .card-sel{opacity:1;width:22px;height:22px;top:9px;right:9px}
  .deal-card .card-title{padding-right:30px}   /* Platz für die Checkbox */
  /* Deal per Wisch in die nächste/vorige Stufe (horizontal = Stufen-Swipe) */
  .deal-card{touch-action:pan-y}
  .deal-card.swipe-next{outline:2px solid var(--teal);outline-offset:-2px}
  .deal-card.swipe-prev{outline:2px solid var(--muted);outline-offset:-2px}
  /* Auswahl-Leiste: unten andocken, volle Breite, Buttons umbrechbar */
  .abr-selbar{left:0;right:0;bottom:0;transform:none;max-width:none;border-radius:14px 14px 0 0;
    flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
  .abr-selinfo{flex:1 1 100%;text-align:center;white-space:normal;font-size:13px}
  .abr-selbar .btn{flex:1 1 auto}
}
.wd-row{display:inline-flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.wd{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:13px;margin:0}
.wd input{width:auto;margin:0}
.settings-cat{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);font-weight:700;margin:22px 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px}
.settings-cat:first-child{margin-top:0}
/* Einstellungen: Kategorie-Tabs */
.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 22px;border-bottom:1px solid var(--line);padding-bottom:12px}
.settings-tab{display:inline-flex;align-items:center;gap:7px;background:var(--ink-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 15px;font-size:14px;font-weight:600;cursor:pointer;transition:all .12s}
.settings-tab:hover{background:var(--ink-3);border-color:var(--teal)}
.settings-tab.active{background:var(--teal);color:#04201d;border-color:var(--teal)}
.settings-sec{display:none}
.settings-sec.active{display:block;animation:secfade .15s ease}
@keyframes secfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.sec-intro{color:var(--muted);font-size:13px;margin:-4px 0 16px}
.brand-logo{height:34px;width:auto;max-width:240px;object-fit:contain;background:#fff;border-radius:8px;padding:4px 9px;display:block}

/* Wiedervorlage-Schnellzeile (Deal-Seite) */
.wv-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 4px}
/* Engagement-Badges (Leads-Board + Deal-Seite) */
.eng-tag{font-weight:600}
.eng-hot{background:#7a2e1d;color:#ffd9cf;border-color:#a44430}
.eng-warm{background:#6b551b;color:#ffedbb;border-color:#93782c}
.eng-sum{display:flex;gap:5px;margin:4px 0 6px}
.eng-list{list-style:none;margin:0;padding:0;font-size:12px}
.eng-list li{padding:2px 0;border-bottom:1px dashed var(--line)}
.eng-list li:last-child{border-bottom:0}

/* ── KI-Zusammenfassung (Deal-Seite) ── */
.ki-summary { margin: 10px 0 14px; padding: 14px 16px; border-left: 3px solid var(--accent, #c96442); }
.ki-summary .ki-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.ki-summary .ki-body { font-size: 13.5px; line-height: 1.55; }
.ki-summary .ki-body ul { margin: 4px 0 8px; padding-left: 18px; }
.ki-summary .ki-body li { margin: 2px 0; }

/* ── Stale-Eskalation: Aufgeben-Banner auf der Deal-Seite ── */
.stale-banner { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin: 0 0 14px; padding: 12px 16px; border-radius: var(--radius, 10px);
  background: color-mix(in srgb, var(--danger, #c0392b) 9%, var(--panel, #fff));
  border: 1px solid color-mix(in srgb, var(--danger, #c0392b) 35%, transparent); }
.stale-banner .sb-ico { font-size: 20px; }
.stale-banner .sb-txt { flex: 1; min-width: 220px; font-size: 13.5px; }
.stale-banner .sb-actions { display: flex; gap: 8px; flex-wrap: wrap; }
/* Notiz-Dubletten-Warnung im Verlauf */
.dup-badge{font-size:10px;font-weight:700;color:#ffb15a;background:rgba(255,177,90,.14);border:1px solid rgba(255,177,90,.4);border-radius:20px;padding:1px 8px;margin-left:6px;white-space:nowrap}
.note-edit,.note-del{cursor:pointer}
/* Deal-Verlauf als Timeline im Vertriebler-Stil (Boxen + Zeitabstände links) */
.commfeed:before{left:96px}
.commfeed>li.feed-item{margin-left:116px;padding:10px 12px 12px;background:var(--ink);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;display:flex;gap:12px;align-items:flex-start}
.commfeed>li.feed-item::after{content:"";position:absolute;left:-25px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid var(--muted);box-shadow:0 0 0 4px var(--card);z-index:1}
.commfeed .ticon{display:none}
/* Linke Avatar-/Kanal-Spalte in der Timeline: Foto (Notizen) bzw. Symbol + Label darunter */
.tl .tav{flex:0 0 auto;width:52px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.tl .tav-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--line);display:block}
.tl .tav-ic{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;background:var(--ink-3);border:2px solid var(--line)}
.tl .tav-logo{width:38px;height:38px;border-radius:10px;object-fit:contain;display:block;background:#fff;padding:2px;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.tl .tav-lbl{font-size:10px;color:var(--muted);font-weight:600;line-height:1.15;max-width:56px;hyphens:manual;overflow-wrap:break-word}
.tl .tcontent{flex:1 1 auto;min-width:0}
.commfeed>li[data-kind=email] .tav-ic{border-color:#ffd27f}
.commfeed>li[data-kind=whatsapp] .tav-ic,.commfeed>li[data-kind=whatsapp_group] .tav-ic{border-color:#5bd96a}
.commfeed>li[data-kind=call] .tav-ic{border-color:#7fc7ff}
.commfeed>li[data-kind=meeting] .tav-ic{border-color:#c9a3ff}
.commfeed>li[data-kind=meistertask] .tav-ic{border-color:#f5a623}
.commfeed>li[data-kind=activity] .tav-ic{border-color:#0097b1}
.commfeed>li[data-kind=email]{border-left-color:#ffd27f}.commfeed>li[data-kind=email]::after{border-color:#ffd27f}
.commfeed>li[data-kind=call]{border-left-color:#7fc7ff}.commfeed>li[data-kind=call]::after{border-color:#7fc7ff}
.commfeed>li[data-kind=whatsapp]{border-left-color:#5bd96a}.commfeed>li[data-kind=whatsapp]::after{border-color:#5bd96a}
.commfeed>li[data-kind=whatsapp_group]{border-left-color:#5bd96a}.commfeed>li[data-kind=whatsapp_group]::after{border-color:#5bd96a}
.commfeed>li[data-kind=meeting]{border-left-color:#c9a3ff}.commfeed>li[data-kind=meeting]::after{border-color:#c9a3ff}
.commfeed>li[data-kind=note]{border-left-color:#8aa0b6}.commfeed>li[data-kind=note]::after{border-color:#8aa0b6}
.commfeed>li[data-kind=meistertask]{border-left-color:#f5a623}.commfeed>li[data-kind=meistertask]::after{border-color:#f5a623}
.commfeed>li[data-kind=activity]{border-left-color:#0097b1}.commfeed>li[data-kind=activity]::after{border-color:#0097b1}
.commfeed>li.tl-gap{background:none;border:none;padding:0;margin:3px 0}
.commfeed>li.tl-gap::after{display:none}
.commfeed .tl-gap span{width:96px}
/* MeisterTask-Abgleich im Unterlagen-Reiter */
.mt-rec{border:1px solid #6a5a1e;border-radius:10px;padding:8px 12px;margin-bottom:14px;background:rgba(255,196,84,.06)}
.mt-rec-h{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13px;color:#ffcf99;cursor:pointer;user-select:none}
.mt-rec-h .spacer{flex:1}
.mt-rec-caret{display:inline-block;width:12px;color:#ffcf99}
.mt-rec-count{background:#6a5a1e;color:#ffe6ad;font-size:11px;font-weight:800;padding:1px 7px;border-radius:9px}
.mt-rec-body{margin-top:8px;border-top:1px solid rgba(255,196,84,.2);padding-top:8px}
.mt-rec-tools{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:4px}
.mt-rec-tools .spacer{flex:1}
.mt-selall{cursor:pointer}
.mt-progress{font-size:12px}
.mt-fehlt{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}
.mt-fehlt li{margin:2px 0}
.mt-fehlt label{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer}
.mt-fehlt .mt-chk{width:auto;margin:0;flex:none}
.mt-rec-ok{font-size:12.5px;color:#7fd4a0}
.mt-sig{font-size:11px;color:#c9a3ff;font-weight:600}
/* Drag&Drop-Upload-Fläche */
.doc-drop{border:2px dashed var(--line);border-radius:12px;padding:18px 14px;text-align:center;cursor:pointer;background:var(--ink-3);transition:border-color .15s,background .15s;margin-bottom:8px}
.doc-drop:hover{border-color:var(--teal)}
.doc-drop.drag-over{border-color:var(--teal);background:rgba(45,212,191,.08)}
.doc-drop-ic{font-size:26px;line-height:1;color:var(--teal);margin-bottom:4px}
.doc-drop-t{font-size:13.5px}
.doc-drop-s{font-size:11.5px;margin-top:2px}
.doc-drop-status{font-size:12px;color:var(--teal);margin:2px 0 10px}
.doc-linkpw{max-width:150px}
/* Anheften (Pin) in der Timeline */
.tl-pinhead{background:none !important;border:none !important;padding:0 0 2px 116px !important;margin:0;font-size:11px;font-weight:700;color:#ffb15a;text-transform:uppercase;letter-spacing:.03em}
.commfeed>li.feed-item.pinned{border-left-color:#ffb15a;background:rgba(255,177,90,.06)}
/* Erledigte Einträge im Verlauf NICHT durchstreichen (nur ✔ als Kennzeichnung) – Ben-Vorgabe */
.commfeed>li.feed-item.done .asubj{text-decoration:none!important;color:var(--text)}
.tl-pin{opacity:.35;filter:grayscale(1);cursor:pointer;margin-left:4px}
.tl-pin:hover{opacity:.8;filter:none}
.tl-pin.on{opacity:1;filter:none}
/* Timeline am Handy: schmaler Einzug statt 116px (steht NACH den Basisregeln,
   damit die Overrides greifen) */
@media(max-width:760px){
  .commfeed:before{left:7px}
  .commfeed>li.feed-item{margin-left:24px;min-width:0}
  .commfeed>li.feed-item::after{left:-21px}
  .tl-pinhead{padding:0 0 2px 24px !important}
  .commfeed .tl-gap span{width:auto;margin-left:24px}
}
/* Smart-Nachbereitung: KI-Vorschläge-Popup */
.mfs-block{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0;background:var(--ink-3);text-align:left}
.mfs-head{font-weight:700;font-size:13px;margin-bottom:6px}
.mfs-check{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin:4px 0;cursor:pointer}
.mfs-check input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;margin-top:2px}
.mfs-why{font-size:12px;margin:4px 0 0 24px}
.mfs-mailprev{white-space:pre-wrap;font-size:12.5px;max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--ink)}

/* --- Ask-CRM Chat (/fragen) --- */
.page-head{margin-bottom:14px}
.page-head h1{margin:0 0 4px}
.ask-panel{display:flex;flex-direction:column;height:calc(100vh - 220px);min-height:420px;padding:0;overflow:hidden}
.ask-chat{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.ask-msg{display:flex}
.ask-msg.user{justify-content:flex-end}
.ask-bubble{max-width:min(720px,92%);padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;
  background:var(--ink-3);border:1px solid var(--line)}
.ask-msg.user .ask-bubble{background:var(--accent,#2f6fed);border-color:transparent;color:#fff}
.ask-samples{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ask-samples .btn{font-size:12.5px}
.ask-form{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--line);background:var(--ink)}
.ask-form input{flex:1}
.ask-wait{color:var(--muted);animation:askPulse 1.2s ease-in-out infinite}
@keyframes askPulse{0%,100%{opacity:.5}50%{opacity:1}}
.ask-tbl{margin:8px 0;font-size:12.5px}
/* KI-Antwort auf der Suchseite */
.ask-answer{border-color:var(--teal)}
.ask-answer-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ask-answer-head h2{flex:1}
.ask-answer-head .btn{margin-left:auto}
.ask-out{font-size:14px;line-height:1.6}
.ask-out a{color:var(--teal)}
.ask-out .vtbl{width:100%}
.ask-sql{margin-top:8px;font-size:12px;color:var(--muted)}
.ask-sql pre{white-space:pre-wrap;font-size:11.5px;background:var(--ink);border:1px solid var(--line);
  border-radius:8px;padding:8px 10px;max-height:160px;overflow:auto}

/* --- KI-Objekt-Matching (/objekte/{id}) --- */
.match-row{display:flex;align-items:center;gap:14px;padding:10px 4px;border-bottom:1px solid var(--line)}
.match-row:last-child{border-bottom:none}
.match-score{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;border:2px solid var(--line);color:var(--muted)}
.match-score.hi{border-color:#3fb96f;color:#3fb96f}
.match-score.mid{border-color:#d9a441;color:#d9a441}
.match-score.lo{border-color:var(--line)}
.match-main{flex:1;min-width:0}
.match-why{font-size:12.5px;margin-top:2px}

/* --- Unbeantwortet-Inbox (/unbeantwortet) --- */
.unb-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);transition:opacity .3s}
.unb-row:last-child{border-bottom:none}
.unb-ch{flex:0 0 auto;font-size:18px;display:flex;align-items:center}
/* WhatsApp-Icon inline (Heute/Unbeantwortet & Co.) */
.wa-ico{width:17px;height:17px;vertical-align:-3px;display:inline-block}
/* ===== WhatsApp-Posteingang ===== */
.wa-tabs{display:inline-flex;gap:8px;margin-left:auto}
.wa-tab{padding:7px 14px;border-radius:9px;background:var(--ink-3);border:1px solid var(--line);color:#c3d0da;text-decoration:none;font-size:13px;font-weight:600}
.wa-tab.on{background:rgba(37,211,102,.14);border-color:rgba(37,211,102,.4);color:#7ee0a3}
.wa-inbox{display:grid;grid-template-columns:330px 1fr;height:calc(100vh - 170px);min-height:520px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(8,16,22,.82)}
.wa-list{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow-y:auto}
.wa-search{margin:10px;padding:9px 12px;border-radius:9px;background:var(--ink-3);border:1px solid var(--line);color:var(--text)}
.wa-chat-item{display:flex;gap:10px;align-items:center;padding:11px 12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);text-decoration:none}
.wa-chat-item.on{background:rgba(37,211,102,.10)}
.wa-chat-item:hover{background:rgba(255,255,255,.04)}
.wa-av{width:40px;height:40px;border-radius:50%;background:#1f3b2e;display:grid;place-items:center;color:#7ee0a3;font-weight:800;flex:0 0 40px;text-transform:uppercase}
.wa-ci-main{min-width:0;flex:1}
.wa-ci-top{display:flex;justify-content:space-between;gap:8px}
.wa-ci-name{font-weight:700;color:#eaf6f9;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-ci-time{font-size:11px;color:#8aa0ad;flex:0 0 auto}
.wa-ci-snip{font-size:12.5px;color:#9db1bb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-unread{background:#25d366;color:#04140a;font-size:11px;font-weight:800;border-radius:999px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;flex:0 0 auto}
.wa-thread{display:flex;flex-direction:column;min-width:0}
.wa-th-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.wa-th-head .nm,.wa-th-head .nm a{font-weight:800;color:#eaf6f9;text-decoration:none}
.wa-th-head .badge24{margin-left:auto;font-size:11px;padding:2px 9px;border-radius:999px}
.wa-th-head .badge24.open{color:#7ee0a3;background:rgba(37,211,102,.12);border:1px solid rgba(37,211,102,.3)}
.wa-th-head .badge24.closed{color:#e0a04f;background:rgba(224,160,79,.12);border:1px solid rgba(224,160,79,.3)}
.wa-msgs{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;background:#0b1319}
.wa-b{max-width:70%;padding:8px 12px;border-radius:12px;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.wa-b.in{align-self:flex-start;background:#1e2a33;color:#e7eef3;border-bottom-left-radius:4px}
.wa-b.out{align-self:flex-end;background:#1f6b3a;color:#eafff0;border-bottom-right-radius:4px}
.wa-b .t{display:block;font-size:10px;color:rgba(255,255,255,.5);margin-top:3px;text-align:right}
.wa-reply{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}
.wa-reply input{flex:1;background:var(--ink-3);border:1px solid var(--line);border-radius:22px;padding:11px 16px;color:var(--text)}
.wa-reply input:disabled{opacity:.5}
.wa-send{background:#25d366;color:#04140a;border:none;border-radius:50%;width:44px;height:44px;font-size:18px;cursor:pointer;flex:0 0 44px}
.wa-send:disabled{opacity:.4;cursor:not-allowed}
.wa-empty{display:grid;place-items:center;height:100%}
.wa-th-back{display:none;font-size:24px;line-height:1;color:#eaf6f9;text-decoration:none;padding:0 4px;margin-right:2px}
/* Mobil: eine Spalte – entweder Chat-Liste ODER geöffneter Verlauf (WhatsApp-Style) */
@media(max-width:760px){
  .wa-inbox{grid-template-columns:1fr;height:calc(100vh - 120px);min-height:0}
  .wa-inbox.has-sel .wa-list{display:none}
  .wa-inbox:not(.has-sel) .wa-thread{display:none}
  .wa-th-back{display:inline-flex}
  .wa-b{max-width:88%}
}
.wa-pic-row{display:flex;align-items:center;gap:14px;margin-top:6px}
.wa-pic{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#1f3b2e;display:grid;place-items:center;font-size:26px}
.org-cat{font-size:12px;padding:4px 6px;border-radius:7px;background:var(--ink-3);border:1px solid var(--line);color:var(--text);max-width:180px}
/* Kategorie-Überschrift in der Partner-Übersicht */
.cat-h{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#eaf6f9;margin:22px 0 8px}
.cat-h .kpi{font-size:12px;font-weight:700}
/* Kontakt-Aktionen bei Ansprechpartnern (Org-Detailseiten) */
.ap-actions{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.ap-actions .ap-ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);text-decoration:none;font-size:15px;transition:background .12s,transform .1s}
.ap-actions .ap-ico:hover{transform:translateY(-1px);background:rgba(255,255,255,.13)}
.ap-actions .ap-ico .ai{width:16px;height:16px;display:block}
.ap-actions .ac-tel{color:#4fd1a5}.ap-actions .ac-mail{color:#5fb0ff}
.ap-actions .ac-wa{color:#25d366}.ap-actions .ac-wacrm{color:#19b6d0}.ap-actions .ac-vid{color:#c58bf2}.ap-actions .ac-cal{color:#f0b64c}
.unb-ch .wa-ico{width:21px;height:21px;vertical-align:middle}
.unb-ch a{display:inline-flex;line-height:0}
.unb-main{flex:1;min-width:0}
.unb-who{display:flex;align-items:center;gap:6px;font-size:13.5px}
.unb-snippet{font-size:12.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.unb-age{flex:0 0 auto;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.unb-age.hot{color:#e3695f;border-color:#e3695f}
.unb-btns{flex:0 0 auto;display:flex;gap:8px}
@media(max-width:760px){.unb-row{flex-wrap:wrap}.unb-btns{width:100%;justify-content:flex-end}}

/* --- Follow-up-Sequenzen (Einstellungen) --- */
.seq-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line);font-size:13.5px;flex-wrap:wrap}
.seq-row:last-child{border-bottom:none}
.seq-row .spacer{flex:1}
.tag{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;color:var(--muted)}
.tag-on{color:#3fb96f;border-color:#3fb96f}
.seq-step{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--ink)}
.seq-step-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.seq-step-head .spacer{flex:1}
.seq-step input,.seq-step textarea{width:100%;margin-top:6px}
.mc-seq{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.mc-seq-lbl{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}

/* --- IMAP-Postfächer-Liste (Einstellungen → E-Mail) --- */
.imap-list{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
.imap-acct{border:1px solid var(--line);border-radius:10px;background:var(--ink);overflow:hidden}
.imap-acct>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px}
.imap-acct>summary::-webkit-details-marker{display:none}
.imap-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--line)}
.imap-dot.on{background:#3fb96f;box-shadow:0 0 0 3px rgba(63,185,111,.15)}
.imap-dot.off{background:#e3695f}
.imap-mail{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imap-badge{flex:0 0 auto;font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;color:var(--muted)}
.imap-badge.ok{color:#3fb96f;border-color:#3fb96f}
.imap-badge.err{color:#e3695f;border-color:#e3695f}
.imap-when{flex:0 0 auto;font-size:11.5px;color:var(--muted)}
.imap-chev{flex:0 0 auto;color:var(--muted);transition:transform .15s}
.imap-acct[open] .imap-chev{transform:rotate(180deg)}
.imap-detail{padding:4px 12px 12px;border-top:1px solid var(--line)}
.imap-detail .kv{padding:4px 0}
.ok-txt{color:#3fb96f}
@media(max-width:620px){.imap-when{display:none}}

/* ═══ Deal-Hero-Leiste (Maklercockpit-Look, Berlin-Hintergrund) ═══ */
/* Berlin-Skyline als Hintergrund der GANZEN Deal-Seite (fix, mit dunklem Overlay
   für Lesbarkeit). Nur auf .deal-page, damit der Rest des CRM unberührt bleibt. */
/* Deal- UND Pipeline-Seite: leicht blau vernebelt (Marken-Blau), heller */
body.deal-page, body.pipeline-page{
  background:
    linear-gradient(180deg, rgba(0,132,164,.16) 0%, rgba(0,92,136,.20) 100%),
    linear-gradient(180deg, rgba(6,12,16,.52) 0%, rgba(6,12,16,.66) 55%, rgba(6,12,16,.80) 100%),
    url('/static/deal-bg.jpg') center top / cover no-repeat fixed,
    #0b1e2b;}
body.deal-page .content, body.pipeline-page .content{background:transparent}
/* Lesbarkeit kleiner Schriften, die direkt auf dem Hintergrundbild liegen
   (Verlauf-Überschrift, Reiter, Zeit-Trenner, Wiedervorlage-Label) */
body.deal-page .feed-section-h, body.pipeline-page .feed-section-h,
body.deal-page .feed-tab, body.pipeline-page .feed-tab,
body.deal-page .feed-tab b, body.pipeline-page .feed-tab b,
body.deal-page .tl-gap span, body.pipeline-page .tl-gap span,
body.deal-page .wv-row .muted, body.pipeline-page .wv-row .muted,
body.deal-page .view-toggle a, body.pipeline-page .view-toggle a{
  text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.7)}
body.deal-page .feed-tab, body.pipeline-page .feed-tab,
body.deal-page .feed-tab b, body.pipeline-page .feed-tab b,
body.deal-page .tl-gap span, body.pipeline-page .tl-gap span,
body.deal-page .wv-row .muted, body.pipeline-page .wv-row .muted{color:#d3dde5}
/* Einheitlicher dunkler Glas-Look wie die Kundenbox (rgba(8,16,22,.82)) */
body.deal-page .commfeed>li.feed-item, body.pipeline-page .commfeed>li.feed-item,
body.deal-page .composer-body, body.pipeline-page .composer-body,
body.deal-page .composer-tabs, body.pipeline-page .composer-tabs,
body.deal-page .lead-vcard, body.pipeline-page .lead-vcard{
  background:rgba(8,16,22,.82);border-color:rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
/* Bei Leads ist die Kundenkarte selbst die EINZIGE Box (kein Kasten drumherum) */
body.leads-bg .deal-summary{background:transparent;border:none;box-shadow:none;padding:0}
body.deal-page .lead-vcard{border-radius:18px;box-shadow:0 8px 26px rgba(0,0,0,.4)}
/* Nicht-Lead-Deals: Zusammenfassung als eine runde Glas-Box (Felder flach darin) */
body.deal-page:not(.leads-bg) .deal-summary{
  background:rgba(8,16,22,.82);border:1px solid rgba(255,255,255,.14);border-radius:18px;
  padding:14px 14px 16px;box-shadow:0 8px 26px rgba(0,0,0,.4);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
/* Obere Aktions-Buttons (Termin/Mail/Zusammenführen …) deutlich auf dem Bild */
body.deal-page .dhero-actions .btn, body.pipeline-page .dhero-actions .btn{
  background:rgba(8,16,22,.78);border-color:rgba(255,255,255,.2);color:#e7eef3;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body.deal-page .dhero-actions .btn:hover, body.pipeline-page .dhero-actions .btn:hover{
  border-color:rgba(25,182,208,.6);color:#fff}
body.deal-page .dhero-actions .btn-won, body.pipeline-page .dhero-actions .btn-won{color:#7ee0a3}
body.deal-page .dhero-actions .btn-lost, body.pipeline-page .dhero-actions .btn-lost{color:#ff9a8a}
/* Bearbeiten-Stifte in der Kundenkarte nur beim Überfahren zeigen */
.lvc-edit{opacity:0;transition:opacity .12s}
.lvc-row:hover .lvc-edit, .lead-vcard:focus-within .lvc-edit{opacity:1}
/* Composer-Reiter als lesbare Glas-Leiste über der Notiz-Box */
body.deal-page .composer-tabs, body.pipeline-page .composer-tabs{
  border-radius:10px 10px 0 0;padding:1px 6px 0}
body.deal-page .ctab, body.pipeline-page .ctab{color:#c3d0da}
/* Nächste-Aufgabe-Block: grün über demselben dunklen Glas */
body.deal-page .commfeed>li.tl-next-task, body.pipeline-page .commfeed>li.tl-next-task{
  background:linear-gradient(0deg,rgba(16,185,129,.26),rgba(16,185,129,.26)),rgba(8,16,22,.82)}
/* Zeitangabe zwischen Aktivitäten als Bubble */
.tl-gap span{width:auto !important;text-align:center !important;margin-left:116px;
  padding:3px 13px !important;background:rgba(8,16,22,.86);border:1px solid rgba(255,255,255,.16);
  border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.4);text-shadow:none !important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* „vor X"-Angabe (wie lange die Aktivität her ist) hervorheben */
.tmeta-ago{color:#7fd6e8;font-weight:600}

/* ===== Call-Vorlagen in den Einstellungen: Editor + Live-Vorschau ===== */
.call-tpls{display:flex;flex-direction:column;gap:16px;margin:8px 0 6px}
.call-tpl{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;
  background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:14px}
.call-tpl-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.call-badge{background:var(--teal);color:#06201e;font-weight:800;font-size:12px;padding:2px 10px;border-radius:6px}
.call-edit{display:flex;flex-direction:column;gap:8px;min-width:0}
.call-subj{width:100%}
.call-body{width:100%;font-family:inherit;line-height:1.5;resize:vertical}
.call-preview{position:sticky;top:10px;min-width:0}
.call-prev-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}
.mailprev-subjbar{font-size:12.5px;color:#c7d6de;font-weight:600;background:var(--ink-3);border:1px solid var(--line);border-radius:8px 8px 0 0;padding:8px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mailprev-frame{width:100%;border:0;border-radius:0 0 12px 12px;background:#dfe3e6;min-height:420px;display:block;box-shadow:0 8px 26px rgba(0,0,0,.35)}
@media(max-width:900px){.call-tpl{grid-template-columns:1fr}}

/* ===== Deal-Hero 2.0: neue Kachel-Anordnung ===== */
.dhero-kpis{gap:8px}
.dhero-kpis + .dhero-kpis{margin-top:8px}
/* Kontakt-Symbole (farbig) unter dem Namen in Tippgeber/Finanzierer/Bauträger */
.dkpi .kpi-contacts{display:flex;gap:6px;margin-top:6px}
.dkpi .kpi-contacts .kc{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);transition:background .12s,transform .1s}
.dkpi .kpi-contacts .kc:hover{transform:translateY(-1px);background:rgba(255,255,255,.13)}
.dkpi .kpi-contacts .kc .ai{width:13px;height:13px;display:block}
.dkpi .kpi-contacts .kc-tel{color:#4fd1a5}
.dkpi .kpi-contacts .kc-mail{color:#5fb0ff}
.dkpi .kpi-contacts .kc-wa{color:#25d366}
.dkpi .kpi-contacts .kc-wacrm{color:#19b6d0}
.dkpi .kpi-contacts .kc-cal{color:#f0b64c}
.kpi-contacts .kc-wacrm{color:#19b6d0}
/* Pipeline & Stufe */
.dkpi .kpi-stg{display:inline-block;margin-top:3px;color:#7fe6f4;font-weight:700;font-size:12px}
.dkpi.kpi-pipe .v{font-size:14px}
/* Finanzierung: mehrere Banken untereinander */
.dkpi.kpi-fin .v{white-space:normal;font-size:13px;line-height:1.35;font-weight:600}
.dkpi.kpi-fin .finblock{display:block;padding:3px 0}
.dkpi.kpi-fin .finblock + .finblock{border-top:1px dashed rgba(255,255,255,.12);margin-top:3px}
.dkpi.kpi-fin .bk{font-weight:800;color:#eaf6f9}
.dkpi.kpi-fin .dt{color:#9fb2bd;font-size:12px}
/* MeisterTask-Button */
.dkpi.kpi-mt .mtbtn{display:inline-flex;align-items:center;gap:6px;background:#12313c;
  border:1px solid rgba(0,151,177,.4);color:#7fe3f2;border-radius:9px;padding:7px 11px;
  font-weight:700;font-size:12.5px;text-decoration:none;margin-top:3px}
.dkpi.kpi-mt .mtbtn:hover{background:var(--teal,#0097b1);color:#fff}
/* Pipeline/Stufe-Popover-Editor */
.ps-edit .mv-lbl{display:block;font-size:11px;color:var(--muted);margin:0 0 3px}
.ps-edit select{width:100%}
/* Verlauf jetzt volle Breite, links bündig mit der Zusammenfassung */
.deal-verlauf{margin-top:22px}
/* Zeitangaben-Chips links zwischen den Boxen (Achse) */
.deal-verlauf .tl-gap{text-align:left}
.deal-verlauf .tl-gap span{margin-left:140px !important;float:none}
/* „seit X keine Aktivität" oben deutlicher */
.tl-gap-since span{color:#ffb15a;border-color:rgba(255,177,90,.4) !important}
/* Breadcrumb: Pipeline-Name klein & lesbar, Klick öffnet Verschiebe-Auswahl */
body.deal-page .crumb, body.pipeline-page .crumb{text-shadow:0 1px 3px rgba(0,0,0,.9)}
.crumb-move{display:inline-block}
.crumb-pipe{list-style:none;cursor:pointer;color:#d3dde5;font-weight:700;font-size:13px;
  padding:3px 10px;border-radius:8px;background:rgba(8,16,22,.7);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-block}
.crumb-pipe::-webkit-details-marker{display:none}
.crumb-pipe:hover{color:#fff;border-color:rgba(25,182,208,.5)}
.crumb-move[open] .crumb-pipe{color:#fff;border-color:var(--teal)}
.crumb-move .move-form .mv-lbl{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
/* Leads: eigenes Hintergrundbild (Beraterin am Laptop), stärker vernebelt für mehr
   Kontrast (dunklerer Schleier über dem Bild). */
body.deal-page.leads-bg, body.pipeline-page.leads-bg{
  background:
    linear-gradient(180deg, rgba(0,132,164,.16) 0%, rgba(0,92,136,.20) 100%),
    linear-gradient(180deg, rgba(6,12,16,.56) 0%, rgba(6,12,16,.68) 55%, rgba(6,12,16,.82) 100%),
    url('/static/leads-bg.jpg') center top / cover no-repeat fixed,
    #0b1e2b;}
/* Pipeline-Boxen bläulich statt grau (Spalten + Karten) */
body.pipeline-page .column{background:rgba(28,54,74,.46)}
body.pipeline-page .column .card{background:rgba(32,58,78,.54)}
/* Leads-Board: Spalten/Karten deutlich opaker, damit der Inhalt NICHT verschwommen
   über dem Hintergrundfoto wirkt (Ben: „Board ist verschwommen"). */
body.leads-bg .column{background:rgba(15,30,42,.94)}
body.leads-bg .column .card{background:rgba(23,42,56,.97)}
.lead-stats-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:2px 0 12px;flex-wrap:wrap}
.dhero{--dh-accent:#37cbe4;position:relative;margin-bottom:20px;padding:4px 2px 8px;}
.dhero-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.dhero-nav{display:flex;align-items:center;gap:6px}
.dhero .back-ico,.dhero .navbtn{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;
  background:rgba(15,27,35,.7);border:1px solid rgba(0,151,177,.3);color:#9db1bb;font-size:15px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-decoration:none}
.dhero .navbtn.disabled{opacity:.35}
.dhero-title{flex:1;min-width:200px;margin-left:4px}
.dhero-eyebrow{font-size:12.5px;color:#b9ccd6;font-weight:600;margin-bottom:4px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.dhero .dname{font-size:24px;font-weight:680;line-height:1.2;margin:0;letter-spacing:-.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.65);display:flex;align-items:center;gap:8px}
.dhero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dhero .dval{font-size:15px;font-weight:680;color:#7fe6f4;font-variant-numeric:tabular-nums;margin-right:6px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.dhero .btn{padding:6px 12px;font-size:12.5px;border-radius:8px}
/* Lead-Visitenkarte (Ansicht 2) */
.lead-vcard{background:rgba(8,16,22,.80);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 18px 20px;box-shadow:0 8px 26px rgba(0,0,0,.4)}
.lvc-name{font-size:23px;font-weight:800;color:#fff;letter-spacing:.2px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.lvc-edit-name{font-size:15px}
.lvc-name:hover .lvc-edit-name{opacity:1}
.lvc-name-input{font-size:20px;font-weight:700}
.lvc-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.08)}
.lvc-label{flex:0 0 68px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8aa0ad}
.lvc-val{flex:1;min-width:0;color:#fff;text-decoration:none;font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lvc-val:hover{color:#7fe6f4;text-decoration:underline}
.lvc-input{flex:1;min-width:0;background:#0d1a22;border:1px solid var(--teal,#0097b1);color:#fff;border-radius:8px;padding:7px 9px;font-size:15px}
.lvc-edit{flex:0 0 auto;background:none;border:none;color:#8aa0ad;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:6px}
.lvc-edit:hover{color:#fff;background:rgba(255,255,255,.10)}
.lvc-termin{margin-top:14px;width:100%;justify-content:center;font-size:16px;font-weight:800;padding:13px;background:transparent;border:1.5px solid var(--teal,#0097b1);color:#eaf7fb}
.lvc-termin:hover{background:var(--teal,#0097b1);color:#fff}
.mini-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);background:#0f2a33;color:#eaf7fb;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:11px 16px;font-size:13.5px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;transition:opacity .25s,transform .25s;z-index:9999;max-width:90vw}
.mini-toast.on{opacity:1;transform:translate(-50%,0)}
.dhero-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
/* Werbe-Lead: Fragen als Kacheln – Frage (Label) in Normalschrift, damit lange Fragen lesbar bleiben */
.adlead-kpis .dkpi .l,.lead-grid .dkpi .l{text-transform:none;letter-spacing:0;font-size:10.5px;line-height:1.3;white-space:normal}
.adlead-kpis .dkpi .v,.lead-grid .dkpi .v{font-size:15px;text-transform:capitalize}
/* Lead-Kacheln: EIN Raster, alle Kacheln exakt gleich groß & gleiche Abstände */
.lead-grid{grid-auto-rows:1fr}
.lead-grid>.dkpi{min-height:82px;margin:0;display:flex;flex-direction:column;gap:3px}
.lead-grid .campaign-tile .camp-thumb{max-height:40px;margin-top:auto}
/* Leads-Übersicht: runde Kennzahl-Diagramme (Ring-Gauges), einheitlich, klickbar */
.lead-donuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:4px 0 18px}
.ldonut{background:rgba(15,27,35,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid rgba(0,151,177,.2);border-radius:14px;padding:16px 12px 13px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;
  box-shadow:0 2px 10px rgba(0,0,0,.4);cursor:pointer;font:inherit;color:inherit;
  transition:transform .1s,border-color .1s,box-shadow .1s}
.ldonut:hover{transform:translateY(-2px);border-color:rgba(25,182,208,.5);box-shadow:0 6px 18px rgba(0,0,0,.5)}
.ld-ring{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 90px}
.ld-hole{width:64px;height:64px;border-radius:50%;background:#101a22;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1}
.ld-val{font-size:21px;font-weight:800;color:#eaf6f9}
.ld-pct{font-size:11px;font-weight:700;color:#8ea3ad;margin-top:2px}
.ld-lbl{font-size:13px;font-weight:700;color:#dfeaf0;text-align:center;line-height:1.2}
.ld-sub{font-size:10.5px;color:#7c93a0;text-align:center;margin-top:-4px;line-height:1.25}
/* Drilldown-Popup: welche Leads zählen in eine Kennzahl */
.ld-modal{display:none;position:fixed;inset:0;background:rgba(4,9,13,.6);z-index:200;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:24px}
.ld-modal.on{display:flex}
.ld-modal-box{background:rgba(15,27,35,.97);border:1px solid rgba(0,151,177,.3);border-radius:16px;
  width:min(560px,100%);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.ld-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:700;color:#eaf6f9;font-size:15px}
.ld-x{background:none;border:none;color:#8ea3ad;font-size:18px;cursor:pointer;padding:2px 6px;border-radius:6px}
.ld-x:hover{background:rgba(255,255,255,.08);color:#fff}
.ld-modal-body{padding:8px 18px 18px;overflow-y:auto}
.ld-grp{display:flex;align-items:center;gap:8px;font-weight:700;color:#c7d6de;font-size:12.5px;
  margin:14px 0 6px;text-transform:none}
.ld-grp i{width:10px;height:10px;border-radius:3px;flex:0 0 10px}
.ld-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ld-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.03)}
.ld-list li:hover{background:rgba(0,151,177,.12)}
.ld-list a{color:#d6f1f8;font-weight:600;text-decoration:none}
.ld-list a:hover{text-decoration:underline}
.ld-ex{font-size:11px;color:#8ea3ad;white-space:nowrap}
.ld-empty{color:#8ea3ad;padding:14px 2px}
.dkpi{background:rgba(15,27,35,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid rgba(0,151,177,.2);border-radius:9px;padding:8px 11px;display:flex;flex-direction:column;gap:2px;
  box-shadow:0 2px 8px rgba(0,0,0,.4);min-width:0}
.dkpi.accent{border-color:rgba(25,182,208,.42);background:linear-gradient(180deg,rgba(0,151,177,.18),rgba(15,27,35,.82))}
.dkpi .l{font-size:10px;color:#7c93a0;font-weight:600;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:5px}
.dk-ico{width:12px;height:12px;stroke:var(--dh-accent);flex:0 0 auto}
.dkpi .v{font-size:13.5px;font-weight:650;color:#eaf3f6;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dkpi .v.big{font-size:16px;font-variant-numeric:tabular-nums;color:#7fe6f4}
.dkpi .v.sub{font-size:11px;color:#9db1bb;font-weight:500;white-space:normal}
.dkpi .v.muted,.dkpi .muted{color:#647a86;font-weight:500}
.dbadge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}
.dbadge i{width:6px;height:6px;border-radius:999px;background:currentColor}
.dbadge.open{background:rgba(95,176,255,.16);color:#5fb0ff;border-color:rgba(95,176,255,.34)}
.dbadge.won{background:rgba(53,216,192,.16);color:#35d8c0;border-color:rgba(53,216,192,.34)}
.dbadge.lost{background:rgba(255,107,107,.16);color:#ff6b6b;border-color:rgba(255,107,107,.34)}
.dbadge.accent{background:rgba(0,151,177,.16);color:#19b6d0;border-color:rgba(25,182,208,.42)}
@media (max-width:1100px){.dhero-kpis{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.dhero-kpis{grid-template-columns:repeat(2,1fr)}.dhero-top{gap:10px}}

/* Termin in der Aktivität deutlich hervorheben: Datum + Uhrzeit gross, farbig –
   steht als erstes (eigene Zeile), Name/Betreff kommt darunter */
.tl-termin{display:inline-flex;align-items:baseline;gap:9px;flex-wrap:wrap;
  margin:0 0 7px;padding:4px 11px;border-radius:9px;
  background:rgba(0,151,177,.14);border:1px solid rgba(25,182,208,.4)}
.tl-termin.is-past{background:rgba(120,132,145,.12);border-color:rgba(255,255,255,.12)}
.tl-termin.is-noshow{background:rgba(229,72,77,.14);border-color:rgba(229,72,77,.5)}
.tl-termin .tt-date{font-size:15px;font-weight:800;color:#eaf6f9}
.tl-termin .tt-time{font-size:17px;font-weight:800;color:#0097b1}
.tl-termin.is-past .tt-time{color:#8ea3ad}
.tl-termin.is-noshow .tt-date,.tl-termin.is-noshow .tt-time{color:#e5484d}
.tl-termin .tt-tag{font-size:12px;font-weight:700;color:#e5484d;margin-left:2px}
.tl-termin .tt-ico{font-size:14px}
/* Kunden-Zusammenfassung (KI) unter dem Notiz-Feld */
.kunde-sum{margin:2px 0 16px;background:rgba(8,16,22,.82);border:1px solid rgba(25,182,208,.28);
  border-radius:12px;padding:11px 14px 13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.ks-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.ks-title{font-size:12.5px;font-weight:700;color:#7fd6e8;letter-spacing:.02em}
.ks-refresh{background:none;border:none;cursor:pointer;font-size:15px;color:#8ea3ad;padding:2px 5px;border-radius:6px}
.ks-refresh:hover{background:rgba(255,255,255,.08)}
.ks-body{font-size:13.5px;color:#dfeaf0;line-height:1.5}
.ks-body .muted,.ks-empty{font-size:12.5px}
.ks-lead{color:#eaf6f9;font-weight:600;margin-bottom:9px}
.ks-pt{border-top:1px solid rgba(255,255,255,.07);padding:6px 0}
.ks-pt summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;color:#dfeaf0}
.ks-pt summary::-webkit-details-marker{display:none}
.ks-pt summary::before{content:"▸";color:#7fd6e8;font-size:11px;transition:transform .12s}
.ks-pt[open] summary::before{transform:rotate(90deg)}
.ks-pt summary strong{color:#fff;font-weight:700}
.ks-detail{color:#b7c6ce;font-size:12.5px;margin:4px 0 2px 18px;line-height:1.45}
.ks-nx-h{margin:10px 0 3px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7fd6e8}
.ks-nx{margin:0;padding-left:18px}
.ks-nx li{font-size:12.5px;color:#c7d6de;margin:2px 0}
/* Strukturierte Qualifizierungs-Bubbles (Telefon-Protokoll) – gleicher Look wie die Ad-Bubbles */
.qual-kpis{margin-top:9px}
.qual-inp{background:#0d1a22;border:1px solid var(--teal,#0097b1);color:#fff;border-radius:7px;padding:5px 8px;font-size:14px;font-weight:700;width:100%}
.qe-body .cp-inp{margin:6px 0;width:100%;max-width:none;display:block}
.qe-body input[type=radio], .cp-radio input[type=radio]{width:auto;flex:0 0 auto;margin:0}
.qe-body .cp-radio{justify-content:flex-start}
/* Telefon-Protokoll (Leads) */
.cp-modal .cp-head{display:flex;align-items:center;gap:11px;margin-bottom:6px}
.cp-modal .cp-ico{font-size:26px}
.cp-q{padding:11px 0;border-bottom:1px solid var(--line)}
.cp-q:last-child{border-bottom:none}
.cp-ql{font-weight:700;color:var(--text);margin-bottom:8px;font-size:14px}
.cp-opts{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.cp-radio{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:14px;cursor:pointer;white-space:nowrap}
.cp-radio input{margin:0}
.cp-condinp{display:block;margin-top:9px}
.cp-condinp[hidden]{display:none}
.cp-inp{background:#0d1a22;border:1px solid var(--line);color:#fff;border-radius:7px;padding:7px 10px;font-size:13px;max-width:240px}
.cp-inp:disabled{opacity:.45}
.cp-ta{max-width:none;width:100%;resize:vertical}
#cpWohnartWrap{display:flex;gap:10px;flex-wrap:wrap}
#cpWohnartWrap[hidden]{display:none}
/* Nächste (offene) Aufgabe: ganzer Block grün hervorgehoben (deckend, nicht durchscheinend) */
.commfeed>li.tl-next-task{background:linear-gradient(0deg,rgba(16,185,129,.16),rgba(16,185,129,.16)),var(--ink);
  border-color:rgba(16,185,129,.55);border-left-color:#10b981}
.commfeed>li.tl-next-task .tav-ic{border-color:#10b981;color:#10b981}
.commfeed>li.tl-next-task::after{border-color:#10b981}
/* Aktions-Buttons am Termin (neu vereinbaren / WhatsApp-Text) */
.tl-termin-acts{display:inline-flex;gap:8px;flex-wrap:wrap;margin:2px 0 6px}
.tl-rebook{display:inline-block;background:#0097b1;color:#fff !important;
  padding:5px 11px;border-radius:8px;font-weight:700;font-size:12px;text-decoration:none}
.tl-rebook:hover{filter:brightness(1.1)}
.tl-wa{display:inline-block;background:#25d366;color:#0a2e17 !important;
  padding:5px 11px;border-radius:8px;font-weight:700;font-size:12px;text-decoration:none}
.tl-wa:hover{filter:brightness(1.05)}

/* Deal-Hero: editierbare Kacheln + Popover */
body.deal-page .dup-tile{display:none !important}
.dhero .dkpi{position:relative}
.dhero .dkpi.editable{cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}
.dhero .dkpi.editable:hover{border-color:rgba(25,182,208,.55);transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.5)}
.dk-edit{position:absolute;top:7px;right:9px;font-size:11px;color:#8aa0ac;opacity:0;transition:opacity .12s}
.dhero .dkpi.editable:hover .dk-edit{opacity:.95}
.tile-pop-back{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.28)}
.tile-pop{position:absolute;z-index:61;width:340px;max-width:calc(100vw - 24px);
  background:#161c24;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.62)}
.tile-pop .tp-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line)}
.tile-pop .tp-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tile-pop .tp-x{background:none;border:0;color:var(--muted);font-size:15px;cursor:pointer;line-height:1}
.tile-pop .tp-body{padding:14px;max-height:72vh;overflow:auto}
.tile-pop .tp-body .edit-only{display:block !important}
.tile-pop .tp-body .stack{display:flex;flex-direction:column;gap:10px}

body.deal-page .dsum-hero{display:none}

/* Dashboard: Berlin-Bild als Hintergrund der GANZEN Seite (wie Deal-Seite) */
body.dashboard-page{
  background:
    linear-gradient(180deg, rgba(8,16,21,.40) 0%, rgba(8,16,21,.60) 55%, rgba(8,16,21,.76) 100%),
    url('/static/dashboard-bg.jpg') center top / cover no-repeat fixed,
    #0a1319;}
body.dashboard-page .content{background:transparent}

/* ═══ Boxen auf Seiten mit Bild-Hintergrund leicht transparent + Glas-Effekt ═══ */
body.deal-page .panel, body.pipeline-page .panel, body.dashboard-page .panel,
body.dashboard-page .stat-card,
body.pipeline-page .column,
body.deal-page .vcard, body.dashboard-page .vcard,
body.deal-page .book-mode, body.deal-page .portal-box{
  background:rgba(48,60,78,.44);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
body.deal-page .card, body.pipeline-page .card, body.dashboard-page .card{
  background:rgba(42,54,72,.44);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
/* Deal-Karten in der Pipeline etwas deckender halten (Lesbarkeit über der Spalte) */
body.pipeline-page .column .card{background:rgba(32,58,78,.54)}
/* Integrationen-Seite */
.intg-wrap{max-width:820px}
.intg-card{margin-top:16px}
.intg-status{padding:10px 14px;border-radius:10px;font-size:14px;margin:6px 0 12px}
.intg-status.ok{background:rgba(37,211,102,.12);border:1px solid rgba(37,211,102,.4);color:#8ff0b8}
.intg-status.warn{background:rgba(255,177,90,.12);border:1px solid rgba(255,177,90,.4);color:#ffd39a}
.intg-guide{margin-top:14px;padding:14px 16px;border-radius:10px;background:rgba(0,151,177,.06);border:1px solid rgba(0,151,177,.25)}
.intg-guide .ig-title{font-weight:700;color:#bfe9f2;margin-bottom:8px}
.intg-guide ol{margin:0;padding-left:20px}
.intg-guide li{margin:7px 0;font-size:13.5px;line-height:1.5;color:#d3dde5}
